Saya membuat pengontrol PID untuk sous-vide, seperti ini , dan saya mencoba untuk memutuskan sensor suhu mana yang akan didapat.
Prioritas:
- Biaya: <£ 25 dikirim di Inggris
- Akurasi: +/- 0,5C
- Kisaran: 0 - 100C
- Output: sesuatu yang dapat dibaca oleh Arduino dengan sirkuit tambahan minimal (mis. 0-5VDC, resistensi yang mudah diukur, atau output digital seperti OneWire dll)
- Fisik: tahan air, aman untuk makanan (idealnya), dan dengan timah setidaknya sepanjang satu meter - idealnya tidak terlalu banyak pekerjaan untuk membuat faktor bentuk ini (saya tidak punya bengkel)
- Mode kegagalan: akan ideal jika kegagalan menyebabkan pembacaan suhu lebih daripada suhu bawah
Senang berkompromi dengan hal-hal di atas jika diperlukan, tetapi ini adalah idaman saya. Juga terbuka untuk saran untuk apa lagi yang harus saya kompromikan. Saya akan sangat tertarik pada pemikiran mengenai sensor seperti tipe-k, pt100, chip TMP36, dan termistor 10K "standar" (meskipun jika nama-nama ini tidak cukup spesifik, tolong beri tahu saya apa yang seharusnya saya menjadi. mencari sebaliknya).
arduino
temperature
pid-controller
thermistor
thermocouple
Richard Russell
sumber
sumber
Jawaban:
Pertama, setuju dengan orang lain: menggunakan akurasi 1.0C akan membuat hidup Anda jauh lebih mudah.
Anda tampaknya diatur pada sensor analog, tetapi saya akan menyarankan satu dengan antarmuka digital. Sensor analog adalah radiometrik (bekas) (memberikan persentase Vcc bergantung tempearture), yang memberikan respons non-linear, yang harus Anda konversi. Jenis lainnya (LM35 dll) adalah mutlak, yang mengharuskan Anda untuk A / D terhadap tegangan referensi yang harus (jauh) lebih akurat daripada akurasi yang Anda inginkan. Kecuali jika Anda ingin mengukur sesuatu yang sensor digital-interface tidak bisa (seperti >> 100C) ini tampaknya banyak kerumitan yang tidak perlu.
Sunting: mari kita coba LM35. 10mV / C, bahkan dengan asumsi LM35 sendiri tidak menimbulkan kesalahan , referensi tipikal (LM431 dll) akurat 1%, yang menghasilkan kesalahan 1% dalam pembacaan suhu! A / D mikrokontroler tipikal adalah 10 bit, mari kita asumsikan skala penuh adalah referensi 2.5V (periksa apakah UC Anda memungkinkan ini!). 1 bit kesalahan A / D (mari optimis !, lebih baik periksa lembar data UC Anda) adalah 2,5mV = 1 / 4C kesalahan. Jadi bahkan tanpa sensor itu sendiri kita memiliki kesalahan + / 1,25 C (paling-paling ..).
Dapatkan sensor antarmuka digital, misalnya DS1820 / 18S20 / 18B20 tua yang bagus, semuanya TO92. Atau salah satu sensor I2C atau SPI yang dibuat Microchip di TO220. Jika Anda memanaskan baki atau sesuatu, Anda dapat menghubungkan tab ke baki.
sumber
Dapatkan IC sensor suhu presisi, seperti LM35CAZ .
Anda memberinya daya dengan 5v yang baik, dan outputnya adalah tegangan sederhana yang merupakan fungsi linear dari suhu. Mereka memiliki akurasi yang cukup baik dari ± 1 ±4˚C pada suhu kamar.
Ditambahkan:
Beberapa orang telah berbicara tentang "Akurasi rentang suhu" untuk sensor ini menjadi ± 1ºC. Ini adalah rentang yang salah untuk dibicarakan. "Akurasi pada suhu memasak" adalah kisaran yang tepat untuk dibicarakan. Pada sekitar 60ºC akurasi ± 0,7, dan mungkin lebih baik dari itu. Garis 'tipikal' bervariasi sekitar 0,1ºC pada rentang masakan Anda.
Anda mungkin hanya perlu satu atau dua titik kalibrasi untuk mendapatkan sensor ini dengan cukup akurat untuk kebutuhan Anda. Tetapi, tentu saja, itu membutuhkan termometer yang akurat untuk mengkalibrasi terhadapnya. Untuk itu, Anda memiliki beberapa opsi:
Opsi 1: Anda bisa menggunakan air. Suhu air yang mengalami pembekuan adalah 0ºC. Jadi tempelkan di dalam secangkir kecil air dalam freezer, dan perhatikan voltase output dengan hati-hati. Itu akan jatuh dan jatuh sampai air mulai membeku. Pada titik ini, suhu akan berhenti turun dan tetap datar untuk sementara waktu. Setelah pembekuan selesai, suhu akan mulai turun lagi. Perhatikan tegangan di daerah datar untuk digunakan sebagai titik kalibrasi 0ºC Anda.
Lakukan hal yang sama untuk air mendidih. Yang terbaik adalah melakukan ini di permukaan laut. Jika Anda tidak berada di permukaan laut, maka periksa berapa suhu air mendidih di ketinggian Anda.
Menggunakan 0ºC dan 100ºC tidak sebagus menggunakan, katakanlah 50ºC dan 80ºC, tetapi jauh lebih mudah. Jika Anda memiliki termometer yang sangat akurat, maka Anda harus menggunakan titik kalibrasi lebih dekat dengan suhu memasak Anda.
Opsi 2: Gunakan metil alkohol. (Terima kasih stevenvh) Ini mendidih pada 64,7ºC. Ini sangat dekat dengan suhu memasak Anda, sehingga Anda hanya perlu satu titik kalibrasi untuk mendapatkan suhu memasak yang sangat akurat. Jelas berhati-hatilah untuk tidak memabukkan atau meledakkan diri dengan asap. Jangan memanaskan alkohol di atas api telanjang!
Ditambahkan - Amplifikasi
Karena Anda bekerja dalam kisaran suhu yang sempit, dan Anda membutuhkan akurasi kontrol yang baik, mungkin perlu juga memperkuat output sensor. Ini akan memberikan resolusi ADC yang lebih besar di Arduino, yang akan diterjemahkan ke dalam stabilitas yang lebih baik dari algoritma kontrol PID. Lihat pertanyaan Konversi level tegangan analog (pergeseran level) yang membahas penguatan dan pergeseran level tegangan analog.
Dengan asumsi Anda bekerja di kisaran 40ºC - 100ºC (0.4v - 1.0v). Anda ingin mengurangi 0,4v dari sinyal, memberikan 0,0v - 0,6v, dan memperkuat hasilnya dengan gain 8, memberikan 0,0v - 4,8v. Ini akan memberikan resolusi yang sangat baik.
sumber
Sepertinya Anda bertanya tentang probe saja. Tampaknya Anda menginginkan sesuatu yang bisa Anda hubungi langsung dengan makanan tersebut. Kontroler PID mencakup banyak hal, tidak hanya sensor umpan balik, tetapi sepertinya Anda tidak menanyakan hal itu. Jika ada yang salah, maka Anda harus memperbarui pertanyaan Anda. Saya juga tidak tahu apa itu "Sous Vide". Setiap informasi yang relevan dengan itu harus ada dalam pertanyaan Anda. Tautan hanya untuk materi latar belakang.
Seperti yang disebutkan Steven, 1/2 degC sangat ambisius dan tidak perlu ketika Anda berbicara tentang makanan.
Sensor suhu termudah adalah termistor. Mereka dapat menangani jarak dan sebaliknya hanya membutuhkan resistor beban. Hasilnya juga akan menjadi ratiometrik untuk persediaan Anda, sehingga setiap variasi persediaan dibatalkan. Mendeteksi kegagalan mudah dalam firmware karena pembacaan yang sangat dekat dengan bagian atas atau bawah rentang menunjukkan suhu yang tidak realistis. Jika Anda mendapatkan sesuatu di luar kisaran suhu yang valid, maka Anda menganggap perangkat keras mengalami kegagalan dan memasukkan apa pun yang Anda pikir safe mode. Ini benar-benar masalah firmware, bukan perangkat keras dengan termistor dan resistor beban yang tepat.
Sedangkan untuk membuatnya aman dari makanan, melampirkan probe dalam gelas harus baik. Bagaimana dengan mem-epoxing termistor ke dasar testtube kecil, yang kemudian menjadi probe? Bagian atasnya bisa ditutup dengan lem panas atau apalah. Itu harus kedap air tetapi makanan tidak harus ada di sana. Hanya dua kabel berisolasi yang muncul dari bagian atas tabung. Kaca cukup baik dalam mentransmisikan panas. Konstanta waktu dari probe harus tetap lebih baik dari konstanta waktu dari daya pemanas ke suhu yang mengubah makanan.
Termistor tidak terlalu akurat kecuali Anda membayar banyak uang. Untuk proyek hobi satu kali, saya akan mendapatkan termistor apa pun yang bisa didapat dalam kisaran yang tepat dan kalibrasi secara manual. Kalibrasi pada beberapa suhu yang diketahui ditentukan dari termometer yang diketahui andal, kemudian pasang firmware di antaranya. Untuk kredit tambahan, Anda bahkan dapat mencari persamaan nominal termistor, sesuaikan titik pengukuran Anda sebaik mungkin, lalu turunkan fungsi kontinu dari situ. Anda dapat mengisi tabel tetap dalam firmware dengan banyak segmen dari fungsi yang dikalibrasi sehingga interpolasi linier antar segmen akan cukup baik.
Sekali lagi, 1/2 degC meminta terlalu banyak, tetapi Anda sebenarnya tidak terlalu membutuhkannya. Termistor dengan titik kalibrasi mungkin 4, pemasangan persamaan, dan kemudian interpolasi harus baik untuk menyelesaikan masalah yang sebenarnya.
sumber
Menggunakan LM335Z, Anda dapat mengkalibrasi offset dan mendapatkan kesalahan untuk setiap sensor yang diberikan dengan 2 pembacaan uji pada 0'C 100'C dengan es dan air mendidih.
Kemudian dapatkan bacaan verifikasi di kisaran menengah katakan 50'C.
Anda dapat membuat jig uji dan mengkalibrasi satu sensor sebagai standar perak Anda terhadap termometer standar emas lainnya. Anda kemudian menyimpan kesalahan yang diharapkan-aktual dan menghitung perkembangan linier atau mendapatkan dan mengimbangi angka untuk menghemat di EEPROM sehingga mereka menjadi set yang dikalibrasi. Jika Anda mendapatkan batch, Anda mungkin menemukan mereka semua memiliki kesalahan offset dan gain yang sama yang dapat Anda perbaiki dalam perangkat lunak untuk menampilkan pembacaan yang dikoreksi.
Dengan standar 0,1'C Anda dapat mengharapkan kesalahan 0,2'deg dan menggunakan tampilan yang Anda pilih untuk menjamin bahwa kesalahan 0,5'C untuk setpoint penting Anda.
Lihat Gambar 3
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000459.pdf
Saya akan menyegel sensor dengan lapisan tipis epoksi food grade untuk melindungi perangkat dari kebocoran kelembaban dan menggunakan twisted pair atau dua twisted pair flex kabel menggunakan 2 sebagai perisai dan kemudian menggunakan "ferit CM choke" untuk menyerap interferensi RF.
Anda kemudian memerlukan ADC yang dijamin akurat untuk +/- 0,5 bit atau mungkin 1 dalam 256 level untuk membaca 0,5 / 100% akurat. Ini tidak dijamin di sebagian besar Arduino sehingga Anda perlu menggunakan DAC perangkat keras untuk menguji ini dalam Output minus Input pada cakupan 2 saluran dan pilih pasangan AC untuk CH1 dan CH 2 lalu tampilkan mode XY CH1 vs Ch2 untuk mendapatkan titik pusat yang melintasi maksimum +/- 1 bit. Setiap kebisingan Vref di ADC Anda akan menyebabkan tingkat kuantisasi atau histeresis yang dilewati selama transisi seperti 01111 ke 10000 dan crosstalk dari digital ground ke input analog ground feed-thru akan gagal monotonisitas.
Periksa situs TI untuk literatur tentang kesalahan ADC.
@ Richard Russell << Saya menghargai perlunya kontrol 0,5 derajat C dalam gaya memasak organik pada suhu rendah di mana organisme hidup mulai mati dengan cepat di atas suhu Pasteur ketika bakteri terbunuh.
Jika saya, saya akan mengkalibrasi akurasi 0,1 deg menggunakan suhu kalibrasi penguatan offset antara 45 dan 65 derajat C setelah terpasang dengan kuat ke Pot yang diisolasi dengan baik. Kemudian Anda dapat melakukan pemasakan komersial lainnya di pasaran ... dengan asumsi ia terisolasi dengan baik dielektrik nilai R tinggi.
Kemudian untuk penampilan sehingga Anda dapat mengenakan biaya $ 500, bungkus dalam American SS presisi yang seperti "Spirit of St Louis" sangat tergores dan sangat halus. ;)
Secara pribadi saya akan memiliki asam eksterior SS yang diukir oleh para profesional yang melakukan hal ini setiap hari dengan karya seni memasak bersejarah yang bernilai $ 50 dan kemudian mengenakan biaya tambahan untuk karya seni khusus dengan logo pribadi dan nama perusahaan. Tanyakan saja apakah Anda memerlukan referensi yang baik.
Terima kasih telah mengizinkan saya membantu Anda dengan tujuan Anda.
sumber
Berdasarkan informasi yang diberikan dalam jawaban lain, dan pencarian lebih lanjut, saya menemukan probe Waterproof DS18B20 di Alpha-Crucis (EU). Ini juga tersedia di Adafruit di AS.
Ini memenuhi semua persyaratan saya, dan memiliki faktor bentuk yang ideal.
sumber