Incubatore che utilizza Arduino con controllo automatico della temperatura e dell'umidità

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo post costruiremo un incubatore utilizzando Arduino in grado di autoregolare la sua temperatura e umidità. Questo progetto è stato suggerito dal Sig. Imran yousaf che è un avido lettore di questo sito.



introduzione

Questo progetto è stato progettato secondo i suggerimenti del Sig. Imran, ma vengono apportate alcune modifiche aggiuntive per rendere questo progetto universalmente adatto a tutti.

Puoi usare la tua creatività e immaginazione per portare a termine questo progetto.



Quindi capiamo cos'è un incubatore? (Per niubbi)

L'incubatore è un apparecchio chiuso il cui ambiente interno è isolato dall'ambiente circostante.

Questo per creare un ambiente favorevole per il campione sotto cura. Ad esempio, gli incubatori vengono utilizzati per coltivare organismi microbici nei laboratori, gli incubatori vengono utilizzati negli ospedali per prendersi cura dei neonati prematuri.

Il tipo di incubatrice che costruiremo in questo progetto è per la schiusa delle uova di gallina o di qualsiasi altra uova di uccello.

Tutti gli incubatori hanno una cosa in comune: regola la temperatura, l'umidità e fornisce un adeguato apporto di ossigeno.

È possibile impostare la temperatura e l'umidità premendo i pulsanti forniti e mostra anche la temperatura e l'umidità interne in tempo reale. Una volta impostati entrambi i parametri, controlla automaticamente l'elemento riscaldante (bulbo) e il vaporizzatore (umidificatore) per soddisfare il set point.

Ora capiamo l'apparato e il design dell'incubatore.

Il telaio dell'incubatrice può essere di polistirolo / thermocol box o vetro acrilico che può fornire un buon isolamento termico. Consiglierei una scatola di polistirolo / thermocol che sarà più facile da lavorare.

Design dell'apparato:

disposizione del materiale dell

Una lampadina da 25 watt funge da fonte di calore un wattaggio più elevato può danneggiare le uova in un piccolo contenitore. L'umidità è fornita dal vaporizzatore, puoi usare il vaporizzatore qualcosa di simile come mostrato di seguito.

Produce un flusso denso di vapore che verrà immesso nell'incubatrice. Il vapore può essere trasportato tramite qualsiasi tubo flessibile.

Il tubo flessibile può essere qualcosa di simile come mostrato di seguito:

Il vapore può essere immesso dalla parte superiore della scatola di polistirolo / thermocol come mostrato nel design dell'apparato, in modo che il calore in eccesso fuoriesca dai fori di controllo dell'umidità e ferisca meno le uova.

C'è un cilindro che trasporta uova con diversi fori intorno, collegato a un servomotore. Il servomotore ruota il cilindro di 180 gradi ogni 8 ore, quindi ruota le uova.

La rotazione delle uova impedisce che l'embrione si attacchi alla membrana del guscio e fornisce anche il contatto con il materiale alimentare nell'uovo, soprattutto nella fase iniziale dell'incubazione.

Il cilindro rotante deve avere diversi numeri di fori in modo che sia presente una corretta circolazione dell'aria e anche il cilindro deve essere cavo su entrambi i lati.

Il cilindro rotante può essere tubo in PVC o cilindro in cartone.

Incolla un bastoncino di gelato su entrambe le estremità del cilindro cavo in modo che il bastoncino di gelato formi due semicerchi uguali. Incolla il braccio del servomotore al centro del bastoncino di gelato. Dall'altro lato fai un buco e incolla saldamente uno stuzzicadenti.

Inserire lo stuzzicadenti all'interno della scatola e incollare il servo sulla parete opposta all'interno della scatola. Il cilindro deve rimanere orizzontale il più possibile, ora il cilindro può ruotare mentre il servomotore ruota.

E sì, usa la tua creatività per migliorare le cose.

Se si desidera ospitare più uova, creare più cilindri di questo tipo e più servomotori possono essere collegati sullo stesso pin della linea di controllo.

I fori di controllo dell'umidità possono essere realizzati infilando una matita attraverso la scatola di polistirolo / thermocol in alto. Se hai praticato molti fori non necessari o se l'umidità o la temperatura sfuggono troppo velocemente, potresti coprire alcuni dei fori con nastro isolante o nastro adesivo.

Il sensore DHT11 è il cuore del progetto che può essere posizionato al centro di qualsiasi quattro lati dell'incubatore (all'interno) ma lontano dal bulbo o dal tubo di ingresso dell'umidità.

Le ventole della CPU possono essere posizionate come mostrato nella progettazione dell'apparato per la circolazione dell'aria. Per una corretta circolazione dell'aria, usarne almeno due ventilatori che spingono l'aria in direzione opposta , ad esempio: una delle ventole della CPU spinge verso il basso e un'altra ventola della CPU spinge verso l'alto.

La maggior parte delle ventole della CPU funziona a 12V, ma a 9V funziona perfettamente.

Questo è tutto sull'apparato. Ora parliamo del circuito.

Diagarm schematico:

controllo digitale del monitor LCD dell

Il circuito sopra è per la connessione da Arduino a LCD. Regola il potenziometro 10K per regolare il contrasto LCD.

Incubatore Arduino climatizzatore automatico

Arduino è il cervello del progetto. Sono presenti 3 pulsanti per l'impostazione della temperatura e dell'umidità. Il pin A5 controlla il relè per il vaporizzatore e A4 per la lampadina. Il sensore DHT11 è collegato al pin A0. I pin A1, A2 e A3 utilizzati per i pulsanti.

Il pin # 7 (pin non PWM) è collegato al cavo di controllo del servomotore, più servomotori possono essere collegati al pin # 7. C'è un'idea sbagliata che i servomotori funzionino solo con i pin PWM di Arduino, il che non è vero. Funziona felicemente anche su pin non PWM.

Collegare un diodo 1N4007 attraverso la bobina del relè con polarizzazione inversa per eliminare picchi di alta tensione durante l'accensione e lo spegnimento.

Alimentazione elettrica:

Circuito di alimentazione dell

L'alimentatore sopra può fornire un'alimentazione da 9 V e 5 V per relè, Arduino, servomotore (SG90) e ventole della CPU. Il jack DC è fornito per alimentare Arduino.

Utilizzare dissipatori di calore per i regolatori di tensione.

Questo conclude l'alimentazione.

Scarica la libreria DHT sensor:

https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

Codice del programma:

//------------------Program Developed by R.GIRISH-------------------//
#include
#include
#include
#define DHT11 A0
const int ok = A1
const int UP = A2
const int DOWN = A3
const int bulb = A4
const int vap = A5
const int rs = 12
const int en = 11
const int d4 = 5
const int d5 = 4
const int d6 = 3
const int d7 = 2
int ack = 0
int pos = 0
int sec = 0
int Min = 0
int hrs = 0
int T_threshold = 25
int H_threshold = 35
int SET = 0
int Direction = 0
boolean T_condition = true
boolean H_condition = true
LiquidCrystal lcd(rs, en, d4, d5, d6, d7)
Servo motor
dht DHT
void setup()
{
pinMode(ok, INPUT)
pinMode(UP, INPUT)
pinMode(DOWN, INPUT)
pinMode(bulb, OUTPUT)
pinMode(vap, OUTPUT)
digitalWrite(bulb, LOW)
digitalWrite(vap, LOW)
digitalWrite(ok, HIGH)
digitalWrite(UP, HIGH)
digitalWrite(DOWN, HIGH)
motor.attach(7)
motor.write(pos)
lcd.begin(16, 2)
Serial.begin(9600)
lcd.setCursor(5, 0)
lcd.print('Digital')
lcd.setCursor(4, 1)
lcd.print('Incubator')
delay(1500)
}
void loop()
{
if (SET == 0)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Set Temperature:')
lcd.setCursor(0, 1)
lcd.print(T_threshold)
lcd.print(' *C')
while (T_condition)
{
if (digitalRead(UP) == LOW)
{
T_threshold = T_threshold + 1
lcd.setCursor(0, 1)
lcd.print(T_threshold)
lcd.print(' *C')
delay(200)
}
if (digitalRead(DOWN) == LOW)
{
T_threshold = T_threshold - 1
lcd.setCursor(0, 1)
lcd.print(T_threshold)
lcd.print(' *C')
delay(200)
}
if (digitalRead(ok) == LOW)
{
delay(200)
T_condition = false
}
}
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Set Humidity:')
lcd.setCursor(0, 1)
lcd.print(H_threshold)
lcd.print('%')
delay(100)
while (H_condition)
{
if (digitalRead(UP) == LOW)
{
H_threshold = H_threshold + 1
lcd.setCursor(0, 1)
lcd.print(H_threshold)
lcd.print('%')
delay(100)
}
if (digitalRead(DOWN) == LOW)
{
H_threshold = H_threshold - 1
lcd.setCursor(0, 1)
lcd.print(H_threshold)
lcd.print('%')
delay(200)
}
if (digitalRead(ok) == LOW)
{
delay(100)
H_condition = false
}
}
SET = 1
}
ack = 0
int chk = DHT.read11(DHT11)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack = 1
break
}
if (ack == 0)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('Temp:')
lcd.print(DHT.temperature)
lcd.setCursor(0, 1)
lcd.print('Humidity:')
lcd.print(DHT.humidity)
if (DHT.temperature >= T_threshold)
{
delay(3000)
if (DHT.temperature >= T_threshold)
{
digitalWrite(bulb, LOW)
}
}
if (DHT.humidity >= H_threshold)
{
delay(3000)
if (DHT.humidity >= H_threshold)
{
digitalWrite(vap, LOW)
}
}
if (DHT.temperature {
delay(3000)
if (DHT.temperature {
digitalWrite(bulb, HIGH)
}
}
if (DHT.humidity {
delay(3000)
if (DHT.humidity {
digitalWrite(vap, HIGH)
}
}
sec = sec + 1
if (sec == 60)
{
sec = 0
Min = Min + 1
}
if (Min == 60)
{
Min = 0
hrs = hrs + 1
}
if (hrs == 8 && Min == 0 && sec == 0)
{
for (pos = 0 pos <= 180 pos += 1)
{
motor.write(pos)
delay(25)
}
}
if (hrs == 16 && Min == 0 && sec == 0)
{
hrs = 0
for (pos = 180 pos >= 0 pos -= 1)
{
motor.write(pos)
delay(25)
}
}
}
if (ack == 1)
{
lcd.clear()
lcd.setCursor(0, 0)
lcd.print('No Sensor data.')
lcd.setCursor(0, 1)
lcd.print('System Halted.')
digitalWrite(bulb, LOW)
digitalWrite(vap, LOW)
}
delay(1000)
}
//------------------Program Developed by R.GIRISH-------------------//

Come far funzionare il circuito:

· Dopo aver completato la configurazione dell'hardware e dell'apparato, accendere il circuito.

· Il display mostra 'temperatura impostata' premere il pulsante su o giù per ottenere la temperatura desiderata e premere il 'pulsante set'.

· Ora il display mostra 'set Humidity' premere i pulsanti su o giù per ottenere l'umidità desiderata e premere 'set button'.

· Inizia il funzionamento dell'incubatrice.

Fare riferimento a Internet o chiedere consiglio a un professionista per il livello di temperatura e umidità delle uova.

Se hai qualche domanda specifica riguardo a questo circuito di controllo della temperatura e dell'umidità dell'incubatore automatico Arduino, sentiti libero di esprimere nella sezione commenti. Potresti ricevere una rapida risposta.




Precedente: Controller pompa basato su SMS con spegnimento automatico del funzionamento a secco Avanti: Sistema di allarme per l'approvvigionamento idrico basato su SMS