Pembagi tegangan dan ADC

13

Saya ingin membaca tegangan dari 0-30V dengan MCU ADC yang memiliki input maksimum 3V.

Awalnya saya berpikir untuk menggunakan pembagi 100k-10k (jadi 33V diterjemahkan menjadi 3V) tetapi menurut jawaban untuk impedansi input ADC pada MCU , ini akan menambah kesalahan 3% karena arus bocor input; Saya mencari maksimum kesalahan 0,5%. Namun, pada nilai yang lebih rendah untuk pembagi, saya berisiko merusak input MCU karena tegangan lebih (resistor bekerja bersama-sama dengan dioda penjepit pada input). Saya juga meningkatkan disipasi daya pada resistor saya, yang merupakan perangkat 0603 kecil, diberi peringkat untuk Maksimum 0,063W. Bagaimana saya bisa menghindari ini? nb impedansi input tidak kritis.

Saya tidak khawatir tentang kecepatan pengambilan sampel, itu akan memonitor tegangan baterai maksimum 100 sampel per detik.

Thomas O
sumber
sudahkah anda membangun yang sebelumnya? 3% adalah kasus terburuk berdasarkan kebocoran kasus terburuk, kecuali jika Anda membuat banyak ini, Anda dapat mengkalibrasi mereka.
Kortuk
Kortuk, apakah Anda pikir saya dapat menyesuaikan salah satu resistor dengan 3% atau menanganinya dalam perangkat lunak (skala 1,03x?)
Thomas O
Anda mengatakan Anda menginginkan presisi tinggi, penarikan daya rendah, dengan biaya tambahan yang sangat kecil. Tidak yakin itu mungkin. Anda dapat mengkalibrasi dalam perangkat lunak seperti yang disebutkan kortuk, tetapi dalam proses yang luar biasa yang membutuhkan waktu yang sama dengan uang.
Kellenjb
Mengemudi input ADC MCU dengan impedansi besar itu buruk. Ini meningkatkan waktu penyelesaian dan menyebabkan distorsi, dll. "ADC dioptimalkan untuk sinyal analog dengan impedansi keluaran sekitar 10 kΩ atau kurang. Jika sumber tersebut digunakan, waktu pengambilan sampel akan diabaikan. Jika sumber dengan impedansi lebih tinggi digunakan, waktu pengambilan sampel akan tergantung pada berapa lama sumber perlu mengisi kapasitor S / H, dengan dapat sangat bervariasi. Pengguna disarankan untuk hanya menggunakan sumber impedansi rendah dengan sinyal yang bervariasi secara perlahan, karena ini meminimalkan transfer biaya yang diperlukan. ke tutup S / H "
endolith

Jawaban:

10

Gunakan pembagi tegangan dengan resistor, dan pengikut opamp sesudahnya. Alternatif gunakan rangkaian opamp untuk mengurangi tegangan dan Anda dapat melakukan penyaringan anti alias dalam satu tahap!

smashtastic
sumber
+1 menggunakan op amp dengan gain 0,1 dan menjadikannya dua kali lipat sebagai filter anti-aliasing
ajs410
Saya tidak mampu membeli op-amp. Sayangnya, saya tidak punya cukup ruang. Saya mungkin bisa membeli buffer IC, jika mereka cukup kecil dan tersedia dengan 8 saluran.
Thomas O
Biasanya Anda hanya membeli op-amp kecil dan menghubungkannya sebagai buffer. national.com/mpf/LM/LMC7111.html SOT23 terlalu besar?
Endolit
Oh, Anda ingin 8 saluran.
endolit
1
menggunakan resistor dengan presisi lebih tinggi akan mengurangi kesalahan pembagi tegangan, masalah kedua adalah mengarahkan sinyal itu ke ADC. Di sinilah ketidakakuratan akan terjadi, karenanya proposal untuk menggunakan buffer.
smashtastic
14

Oke, dari tanggapan Anda terhadap komentar saya, saya pikir saya bisa lebih membantu dengan jawaban lengkap.

Bangun itu!

Buat pembagi Resistif sederhana Anda. Ini memiliki banyak keuntungan, untuk satu ukuran, yang lain adalah biaya.

Cirikan itu!

Sekarang, Anda akan menggunakan mikrokontroler juga, ini adalah di mana Anda perlu mengkarakterisasi kesalahan Anda. gunakan generator tegangan yang sangat akurat, sekarang periksa voltase dan lihat kesalahan apa yang sebenarnya diukur oleh UC.

Analisis itu!

Sekarang adalah saat yang menyenangkan. Ada beberapa hal yang bisa Anda ukur.

Akurasi dan Presisi

Hal terbesar untuk diukur di sini adalah jika kesalahan pada poin dapat diulang. JIKA setiap kali Anda menyapu Anda mendapatkan kesalahan yang berbeda, atau jika menyapu Anda mengikuti jalur yang berbeda memberikan kesalahan yang berbeda pada titik yang sama, ini bukan pilihan. Ini sering terjadi dengan arus bocor. Bagian penting di sini adalah Anda tidak perlu akurasi tinggi, hanya tingkat presisi yang tinggi. Jika Anda dapat mengkarakterisasi kesalahan Anda, UC Anda dapat memperbaikinya. Jika Anda memiliki varian yang besar, Anda perlu mengubah solusi Anda.

Apa itu kalibrasi titik X?

Sekarang, jika Anda memiliki presisi tinggi, seperti yang dibahas sebelumnya, Anda dapat beralih ke mengoreksi akurasi. Sekarang, jika ketika Anda membuat grafik tegangan input Anda versus tegangan output Anda, Anda harus memutuskan jumlah "titik referensi" yang Anda butuhkan. Perangkat yang bagus memungkinkan 1 poin (atau nol poin, tidak perlu kalibrasi). Banyak probe suhu.

Kalibrasi satu titik

Kedua garis memiliki kemiringan yang sama, tetapi offset, jadi Anda hanya perlu menemukan nilai yang harus Anda tambahkan ke titik data untuk memperbaikinya. Ini adalah situasi yang ideal, karena setiap kalibrasi baru hanya memerlukan satu titik data untuk dikalibrasi lagi.

Kalibrasi dua titik

baik kurva linear, mungkin offset dan ada perbedaan slop, Anda hanya perlu dua titik referensi dan interpolasi linier untuk mengekstrak offset Anda. Ini masih relatif mudah, Anda hanya mengambil titik apa saja, kalikan dengan skalar dan tambahkan offset.

Seperti yang Anda lihat, semakin berantakan semakin banyak poin yang Anda butuhkan. Pada titik tertentu lebih mudah untuk hanya mengambil setiap titik data dan menghubungkannya dengan nilai aktual. Misalnya, menemukan bahwa 0000 adalah 1V, 0001 adalah 2V, 0002 adalah 1,5V. Ini berantakan, dan ini hanya berfungsi jika offset diulang. Ini bisa terjadi.

Ringkasnya

Saya harap ini membantu, beri tahu saya jika Anda membutuhkan kejelasan lebih lanjut. Jika Anda berakhir dengan arus bocor bervariasi yang tidak dapat diandalkan, sekarang saatnya untuk hanya membutuhkan penyangga, atau semacamnya.

Saya dapat melihat kemungkinan kesalahan tinggi dari kebocoran, tetapi saya berani bertaruh bahwa kesalahan tersebut relatif kecil di sebagian besar kisaran, dan ketika ada, dapat dengan mudah diperbaiki.

Kortuk
sumber
1
Sebagai catatan tambahan, ini terlihat seperti satu ton pekerjaan, tetapi sebenarnya ini adalah pekerjaan yang relatif kecil untuk menekan biaya komponen.
Kortuk
komentar yang bagus! cara yang brilian untuk melakukannya dalam perangkat lunak. Metode terakhir Anda mencari tabel mungkin adalah metode terbaik. Hanya kekurangannya adalah ROM yang digunakannya, tetapi untuk ADC 8-10 bit pada MCU seharusnya bisa dilakukan.
smashtastic
Tergantung pada data, saya memiliki banyak kasus yang berbeda, kalibrasi 1 poin sudah cukup. Hanya offset. Dan kemudian membangun perangkat keras untuk mengkalibrasi secara otomatis terbayar.
Kortuk