Daftar Isi:

Mengukur Suhu Dari PT100 Menggunakan Arduino: 6 Langkah (Dengan Gambar)
Mengukur Suhu Dari PT100 Menggunakan Arduino: 6 Langkah (Dengan Gambar)

Video: Mengukur Suhu Dari PT100 Menggunakan Arduino: 6 Langkah (Dengan Gambar)

Video: Mengukur Suhu Dari PT100 Menggunakan Arduino: 6 Langkah (Dengan Gambar)
Video: mengukur suhu dan kelembaban menggunakan arduino ditampilkan ke LCD nextion 2024, November
Anonim
Mengukur Suhu Dari PT100 Menggunakan Arduino
Mengukur Suhu Dari PT100 Menggunakan Arduino

PT100 adalah detektor suhu resistansi (RTD) yang mengubah resistansinya tergantung pada suhu di sekitarnya, digunakan secara luas untuk proses industri dengan dinamika lambat dan rentang suhu yang relatif luas. Ini digunakan untuk proses dinamis yang lambat karena RTD memiliki waktu respons yang lambat (yang akan saya bicarakan lebih lanjut nanti) tetapi akurat dan memiliki penyimpangan yang rendah dari waktu ke waktu. Apa yang akan saya tunjukkan kepada Anda dalam Instruksi ini tidak akan memenuhi standar industri tetapi itu akan memaparkan Anda pada cara alternatif untuk mengukur suhu daripada menggunakan LM35 yang banyak penggemar akan kenal dan teori sirkuit ditampilkan dapat diterapkan pada sensor lainnya.

Langkah 1: Komponen

1x PT100 (Dua Kawat)

1x Arduino (Model Apa Saja)

3x 741 Penguat Operasi (LM741 atau UA741)

1x 80ohm Resistor

2x 3.9kohms Resistor

2x 3.3kohms Resistor

2x 8.2kohms Resistor

2x 47kohms Resistor

Potensiometer 1x 5kohms

1x Dua Terminal Power Supply atau Baterai AA 8x 1.5V

Saya menggunakan PT100 dua kawat, PT100 tiga dan empat kawat akan memiliki sirkuit yang berbeda. Nilai resistor untuk sebagian besar dari ini tidak harus sama persis seperti di atas tetapi jika ada sepasang resistor yaitu 3,9Kohm, jika Anda menukarnya dengan katakanlah 5k, Anda harus menukar keduanya untuk 5k saat itu perlu sama. Ketika kita mendapatkan rangkaian, saya akan mengatakan efek memilih nilai yang berbeda. Untuk penguat operasi (op amp) Anda dapat menggunakan op amp lain tetapi ini adalah yang saya gunakan.

Langkah 2: Jembatan Wheatstone

Jembatan Wheatstone
Jembatan Wheatstone
Jembatan Wheatstone
Jembatan Wheatstone
Jembatan Wheatstone
Jembatan Wheatstone

Pertama-tama saya perlu berbicara tentang rumus untuk mendapatkan suhu dari resistansi untuk PT100 sebelum saya berbicara tentang bagian pertama dari rangkaian, rumus untuk resistansi adalah sebagai berikut:

Gambar
Gambar

di mana Rx adalah resistansi PT100, R0 adalah resistansi PT100 pada 0 derajat C, adalah koefisien resistansi suhu dan T adalah suhu.

Gambar
Gambar

R0 adalah 100ohm karena ini adalah PT100, jika itu adalah PT1000, R0 akan menjadi 1000ohm. adalah 0,00385 ohm/derajat C yang diambil dari datasheet. Ada juga formula yang lebih akurat yang dapat ditemukan di sini tetapi formula di atas akan digunakan untuk proyek ini. Jika kita mengubah rumus, kita dapat menghitung suhu untuk resistansi yang diberikan:

Gambar
Gambar

Katakanlah kita ingin mengukur sesuatu yang akan memiliki kisaran suhu -51,85 hingga 130 derajat C dan kita menempatkan PT100 di sirkuit yang ditunjukkan pada gambar 1. Menggunakan persamaan di atas dan persamaan untuk tegangan keluar dari pembagi tegangan (ditampilkan pada gambar pertama) kita dapat menghitung rentang tegangan. Bagian bawah rentang T = -51.85(80ohm)

Gambar
Gambar

dan pada 130 derajat (150ohm):

Gambar
Gambar

Ini akan memberikan kisaran 0,1187V dan offset DC 0,142 karena kita tahu suhu kita tidak akan pernah di bawah -51,85 derajat C, ini akan menurunkan sensitivitas dalam kisaran yang kita pedulikan (80 hingga 130ohm) ketika kita memperkuat tegangan ini. Untuk menghilangkan offset DC ini dan meningkatkan sensitivitas kita, kita dapat menggunakan jembatan Wheatstone yang ditunjukkan pada gambar kedua.

Output pembagi tegangan kedua (Vb-) akan dikurangkan dari output pembagi tegangan pertama (Vb+) menggunakan penguat diferensial nantinya. Rumus untuk keluaran jembatan hanyalah dua pembagi tegangan:

Gambar
Gambar

Tegangan keluar untuk PT100 menjadi 80ohm dan menggunakan nilai lain dalam gambar:

Gambar
Gambar

dan untuk Pt100 menjadi 150ohm:

Gambar
Gambar

Dengan menggunakan Wheatstone, kami menghilangkan offset DC dan meningkatkan sensitivitas setelah amplifikasi. Sekarang setelah kita mengetahui cara kerja jembatan Wheatstone, kita dapat berbicara tentang mengapa kita menggunakan 80ohm dan 3,3kohm. 80ohm agak dijelaskan dari rumus di atas, pilih nilai ini (kami akan menyebutnya resistor offset Roff) menjadi kisaran bawah suhu Anda atau bahkan lebih baik, sedikit di bawah kisaran bawah Anda, jika ini digunakan untuk sistem kontrol untuk pengaturan suhu atau semacamnya, Anda ingin tahu seberapa rendah suhu di bawah kisaran suhu Anda. Jadi jika -51,85C adalah bagian bawah rentang Anda, gunakan 74.975 ohm (-65 derajat C) untuk Roff Anda.

Saya memilih 3.3k untuk R1 dan R3 karena dua alasan, untuk membatasi arus dan meningkatkan linearitas output. Karena PT100 mengubah resistansi karena suhu, melewatkan terlalu banyak arus melaluinya akan memberikan pembacaan yang salah karena pemanasan sendiri, jadi saya memilih arus maksimum 5-10mA. Ketika PT100 adalah 80ohm, arusnya adalah 1,775mA sehingga aman di bawah kisaran maks. Anda mengurangi resistensi untuk meningkatkan sensitivitas tetapi ini dapat memiliki efek negatif pada linearitas, karena kita akan menggunakan persamaan garis nanti (y=mx+c) yang memiliki output non-linier akan menimbulkan kesalahan. Gambar ketiga memiliki grafik output jembatan menggunakan resistor atas yang berbeda, garis padat adalah output aktual dan garis putus-putus adalah pendekatan linier. Anda dapat melihat dalam grafik biru tua (R1&R3=200ohms) memberikan rentang tegangan terbesar tetapi outputnya paling tidak linier. Biru muda (R1&R3=3.3kohms) memberikan rentang tegangan terkecil tetapi garis putus-putus dan garis padat tumpang tindih menunjukkan linieritasnya sangat baik.

Jangan ragu untuk mengubah nilai-nilai ini agar sesuai dengan aplikasi Anda, juga jika Anda mengubah tegangan, pastikan arusnya tidak terlalu tinggi.

Langkah 3: Amplifikasi

Amplifikasi
Amplifikasi
Amplifikasi
Amplifikasi

Pada langkah terakhir, kami menemukan rentang output dari dua pembagi tegangan yang dikurangi adalah 0 hingga 0,1187 tetapi kami belum membicarakan cara mengurangi tegangan ini. Untuk melakukan ini, kita memerlukan amp diferensial yang akan mengurangi satu input dari yang lain dan memperkuatnya dengan penguatan amp. Rangkaian untuk amp diferensial ditunjukkan pada gambar pertama. Anda memasukkan Vb+ ke input pembalik dan Vb- di input non-pembalik dan outputnya akan menjadi Vb+ - Vb- dengan penguatan satu yaitu tanpa amplifikasi tetapi dengan menambahkan resistor yang ditunjukkan pada gambar, kami menambahkan penguatan 5,731. Keuntungan diberikan oleh:

Gambar
Gambar

Ra adalah R5 & R7 dan Rb adalah R6 & R8, tegangan keluar diberikan oleh:

Gambar
Gambar

Ada dua masalah dengan hanya menghubungkan amp ini ke output jembatan, efek pembebanan dan mengubah gain. Mengubah penguatan amp mengharuskan Anda untuk mengubah setidaknya dua resistor karena dua pasang resistor harus sama, jadi memiliki dua pot yang harus memiliki nilai yang sama akan mengganggu jadi kami akan menggunakan sesuatu yang disebut amplifier instrumentasi yang saya bicarakan di bawah ini. Efek pembebanan adalah resistor input ke dalam amp yang mempengaruhi penurunan tegangan melintasi PT100, kami ingin tegangan melintasi PT100 tidak berubah dan untuk melakukan ini kami dapat memilih resistor yang sangat besar untuk resistor input sehingga resistansi paralel PT100 dan resistor input sangat dekat dengan resistansi PT100 tetapi ini dapat menyebabkan masalah dengan noise dan offset output tegangan yang tidak akan saya bahas. Pilih saja kisaran menengah dalam kisaran Kohms tetapi seperti yang saya katakan, memiliki resistor kecil juga buruk sehingga kami akan mengubah sirkuit sedikit.

Pada gambar kedua, kami memiliki output jembatan yang terhubung ke amp instrumentasi yang bertindak sebagai buffer amp untuk memisahkan dua bagian sirkuit (jembatan dan amplifikasi) serta memungkinkan penggunaan untuk memperkuat input dengan mengubah hanya satu potensiometer (Dapatkan). Keuntungan dari amp instrumentasi diberikan oleh:

Gambar
Gambar

di mana Rc adalah dua resistor 3,9k di atas dan di bawah pot.

Dengan menurunkan Rgain, amplifikasi meningkat. Kemudian pada titik Va dan Vb (diperkuat Vb+ dan Vb-), itu hanya amp diferensial seperti sebelumnya dan keuntungan total rangkaian hanyalah keuntungan yang dikalikan bersama.

Gambar
Gambar

Untuk memilih keuntungan Anda, Anda ingin melakukan sesuatu seperti yang kami lakukan sebelumnya dengan Roff, kami harus memilih resistansi tepat di atas suhu maksimum Anda dalam jangkauan Anda untuk berjaga-jaga jika itu terjadi. Karena kami menggunakan Arduino yang memiliki adc 5V, output maksimal dari rangkaian harus 5V pada suhu maksimal yang Anda pilih. Mari kita pilih 150ohm sebagai resistansi maksimal dan tegangan jembatan yang tidak diperkuat adalah 0,1187V, penguatan yang kita butuhkan adalah 42,185 (5/0,1187)

Katakanlah kita menyimpan Ra, Rb dan Rc sebagai 8.2k, 47k dan 3.9k, kita hanya perlu mencari nilai untuk pot Rgain:

Gambar
Gambar

Jadi untuk mendapatkan 5 volt penuh dari kisaran suhu yang kita gunakan, ubah nilai Rgain menjadi 1.226k. Tegangan keluaran yang keluar dari amp diferensial diberikan oleh:

Langkah 4: Menyalakan Sirkuit

Menghidupkan Sirkuit
Menghidupkan Sirkuit
Menghidupkan Sirkuit
Menghidupkan Sirkuit
Menghidupkan Sirkuit
Menghidupkan Sirkuit

Ini adalah langkah terakhir dari rangkaian, Anda mungkin telah memperhatikan Vcc+ dan Vcc- pada rangkaian op amp, ini karena mereka membutuhkan tegangan positif dan negatif untuk berfungsi dengan baik, Anda bisa mendapatkan op-amp rel tunggal tetapi saya memutuskan untuk menggunakan amp ini karena itulah yang saya miliki. Jadi kami akan mensuplai +6V dan -6V, ada tiga cara yang bisa kami lakukan. Yang pertama ditunjukkan pada gambar pertama di mana kita harus memiliki dua catu daya atau dua terminal keluaran dari catu daya tunggal, memiliki keduanya pada 6V dan memiliki satu keluaran positif yang terhubung ke negatif yang lain. 6V dari suplai atas akan menjadi +6V kami, positif dari suplai bawah adalah GND dan negatif dari suplai bawah adalah -6V. HANYA SAMBUNGKAN SEPERTI INI JIKA GND DARI KEDUA SUPPLY TERPISAH ATAU AKAN MERUSAK POWER SUPPLY ANDA. Semua catu daya komersial akan memisahkan GND tetapi jika Anda ingin memeriksa, gunakan penguji kontinuitas pada multimeter Anda, jika berdengung, jangan gunakan pengaturan ini dan gunakan yang berikutnya. Pada persediaan buatan saya, saya meniup sekering melakukan ini.

Pada gambar kedua adalah pengaturan kedua yang dapat kita miliki, itu memang membutuhkan satu pasokan untuk memiliki tegangan dua kali lipat dari yang lain tetapi tidak akan merusak pasokan jika GND terhubung. Kami memiliki dua persediaan, satu di 12V dan lainnya di 6V. 12V akan bertindak sebagai +6V kami, 6V dari suplai kedua akan bertindak sebagai GND dan dua GND aktual dari suplai akan bertindak sebagai -6V.

Pengaturan terakhir ini untuk catu daya dengan hanya satu keluaran, ia menggunakan penguat penyangga gain 1 untuk membuat tanah virtual dengan melewatkan setengah tegangan catu melalui ampli penyangga. Kemudian 12V akan bertindak sebagai +6V dan terminal GND yang sebenarnya akan menjadi -6V.

Jika Anda ingin menggunakan baterai, saya sarankan pengaturan pertama tetapi masalah dengan baterai adalah tegangan akan turun ketika mereka mulai mati dan tegangan keluar dari jembatan juga akan turun, memberikan pembacaan suhu yang salah. Anda tentu saja dapat membaca tegangan dari baterai dan memasukkannya ke dalam perhitungan atau menggunakan regulator dan lebih banyak baterai. Pada akhirnya, terserah Anda.

Langkah 5: Sirkuit Penuh dan Kode

Sirkuit Penuh dan Kode
Sirkuit Penuh dan Kode
Sirkuit Penuh dan Kode
Sirkuit Penuh dan Kode
Sirkuit Penuh dan Kode
Sirkuit Penuh dan Kode

Sirkuit lengkap ditunjukkan di atas dan dibuat di Circuits.io baru Autodesk yang memungkinkan Anda membuat sirkuit di papan tempat memotong roti, mengedit diagram sirkuit (ditunjukkan pada gambar 2) dan diagram PCB dan bagian terbaiknya, memungkinkan Anda mensimulasikan sirkuit dari papan tempat memotong roti dan bahkan dapat memprogram Arduino dan menghubungkannya dalam mode papan tempat memotong roti, lebih jauh ke bawah halaman adalah simulasi dan Anda dapat bermain-main dengan dua pot. Jika Anda ingin menduplikasi rangkaian dan memasukkan nilai Anda sendiri, Anda dapat menemukan rangkaiannya di sini. Pot pertama adalah 70ohm dan seri dengan resistor 80ohm yang mensimulasikan PT100 dengan kisaran 80-150ohm, pot kedua adalah penguatan instrumentasi amp. Sayangnya saya menggunakan perpustakaan yang saya unduh untuk kode saya, jadi Arduino tidak termasuk dalam rangkaian di bawah ini tetapi hanya ada dua kabel tambahan yang perlu Anda sambungkan. Jika Anda lebih nyaman dengan LTspice, saya menyertakan file asc dengan sirkuit.

Hubungkan pin A0 ke output amp Diferensial

Hubungkan GND Arduino ke GND sirkuit (BUKAN -6V)

Dan begitulah rangkaiannya, sekarang ke kodenya. Sebelumnya saya menyebutkan bahwa kita akan menggunakan rumus y=mx+c, sekarang kita akan menghitung m(kemiringan) dan c(offset). Di Arduino, kita akan membaca tegangan tetapi persamaan suhu mengharuskan kita untuk mengetahui resistansi PT100 sehingga cara yang dapat kita lakukan adalah dengan mengganti Serial.println(temp) dengan Serial.println(V) dan merekam tegangan dan hambatan pada dua temperatur. Saat melakukan tes ini tinggalkan PT100 sebentar, seperti satu atau dua menit dan jauhkan dari sumber panas (sinar matahari, kipas laptop, tubuh Anda, dll).

Poin pertama yang dapat kita ambil adalah suhu ruangan, ketika rangkaian sudah terhubung dan berfungsi, catat tegangan (Vt1) yang dibaca oleh Arduino pada monitor serial dan segera putuskan PT100 dan catat resistansinya (Rt1), jangan letakkan tangan pada probe saat melepaskan karena ini akan mengubah resistansi. Untuk suhu kedua, kita bisa menempatkan probe di air es atau air panas (hati-hati jika menggunakan air panas) dan ulangi apa yang kita lakukan sebelum menemukan Vt2 dan Rt2. Tepat setelah Anda memasukkan probe ke dalam cairan, tunggu satu atau dua menit hingga resistensi mengendap. Jika Anda tertarik dengan respon waktu PT100, catat tegangan dari monitor serial setiap 2 detik atau lebih dan kita dapat menggambar grafik dari ini dan saya akan menjelaskannya nanti. Dengan menggunakan dua tegangan dan hambatan, kita dapat menghitung kemiringan sebagai berikut:

Gambar
Gambar

Rt1 dan Rt2 adalah resistansi pada dua suhu dan sama untuk tegangan Vt1 dan Vt2. Dari kemiringan dan salah satu dari dua set poin yang Anda catat, kami dapat menghitung offset:

Gambar
Gambar

C harus dekat dengan Roff asli Anda, Dari simulasi saya, saya menghitung nilai-nilai ini:

Gambar
Gambar

Dari resistansi ini kita dapat menemukan suhu kita menggunakan rumus yang kita miliki di awal:

Gambar
Gambar

Dan itu saja, kode untuk Arduino ada di bawah, jika Anda memiliki masalah, tinggalkan komentar dan saya akan mencoba membantu.

Tidak ada gambar sirkuit yang saya buat karena saya membuatnya beberapa waktu lalu dan tidak memiliki PT100 lagi untuk dibuat ulang dan diuji, tetapi Anda harus percaya bahwa itu berfungsi. Tidak banyak tentang PT100 pada Instructables yang saya temukan jadi itu sebabnya saya membuat ini bisa.

Pada langkah berikutnya saya akan berbicara tentang respon waktu PT100 dan jika Anda tidak tertarik dengan matematika, ketika Anda mengukur perubahan suhu, biarkan PT100 menetap selama satu menit atau lebih sebelum melakukan pembacaan.

Jika Anda tertarik untuk melihat proyek lain yang saya buat, kunjungi my

Blog: Roboblog

Saluran YouTube: Robor

Atau lihat Instruksi saya yang lain: di sini

Jika HTML mengacaukan kode di bawah ini, kode terlampir

* Kode ini menghitung suhu menggunakan PT100

* Ditulis oleh Robro * Github: <a href="https://github.com/RonanB96/Read-Temp-From-PT100-… <a href="https://github.com/RonanB96/Read-Temp- Dari-PT100-… <a href="https://github.com/RonanB96/Read-Temp-From-PT100-… >>>>>>>>> * Circuit: <a href=" href="https://github.com/RonanB96/Read-Temp-From-PT100-… <a href=" https://github.com/ronanb96/read-temp-from-pt100-…="">>>>>>>>>> * Blog: <a href=" href="https://github.com/RonanB96/Read-Temp-From-PT100-… <a href=" https://github.com/ronanb96/read-temp-from-pt100-…="">>>>>>>>>> * Instrustable Post: <a href=" href="https://github.com/RonanB96/Read-Temp-From-PT100-… <a href=" https://github.com/ronanb96/read-temp-from-pt100-…="">>>>>>>>>> * */ //You'll need to download this timer library from here //https://www.doctormonk.com/search?q=timer #include "Timer.h" // Define Variables float V; float temp; float Rx; // Variables to convert voltage to resistance float C = 79.489; float slope = 14.187; // Variables to convert resistance to temp float R0 = 100.0; float alpha = 0.00385; int Vin = A0; // Vin is Analog Pin A0 Timer t; // Define Timer object

void setup() {

Serial.begin(9600); // Set Baudrate at 9600 pinMode(Vin, INPUT); // Make Vin Input t.every(100, takeReading); // Take Reading Every 100ms } void loop() { t.update(); // Update Timer } void takeReading(){ // Bits to Voltage V = (analogRead(Vin)/1023.0)*5.0; // (bits/2^n-1)*Vmax // Voltage to resistance Rx = V*slope+C; //y=mx+c // Resistance to Temperature temp= (Rx/R0-1.0)/alpha; // from Rx = R0(1+alpha*X) // Uncommect to convet celsius to fehrenheit // temp = temp*1.8+32; Serial.println(temp); }

Step 6: Time Response of PT100

Respon Waktu PT100
Respon Waktu PT100

Jadi saya menyebutkan bahwa PT100 memiliki respons yang lambat tetapi kita bisa mendapatkan rumus untuk suhu saat ini yang dibaca oleh PT100 setiap saat t. Respon dari PT100 adalah respon orde pertama yang dapat ditulis dalam istilah Laplace yaitu fungsi transfer, sebagai:

Gambar
Gambar

di mana tau(τ) adalah konstanta waktu, K adalah penguatan sistem dan s adalah operator Laplace yang dapat ditulis sebagai jω di mana adalah frekuensi.

Konstanta waktu memberi tahu Anda berapa lama waktu yang dibutuhkan sistem orde pertama untuk menetap pada nilai barunya dan aturannya adalah 5*tau adalah berapa lama waktu yang dibutuhkan untuk menetap pada kondisi mapan yang baru. Gain K memberi tahu Anda berapa banyak input yang akan diperkuat. Dengan PT100, keuntungannya adalah berapa banyak perubahan resistansi dibagi dengan perubahan suhu, dari mengambil dua nilai acak dari lembar data ini, saya mendapat keuntungan 0,3856 ohm/C.

Sebelumnya saya katakan Anda dapat merekam tegangan setiap 2 detik setelah Anda memasukkan probe ke dalam cairan, panas atau dingin, dari sini kita dapat menghitung konstanta waktu sistem. Pertama, Anda perlu mengidentifikasi di mana titik awal dan titik akhir, titik awal adalah tegangan sebelum Anda memasukkan probe ke dalam cairan dan titik akhir adalah ketika itu diselesaikan. Selanjutnya kurangi mereka dan itulah perubahan tegangan langkahnya, pengujian yang Anda lakukan adalah perubahan langkah yang merupakan perubahan mendadak pada input ke sistem, langkahnya adalah suhu. Sekarang pada grafik Anda pergi ke 63,2% dari perubahan tegangan dan kali ini adalah waktu yang konstan.

Gambar
Gambar

Jika Anda memasukkan nilai itu ke fungsi transfer, Anda kemudian memiliki rumus untuk menggambarkan respons frekuensi sistem tetapi bukan itu yang kita inginkan sekarang, kita ingin suhu aktual pada waktu t untuk langkah suhu jadi kita akan pergi harus melakukan transformasi Laplace terbalik dari langkah ke dalam sistem. Fungsi alih dari sistem orde pertama dengan masukan sebuah langkah adalah sebagai berikut:

Gambar
Gambar

Dimana Ks adalah ukuran langkah yaitu perbedaan suhu. Jadi misalkan probe ditempatkan pada 20 derajat C, ditempatkan ke dalam air pada 30 derajat C dan probe memiliki konstanta waktu 8s, fungsi transfer dan rumus domain waktu adalah sebagai berikut:

Gambar
Gambar

(t) hanya berarti impuls yaitu offset DC 20 derajat C dalam hal ini, Anda hanya dapat menulis 20 dalam persamaan Anda saat menghitung ini. Ini adalah persamaan standar untuk langkah ke sistem orde pertama:

Gambar
Gambar

Di atas menghitung suhu pada waktu t tetapi ini akan bekerja untuk tegangan karena proporsional satu sama lain, Anda hanya perlu nilai awal dan akhir, konstanta waktu dan ukuran langkah. Situs web bernama Symbolab sangat bagus untuk memeriksa apakah matematika Anda benar, ia dapat melakukan Laplace, integrasi, diferensiasi, dan banyak hal lainnya dan memberi Anda semua langkah di sepanjang jalan. Transformasi Laplace terbalik di atas dapat ditemukan di sini.

Direkomendasikan: