Sensor suhu untuk proyek sdu-vide Arduino

8

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).

Richard Russell
sumber
1
Akurasi 0,5 ° C tidak masuk akal dan hanya akan membuat hidup Anda lebih sulit. 1 ° C lebih dari cukup. Dan bahkan Anda tidak bisa mendapatkan dengan termistor NTC tanpa menghabiskan hari yang menyakitkan mengkalibrasi itu.
stevenvh
1
Sepertinya aplikasi ini sebenarnya membutuhkan akurasi absolut setinggi mungkin. Tampaknya titik memasak terkontrol beroperasi tepat dalam kisaran yang sangat sempit pada suhu didih yang mendekati.
5
Rocketmagnet dan rocketsurgeon sedang mengobrol, itu tidak membingungkan mata sama sekali.
Kortuk
1
@RichardRussell Artikel Gizmag ini mungkin menarik - Juli 2012.
Russell McMahon
1
Berikut ini adalah implementasi vide yang bagus yang dapat memberi Anda beberapa ide. flashingleds.net/sousvader/sousvader.html
Russell McMahon

Jawaban:

5

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.

Wouter van Ooijen
sumber
Saya tidak terlalu keberatan apakah itu analog atau digital - saya tidak tahu bahwa ada perangkat digital. Saya akan mengedit pertanyaan untuk menjelaskan. Setelah melihat spesifikasi DS18S20, kelihatannya cocok, saya hanya perlu menanamkannya dalam semacam penyelidikan untuk merendam di dalam air - tantangan non-sepele bagi seseorang yang belum pernah melakukan itu :-)
Richard Russell
Berdasarkan informasi yang diberikan dalam jawaban ini dan berbagai lainnya, 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.
Richard Russell
7

Dapatkan IC sensor suhu presisi, seperti LM35CAZ .

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.

Akurasi LM35CAZ

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.

Plot suhu air beku

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.

Mengkalibrasi termometer.

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.

Roket
sumber
Akurasi rentang suhu adalah 1 ° C. 0,25 ° C adalah omongan penjualan.
stevenvh
1
@stevenvh - "Akurasi suhu" adalah kisaran yang salah untuk dibicarakan. "Akurasi pada suhu memasak" adalah kisaran yang tepat untuk dibicarakan.
Rocketmagnet
0,5 ° C ditentukan pada 25 ° C. Apakah suhu memasak akan lebih dekat dengan itu, atau lebih dekat ke kisaran suhu? Saya pikir, yang terakhir.
stevenvh
4
Anda bisa mengkalibrasi pada titik didih alkohol metil alih-alih air: 64,7 ° C.
stevenvh
2
Memperkuat rentang berguna untuk menutupi rentang sensor akan mengurangi noise kuantisasi, tetapi Anda juga harus mencatat bahwa itu sekarang menambah set kesalahan sendiri. Bahkan jika Anda mengkalibrasi pada satu titik, Anda sekarang harus mempertimbangkan tegangan offset input amplifier melayang di atas suhu perangkat, bukan barang yang sedang dimasak. Saya tidak mengatakan penguatan itu buruk, hanya saja jika Anda akan merekomendasikannya Anda juga harus menyatakan masalah yang menyertainya.
Olin Lathrop
3

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.

Olin Lathrop
sumber
Kalibrasi hingga 1/2 derajat menggunakan termometer yang andal dan diketahui, bukankah itu memindahkan masalahnya? Termometer referensi harus setidaknya setepat, lebih disukai lebih tepat, dari pada 1/2 derajat itu.
Federico Russo
1
@Federico: Ini memindahkan masalah keakuratan, tetapi termometer referensi dapat berupa teknologi apa pun, tidak perlu aman pangan, dan tidak perlu dibaca mesin. Termometer air raksa yang layak (atau cairan lain) yang dimaksudkan untuk rentang itu harus tersedia tanpa terlalu banyak kesulitan.
Olin Lathrop
Saya memiliki termometer probe yang layak yang dikalibrasi yang dapat saya gunakan untuk mengkalibrasi yang satu ini. Saya tidak memerlukannya secara langsung dengan makanan, tetapi karena akan terendam dalam cairan di penanak nasi yang juga dapat saya gunakan untuk memasak nasi, saya tidak ingin membocorkan sesuatu yang beracun ... A "Sous Vide "thing adalah metode memasak dengan suhu yang tepat di dalam kantong hampa udara di bak air. Saya sedang membangun pengontrol PID dari Arduino, dan dalam hal ini, saya hanya perlu memutuskan sensor suhu.
Richard Russell
1

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.

Tony Stewart Sunnyskyguy EE75
sumber
Ceria - itu sangat membantu. Harus mengatakan bahwa saya tidak tahu apa "American SS" itu, tapi kedengarannya bagus :-)
Richard Russell
SS = Stainless Steel
dext0rb
Tentunya, ketika Anda mengkalibrasi sensor, Anda melakukannya setelah ADC. Karena itu Anda juga mengkalibrasi kesalahan ADC?
Rocketmagnet
0

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.

Richard Russell
sumber
1
ini hanya tautan ke suatu produk dan tidak ada informasi mengapa. Ada pengguna yang memberikan banyak pekerjaan pada jawaban untuk membantu mengajar Anda dan menerima biasanya merupakan hadiah untuk tugas seperti itu terutama jika mereka melakukan pekerjaan membimbing Anda di sini.
Kortuk
Oke, saya akan menerima jawaban yang berbeda. Di mana saya harus menaruh kesimpulan sendiri?
Richard Russell
Saya mengatakan dua hal, 1) Jika jawaban seseorang yang benar-benar membawa Anda ke sini, mereka mungkin harus menerima. 2) Menulis jawaban lebih dari dapat diterima tetapi dapatkah Anda memberi kami informasi lebih dari sekadar tautan. Saat ini saya tidak tahu apa-apa bahwa perangkat ini dibawa ke beberapa tempat dan tahan air.
Kortuk
Saya membuat Sous Vide menggunakan DS18B20, yang dengan ujung plastik, tetapi model dengan ujung logam lebih baik. Untuk memasak cukup baik (saya menggunakannya setiap hari) dan +/- 1 ° C adalah semua yang Anda butuhkan. Temperatur tidak seragam di wajan Anda; itu bisa +/- 3 ° C tergantung di mana Anda meletakkan probe dan bagaimana Anda memanaskan air (inmersion v / s hot plate), atau jika airnya bersirkulasi atau tidak.