Bagaimana mengukur suhu menggunakan termistor NTC?

17

Saya memiliki termistor TTC103 NTC. Ini memiliki ketahanan nol daya 10 kΩ pada 25 ° C dan nilai B25 / 50 pada 4050. Bagaimana cara menggunakannya untuk mengukur suhu?

AndrejaKo
sumber
Hei, saya punya termistor yang sama persis :)
abdullah kahraman

Jawaban:

12

Termistor NTC (koefisien suhu negatif) mengubah resistansi efektifnya terhadap suhu. Persamaan yang paling umum digunakan untuk memodelkan perubahan ini adalah persamaan Steinhart-Hart . Ia menggunakan tiga koefisien untuk mengkarakterisasi bahan NTC dengan akurasi tinggi.

The persamaan Steinhart-Hart adalah model perlawanan dari semikonduktor pada temperatur yang berbeda. Persamaannya adalah:

1T=A+Bln(R)+C(ln(R))3

dimana:

  • adalah suhu (dalam kelvin)T
  • adalah resistansi pada T (dalam ohm)RT
  • , B , dan CABC adalah koefisien Steinhart-Hart yang bervariasi tergantung pada jenis dan model termistor dan kisaran suhu yang diinginkan. (Bentuk paling umum dari persamaan yang diterapkan berisi istilah , tetapi ini sering diabaikan karena biasanya jauh lebih kecil daripada koefisien lainnya, dan karenanya tidak ditunjukkan di atas.)(ln(R))2

- Steinhart-Hart persamaan - Wikipedia, Ensiklopedia Bebas

Banyak pabrikan memberikan catatan aplikasi (mis. Di sini ) yang merinci tentang cara mengkalibrasi NTC yang diberikan jika Anda menginginkan akurasi lebih baik daripada toleransi pabrikan yang dikutip.

Koefisien B yang disediakan dapat digunakan dalam persamaan Steinhart-Hart yang disederhanakan seperti yang dijelaskan pada artikel Wikipedia Thermistor di bawah "Persamaan parameter B" .

Nick T
sumber
1
Ketiga jawaban itu terlihat bagus, tetapi yang ini paling membantu saya.
AndrejaKo
1
Bagaimana Anda berurusan dengan ? ln
abdullah kahraman
2
Mengapa saya harus pergi ke Wikipedia untuk persamaannya? Tidak bisakah kamu memberikannya di sini?
Federico Russo
Anda berbicara tentang toleransi manufaktur. Tetapi bagaimana saya bisa merancang toleransi jika saya hanya memiliki B, toleransi B, toleransi R25? Seperti NTCLE203
thexeno
@theno pasang maksimum dan minimum ke dalam spreadsheet dan hitung pada rentang temp yang Anda inginkan.
Nick T
13

Gunakan sebagai satu kaki (katakan kaki "atas") dalam sirkuit pembagi tegangan dengan kaki lainnya dikenal sebagai hambatan. Ukur tegangan di titik tengah pembagi (mis. Dengan konverter analog-ke-digital). Berikan hambatan termistor dari voltase terukur sebagai:

Rthermistor=(VccVmeasured1)×Rknown

Gunakan persamaan:

T=Bln(RthermistorR0×eBT0)

dalam kasus Anda, , B = 4050 , dan T 0 = ( 273 + 25 ) =R0=10000B=4050 . Pasang angka-angka itu, ditambah resistansi termistor yang diukur ke dalam persamaan dan keluar suhu di Kelvin.T0=(273+25)=298

Baca artikel wikipedia ini untuk lebih jelasnya.

vicatcu
sumber
1
Ya, saya harus bertanya :) Bagaimana Anda melakukan perhitungan menggunakan mikrokontroler 8-bit?
abdullah kahraman
2
@abdullahkahraman Anda akan menggunakan kombinasi tabel pencarian dan interpolasi antara nilai-nilai tabel pencarian. Katakanlah Anda memiliki 10 bit ADC; itu 1024 nilai yang mungkin dari ADC. Anda dapat menyimpan 1024 nilai yang dikonversi dalam memori, atau Anda dapat menyimpan 512 (setiap lainnya) atau 256 (setiap 4) dll, tergantung pada memori. Interpolasi adalah subjek besar, seperti oversampling atau "banding", yang dapat Anda gunakan untuk meningkatkan akurasi.
akohlsmith
@AndrewKohlsmith bagaimana oversampling meningkatkan resolusi?
abdullah kahraman
@abdullahkahraman pengambilan sampel tabel pencarian Anda bisa menjadi tidak seragam di atas domain input ... menyimpan lebih banyak sampel kurva di mana ia "curvier" dan menerapkan interpolasi dapat memberi Anda karakteristik kesalahan yang lebih baik
vicatcu
1
@theno mengajukan pertanyaan baru.
Nick T
6

NTC bersifat non-linier dan Anda akan melihat formula yang agak tidak menyenangkan yang menyatakan resistansi suhu hubungan.
Menambahkan sepasang resistor biasa Anda dapat membuat perilaku mereka linier sehingga hubungan ini didekati dengan persamaan linier sederhana dari bentuk . Contoh berikut dari appnote Epcos ini . y=ax+b

enter image description here

enter image description here

Kurva hampir lurus dari 0 ° C hingga 60 ° C, yang cukup untuk banyak aplikasi.

Dalam jawaban ini saya menunjukkan bagaimana dalam beberapa kasus Anda bisa mendapatkan kurva linier (15 ppm) hampir sempurna atas domain terbatas hanya dengan resistor seri.

sunting
Jika Anda tidak memiliki uang untuk resistor, Anda harus menggunakan persamaan Steinhart-Hart yang dirujuk oleh Nick dan Vicatcu, atau gunakan tabel pencarian dan interpolasi. Keduanya memiliki kelemahan yaitu mereka membutuhkan lebih banyak memori: Steinhart-Hart berisi logaritma, untuk itu Anda akan memerlukan perpustakaan floating-point (saya berasumsi mikrokontroler Anda tidak memiliki ALU floating-point). Tabel pencarian membutuhkan memori juga, dan mungkin tidak memberi Anda presisi yang lebih baik daripada fungsi linierisasi jika Anda harus menginterpolasi itu.

stevenvh
sumber
Jangan membuat linier kecuali Anda menggunakan sirkuit khusus-analog!
Jason S
Dan tolong edit posting Anda untuk akurasi: hubungan tidak menjadi persamaan linear sederhana. Hubungannya mendekati persamaan linear pada rentang suhu tertentu.
Jason S
4
Jason: bisakah kau menguraikannya? Mengapa tidak linierisasi di sirkuit digital?
Stephen Collings
Catatan aplikasi mengatakan bahwa konfigurasi ini akan sedikit mengalami sensitivitas.
abdullah kahraman
2
@ abdullah - Maksud saya ironisnya :-). Tetapi ternyata lebih banyak pengguna tampaknya lebih menyukai situasi yang lebih kompleks, yang saya tidak keberatan, tetapi kemudian satu-satunya alasan saya bisa memikirkan untuk mengabaikan solusi yang lebih sederhana adalah bahwa resistor akan terlalu mahal. :-)
stevenvh
4

Sebuah NTC memiliki respons non-linear terhadap suhu.

R dari ini menggunakan hukum Ohm.

Misalnya, Anda memiliki suplai 5V, gunakan resistor 1k secara seri dengan NTC dan jika Anda mengukur 0,5V, bagilah 1k dengan 0,5V dan dapatkan 10k ohm sebagai hambatan.

Kamu juga membutuhkan, T0 dan RHai, suhu 'tetap' di kelvin dan pada suhu itu, ketahanannya. Biasanya diberikan pada suhu kamar.

Lalu, dengan perincian ini, masukkan ke dalam persamaan ini untuk mendapatkan Tsuhu.

T=11THai+(1BdalamRRHai)

Thomas O
sumber
Harap konfirmasi bahwa saya telah menulis ulang persamaan dengan benar.
abdullah kahraman
3

Ada beberapa cara (baik dalam hal rangkaian analog maupun dalam hal perhitungan perangkat lunak) untuk menggunakan termistor untuk mengukur suhu.

Jawaban singkatnya, kira-kira sebagai berikut:

  • Gunakan termistor dan resistor referensi untuk membuat pembagi tegangan.
  • Ambil bagian tengah pembagi tegangan dan masukkan ke konverter analog-ke-digital.
  • Ukur tegangan ADC dalam perangkat lunak.
  • Dengan menggunakan pengetahuan Anda tentang resistansi referensi, dan kurva R vs T termistor, ubah dari jumlah ADC ke suhu.

Ada sejumlah kehalusan di sini, jadi untuk bacaan lebih lanjut Anda mungkin ingin memeriksa artikel saya ini tentang pengkondisian sinyal termistor - semoga ini membantu!

Jason S
sumber
Artikel itu memang terlihat bagus!
AndrejaKo