Seberapa layak hanya menggunakan resistor 1% dan mengkalibrasi kesalahan?

9

Saat ini, saya menggunakan resistor 0,1% untuk mendapatkan pengukuran tegangan yang akurat melalui pembagi tegangan. Namun, biayanya tinggi, jadi saya berpikir untuk menggunakan resistor 0,5% atau 1% dan mengkalibrasi kesalahan dalam perangkat lunak dengan menggunakan referensi tegangan presisi selama produksi. Adakah yang berhasil melakukan ini? Perangkap apa yang mungkin saya temui?

Thomas O
sumber
Alat produksi seperti apa yang bisa Anda akses? Bisakah Anda mendapatkan / membuat sesuatu seperti programmer / tester bed-of-kuku?
Kevin Vermeer
@reemrevnivek - Saat ini tidak. Pabrikan PCB saya mengetes masing-masing papan, tetapi tidak dijamin bahwa solder akan bekerja.
Thomas O
40 tahun yang lalu di papan lubang, ini cukup umum di mana saya bekerja (industri elektronik). Resistor yang akan dipilih akan berada di terminal turret sehingga dapat dengan mudah ditambahkan nanti. Pada papan SMT, sulit untuk membayangkan bahwa itu akan hemat biaya.
Mattman944

Jawaban:

6

Jadi Anda punya:

          R_x         R_fixed
Vcc -----^v^v^----+----^v^v^------- Gnd
                  |
                  |
                  +--- V_sensed --- ADC input

Rx adalah beberapa resistensi yang tidak diketahui (mungkin semacam sensor). Dan Anda menggunakan R_fixed pada 0,1% sekarang untuk menghitung R_x secara efektif, tetapi Anda ingin menggunakan resistor tetap yang lebih murah dengan toleransi yang lebih rendah, mungkin 1%. Dengan melakukan itu Anda ingin melakukan semacam kalibrasi selama produksi untuk memperbaiki kesalahan yang meningkat, benarkah itu?

Cara Anda akhirnya melakukan ini adalah meletakkan byte di EEPROM (atau memori non-volatile lainnya) yang bertindak sebagai "offset" dalam perhitungan Anda, dan itu adalah hal yang sangat layak untuk dilakukan. Masalahnya adalah Anda perlu waktu selama produksi untuk melakukan aktivitas kalibrasi. Untuk melakukan kalibrasi, Anda akan memerlukan salah satu dari 0,1% resistor (sebut saja R_cal) dengan nilai yang sebanding dengan resistor 1% Anda untuk menggantikan ke dalam rangkaian untuk R_x. Mengukur V_sensed, Anda dapat menyimpulkan lebih tepatnya nilai R_fixed (yaitu untuk sesuatu seperti 0,2%).

Jika R_cal dan R_fixed secara nominal bernilai sama, Anda akan berharap V_sensed sama dengan Vcc / 2. Anda akan menyimpan deviasi terukur dari Vcc / 2 sebagai byte offset kalibrasi, dan selalu menambahkannya ke V_sensed seperti yang dirasakan oleh ADC Anda.

Jebakan, seperti yang saya lihat, adalah bahwa ada banyak pekerjaan yang terlibat dalam melakukan pengukuran dan kemudian menyimpan nilai. Hal lain yang perlu dipertimbangkan sebagai jebakan adalah bahwa suhu dapat berperan dalam menyebabkan resistensi untuk menyimpang dari nilai nominalnya, sehingga Anda akan menginginkan lingkungan kalibrasi yang terkontrol suhu yang cukup baik. Akhirnya jangan lupa untuk menggunakan peralatan pengukuran yang dikalibrasi, karena itu sumber potensial kesalahan aditif lainnya. Satu perangkap terakhir yang dapat saya pikirkan adalah bahwa byte kalibrasi harus disimpan dalam satuan lsb dari ADC Anda (jadi jika Anda memiliki 12-bit ADC, satuan byte offset kalibrasi harus "Vcc / 2 ^ 12 Volts") .

Edit

Jika Anda menggunakan dua resistor tetap untuk membagi tegangan besar ke skala yang lebih rendah sebagai berikut:

        R1_fixed       R2_fixed
V_in -----^v^v^----+----^v^v^------- Gnd
                   |
                   |
                   +--- V_sensed --- ADC input

Bagian yang diedit ulang

Jadi sekarang Anda ingin menggunakan referensi tegangan presisi (sebut saja V_cal) untuk merangsang V_in selama langkah kalibrasi dalam produksi. Apa yang Anda punya di sana dalam teori:

V_sensed = V_predicted = V_cal * R2_fixed / (R1_fixed + R2_fixed) = V_cal * slope_fixed

Tetapi yang Anda miliki dalam kenyataan adalah:

V_sensed = V_measured = V_cal * R2_actual / (R1_actual + R2_actual) = V_cal * slope_actual

Akibatnya Anda memiliki kemiringan fungsi transfer yang berbeda dalam kenyataannya dari apa yang Anda prediksi dari nilai-nilai resistor. Penyimpangan dari fungsi transfer pembagi yang diprediksi akan menjadi linier sehubungan dengan tegangan input, dan Anda dapat dengan aman berasumsi bahwa 0V di akan memberikan Anda 0V, sehingga membuat satu pengukuran referensi tegangan presisi akan memberi Anda informasi yang cukup untuk mengkarakterisasi faktor skala linier ini. . Yaitu:

V_measured / V_predicted = slope_fixed / slope_actual 
slope_actual = slope_fixed * V_measured / V_predicted

Dan Anda akan menggunakan slope_actual sebagai nilai kalibrasi Anda untuk menentukan tegangan sebagai fungsi dari tegangan yang diukur.

di bawah ini adalah milik @markrages

Untuk mendapatkan sensitivitas kemiringan aktual terhadap nilai-nilai resistor memerlukan diferensiasi parsial:

teks alternatif

vicatcu
sumber
Saya ingin menggunakan 1% untuk kedua resistor pembagi. Saya menggunakan pembagi tegangan untuk membaca hingga sinyal 40V. Apakah yang Anda katakan masih berlaku? Dan saya akan mencari-cari referensi tegangan presisi, meskipun ± 0,05% mungkin baik-baik saja, dan Anda bisa mendapatkan IC DIP yang melakukan itu.
Thomas O
@ Thomas OK, saya salah mengerti pertanyaan Anda ... Anda menggunakan pembagi tegangan untuk mengundurkan tegangan besar, bukan untuk mengukur hambatan yang tidak diketahui ... Saya akan mengubah jawaban saya sesuai.
vicatcu
Saya tidak begitu yakin kesalahan tidak akan linier, mengabaikan pemanasan resistor sekarang. Itu harus menjadi faktor linear tetap untuk setiap pembagi (ada empat di papan), karena pembagi hanya membaginya dengan jumlah yang tetap. Dengan nol volt masuk, nol volt harus diukur oleh ADC, ditambah kesalahan offset, yang mungkin menyebabkannya membaca satu hitungan, jadi saya tidak benar-benar perlu khawatir tentang offset ... Kecuali saya kehilangan sesuatu?
Thomas O
maaf, nonlinear mungkin istilah yang salah dalam retrospeksi. Apa yang akan Anda dapatkan secara efektif dari kalibrasi adalah faktor skala, bukan? Penyimpangan dari yang diprediksi akan menjadi linier sehubungan dengan tegangan input. Jadi mengingat beberapa "prediksi V berdasarkan pengukuran", V sebenarnya harus dikalikan dengan beberapa faktor. Apa yang akan menjadi non-linear adalah kesalahan dalam menganggap itu adalah tegangan offset.
vicatcu
5

Bagi saya, itu akan sulit, namun bukan tidak mungkin.

  • Biasanya 0,1% nilai resistor memiliki TC lebih rendah = koefisien suhu, lebih kebal terhadap kelembaban, penyolderan (kejut termal), memiliki drift yang lebih rendah dengan waktu, ... daripada resistor berperingkat 1%. Jadi, banyak sumber perubahan resistensi harus dipertimbangkan.
  • Pada tingkat 40V efek pemanasan sendiri mungkin bermakna, oleh karena itu resistor dengan peringkat daya yang tepat harus digunakan.
  • ada resistor 1% berkualitas baik, memiliki TC <20ppm / deg, dan TC serupa dari resistor ke resistor (+ - perbedaan 10ppm) tetapi ini berlaku untuk jenis, nilai nominal, dan resistor daya yang sama. Penggunaan yang benar dari resistor jenis ini pada pembagi tegangan akan membatalkan pengaruh rata-rata TC. Hanya perbedaan TC yang akan memengaruhi tegangan output. Jadi dimungkinkan untuk mendapatkan pembagi presisi, menggunakan resistor dengan nilai yang sama.
  • Resistor dengan nilai nominal yang berbeda mungkin memiliki TC yang lebih berbeda. Dan selfheating akan memiliki pengaruh yang berbeda - lebih banyak daya yang dihamburkan pada resistor resistansi yang lebih tinggi akan lebih memanaskannya, dan mengubah resistansi.
    Kesimpulan: Jika Anda menggunakan banyak resistor dalam produksi (seri panjang papan / pembagi yang sama) dan biaya resistor bermakna, Anda dapat mempertimbangkan penggantian. Kalau tidak, kemungkinan besar itu tidak sepadan dengan usaha.
czgut
sumber
4

Pendekatan itu berjalan dengan baik dari 5% menjadi 1%. Mulai dari 1% menjadi 0,1%, saya curiga Anda akan mulai kehilangan akurasinya karena fluktuasi suhu yang mengubah resistansi dan tegangan.

Jika, karena alasan yang tidak diketahui, Anda beroperasi di lingkungan isotermal dan resistor Anda adalah arus konstan, jadi pemanasan sendiri dapat diprediksi, masih layak.

pingswept
sumber
Saya pikir suhu mungkin mempengaruhi resistor ± 100ppm / ° C tipikal dengan -0,4% hingga + 0,7% (atau sebaliknya) pada rentang -40 ° C hingga + 70 ° C pada perangkat saya. Jika perlu, saya bisa mengkalibrasi itu juga. Kemungkinan besar itu akan terkena suhu tinggi, dan saya bisa memanaskan papan untuk menguji ini.
Thomas O
3
Terkadang dengan desain yang pintar, Anda bisa membuat resistor tempco dibatalkan. Jika Anda mengidentifikasi pasangan resistor seperti itu dalam desain Anda, letakkan mereka di samping satu sama lain dalam tata letak untuk memaksimalkan kopling termal. Atau bahkan menggunakan array resistor.
markrages
@markrages, Jika kedua resistor + 100ppm / ° C, akankah itu meminimalkan kesalahan, karena keduanya akan keluar dengan fraksi yang sama? Secara teori, dengan asumsi kedua resistor melayang dengan jumlah yang sama, output seharusnya tidak berubah. Dalam praktiknya mungkin, terutama karena referensi tegangan (LM4040) itu sendiri dapat melayang.
Thomas O
@ Thomas. Ya, itulah idenya. Mari kita lihat, LM4040 mengklaim 100ppm / C terburuk, 15ppm khas pada 1mA atau kurang. Respons suhu tipikal diplot dalam lembar data dan tidak terlihat seperti sesuatu yang dapat dengan mudah dibatalkan. Saya kira Anda bisa merekatkan termistor NTC ke sana dan "memanaskannya" agar tetap pada suhu yang konstan (tinggi), tetapi tidak jika Anda menggunakan anggaran daya.
markrages
4

Anda dapat mengkalibrasi:

  • Toleransi pabrikasi [2] [3], (+/- 1 *%) = dapat dikalibrasi
  • Panas solder [2] [3], resistensi berubah karena penyolderan (+/- 0,2 * hingga 1%) = dapat dikalibrasi

Tapi jangan lupakan semua toleransi lainnya:

  • TCR [2] [3], resistensi koefisien suhu (+/- 50 hingga 100 * ppm / C)
  • VCR [2], resistensi koefisien tegangan (+/- 25 * ppm / V)
  • Faktor lingkungan, resistensi berubah selama masa hidup (<= + / - 3% * pada 155 C, 225 000 h) [2] [3] [4]

* Perhatikan bahwa semua nilai dapat berbeda antara merek dan produk resistor.

[1] https://www.vishay.com/docs/28809/driftcalculation.pdf

[2] https://www.digikey.se/sv/ptm/v/vishay-beyschlag/mm-hv-high-voltage-thin-film-melf-resist/tutorial

[3] https://industrial.panasonic.com/cdbs/www-data/pdf/RDA0000/AOA0000C304.pdf

[4] MIL-STD R-10509

warpi
sumber