Fabriquez votre propre régulateur de température avec un Arduino
Élevez le pain parfait, préparez une belle bière et éloignez les poussins joyeux avec un contrôleur de température Arduino. Si vous vivez dans un climat peu fiable, comme en Angleterre, les instructions vous invitant à conserver quelque chose à une température définie ne sont pas particulièrement utiles - nous ne disposons pas de climatiseurs, et il n'est pas pratique de monter le thermostat pour toute la maison. je fais juste une miche de pain. Même gardés à l'intérieur, les poussins peuvent mourir si la température baisse la nuit. et les faire éclore en premier lieu a une plage de température encore plus stricte. Mais j'ai besoin de mon pain et les poussins ont besoin d'éclosion - au lieu d'acheter du matériel coûteux, nous pouvons concocter un contrôleur de température compétent avec un Arduino et des éléments ménagers.
Il en va de même pour garder les articles au frais - cela peut être une perte de temps de faire fonctionner un réfrigérateur pour faire du yaourt - mais avec un régulateur de température, le principe est le même. Au lieu d'activer un élément chauffant, vous activerez la prise sur un mini-réfrigérateur ou un autre élément de refroidissement, comme un Peltier (refroidisseur thermoélectrique) - et bien sûr, la logique sera inversée.
Ce dont vous aurez besoin
Ceci est un projet Arduino - si vous n'avez jamais travaillé avec Arduino auparavant, notre guide du débutant gratuit est un endroit fantastique pour commencer.
- Arduino
- Capteur de température - J'utilise un TMP36, un appareil monobloc bon marché fourni avec le kit de débutant Oomlout (UK) / Sparkfun (US).
- Relais ou interrupteurs RC
- Bornes à vis
- Box pour piéger la chaleur
- Élément chauffant ou ampoule à incandescence et luminaire (ou les deux)
Le dernier article a été laissé délibérément vague. Si vous avez une ampoule à incandescence (du genre qui chauffe, pas une ampoule à économie d'énergie), ou une lampe chaude pour les blessures sportives, c'est probablement la plus facile à installer. J'utilise une bande chauffante, c'est-à-dire une bande de caoutchouc qui se réchauffe lors du passage de l'électricité, utilisée sur les bonbonnes et les fûts pour les premières étapes de fermentation du vin ou de la fabrication de la bière. Techniquement, cela peut présenter un risque d'incendie s'il n'est pas enroulé autour de quelque chose. , alors s'il vous plaît ne faites pas cela, je ne l'utilise que pour tester. Vous pouvez également acheter des coussins chauffants dans le même but.
Pour des raisons de sécurité, j'utilise ces prises RC pour commuter les appareils de courant alternatif, avec un contrôleur séparé en détail dans cet article sur la domotique. Appareils de commande depuis un Arduino: le début de la domotique Appareils de commande depuis un Arduino: le début de la domotique Au fil du temps, je vous ai montré quelques façons de rendre la parole de vos projets Arduino contrôlée via SiriProxy, les éléments parlables intégrés à OS X et certains scripts Automator, ou même une puce matérielle de reconnaissance vocale dédiée. Je… Lire la suite. Il est sans fil, alors je n'ai à aucun moment besoin de toucher des fils sous tension.
Détection de la température
Commençons par câbler et tester le capteur. [Schéma d'Adafruit]
Avec le côté plat vers vous et les jambes vers le bas, le capteur de température TMP36 est câblé +, signal, GND dans cet ordre. Le + va à la sortie 3.3 V de Arduino; vous avez également besoin d'une autre ligne allant du +3,3 V à la broche AREF - ceci indique à l'Arduino d'utiliser 3,3 V pour la référence d'entrée analogique au lieu de 5 V. Reliez la broche de signal du capteur à A1. Lors de tentatives précédentes, j'avais utilisé le TMP36 directement sur la ligne 5 V; cela fonctionne, mais malheureusement avec le relais, il y avait une chute de puissance chaque fois que le relais était activé, entraînant des lectures très fluctuantes.
J'ai utilisé un ancien câble réseau comme câble de signal, ce qui est très utile car il contient 8 fils. Le câble est assez fin, alors assurez-vous de renforcer l'autre extrémité avec de la soudure où elle sera vissée dans un bornier.
La formule dans le code suppose que vous utilisez le capteur tMP36; vous devriez pouvoir trouver un exemple de code pour d'autres capteurs. Cet exemple de code provient d'Adafruit - chargez-le et ouvrez la console série pour examiner le résultat.
Comparez avec un thermomètre si possible. Lectures pas juste?
- Vérifiez que la tension fournie est bien 3,3 V
- Est-ce que l'AREF est connecté à 3,3 V aussi?
Ajout dans Switch Logic
Pour contrôler l'élément chauffant, j'utilise ces prises RC de Maplin et ai démonté le contrôleur. Seules la terre et la broche de contrôle doivent être connectées. J'ai modifié le code pour inclure les bibliothèques pertinentes que vous pouvez télécharger ici..
À ce stade, je vais également supprimer toutes les références à Farenheit et continuer à travailler avec Celsius uniquement. J'ai ensuite défini la température à maintenir et ajouté une structure de contrôle simple comme ceci:
si (températureC < desiredTempC) mySwitch.switchOn(1,1); Serial.println("Heater ON"); else Serial.println("Heater OFF"); mySwitch.switchOff(1,1);
Il n’ya rien de complexe ici que vous ne compreniez pas - comparez simplement la lecture de la température actuelle à celle désirée et allumez l’interrupteur s’il est plus bas; sinon, éteignez.
Le code complet peut être trouvé ici, bien que vous ayez besoin de l'ajuster si vous utilisez un relais (ce n'est pas difficile). Voici le schéma de câblage complet que j'ai utilisé:
Mettre tous ensemble
Collez le capteur à l'intérieur du boîtier que vous utilisez et placez l'élément chauffant à l'endroit approprié. Réglez la température souhaitée et allumez le tout. Si vous maintenez votre ordinateur connecté pour le moment, vous pouvez utiliser la console série pour observer les modifications au fur et à mesure que votre ordinateur se réchauffe..
La poursuite des travaux
- Pour atténuer l'impact des fluctuations de température, vous pouvez essayer de lisser les résultats. Créez un tableau pour stocker 10 lectures et calculez une moyenne sur chaque boucle.
- Pour éviter l'activation et la désactivation rapides de l'élément chauffant, créez une variable pour enregistrer un compte à rebours. Chaque fois que vous activez ou désactivez, enregistrez l'heure actuelle dans le compte à rebours, puis avant de changer d'état, vérifiez si X fois s'est écoulé depuis le dernier changement d'état..
- Pour un projet sans ordinateur, connectez un petit écran LCD pour afficher la température actuelle et vous permettre de voir la température actuelle et souhaitée.
Le mettre à l'épreuve
Enfin, que serait ce projet sans un petit test? J'ai fouetté un lot de pâte prête à l'emploi dans la machine à pain et je l'ai séparé en deux pains. Celui qui était au levain à l'intérieur de la boîte était légèrement plus gros, mais la température de l'air ambiant est aujourd'hui d'environ 26 degrés Celsius de toute façon - cela serait beaucoup plus utile en hiver. Peu importe, je ferais mieux de faire de la soupe pour accompagner ce joli pain.
Alors, que feriez-vous qui nécessite une température constante?
En savoir plus sur: Arduino.