Incubator Paggamit ng Arduino na may awtomatikong Temperatura at kontrol sa Humidity

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Sa post na ito magtatayo kami ng isang incubator gamit ang Arduino na maaaring makontrol ang sarili ang temperatura at halumigmig nito. Ang proyektong ito ay iminungkahi ni G. Imran yousaf na isang masugid na mambabasa ng website na ito.



Panimula

Ang proyektong ito ay dinisenyo ayon sa mga mungkahi mula kay G. Imran, ngunit ang ilang karagdagang pagbabago ay ginagawa upang gawin ang proyektong ito sa unibersal na angkop para sa lahat.

Maaari mong gamitin ang iyong pagkamalikhain at imahinasyon upang matapos ang proyektong ito.



Kaya't maunawaan natin kung ano ang isang incubator? (Para sa mga noobs)

Ang Incubator ay isang nakapaloob na patakaran ng pamahalaan na ang panloob na kapaligiran ay ihiwalay mula sa nakapaligid na kapaligiran.

Ito ay upang lumikha ng kanais-nais na kapaligiran para sa ispesimen na nasa ilalim ng pangangalaga. Halimbawa ang mga incubator ay ginagamit upang mapalago ang microbial organism sa mga laboratoryo, ginagamit ang mga incubator sa mga ospital upang alagaan ang mga sanggol na hindi pa pinanganak ng maaga.

Ang uri ng incubator na itatayo namin sa proyektong ito ay para sa pagpisa ng mga itlog ng manok o anumang iba pang mga itlog ng ibon.

Ang lahat ng mga incubator ay may isang bagay na magkatulad kinokontrol nito ang temperatura, kahalumigmigan at nagbibigay ng sapat na suplay ng oxygen.

Maaari mong itakda ang temperatura at halumigmig sa pamamagitan ng pagpindot sa mga ibinigay na pindutan at ipinapakita rin nito ang panloob na temperatura at halumigmig sa real time. Sa sandaling itinakda ng parehong mga parameter awtomatikong kinokontrol nito ang elemento ng pag-init (bombilya) at vaporizer (humidifier) ​​upang matugunan ang itinakdang puntong.

Ngayon ay unawain natin ang patakaran ng pamahalaan at disenyo ng incubator.

Ang chassis ng incubator ay maaaring ng Styrofoam / thermocol box o acrylic glass na maaaring magbigay ng mahusay na pagkakabukod ng thermal. Inirerekumenda ko ang kahon ng Styrofoam / thermocol na mas madaling magtrabaho.

Disenyo ng aparador:

layout ng materyal na incubator

Ang isang 25 watt bombilya ay gumaganap bilang mapagkukunan ng init na mas mataas na wattage ay maaaring saktan ang mga itlog sa isang maliit na lalagyan. Ang halumigmig ay ibinibigay ng vaporizer, maaari mong gamitin ang vaporizer na katulad ng ipinakita sa ibaba.

Gumagawa ito ng makapal na agos ng singaw na papasok sa incubator. Ang singaw ay maaaring dalhin sa pamamagitan ng anumang nababaluktot na tubo.

Ang nababaluktot na tubo ay maaaring maging katulad na katulad ng ipinakita sa ibaba:

Ang singaw ay maaaring pumapasok mula sa tuktok ng kahon ng Styrofoam / thermocol tulad ng ipinakita sa disenyo ng patakaran ng pamahalaan, upang ang labis na init ay makatakas kahit na ang pagkontrol ng kahalumigmigan ay mga butas at hindi gaanong nasasaktan ang mga itlog.

Mayroong isang silindro na nagdadala ng mga itlog na may maraming mga butas sa paligid nito, na konektado sa isang servo motor. Paikutin ng servo motor ang silindro ng 180 degree bawat 8 oras sa gayon paikutin ang mga itlog.

Ang pag-ikot ng mga itlog ay pumipigil sa pagdikit ng embryo sa lamad ng shell at nagbibigay din ng pakikipag-ugnay sa materyal na pagkain sa itlog, lalo na sa maagang yugto ng pagpapapisa ng itlog.

Ang umiikot na silindro ay dapat magkaroon ng maraming bilang ng mga butas upang ang wastong sirkulasyon ng hangin ay naroroon at gayundin ang silindro ay dapat na guwang sa magkabilang panig.

Ang umiikot na silindro ay maaaring maging PVC tube o karton na silindro.

Idikit ang isang stick ng sorbetes sa magkabilang dulo ng guwang na silindro na ang ice cream stick ay gumagawa ng dalawang pantay na bilog na semi. Idikit ang braso ng servo motor sa gitna ng ice cream stick. Sa kabilang panig sundutin ang isang butas at i-paste ang ngipin pumili ng mahigpit.

Ipasok ang pick ng ngipin sa loob ng kahon at i-paste ang servo sa tapat ng dingding sa loob ng kahon. Ang silindro ay dapat manatiling pahalang hangga't maaari, ngayon ang silindro ay maaaring paikutin habang umiikot ang servo motor.

At oo, gamitin ang iyong pagkamalikhain upang mapagbuti ang mga bagay.

Kung nais mong tumanggap ng higit pang mga itlog gumawa ng mas maraming tulad silindro at maraming servo motor ay maaaring konektado sa parehong control line pin.

Ang mga butas sa pagkontrol ng kahalumigmigan ay maaaring gawin sa pamamagitan ng paglalagay ng isang lapis sa pamamagitan ng kahon ng Styrofoam / thermocol sa tuktok. Kung gumawa ka ng maraming hindi kinakailangang mga butas o kung ang halumigmig o temperatura ay masyadong mabilis na makatakas maaari mong takpan ang ilan sa mga butas gamit ang electrical o duct tape.

Ang sensor ng DHT11 ay sentro ng proyekto na maaaring mailagay sa gitna ng anumang apat na panig ng incubator (sa loob) ngunit malayo sa bombilya o halumog na inlet tube.

Ang mga tagahanga ng CPU ay maaaring mailagay tulad ng ipinakita sa disenyo ng patakaran ng pamahalaan para sa sirkulasyon ng hangin. Para sa wastong sirkulasyon ng hangin gumamit ng hindi bababa sa dalawa tinutulak ng mga tagahanga ang hangin sa kabaligtaran , halimbawa: isa sa tagahanga ng CPU na nagtutulak pababa at isa pang tagahanga ng CPU na nagtutulak paitaas.

Ang karamihan sa tagahanga ng CPU ay gumagana sa 12V ngunit sa 9V ay gumagana lamang.

Iyon lang ang tungkol sa patakaran ng pamahalaan. Ngayon talakayin natin sa circuit.

Schematic Diagarm:

control ng incubator digital LCD control ng monitor

Ang circuit sa itaas ay para sa koneksyon ng Arduino sa LCD. Ayusin ang 10K potensyomiter para sa pag-aayos ng LCD na kaibahan.

Awtomatikong pagkontrol ng klima ng Arduino incubator

Ang Arduino ay utak ng proyekto. Mayroong 3 mga pindutan ng push para sa pagtatakda ng temperatura at halumigmig. Kinokontrol ng pin A5 ang relay para sa vaporizer at A4 para sa bombilya. Ang sensor ng DHT11 ay konektado sa pin A0. Ang mga pin na A1, A2 at A3 na ginagamit para sa mga push button.

Ang pin # 7 (non-PWM pin) ay konektado sa control wire ng servo motor ng maraming motor na servo motor ay maaaring konektado sa pin # 7. Mayroong maling kuru-kuro na ang servo motors ay gumagana lamang sa mga PWM na pin ng Arduino, na hindi totoo. Gumagana ito nang masaya sa mga hindi PWM na pin din.

Ikonekta ang isang diode 1N4007 sa kabuuan ng relay coil sa reverse bias upang matanggal ang mga high spike spike habang binubuksan at patayin.

Power Supply:

Arduino incubator power supply circuit

Ang suplay ng kuryente sa itaas ay maaaring magbigay ng 9 V at 5 V na supply para sa relay, Arduino, Servo motor (SG90) at mga tagahanga ng CPU. Ang DC jack ay ibinigay para sa pagpapaandar ng Arduino.

Gumamit ng mga heat sink para sa mga regulator ng boltahe.

Tinapos nito ang supply ng kuryente.

I-download ang sensor ng DHT ng library:

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

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

Paano patakbuhin ang Circuit:

· Sa kumpletong pag-setup ng hardware at patakaran ng pamahalaan, paganahin ang circuit ON.

· Ipinapakita ng display ang 'itakda ang temperatura' pindutin ang pataas o pababa na pindutan upang makuha ang temperatura ng pagnanasa at pindutin ang 'itakda ang pindutan'.

· Ngayon ang display ay nagpapakita ng 'set Humidity' pindutin ang pataas o pababa na mga pindutan upang makuha ang kahalumigmigan ng pagnanasa at pindutin ang 'itakda ang pindutan'.

· Nagsisimula ito sa paggana ng incubator.

Mangyaring mag-refer sa internet o kumuha ng payo mula sa isang propesyonal para sa antas ng temperatura at halumigmig para sa mga itlog.

Kung mayroon kang anumang tukoy na katanungan tungkol sa Arduino na awtomatikong temperatura ng incubator at circuit ng control ng halumigmig, huwag mag-atubiling ipahayag sa seksyon ng komento. Maaari kang makatanggap ng mabilis na tugon.




Nakaraan: SMS Batay sa Pump Controller na may Awtomatikong Dry Run Run Shut Off Susunod: Sistema ng Alerto sa Supply ng Tubig na Batay sa SMS