Inkubators Arduino izmantošana ar automātisku temperatūras un mitruma kontroli

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā ziņojumā mēs izveidosim inkubatoru, izmantojot Arduino, kas var pašregulēt tā temperatūru un mitrumu. Šo projektu ieteica Imran yousaf kungs, kurš ir dedzīgs šīs vietnes lasītājs.



Ievads

Šis projekts tika izstrādāts atbilstoši Imrana kunga ieteikumiem, taču tiek veiktas dažas papildu modifikācijas, lai padarītu šo projektu universāli piemērotu visiem.

Jūs varat izmantot savu radošumu un iztēli, lai paveiktu šo projektu.



Tātad, sapratīsim, kas ir inkubators? (Noobs)

Inkubators ir slēgts aparāts, kura iekšējā vide ir izolēta no apkārtējās vides.

Tas ir paredzēts, lai radītu labvēlīgu vidi kopējamam paraugam. Piemēram, inkubatorus izmanto mikrobu organisma audzēšanai laboratorijās, inkubatorus izmanto slimnīcās, lai rūpētos par priekšlaicīgi dzimušiem zīdaiņiem.

Inkubators, kuru mēs uzbūvēsim šajā projektā, ir paredzēts vistu olu vai citu putnu olu inkubēšanai.

Visiem inkubatoriem ir viena kopīga iezīme, kas regulē temperatūru, mitrumu un nodrošina pietiekamu skābekļa padevi.

Temperatūru un mitrumu var iestatīt, nospiežot komplektācijā esošās pogas, un tas reālajā laikā parāda iekšējo temperatūru un mitrumu. Kad abi parametri ir iestatīti, tas automātiski kontrolē sildelementu (spuldzi) un iztvaicētāju (mitrinātāju), lai sasniegtu iestatīto punktu.

Tagad sapratīsim inkubatora aparātu un konstrukciju.

Inkubatora šasija var būt no putupolistirola / termokolona kastes vai akrila stikla, kas var nodrošināt labu siltumizolāciju. Es ieteiktu putupolistirola / termokola kastīti, ar kuru būs vieglāk strādāt.

Aparāta dizains:

inkubatora materiāla izkārtojums

25 vatu spuldze darbojas kā siltuma avots. Lielāka jauda var kaitēt olām nelielā traukā. Mitrumu nodrošina iztvaicētājs, jūs varat izmantot iztvaicētāju kaut ko līdzīgu, kā parādīts zemāk.

Tas rada biezu tvaika plūsmu, kas ieplūdīs inkubatorā. Tvaiku var pārvadāt caur jebkuru elastīgu cauruli.

Elastīgā caurule var būt kaut kas līdzīgs, kā parādīts zemāk:

Tvaiks var būt ieplūdis no putupolistirola / termokolona kastes augšdaļas, kā parādīts aparāta projektā, lai liekais siltums izplūstu caur mitruma kontroles caurumiem un mazāk sāpinātu olas.

Ir cilindrs, kas ved olas ar vairākām atverēm ap to, savienots ar servomotoru. Servomotors ik pēc 8 stundām rotē cilindru par 180 grādiem, tādējādi pagriežot olšūnas.

Olu rotācija novērš embrija pielipšanu čaumalas membrānai, kā arī nodrošina kontaktu ar olā esošo pārtikas produktu, it īpaši agrīnā inkubācijas stadijā.

Rotējošajam cilindram jābūt vairākiem caurumiem, lai nodrošinātu pareizu gaisa cirkulāciju, kā arī cilindram jābūt dobam no abām pusēm.

Rotējošais cilindrs var būt PVC caurule vai kartona cilindrs.

Abos dobā cilindra galos ielīmējiet saldējuma nūju tā, lai saldējuma nūjiņa izveidotu divus vienādus puslokus. Saldējuma kociņa vidū ielīmējiet servomotora roku. No otras puses ieduriet caurumu un stingri ielīmējiet zobu bakstāmo.

Ievietojiet zobu uzgaļa iekšpusi kastē un ielīmējiet servo uz pretējās sienas kastes iekšpusē. Cilindram jāpaliek pēc iespējas horizontālam, tagad cilindrs var griezties, kad rotē servomotors.

Jā, izmantojiet savu radošumu, lai uzlabotu lietas.

Ja vēlaties ievietot vairāk olu, izveidojiet vairāk šādu cilindru, un uz vienas vadības līnijas tapas var savienot vairākus servomotorus.

Mitruma kontroles caurumus var izveidot, izbāžot zīmuli caur putuplasta / termokola kastīti augšpusē. Ja esat izveidojis daudz nevajadzīgu atveru vai ja mitrums vai temperatūra izplūst pārāk ātri, dažas no tām var pārklāt, izmantojot elektrisko vai līmlenti.

DHT11 sensors ir projekta pamats, kuru var novietot inkubatora četru sānu vidusdaļā (iekšpusē), bet prom no spuldzes vai mitruma ieplūdes caurules.

Centrālā procesora ventilatorus var novietot, kā parādīts gaisa cirkulācijas aparāta projektā. Pareizai gaisa cirkulācijai izmantojiet vismaz divas fani, kas stumj gaisu pretējā virzienā , piemēram: viens no centrālā procesora ventilatoriem spiež uz leju un cits centrālā procesora ventilators virzās uz augšu.

Lielākā daļa centrālā procesora ventilatoru darbojas ar 12 V, bet pie 9 V - lieliski.

Tas viss ir par aparātu. Tagad apspriedīsim ķēdi.

Shematisks Diagarm:

inkubatora mitruma digitālā LCD monitora vadība

Iepriekš minētā shēma ir paredzēta Arduino un LCD savienojumam. Noregulējiet 10K potenciometru, lai pielāgotu LCD kontrastu.

Arduino inkubatora automātiskā klimata kontrole

Arduino ir projekta smadzenes. Temperatūras un mitruma iestatīšanai ir 3 spiedpogas. Tapa A5 kontrolē iztvaicētāja releju un spuldzes A4. DHT11 sensors ir savienots ar tapu A0. Pogas A1, A2 un A3 izmanto tapām.

Adata Nr. 7 (ne PWM tapa) ir savienota ar servomotora vadības vadu. Piespraudei Nr. 7 var pievienot vairākus servomotorus. Pastāv kļūdains uzskats, ka servomotori darbojas tikai ar Arduino PWM tapām, kas nav taisnība. Tas darbojas laimīgi arī ar PWM tapām.

Pievienojiet diode 1N4007 pāri releja spolei pretējā slīpumā, lai izslēgtu augstsprieguma tapas, ieslēdzot un izslēdzot.

Enerģijas padeve:

Arduino inkubatora barošanas ķēde

Iepriekš minētais barošanas avots var nodrošināt 9 V un 5 V barošanu releja, Arduino, Servo motora (SG90) un CPU ventilatoriem. DC ligzda ir paredzēta Arduino barošanai.

Sprieguma regulatoriem izmantojiet siltuma izlietnes.

Ar to noslēdzas barošana.

Lejupielādējiet bibliotēkas DHT sensoru:

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

Programmas kods:

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

Kā darbināt ķēdi:

· Pabeidzot aparatūras un aparātu iestatīšanu, ieslēdziet ķēdi.

· Displejā redzams “iestatītā temperatūra”, nospiediet uz augšu vai uz leju pogu, lai iegūtu vēlamo temperatūru, un nospiediet “iestatīšanas poga”.

· Tagad displejā redzams “iestatīt mitrumu”, nospiediet uz augšu vai uz leju pogas, lai iegūtu vēlamo mitrumu, un nospiediet “iestatīšanas poga”.

· Tas sāk inkubatora darbību.

Par olu temperatūru un mitruma līmeni, lūdzu, skatiet internetu vai saņemiet padomu no profesionāļa.

Ja jums ir kādi īpaši jautājumi par šo Arduino automātiskās inkubatora temperatūras un mitruma regulēšanas ķēdi, nekautrējieties izteikt komentāru sadaļā. Jūs varat saņemt ātru atbildi.




Pāri: SMS balstīts sūkņa kontrolieris ar automātisku sausas darbības izslēgšanu Nākamais: SMS balstīta ūdensapgādes trauksmes sistēma