Capteurs de température pour un projet sous vide Arduino


8

Je crée un contrôleur PID pour le sous-vide, comme celui-ci , et j'essaie de décider quel capteur de température obtenir.

Priorités:

  • Coût: <25 £ livré au Royaume-Uni
  • Précision: +/- 0,5 C
  • Plage: 0 - 100C
  • Sortie: quelque chose qui peut être lu par un Arduino avec un minimum de circuits supplémentaires (par exemple 0-5VDC, une résistance qui est facilement mesurable, ou une sortie numérique telle que OneWire, etc.)
  • Physique: imperméable, sans danger pour les aliments (idéalement) et avec un plomb d'au moins un mètre de long - idéalement pas trop de travail pour créer ce facteur de forme (je n'ai pas d'atelier)
  • Mode de défaillance: serait idéal si une défaillance provoquait une lecture de surchauffe plutôt qu'une sous-température

Heureux de faire des compromis sur l'un des points ci-dessus si nécessaire, mais c'est mon idéal. Également ouvert aux suggestions sur quoi d'autre je devrais faire des compromis. Je serais particulièrement intéressé par des réflexions concernant des capteurs tels qu'un type k, un pt100, une puce TMP36 et une thermistance 10K "standard" (bien que si ces noms ne sont pas assez précis, faites-moi savoir ce que je devrais être chercher à la place).


1
La précision de 0,5 ° C est insensée et ne fera que rendre votre vie plus difficile. 1 ° C est plus que suffisant. Et même que vous ne pouvez pas obtenir avec une thermistance NTC sans passer une journée douloureuse à l'étalonner.
stevenvh

1
Il semble que l'application nécessite en fait la plus grande précision absolue possible. Il semble que le point de cuisson contrôlé fonctionne précisément dans une plage très étroite de températures proches de l'ébullition.

5
Rocketmagnet et rocketsurgeon ayant une conversation, ce n'était pas du tout déroutant pour les yeux.
Kortuk

1
@RichardRussell Cet article de Gizmag est susceptible d'être intéressant - juillet 2012.
Russell McMahon

1
Voici une belle mise en œuvre sous vide qui peut vous donner quelques idées. flashingleds.net/sousvader/sousvader.html
Russell McMahon

Réponses:


5

Tout d'abord, être d'accord avec les autres: opter pour la précision 1.0C vous facilitera la vie.

Vous semblez être réglé sur des capteurs analogiques, mais je suggère un avec une interface numérique. Les capteurs analogiques sont soit (utilisés) radiométriques (fournissent un pourcentage de Vcc dépendant de la température), ce qui donne une réponse non linéaire, que vous devrez convertir. L'autre type (LM35, etc.) est absolu, ce qui vous oblige à A / N contre une tension de référence qui doit être (beaucoup) plus précise que votre précision souhaitée. À moins que vous ne vouliez mesurer quelque chose qu'un capteur d'interface numérique ne peut pas (comme >> 100C), cela semble beaucoup de tracas inutiles.

Edit: essayons un LM35. 10mV / C, même en supposant que le LM35 lui-même n'introduise aucune erreur , une référence typique (LM431, etc.) est précise à 1%, ce qui introduit une erreur de 1% dans la lecture de la température! Un microcontrôleur A / D typique est de 10 bits, supposons que la pleine échelle soit une référence de 2,5 V (vérifiez si votre uC le permet!). Une erreur A / D de 1 bit (soyons optimistes !, mieux vérifier votre fiche technique uC) est de 2,5 mV = erreur 1 / 4C. Donc, même sans le capteur lui-même, nous avons une erreur de + / 1,25 C (au mieux ..).

Obtenez un capteur d'interface numérique, par exemple le bon vieux DS1820 / 18S20 / 18B20, tous TO92. Ou l'un des capteurs I2C ou SPI que Microchip fabrique dans TO220. Si vous chauffez dans un plateau ou quelque chose, vous pouvez connecter la languette au plateau.


Cela ne me dérange pas trop si c'est analogique ou numérique - je ne savais pas que les appareils numériques existaient. Je vais modifier la question pour clarifier. Après avoir examiné les spécifications du DS18S20, cela semble approprié, il me suffirait de l'intégrer dans une sorte de sonde pour plonger dans l'eau - un défi non trivial pour quelqu'un qui n'a jamais fait ça :-)
Richard Russell

Sur la base des informations fournies dans cette réponse et de nombreuses autres, et en poursuivant mes recherches, j'ai trouvé une sonde étanche DS18B20 chez Alpha-Crucis (EU). Il est également disponible chez Adafruit aux États-Unis. Il répond à toutes mes exigences et a un facteur de forme idéal.
Richard Russell

7

Obtenez un CI de capteur de température de précision, comme le LM35CAZ .

LM35CAZ

Vous l'alimentez avec un bon 5v, et la sortie est une simple tension qui est une fonction linéaire de la température. Ils ont une assez bonne précision de ± 1⁄4˚C à température ambiante.

Ajoutée:

Plusieurs personnes ont parlé de «précision sur la plage de température» pour ce capteur étant de ± 1ºC. Ce n'est pas la bonne gamme dont parler. «Précision à la température de cuisson» est la bonne gamme dont il faut parler. À environ 60 ° C, la précision est de ± 0,7, et probablement mieux que cela. La ligne «typique» varie d'environ 0,1 ° C sur votre cuisinière.

Précision du LM35CAZ

Vous n'avez probablement besoin que d'un ou deux points d'étalonnage pour que ce capteur soit suffisamment précis pour vos besoins. Mais, bien sûr, cela nécessite un thermomètre précis pour l'étalonner. Pour cela, vous avez deux options:

Option 1: vous pouvez utiliser de l'eau. La température de l'eau en cours de congélation est de 0 ° C. Alors, collez-le dans une petite tasse d'eau dans le congélateur et surveillez attentivement la tension de sortie. Il tombera et tombera jusqu'à ce que l'eau commence à geler. À ce stade, la température cessera de chuter et restera plate pendant un petit moment. Une fois la congélation terminée, la température recommencera à baisser. Prenez note de la tension dans la zone plate à utiliser comme point d'étalonnage à 0 ° C.

Graphique de température de l'eau de congélation

Faites de même pour l'eau bouillante. Il vaut mieux le faire au niveau de la mer. Si vous n'êtes pas au niveau de la mer, vérifiez quelle est la température d'ébullition de l'eau à votre altitude.

Calibrer un thermomètre.

Utiliser 0ºC et 100ºC n'est pas aussi bon que d'utiliser, disons 50ºC et 80ºC, mais c'est beaucoup plus facile. Si vous disposez d'un thermomètre très précis, vous devez utiliser des points d'étalonnage plus proches de votre température de cuisson.

Option 2: utilisez de l'alcool méthylique. (Merci stevenvh) Cela bout à 64,7ºC. Elle est si proche de votre température de cuisson que vous ne devriez avoir besoin que d'un seul point d'étalonnage pour obtenir une température de cuisson très précise. Évitez bien sûr de vous enivrer ou de vous faire exploser avec les fumées. Ne chauffez pas l'alcool sur une flamme nue!

Ajouté - Amplification

Puisque vous travaillez dans une plage de température étroite et que vous avez besoin d'une bonne précision de contrôle, cela vaut probablement aussi la peine d'amplifier la sortie du capteur. Cela donnera une plus grande résolution ADC à l'Arduino, ce qui se traduira par une meilleure stabilité de l'algorithme de contrôle PID. Voir la question Conversion de niveau de tension analogique (décalage de niveau) qui traite de l'amplification et du décalage de niveau d'une tension analogique.

En supposant que vous travaillez dans la plage 40ºC - 100ºC (0.4v - 1.0v). Vous voudrez soustraire 0,4v du signal, donnant 0,0v - 0,6v, et amplifier le résultat avec un gain de 8, donnant 0,0v - 4,8v. Cela donnera une excellente résolution.


La précision sur la plage de température est de 1 ° C. 0,25 ° C est un discours de vente.
stevenvh

1
@stevenvh - "Précision par rapport à la température" n'est pas la bonne plage dont parler. «Précision à la température de cuisson» est la bonne gamme dont il faut parler.
Rocketmagnet

0,5 ° C est spécifié à 25 ° C. La température de cuisson sera-t-elle plus proche de celle-ci ou plus proche de la plage de température? Je pense, ce dernier.
stevenvh

4
Vous pouvez calibrer au point d'ébullition de l'alcool méthylique au lieu de l'eau: 64,7 ° C.
stevenvh

2
L'amplification de la plage utile pour couvrir la plage du capteur réduira le bruit de quantification, mais vous devez également noter qu'il ajoute maintenant son propre ensemble d'erreur. Même si vous étalonnez en un seul point, vous devez maintenant tenir compte de la dérive de la tension de décalage d'entrée de l'amplificateur sur la température de l'appareil, et non des éléments en cours de cuisson. Je ne dis pas que l'amplification est mauvaise, mais que si vous la recommandez, vous devez également indiquer les problèmes qui l'accompagnent.
Olin Lathrop

3

Il semble que vous posiez des questions sur la sonde uniquement. Apparemment, vous voulez quelque chose que vous pouvez mettre en contact direct avec la nourriture. Un contrôleur PID comprend beaucoup plus que le capteur de rétroaction, mais il semble que vous ne posiez pas de question à ce sujet. Si tout cela est incorrect, vous devez mettre à jour votre question. Je ne sais pas non plus ce qu'est un truc "Sous Vide". Toute information pertinente devrait être dans votre question. Les liens sont uniquement pour le matériel de fond.

Comme Steven l'a mentionné, 1/2 degC est très ambitieux et inutile lorsque vous parlez de nourriture.

Le capteur de température le plus simple sera une thermistance. Ils peuvent gérer la plage et n'ont autrement besoin que d'une résistance de charge. Le résultat sera également ratiométrique à votre approvisionnement, de sorte que toutes les variations d'approvisionnement s'annulent. La détection des pannes est facile dans le micrologiciel, car les lectures très proches du haut ou du bas de la plage indiquent des températures irréalistes. Si vous obtenez quelque chose en dehors d'une plage de températures valide, vous supposez une défaillance matérielle et entrez ce que vous pensez être votre mode sans échec. C'est vraiment un problème de firmware, pas un problème matériel avec une thermistance et la bonne résistance de charge.

Quant à la rendre sûre pour les aliments, enfermer la sonde dans du verre devrait être bon. Que diriez-vous d'époxy la thermistance au fond d'un petit tube à essai, qui devient alors la sonde? Le dessus peut être scellé avec de la colle chaude ou quelque chose. Il doit être étanche à l'eau mais la nourriture ne devrait pas être là. Seuls deux fils isolés devraient sortir du haut du tube. Le verre transmet assez bien la chaleur. La constante de temps de la sonde doit toujours être bien inférieure à la constante de temps entre la puissance du réchauffeur et la température de changement des aliments.

Les thermistances ne sont pas très précises, sauf si vous payez beaucoup d'argent. Pour un projet de loisir unique, j'obtiendrais n'importe quelle thermistance qui peut être eu dans la bonne gamme et étalonner manuellement. Étalonnez à quelques températures connues déterminées à partir d'un thermomètre connu fiable, puis faites interpoler le micrologiciel entre les deux. Pour un crédit supplémentaire, vous pouvez même rechercher l'équation nominale de la thermistance, y ajuster le mieux possible vos points mesurés, puis en dériver la fonction continue. Vous pouvez remplir une table fixe dans le firmware avec de nombreux segments de la fonction calibrée afin que l'interpolation linéaire entre les segments soit assez bonne.

Encore une fois, 1/2 degC en demande trop, mais vous n'en avez pas vraiment besoin de toute façon. Une thermistance avec peut-être 4 points d'étalonnage, un ajustement d'équation, puis une interpolation devrait suffire pour résoudre le problème réel.


Calibrer à 1/2 degré à l'aide d'un thermomètre fiable et connu, cela ne déplace-t-il pas le problème? Le thermomètre de référence doit être au moins aussi précis, de préférence plus précis, que ce 1/2 degré.
Federico Russo,

1
@Federico: Il déplace le problème de la précision, mais le thermomètre de référence peut être n'importe quelle technologie, n'a pas besoin d'être sûr pour les aliments et n'a pas besoin d'être lisible par machine. Un thermomètre à mercure (ou autre liquide) convenable destiné à cette gamme devrait être disponible sans trop de problèmes.
Olin Lathrop

J'ai un thermomètre à sonde décent qui est calibré que je peux utiliser pour calibrer celui-ci. Je n'en ai pas besoin directement en contact avec la nourriture, mais comme il sera immergé dans un liquide dans un cuiseur à riz que je pourrai aussi utiliser pour cuire du riz, je ne veux pas qu'il fuit quelque chose de toxique ... A "Sous Vide "chose est une méthode de cuisson avec des températures précises dans des sacs emballés sous vide dans un bain d'eau. Je construis un contrôleur PID à partir d'un Arduino, et dans ce cas, j'ai juste besoin de décider du capteur de température.
Richard Russell

1

En utilisant le LM335Z, vous pouvez calibrer le décalage et l'erreur de gain pour n'importe quel capteur donné avec 2 lectures de test à 0'C 100'C avec de la glace et de l'eau bouillante.

Obtenez ensuite une lecture de vérification à mi-portée, par exemple 50 ° C.

Vous pouvez faire un gabarit de test et étalonner un capteur comme votre étalon argent contre un autre le thermomètre étalon or. Vous enregistrez ensuite les erreurs attendues-réelles et calculez une progression linéaire ou un gain et un nombre de décalage à enregistrer dans l'EEPROM afin qu'ils deviennent un ensemble calibré. Si vous obtenez un lot, vous pouvez constater qu'ils ont tous le même décalage et une erreur de gain que vous pouvez corriger dans le logiciel pour afficher la lecture corrigée.

Avec des normes de 0,1 ° C, vous pouvez vous attendre à une erreur de 0,2 ° et utiliser n'importe quel écran de votre choix pour garantir cette erreur de 0,5 ° C pour vos points de consigne critiques.

Voir Fig 3

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000459.pdf

Je scellerais le capteur avec une fine couche d'époxy de qualité alimentaire pour protéger l'appareil contre les fuites d'humidité et utiliserais une paire torsadée ou deux fils flexibles à paire torsadée en utilisant 2 comme bouclier, puis utiliser des "selfs ferrite CM" pour absorber les interférences RF.

Vous avez ensuite besoin d'un ADC dont la précision est garantie à +/- 0,5 bit ou peut-être 1 sur 256 niveaux pour une précision de 0,5 / 100%. Ce n'est pas garanti dans la plupart des Arduino, vous devez donc utiliser un DAC matériel pour le tester dans la sortie moins l'entrée sur une portée à 2 canaux et sélectionner le couple AC pour CH1 et CH 2, puis afficher le mode XY CH1 vs Ch2 pour obtenir un point central qui traverse un maximum de +/- 1 bit. Tout bruit Vref dans votre ADC entraînera des niveaux de quantification ou une hystérésis ignorés lors de transitions telles que 01111 à 10000 et la diaphonie de la terre numérique vers l'entrée de terre analogique en entrée échouera en cas de monotonie.

Consultez le site TI pour la littérature sur les erreurs ADC.

@Richard Russell << J'apprécie la nécessité d'un contrôle de 0,5 ° C dans les styles de cuisson biologiques à basses températures où les organismes vivants commencent à mourir rapidement au-dessus de la température Pasteur lorsque les bactéries sont tuées.

Si c'était moi, j'étalonnerais pour une précision de 0,1 degré en utilisant mes températures d'étalonnage de gain de décalage entre 45 et 65 degrés C après qu'il soit fermement attaché au pot bien isolé. Ensuite, vous pouvez surpasser n'importe quelle autre cuisinière commerciale sur le marché ... en supposant qu'elle soit bien isolée en diélectrique à haute valeur R.

Ensuite, pour l'apparence, vous pouvez facturer 500 $, enveloppez-le dans un SS américain de précision qui, comme le "Spirit of St Louis", est profondément rayé et très poli. ;)

Personnellement, je ferais graver l'acide SS extérieur par des professionnels qui le font tous les jours avec une œuvre d'art d'une importance historique pour la cuisine pour 50 $, puis facturer un supplément pour une œuvre d'art personnalisée avec le logo personnel et le nom de l'entreprise. Demandez simplement si vous avez besoin d'une bonne référence.

Merci de m'avoir permis de vous aider avec votre objectif.


Vive - c'est vraiment utile. Faut dire que je n'ai aucune idée de ce qu'est "American SS", mais ça sonne bien :-)
Richard Russell

SS = Acier inoxydable
dext0rb

Certes, lorsque vous calibrez le capteur, vous le faites après l'ADC. Par conséquent, vous étalonnez également l'erreur ADC?
Rocketmagnet

0

Sur la base des informations fournies dans d'autres réponses et en poursuivant mes recherches, j'ai trouvé une sonde étanche DS18B20 chez Alpha-Crucis (EU). Il est également disponible chez Adafruit aux États-Unis.

Il répond à toutes mes exigences et a un facteur de forme idéal.


1
c'est juste un lien vers un produit et aucune information sur pourquoi. Il y a des utilisateurs qui mettent beaucoup de travail dans les réponses pour vous enseigner et l'acceptation est normalement une récompense pour une telle tâche, surtout s'ils ont fait le travail de vous guider ici.
Kortuk

OK, j'accepte une réponse différente. Où dois-je mettre ma propre conclusion?
Richard Russell

Je disais deux choses, 1) Si la réponse de quelqu'un est ce qui vous a amené ici, il devrait probablement être accepté. 2) Écrire des réponses est plus qu'acceptable, mais pouvez-vous nous donner plus d'informations, puis juste un lien. À l'heure actuelle, je ne sais plus que cet appareil est transporté à quelques endroits et est étanche.
Kortuk

J'ai fait un Sous Vide en utilisant un DS18B20, celui avec une pointe en plastique, mais le modèle avec une pointe métallique est meilleur. Car la cuisine est assez bonne (je l'utilise au quotidien) et +/- 1 ° C suffit. La température n'est pas uniforme dans votre poêle; elle peut être de +/- 3 ° C selon l'endroit où vous placez la sonde et comment chauffez-vous l'eau (plaque chauffante en immersion v / s), ou si l'eau circule ou non.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.