Crea il tuo controller di temperatura con un Arduino
Alza il pane perfetto, prepara una bella birra e alleva i pulcini felici con un termoregolatore Arduino. Se vivi in un clima meno affidabile come l'Inghilterra, le indicazioni che ti dicono di mantenere qualcosa ad una temperatura impostata non sono particolarmente utili - non abbiamo condizionatori d'aria, e alzare il termostato per tutta la casa non è pratico per Sto solo facendo una pagnotta di pane. Anche se tenuti all'interno, i pulcini possono morire se la temperatura scende di notte; e farli schiudere in primo luogo ha un intervallo di temperatura ancora più severo. Ma ho bisogno del mio pane, e i pulcini hanno bisogno di schiusa - quindi, invece di acquistare costosi macchinari, possiamo accoppiare un regolatore di temperatura competente con un Arduino e componenti domestici.
Lo stesso vale anche per mantenere gli oggetti freschi - può essere uno spreco gestire un intero frigorifero solo per fare yogurt - ma con un regolatore di temperatura, il principio è lo stesso. Invece di attivare un elemento riscaldante, attiverai la spina su un mini-frigo o altro elemento di raffreddamento, come un Peltier (refrigeratore termoelettrico) e, naturalmente, la logica verrà invertita.
Di cosa avrai bisogno
Questo è un progetto Arduino - se non hai mai lavorato con Arduino in precedenza, la nostra guida per principianti è un fantastico punto di partenza.
- Arduino
- Sensore di temperatura - Sto usando un TMP36, un economico dispositivo a pacchetto singolo fornito con il kit per principianti Oomlout (UK) / Sparkfun (US).
- Interruttori per relè o interruttori RC
- Terminali a vite
- Box per intrappolare il calore
- Elemento riscaldante o lampadina a incandescenza e apparecchio (o entrambi)
L'ultimo oggetto è stato lasciato deliberatamente generico. Se si dispone di una lampadina a incandescenza (il tipo che si surriscalda, non di una lampadina a risparmio energetico) o di una lampada calda per lesioni sportive e simili, è probabilmente la più facile da configurare. Sto usando una fascia di riscaldamento - fondamentalmente una striscia di gomma che si riscalda quando viene attraversata l'elettricità, usata su damigiane e barili per i primi stadi di fermentazione nel vino o nella produzione della birra - tecnicamente, questo può essere un rischio di incendio quando non si avvolge attorno a qualcosa , così per favore non farlo, lo sto solo usando per testare. È inoltre possibile acquistare termofori per lo stesso scopo.
Per ragioni di sicurezza, sto usando queste spine RC per cambiare i dispositivi CA, con un controller suddiviso in dettaglio in questo articolo di automazione domestica Control Appliances From An Arduino: L'inizio delle apparecchiature di controllo domotico da un Arduino: l'inizio dell'automazione domestica Ultimo tempo, vi ho mostrato alcuni modi per rendere i vostri progetti Arduino controllati tramite voce tramite SiriProxy, gli elementi compatibili con OS X e alcuni script di Automator, o persino un chip hardware di riconoscimento vocale dedicato. Io ... Per saperne di più. È wireless, quindi in nessun momento ho bisogno di toccare i cavi live.
Rilevamento della temperatura
Iniziamo collegando e testando il sensore. [Schema di Adafruit]
Con il lato piatto rivolto verso di te e le gambe rivolte verso il basso, il sensore di temperatura TMP36 è cablato +, segnale, GND in questo ordine. Il + va all'uscita 3.3 V da Arduino; è inoltre necessaria un'altra linea che passi dal +3,3 V al pin AREF - questo indica all'Arduino di utilizzare 3,3 V per il riferimento dell'ingresso analogico invece di 5 V. Collegare il pin del segnale del sensore a A1. Nei precedenti tentativi, avevo usato il TMP36 direttamente sulla linea a 5 V; funziona, un po 'sfortunatamente quando accoppiato con un relè, c'era una caduta di potenza ogni volta che il relè veniva attivato, risultando in letture altamente fluttuanti.
Ho usato un vecchio cavo di rete come cavo di segnale - molto utile da avere in giro, dato che ci sono 8 fili all'interno. Il cavo è piuttosto sottile, quindi assicuratevi di rafforzare l'altra estremità con la saldatura dove verrà avvitato in una morsettiera.
La formula nel codice presuppone che tu stia utilizzando il sensore tMP36; dovresti riuscire a trovare un esempio di codice per altri sensori. Questo codice di esempio è di Adafruit - caricarlo e aprire la console seriale per esaminare l'output.
Confronta con un termometro se possibile. Letture non corrette?
- Controllare che la tensione fornita sia in realtà di 3,3 V
- Anche l'AREF è collegato a 3,3 V?
Aggiunta in Switch Logic
Per controllare l'elemento riscaldante, sto usando queste prese RC da Maplin e ho rimosso il controller. È necessario collegare solo il pin di terra e di controllo. Ho modificato il codice per includere le librerie rilevanti che puoi scaricare da qui.
A questo punto, rimuoverò anche tutti i riferimenti a Farenheit e continuerò a lavorare solo con Celsius. Ho quindi definito la temperatura desiderata da mantenere e aggiunta in una semplice struttura di controllo in questo modo:
if (temperatureC < desiredTempC) mySwitch.switchOn(1,1); Serial.println("Heater ON"); else Serial.println("Heater OFF"); mySwitch.switchOff(1,1);
Non c'è nulla di complesso qui che non capirai: basta confrontare la lettura della temperatura attuale con quella desiderata e accendere l'interruttore se è inferiore; altrimenti, spegnilo.
Il codice completo può essere trovato qui, anche se dovrai regolarlo se stai usando un relay (non è difficile). Ecco lo schema elettrico completo che ho usato:
Mettere tutto insieme
Fissare con nastro adesivo il sensore all'interno della scatola che si sta utilizzando e posizionare l'elemento riscaldante laddove appropriato. Imposta la temperatura desiderata e attiva tutto. Se si tiene il PC connesso per ora, è possibile utilizzare la console seriale per osservare i cambiamenti man mano che la scatola si riscalda.
Ulteriori lavori
- Per ridurre l'impatto di eventuali fluttuazioni di temperatura, puoi provare a livellare i risultati. Creare una matrice per memorizzare 10 letture e calcolare una media su ciascun ciclo.
- Per evitare la rapida attivazione e disattivazione dell'elemento riscaldante, creare una variabile per memorizzare un conto alla rovescia. Ogni volta che si attiva o si disattiva, registrare l'ora corrente nel conto alla rovescia, quindi prima di commutare nuovamente lo stato controllare se X è trascorso del tempo dall'ultima modifica dello stato.
- Per un progetto senza computer, agganciare un piccolo schermo LCD per visualizzare la temperatura corrente e consentire di vedere la temperatura corrente e desiderata.
Mettendolo alla prova
Infine, quale sarebbe questo progetto senza un piccolo test? Ho preparato un lotto di impasto pronto nella macchina del pane e l'ho diviso in due pani. Quello che faceva lievitare all'interno della scatola era più mite, ma poi la temperatura dell'aria ambiente oggi è di circa 26 gradi Celsius - questo sarebbe molto più utile in inverno. Indipendentemente da ciò, farò meglio a preparare un po 'di zuppa per accompagnare questo delizioso pane.
Quindi, cosa faresti che richiede una temperatura costante?
Scopri di più su: Arduino.