Tủ ấm sử dụng Arduino với điều khiển nhiệt độ và độ ẩm tự động

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong bài đăng này, chúng ta sẽ xây dựng một lò ấp trứng sử dụng Arduino có thể tự điều chỉnh nhiệt độ và độ ẩm của nó. Dự án này được gợi ý bởi ông Imran yousaf, một người rất thích đọc trang web này.



Giới thiệu

Dự án này được thiết kế theo đề xuất từ ​​ông Imran, nhưng một số sửa đổi bổ sung được thực hiện để làm cho dự án này phù hợp với tất cả mọi người.

Bạn có thể sử dụng sự sáng tạo và trí tưởng tượng của mình để hoàn thành dự án này.



Vậy chúng ta hãy hiểu máy ấp trứng là gì? (Đối với noobs)

Tủ ấm là một thiết bị kín có môi trường bên trong được cách ly với môi trường xung quanh.

Điều này nhằm tạo môi trường thuận lợi cho bệnh phẩm được chăm sóc. Ví dụ tủ ấm được sử dụng để nuôi cấy vi sinh vật trong phòng thí nghiệm, tủ ấm được sử dụng trong bệnh viện để chăm sóc trẻ sinh non.

Loại lò ấp mà chúng tôi sẽ xây dựng trong dự án này là để ấp trứng gà hoặc bất kỳ loại trứng chim nào khác.

Tất cả các máy ấp đều có một điểm chung là điều chỉnh nhiệt độ, độ ẩm và cung cấp đầy đủ oxy.

Bạn có thể đặt nhiệt độ và độ ẩm bằng cách nhấn các nút được cung cấp và nó cũng hiển thị nhiệt độ và độ ẩm bên trong theo thời gian thực. Sau khi cả hai thông số được thiết lập, nó sẽ tự động điều khiển bộ phận làm nóng (bóng đèn) và bộ hóa hơi (máy tạo ẩm) để đáp ứng điểm cài đặt.

Bây giờ chúng ta hãy hiểu thiết bị và thiết kế của tủ ấm.

Khung của tủ ấm có thể bằng hộp xốp / hộp nhiệt hoặc thủy tinh acrylic có khả năng cách nhiệt tốt. Tôi muốn giới thiệu hộp xốp / nhiệt dẻo sẽ dễ sử dụng hơn.

Thiết kế thiết bị:

bố trí vật liệu ấp

Bóng đèn 25 watt hoạt động như nguồn nhiệt có công suất cao hơn có thể làm tổn thương trứng trong hộp nhỏ. Độ ẩm được cung cấp bởi thiết bị hóa hơi, bạn có thể sử dụng thiết bị hóa hơi tương tự như hình dưới đây.

Nó tạo ra một luồng hơi nước dày sẽ được đưa vào tủ ấm. Hơi nước có thể được dẫn qua bất kỳ ống mềm nào.

Ống mềm có thể tương tự như hình dưới đây:

Hơi nước có thể được đưa vào từ trên cùng của hộp xốp / nhiệt như thể hiện trong thiết kế thiết bị, do đó nhiệt thừa sẽ thoát ra ngoài qua các lỗ kiểm soát độ ẩm và ít làm tổn thương trứng hơn.

Có một hình trụ mang trứng với nhiều lỗ xung quanh, được kết nối với động cơ servo. Động cơ servo quay hình trụ 180 độ cứ sau 8 giờ làm quay trứng.

Sự quay của trứng ngăn cản phôi dính vào màng vỏ và cũng tạo điều kiện tiếp xúc với thức ăn trong trứng, đặc biệt là ở giai đoạn đầu của quá trình ấp.

Hình trụ quay phải có nhiều lỗ để không khí lưu thông thích hợp và hình trụ cũng phải rỗng ở cả hai mặt.

Hình trụ quay có thể là ống PVC hoặc hình trụ bằng bìa cứng.

Dán que kem vào cả hai đầu của hình trụ rỗng sao cho que kem tạo thành hai nửa hình tròn bằng nhau. Dán cánh tay của động cơ servo vào giữa que kem. Ở phía bên kia, hãy chọc một lỗ và dán cố định một que tăm.

Lắp bộ gắp răng vào bên trong hộp và dán servo lên tường đối diện bên trong hộp. Xylanh phải nằm ngang hết mức có thể, bây giờ xylanh có thể quay khi động cơ servo quay.

Và vâng, hãy sử dụng sự sáng tạo của bạn để làm cho mọi thứ tốt hơn.

Nếu bạn muốn chứa nhiều trứng hơn, hãy tạo thêm nhiều xi lanh như vậy và nhiều động cơ servo có thể được kết nối trên cùng một chân đường điều khiển.

Các lỗ kiểm soát độ ẩm có thể được tạo bằng cách chọc bút chì qua hộp xốp / keo nhiệt ở trên cùng. Nếu bạn đã tạo nhiều lỗ không cần thiết hoặc nếu độ ẩm hoặc nhiệt độ thoát ra quá nhanh, bạn có thể dùng băng dính điện hoặc băng keo để che một số lỗ.

Cảm biến DHT11 là trung tâm của dự án có thể được đặt ở giữa bốn mặt bất kỳ của tủ ấm (bên trong) nhưng cách xa bóng đèn hoặc ống hút ẩm.

Quạt CPU có thể được đặt như trong thiết kế thiết bị để lưu thông không khí. Để lưu thông không khí thích hợp, hãy sử dụng ít nhất hai quạt đẩy không khí theo hướng ngược lại , ví dụ: một trong những quạt CPU đẩy xuống dưới và một quạt CPU khác đẩy lên trên.

Hầu hết quạt CPU hoạt động trên 12V nhưng ở mức 9V hoạt động tốt.

Đó là tất cả về bộ máy. Bây giờ chúng ta hãy thảo luận về mạch.

Sơ đồ chẩn đoán:

điều khiển độ ẩm kỹ thuật số màn hình LCD máy ấp trứng

Mạch trên dùng để kết nối Arduino với LCD. Điều chỉnh chiết áp 10K để điều chỉnh độ tương phản của LCD.

Máy ấp trứng Arduino điều khiển khí hậu tự động

Arduino là bộ não của dự án. Có 3 nút ấn để cài đặt nhiệt độ và độ ẩm. Chân A5 điều khiển rơ le cho bộ hóa hơi và A4 cho bóng đèn. Cảm biến DHT11 được kết nối với chân A0. Các chân A1, A2 và A3 dùng cho các nút ấn.

Chân số 7 (không phải chân PWM) được kết nối với dây điều khiển của động cơ servo, nhiều động cơ servo có thể được kết nối với chân số 7. Có quan niệm sai lầm rằng động cơ servo chỉ hoạt động với các chân PWM của Arduino, điều này không đúng. Nó cũng hoạt động tốt trên các chân không phải PWM.

Kết nối một diode 1N4007 qua cuộn dây rơ le phân cực ngược để loại bỏ các xung điện áp cao trong khi bật và tắt.

Nguồn cấp:

Mạch cấp nguồn cho máy ấp trứng Arduino

Nguồn điện trên có thể cung cấp nguồn cấp 9 V và 5 V cho rơ le, Arduino, động cơ Servo (SG90) và quạt CPU. Giắc cắm DC được cung cấp để cấp nguồn cho Arduino.

Sử dụng tản nhiệt cho bộ điều chỉnh điện áp.

Điều đó kết luận việc cung cấp điện.

Tải xuống thư viện cảm biến DHT:

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

Mã chương trình:

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

Cách vận hành mạch:

· Với thiết lập phần cứng và thiết bị đã hoàn thành, hãy BẬT nguồn mạch.

· Màn hình hiển thị “nhiệt độ cài đặt” nhấn nút lên hoặc xuống để nhận nhiệt độ mong muốn và nhấn “nút cài đặt”.

· Bây giờ màn hình hiển thị “cài đặt Độ ẩm”, nhấn nút lên hoặc xuống để có độ ẩm mong muốn và nhấn “nút cài đặt”.

· Nó bắt đầu hoạt động của lồng ấp.

Vui lòng tham khảo trên internet hoặc nhờ chuyên gia tư vấn về nhiệt độ và độ ẩm cho trứng.

Nếu bạn có bất kỳ câu hỏi cụ thể nào liên quan đến mạch điều khiển nhiệt độ và độ ẩm máy ấp trứng tự động Arduino này, vui lòng bày tỏ trong phần bình luận. Bạn có thể nhận được một câu trả lời nhanh chóng.




Trước: Bộ điều khiển máy bơm dựa trên SMS với Tự động tắt chạy khô tự động Tiếp theo: Hệ thống cảnh báo cấp nước dựa trên SMS