ตู้อบโดยใช้ Arduino พร้อมระบบควบคุมอุณหภูมิและความชื้นอัตโนมัติ

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในโพสต์นี้เราจะสร้างตู้ฟักไข่โดยใช้ Arduino ซึ่งสามารถควบคุมอุณหภูมิและความชื้นได้เอง โครงการนี้แนะนำโดยคุณอิมรานยูซาฟซึ่งเป็นผู้อ่านเว็บไซต์นี้ตัวยง



บทนำ

โครงการนี้ได้รับการออกแบบตามข้อเสนอแนะของคุณอิมราน แต่มีการปรับเปลี่ยนเพิ่มเติมบางอย่างเพื่อให้โครงการนี้เหมาะสำหรับทุกคน

คุณอาจใช้ความคิดสร้างสรรค์และจินตนาการเพื่อทำโครงงานนี้ให้ลุล่วง



มาทำความเข้าใจกันว่าตู้ฟักไข่คืออะไร? (สำหรับ noobs)

Incubator เป็นอุปกรณ์ที่ปิดล้อมซึ่งสภาพแวดล้อมภายในถูกแยกออกจากสภาพแวดล้อมโดยรอบ

เป็นการสร้างสภาพแวดล้อมที่เอื้ออำนวยสำหรับชิ้นงานที่อยู่ภายใต้การดูแล ตัวอย่างเช่นตู้อบที่ใช้ในการเพาะเลี้ยงจุลินทรีย์ในห้องปฏิบัติการตู้อบจะถูกใช้ในโรงพยาบาลเพื่อดูแลทารกที่คลอดก่อนกำหนด

ประเภทของตู้ฟักไข่ที่เรากำลังจะสร้างในโครงการนี้มีไว้สำหรับฟักไข่ไก่หรือไข่นกอื่น ๆ

ตู้อบทั้งหมดมีสิ่งหนึ่งที่เหมือนกันคือควบคุมอุณหภูมิความชื้นและจัดหาออกซิเจนให้เพียงพอ

คุณสามารถตั้งอุณหภูมิและความชื้นได้โดยกดปุ่มที่ให้มาและยังแสดงอุณหภูมิและความชื้นภายในแบบเรียลไทม์ เมื่อตั้งค่าพารามิเตอร์ทั้งสองแล้วจะควบคุมองค์ประกอบความร้อน (หลอดไฟ) และเครื่องทำไอระเหย (ความชื้น) โดยอัตโนมัติเพื่อให้ตรงตามจุดที่กำหนด

ตอนนี้เรามาทำความเข้าใจกับอุปกรณ์และการออกแบบของตู้ฟักไข่

โครงเครื่องของตู้อบอาจเป็นกล่องโฟม / เทอร์โมคอลหรือแก้วอะคริลิกซึ่งสามารถเป็นฉนวนกันความร้อนได้ดี ฉันอยากจะแนะนำกล่องสไตโรโฟม / เทอร์โมคอลซึ่งจะใช้งานได้ง่ายขึ้น

การออกแบบอุปกรณ์:

เค้าโครงวัสดุตู้อบ

หลอดไฟ 25 วัตต์ทำหน้าที่เป็นแหล่งความร้อนวัตต์ที่สูงขึ้นอาจทำร้ายไข่ในภาชนะขนาดเล็ก เครื่องทำไอระเหยมีความชื้นคุณสามารถใช้เครื่องทำไอระเหยที่คล้ายกันดังที่แสดงด้านล่าง

ผลิตไอน้ำหนาซึ่งจะไหลเข้าสู่ตู้อบ ไอน้ำสามารถเคลื่อนย้ายผ่านท่อที่ยืดหยุ่นได้

ท่อยืดหยุ่นอาจมีลักษณะคล้ายกันดังแสดงด้านล่าง:

ไอน้ำอาจไหลเข้าจากด้านบนของกล่องสไตโรโฟม / เทอร์โมคัลตามที่แสดงในการออกแบบอุปกรณ์เพื่อให้ความร้อนส่วนเกินหลุดออกไปแม้จะมีรูควบคุมความชื้นและไม่ทำร้ายไข่

มีกระบอกบรรจุไข่ที่มีรูหลายรูรอบ ๆ เชื่อมต่อกับเซอร์โวมอเตอร์ เซอร์โวมอเตอร์จะหมุนกระบอกสูบ 180 องศาทุกๆ 8 ชั่วโมงจึงหมุนไข่

การหมุนของไข่จะป้องกันไม่ให้ตัวอ่อนติดกับเยื่อหุ้มเปลือกและยังสัมผัสกับวัสดุอาหารในไข่โดยเฉพาะอย่างยิ่งในช่วงแรกของการฟักตัว

กระบอกหมุนต้องมีหลายรูเพื่อให้มีการไหลเวียนของอากาศที่เหมาะสมและกระบอกสูบต้องกลวงทั้งสองด้าน

กระบอกหมุนอาจเป็นท่อพีวีซีหรือกระบอกกระดาษแข็ง

วางไม้ไอศครีมที่ปลายทั้งสองข้างของกระบอกกลวงเพื่อให้แท่งไอศกรีมทำครึ่งวงกลมสองวงเท่ากัน วางแขนของเซอร์โวมอเตอร์ไว้ตรงกลางแท่งไอศกรีม อีกด้านหนึ่งเจาะรูแล้ววางแคะฟันให้แน่น

ใส่ตัวเลือกฟันเข้าไปในกล่องและวางเซอร์โวที่ผนังด้านตรงข้ามภายในกล่อง กระบอกสูบต้องอยู่ในแนวนอนที่สุดเท่าที่จะเป็นไปได้ตอนนี้กระบอกสูบสามารถหมุนได้เมื่อเซอร์โวมอเตอร์หมุน

และใช่ใช้ความคิดสร้างสรรค์ของคุณเพื่อทำให้สิ่งต่างๆดีขึ้น

หากคุณต้องการรองรับไข่มากขึ้นให้ใช้กระบอกสูบดังกล่าวมากขึ้นและสามารถเชื่อมต่อเซอร์โวมอเตอร์หลายตัวบนขาสายควบคุมเดียวกันได้

รูควบคุมความชื้นทำได้โดยการจิ้มดินสอผ่านกล่องสไตโรโฟม / เทอร์โมคอลที่ด้านบน หากคุณทำรูที่ไม่จำเป็นจำนวนมากหรือหากความชื้นหรืออุณหภูมิสูงขึ้นเร็วเกินไปคุณอาจปิดรูบางส่วนโดยใช้เทปไฟฟ้าหรือเทปพันสายไฟ

เซ็นเซอร์ DHT11 เป็นหัวใจหลักของโครงการซึ่งอาจวางไว้ตรงกลางของตู้อบทั้งสี่ด้าน (ด้านใน) แต่อยู่ห่างจากหลอดไฟหรือท่อทางเข้าของความชื้น

สามารถวางพัดลมซีพียูได้ดังแสดงในการออกแบบอุปกรณ์สำหรับการไหลเวียนของอากาศ เพื่อการไหลเวียนของอากาศที่เหมาะสมให้ใช้อย่างน้อยสอง พัดลมดันอากาศไปในทิศทางตรงกันข้าม ตัวอย่างเช่น: พัดลม CPU ตัวหนึ่งดันลงด้านล่างและพัดลม CPU อีกตัวดันขึ้นด้านบน

พัดลม CPU ส่วนใหญ่ทำงานที่ 12V แต่ที่ 9V ใช้งานได้ดี

นั่นคือทั้งหมดที่เกี่ยวกับอุปกรณ์ ตอนนี้มาคุยกันในวงจร

แผนผัง Diagarm:

ตู้อบความชื้นควบคุมจอภาพ LCD ดิจิตอล

วงจรข้างต้นใช้สำหรับการเชื่อมต่อ Arduino กับ LCD ปรับโพเทนชิออมิเตอร์ 10K เพื่อปรับความคมชัดของ LCD

Arduino Incubator ระบบควบคุมสภาพอากาศอัตโนมัติ

Arduino เป็นสมองของโครงการ มีปุ่มกด 3 ปุ่มสำหรับตั้งค่าอุณหภูมิและความชื้น ขา A5 ควบคุมรีเลย์สำหรับเครื่องพ่นไอน้ำและ A4 สำหรับหลอดไฟ เซ็นเซอร์ DHT11 เชื่อมต่อกับพิน A0 หมุด A1, A2 และ A3 ใช้สำหรับปุ่มกด

ขา # 7 (พินที่ไม่ใช่ PWM) เชื่อมต่อกับสายควบคุมของเซอร์โวมอเตอร์เซอร์โวมอเตอร์หลายตัวสามารถเชื่อมต่อกับพิน # 7 ได้ มีความเข้าใจผิดว่าเซอร์โวมอเตอร์ใช้งานได้เฉพาะกับหมุด PWM ของ Arduino ซึ่งไม่เป็นความจริง ทำงานอย่างมีความสุขกับพินที่ไม่ใช่ PWM ด้วย

เชื่อมต่อไดโอด 1N4007 กับขดลวดรีเลย์แบบไบแอสย้อนกลับเพื่อกำจัดแรงดันไฟฟ้าสูงขณะเปิดและปิด

แหล่งจ่ายไฟ:

วงจรแหล่งจ่ายไฟ Arduino Incubator

แหล่งจ่ายไฟข้างต้นสามารถให้แหล่งจ่ายไฟ 9 V และ 5 V สำหรับรีเลย์ Arduino, Servo motor (SG90) และพัดลม CPU แจ็ค DC มีไว้สำหรับเปิดเครื่อง Arduino

ใช้แผงระบายความร้อนสำหรับตัวควบคุมแรงดันไฟฟ้า

นั่นสรุปแหล่งจ่ายไฟ

ดาวน์โหลดไลบรารีเซ็นเซอร์ DHT:

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

รหัสโปรแกรม:

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

วิธีใช้งานวงจร:

·เมื่อติดตั้งฮาร์ดแวร์และอุปกรณ์เสร็จสมบูรณ์แล้วให้เปิดวงจร

·หน้าจอจะแสดง 'ตั้งอุณหภูมิ' กดปุ่มขึ้นหรือลงเพื่อให้ได้อุณหภูมิที่ต้องการแล้วกด 'ปุ่มตั้งค่า'

·ตอนนี้หน้าจอจะแสดง 'ตั้งค่าความชื้น' ให้กดปุ่มขึ้นหรือลงเพื่อรับความชื้นที่ต้องการแล้วกด 'ปุ่มตั้งค่า'

·เริ่มการทำงานของตู้ฟักไข่

โปรดดูอินเทอร์เน็ตหรือรับคำแนะนำจากผู้เชี่ยวชาญสำหรับอุณหภูมิและระดับความชื้นสำหรับไข่

หากคุณมีคำถามเฉพาะเกี่ยวกับวงจรควบคุมอุณหภูมิและความชื้นของตู้อบอัตโนมัติ Arduino อย่าลังเลที่จะแสดงความคิดเห็นในส่วนความคิดเห็น คุณอาจได้รับการตอบกลับอย่างรวดเร็ว




คู่ของ: ตัวควบคุมปั๊มที่ใช้ SMS พร้อมการปิดเครื่องอัตโนมัติแบบแห้ง ถัดไป: ระบบแจ้งเตือนน้ำประปาด้วย SMS