Incubadora amb Arduino amb control automàtic de temperatura i humitat

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest post anem a construir una incubadora amb Arduino que pugui autoregular la seva temperatura i humitat. Aquest projecte va ser suggerit pel Sr. Imran yousaf, que és un àvid lector d'aquest lloc web.



Introducció

Aquest projecte es va dissenyar segons els suggeriments del Sr. Imran, però es fan algunes modificacions addicionals per fer aquest projecte universalment adequat per a tothom.

Podeu fer servir la vostra creativitat i imaginació per fer aquest projecte.



Doncs, entenem què és una incubadora? (Per a noobs)

La incubadora és un aparell tancat el medi ambient intern del qual està aïllat del medi ambient.

Es tracta de crear un entorn favorable per a l’espècimen sota cura. Per exemple, les incubadores s’utilitzen per fer créixer organismes microbians als laboratoris, les incubadores s’utilitzen als hospitals per tenir cura dels nadons prematurs.

El tipus d’incubadora que construirem en aquest projecte és per a ous de pollastre o altres ous d’ocell.

Totes les incubadores tenen una cosa en comú: regula la temperatura, la humitat i proporciona un subministrament adequat d’oxigen.

Podeu configurar la temperatura i la humitat prement els botons proporcionats i també mostra la temperatura i la humitat internes en temps real. Un cop establerts els dos paràmetres, controla automàticament l'element calefactor (bombeta) i el vaporitzador (humidificador) per complir el punt de consigna.

Ara entenem l’aparell i el disseny de la incubadora.

El xassís de la incubadora pot ser de poliestireno / caixa termocol o vidre acrílic que pot proporcionar un bon aïllament tèrmic. Recomanaria caixa de poliestireno / termocol, que serà més fàcil de treballar.

Disseny d'aparells:

disseny de material de la incubadora

Una bombeta de 25 watts actua com a font de calor amb una potència més elevada que pot fer mal als ous d’un recipient petit. El vaporitzador proporciona la humitat; podeu utilitzar el vaporitzador de manera similar a la que es mostra a continuació.

Produeix un corrent espès de vapor que serà d’entrada a la incubadora. El vapor es pot transportar a través de qualsevol tub flexible.

El tub flexible pot ser similar a la següent:

El vapor pot ser d’entrada des de la part superior de la caixa d’espuma de poliestir / termocol, tal com es mostra al disseny de l’aparell, de manera que l’excés de calor s’escaparà a través dels forats de control d’humitat i perjudicarà menys els ous.

Hi ha un cilindre que transporta ous amb diversos forats al seu voltant, connectat a un servomotor. El servomotor fa girar el cilindre 180 graus cada 8 hores i fa girar els ous.

La rotació dels ous impedeix que l’embrió s’enganxi a la membrana de la closca i també proporciona contacte amb el material alimentari de l’ou, especialment en la fase inicial d’incubació.

El cilindre giratori ha de tenir diversos forats perquè hi hagi una correcta circulació d’aire i el cilindre ha de quedar buit per les dues cares.

El cilindre giratori pot ser de tub de PVC o cilindre de cartró.

Enganxeu un pal de gelat als dos extrems del cilindre buit de manera que el pal de gelat faci dos semicercles iguals. Enganxeu el braç del servomotor al centre del pal de gelat. A l’altre costat es fa un forat i s’enganxa fermament un picador de dents.

Introduïu el dentador dins de la caixa i enganxeu el servo a la paret oposada dins de la caixa. El cilindre ha de romandre horitzontal com sigui possible, ara el cilindre pot girar a mesura que gira el servomotor.

I sí, utilitzeu la vostra creativitat per millorar les coses.

Si voleu allotjar més ous, feu més cilindres d’aquest tipus i es pot connectar un servomotor múltiple al mateix pin de la línia de control.

Els forats de control de la humitat es poden fer ficant un llapis a través de la caixa de poliestireno / termocol a la part superior. Si heu fet molts forats innecessaris o si la humitat o la temperatura s’escapen massa ràpidament, podeu tapar alguns dels forats amb cinta elèctrica o adhesiva.

El sensor DHT11 és el centre del projecte que es pot col·locar al centre de qualsevol dels quatre costats de la incubadora (a l'interior), però allunyat de la bombeta o del tub d'entrada d'humitat.

Els ventiladors de la CPU es poden col·locar tal com es mostra al disseny de l’aparell per a la circulació d’aire. Per a una correcta circulació de l’aire, utilitzeu almenys dos ventiladors que empenyen l'aire en direcció oposada , per exemple: un dels ventiladors de la CPU que empeny cap avall i un altre ventilador de la CPU que empeny cap amunt.

La majoria dels ventiladors de CPU funcionen a 12V, però a 9V funcionen bé.

Això és tot sobre l’aparell. Ara anem a discutir al circuit.

Diagarm esquemàtic:

humitat de la incubadora control digital del monitor LCD

El circuit anterior és per a la connexió Arduino a LCD. Ajusteu el potenciòmetre de 10K per ajustar el contrast de la pantalla LCD.

Climatització automàtica de la incubadora Arduino

L'Arduino és el cervell del projecte. Hi ha 3 botons per ajustar la temperatura i la humitat. El passador A5 controla el relé del vaporitzador i el A4 de la bombeta. El sensor DHT11 està connectat al pin A0. Els passadors A1, A2 i A3 que s’utilitzen per als botons.

El pin # 7 (pin no PWM) està connectat al cable de control del servomotor. Es poden connectar diversos servomotors al pin # 7. Hi ha una idea errònia que els servomotors només funcionen amb pins PWM d'Arduino, cosa que no és cert. Funciona alegrement en pins no PWM.

Connecteu un díode 1N4007 a través de la bobina del relé en polarització inversa per eliminar els pics d'alta tensió mentre s'encén i s'apaga.

Font d'alimentació:

Circuit d

La font d’alimentació anterior pot proporcionar un subministrament de 9 V i 5 V per a relés, Arduino, Servo motor (SG90) i ventiladors de CPU. La presa de corrent continu es proporciona per alimentar l’Arduino.

Utilitzeu dissipadors de calor per als reguladors de tensió.

Això conclou la font d'alimentació.

Descarregueu el sensor DHT de la biblioteca:

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

Codi del programa:

//------------------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-------------------//

Com funcionar el circuit:

· Amb la configuració completa de maquinari i aparells, enceneu el circuit.

· A la pantalla es mostra “temperatura ajustada”, premeu el botó amunt o avall per obtenir la temperatura desitjada i premeu el botó “ajustar”.

· Ara, a la pantalla es mostra 'establir humitat', premeu els botons amunt o avall per obtenir la humitat desitjada i premeu el 'botó de configuració'.

· Comença el funcionament de la incubadora.

Consulteu Internet o consulteu un professional per conèixer el nivell de temperatura i humitat dels ous.

Si teniu alguna pregunta específica sobre aquest circuit de control de temperatura i humitat de la incubadora automàtica Arduino, no dubteu a expressar-ho a la secció de comentaris. És possible que rebeu una resposta ràpida.




Anterior: Controlador de bomba basat en SMS amb tancament automàtic de funcionament en sec Següent: Sistema d'alerta de subministrament d'aigua basat en SMS