Sebagai seorang hobiis yang tidak memiliki akses ke peralatan lab, sepertinya sangat mustahil bagi saya untuk dapat mengkalibrasi termistor yang saya miliki.
Tentu saja ada sensor suhu yang dikalibrasi seperti DS18B20, tetapi termistor khusus pada MCU lambat seperti Aruino UNO (dibandingkan dengan MCU baru) lebih cepat.
Opsi apa yang kami miliki untuk mengkalibrasi termistor tanpa menggunakan peralatan lab?
thermistor
calibration
ElectronSurf
sumber
sumber
Jawaban:
Mengkalibrasi termistor (atau sebagian besar sensor apa pun dalam hal ini) adalah proses dua langkah:
Langkah pertama adalah yang paling sulit, dan sayangnya yang saya punya pengalaman paling sedikit. Saya kemudian hanya akan menggambarkannya dalam istilah yang sangat umum. Langkah kedua sebagian besar matematika.
Mengukur data kalibrasi
Anda harus mengisi tabel dengan pasangan (T, R), yaitu dengan nilai resistansi yang diukur pada suhu yang diketahui. Data kalibrasi Anda harus mencakup seluruh kisaran suhu yang akan Anda perlukan dalam penggunaan aktual. Poin data jalan keluar dari rentang ini tidak terlalu berguna. Jika tidak, semakin banyak titik data yang Anda miliki, semakin baik.
Untuk mengukur resistansi termistor, saya menyarankan Anda untuk tidak menggunakan ohmmeter. Gunakan pengaturan yang sama yang akan Anda gunakan untuk pengukuran pasca-kalibrasi yang sebenarnya. Dengan cara ini, setiap kesalahan sistematis dalam pengukuran resistansi (seperti offset offset dan gain ADC) akan dikalibrasi.
Untuk mengetahui suhu, Anda memiliki dua opsi: baik menggunakan titik suhu tetap (seperti, misalnya, air mendidih atau es yang mencair) atau menggunakan termometer yang sudah dikalibrasi. Poin tetap adalah standar emas dari kalibrasi suhu, tetapi sulit untuk memperbaikinya, dan Anda mungkin tidak akan menemukan banyak dari mereka dalam kisaran suhu yang Anda pedulikan.
Menggunakan termometer yang dikenal baik kemungkinan akan lebih mudah, tetapi masih ada beberapa peringatan:
Menempatkan keduanya berdekatan, di dalam selungkup dengan inersia termal tinggi (kulkas atau oven) dapat membantu di sini.
Jelas, keakuratan termometer referensi adalah faktor yang sangat penting di sini. Seharusnya secara signifikan lebih akurat bahwa persyaratan yang Anda miliki pada akurasi pengukuran akhir Anda.
Menyesuaikan hukum kalibrasi
Sekarang Anda perlu menemukan fungsi matematika yang sesuai dengan data Anda. Ini disebut "empiris fit". Pada prinsipnya, hukum apa pun dapat dilakukan selama ia cukup dekat dengan poin data. Polinomial adalah favorit di sini, karena fit selalu menyatu (karena fungsinya linear relatif terhadap koefisiennya) dan harganya murah untuk dievaluasi, bahkan pada mikrokontroler yang rendah. Sebagai kasus khusus, regresi linier mungkin merupakan hukum paling sederhana yang dapat Anda coba.
Namun, kecuali Anda tertarik pada kisaran suhu yang sangat sempit, respons termistor NTC sangat tidak linier dan tidak terlalu cocok untuk polinomial tingkat rendah. Namun, perubahan variabel yang strategis dapat membuat hukum Anda hampir linier dan sangat mudah disesuaikan. Untuk ini, kami akan mengambil pengalihan melalui beberapa fisika dasar ...
Konduksi listrik dalam termistor NTC adalah proses yang diaktifkan secara termal. Konduktansi kemudian dapat dimodelkan dengan persamaan Arrhenius :
G = G ∞ exp (−E a / (k B T))
di mana G ∞ disebut "faktor pra-eksponensial", E a adalah energi aktivasi , k B adalah konstanta Boltzmann , dan T adalah suhu absolut.
Ini dapat disusun kembali sebagai hukum linear:
1 / T = A + B log (R)
di mana B = k B / E a ; A = B log (G ∞ ); dan log () adalah logaritma natural.
Jika Anda mengambil data kalibrasi dan plot 1 / T sebagai fungsi log (R) (yang pada dasarnya merupakan plot Arrhenius dengan kapak ditukar), Anda akan melihat bahwa itu hampir, tetapi tidak cukup, garis lurus. Penyimpangan dari linearitas terutama berasal dari fakta bahwa faktor pra-eksponensial sedikit bergantung pada suhu. Namun demikian kurva tersebut cukup halus sehingga sangat mudah dipasang oleh polinomial derajat rendah:
1 / T = c 0 + c 1 log (R) + c 2 log (R) 2 + c 3 log (R) 3 + ...
Jika kisaran suhu yang Anda minati cukup pendek, perkiraan linier mungkin cukup baik untuk Anda. Anda kemudian akan menggunakan apa yang disebut "model β", di mana koefisien β adalah 1 / B. Jika Anda menggunakan polinomial tingkat ketiga, Anda mungkin memperhatikan bahwa koefisien c 2 dapat diabaikan. Jika Anda mengabaikannya, Anda kemudian memiliki persamaan Steinhart-Hart yang terkenal .
Secara umum, semakin tinggi derajat polinomial, semakin baik data tersebut cocok. Tetapi jika tingkatannya terlalu tinggi Anda akan berakhir overfitting . Dalam kasus apa pun, jumlah parameter bebas dalam fit tidak boleh melebihi jumlah titik data. Jika angka-angka ini sama, maka hukum akan mencocokkan data dengan tepat , tetapi Anda tidak memiliki cara untuk menilai kebaikan sesuai. Perhatikan bahwa kalkulator termistor ini (ditautkan dalam komentar) hanya menggunakan tiga titik data untuk memberikan tiga koefisien. Ini adalah dewa untuk perkiraan awal kalibrasi, tetapi saya tidak akan bergantung padanya jika saya membutuhkan akurasi.
Saya tidak akan membahas di sini cara benar-benar melakukan fit. Paket perangkat lunak untuk membuat data sewenang-wenang cocok berlimpah.
sumber
Membaca Thermistor sedikit rumit. Metode kalibrasi di atas, tidak menghasilkan hasil untuk deteksi kesalahan, Ini akan membuat dua titik kurva logaritmik (kurva respons termistor.
Ini berarti, untuk setiap 0,1 ° C perubahan suhu, perubahan koresponden pada resistensi akan bervariasi, tergantung pada kisaran suhu.
Pada awalnya, Anda mungkin melihat kesalahan sekitar 2 hingga 5 ° C dari suhu sebenarnya, namun tidak ada kesalahan, hanya pembacaan yang buruk.
Anda tidak memposting rincian tentang bagaimana Anda membaca termistor ini, mungkin Arduino? Saya harus mengatakan, beberapa perpustakaan tidak berfungsi sama sekali, jadi Anda harus membuat fungsi utama untuk melakukannya.
Posting penjelasan rinci tentang cara mengkarakterisasi dan membaca termistor. Posting dalam bahasa Spanyol, tetapi dalam tag kode, semua penjelasan dalam bahasa Inggris.
Setelah Anda mendapatkan koefisien ABC, kesalahan Anda akan menjadi sekitar 0,1 ° C dari pengukuran lain, bahkan dalam jangka panjang 6 m dari kawat LAN.
Tes ini membaca pada saat yang sama 4 termistor, Anda dapat melihat perbedaan kecil dalam suhu dari 2 dari mereka yang saya pegang sebentar di jari saya.
sumber
Isi cangkir dengan es batu dan tuangkan ke dalam air hingga penuh. Aduk sesekali. Saat es mulai mencair, Anda akan berada pada 0 ° C. Tempelkan sensor ke dalam air dan baca.
Jika sensor Anda bisa menerimanya, masukkan ke dalam ketel berisi air mendidih. Di permukaan laut itu akan memberi Anda bacaan referensi 100 ° C.
Jika Anda perlu memanaskan sensor Anda agar tahan air, Anda harus meluangkan waktu agar bacaan stabil.
mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab
Gambar 1. Kurva kalibrasi linier sederhana.
Seperti yang ditunjukkan dalam komentar, jika Anda menggunakan termistor, Anda perlu memeriksa datasheet untuk linearitas. Jika pendekatan sederhana ini tidak cukup baik Anda harus menggunakan perhitungan polinomial atau tabel pencarian di pengontrol mikro.
sumber
Termometer linierisasi memiliki gain & offset error.
termistor dikalibrasi pada 25'C dengan kurva sensitivitas spesifik dengan 2 variabel.
untuk mengkalibrasi, Anda hanya perlu 2 pengukuran
sumber