Mạch quạt DC điều khiển nhiệt độ bằng Arduino

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





Trong bài viết này, chúng tôi sẽ xây dựng một số mạch quạt một chiều được điều khiển nhiệt độ tự động dựa trên Arduino đơn giản sẽ BẬT quạt hoặc bất kỳ thiết bị nào khác được kết nối với nó, khi nhiệt độ môi trường đạt đến mức ngưỡng được xác định trước. Chúng tôi sẽ sử dụng cảm biến DHT11 và arduino cho dự án này.

Tổng quat

Vẻ đẹp của bộ vi điều khiển là chúng ta có thể kiểm soát rất chính xác các thiết bị ngoại vi được kết nối với nó. Trong dự án này, người dùng chỉ cần nhập nhiệt độ ngưỡng vào chương trình, bộ vi điều khiển sẽ đảm nhiệm phần còn lại của chức năng.



Có rất nhiều dự án bộ điều khiển nhiệt độ tự động dựa trên vi điều khiển có sẵn trên internet, chẳng hạn như sử dụng bộ so sánh và bóng bán dẫn.

Chúng rất đơn giản và chúng hoạt động tốt nhưng vấn đề phát sinh trong khi hiệu chỉnh mức ngưỡng bằng cách sử dụng điện trở hoặc chiết áp đặt trước.



Chúng tôi có một ý tưởng mù quáng trong khi hiệu chỉnh nó và người dùng có thể cần thực hiện phương pháp thử và sai để tìm ra điểm hấp dẫn.

Những vấn đề này được khắc phục bằng vi điều khiển, người dùng chỉ cần nhập nhiệt độ theo độ C trong dự án này, do đó không cần hiệu chuẩn.

Dự án này có thể được sử dụng khi nhiệt độ bên trong mạch cần được ổn định hoặc tiết kiệm nó khỏi quá nhiệt.

Trong sơ đồ 1, chúng tôi đang kết nối một quạt CPU làm đầu ra. Thiết lập này có thể được sử dụng để kiểm soát nhiệt độ môi trường bên trong của một mạch điện kín.

Khi đạt đến nhiệt độ ngưỡng, quạt sẽ bật. Khi nhiệt độ xuống dưới ngưỡng nhiệt độ, quạt sẽ tắt. Vì vậy, về cơ bản nó là một quy trình tự động.

Trong sơ đồ 2, chúng tôi đã kết nối một rơ le để điều khiển các thiết bị chạy bằng điện áp chính như quạt bàn.

Khi nhiệt độ phòng đạt đến nhiệt độ ngưỡng, quạt sẽ bật và tắt khi phòng nguội dần.

Đây có thể là cách tốt nhất để tiết kiệm điện và đây có thể là thiên đường cho những người lười biếng muốn người khác BẬT quạt khi họ cảm thấy ấm.

Sơ đồ mạch hiển thị điều khiển quạt DC

Điều khiển quạt DC để điều chỉnh nhiệt độ tự động

Thiết lập này có thể được triển khai cho các mạch được bao bọc trong hộp. Đèn LED BẬT khi đạt đến ngưỡng đặt trước và cũng BẬT quạt.

Kết nối Rơ le để điều khiển Quạt lớn hơn

Công tắc rơ le điều khiển quạt sử dụng cảm biến nhiệt độ Arduino

Mạch này làm chức năng tương tự mạch trước, bây giờ quạt được thay thế bằng rơ le.

Mạch này có thể điều khiển quạt bàn hoặc quạt trần hoặc bất kỳ thiết bị nào khác có thể làm giảm nhiệt độ xung quanh.

Thiết bị được kết nối sẽ tắt ngay khi nhiệt độ đạt đến dưới ngưỡng cài đặt trước.

Sơ đồ mạch điện một chiều điều khiển bằng nhiệt độ được minh họa ở đây chỉ là một vài trong số rất nhiều khả năng. Bạn có thể tùy chỉnh mạch và chương trình cho mục đích của riêng mình.

LƯU Ý 1: #Pin 7 là đầu ra.

LƯU Ý 2: Chương trình này chỉ tương thích với cảm biến DHT11.

Chương trình cho mạch điều chỉnh nhiệt độ tự động được giải thích ở trên sử dụng Arduino:

Mã chương trình

//--------------------Program developed by R.Girish---------------------//
#include
dht DHT
#define DHTxxPIN A1
int p = A0
int n = A2
int ack
int op = 7
int th = 30 // set thershold tempertaure in Celsius
void setup(){
Serial.begin(9600) // May be removed after testing
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
digitalWrite(p,1)
digitalWrite(n,0)
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
// you may remove these lines after testing, from here
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print(' ')
// To here
if (DHT.temperature>=th)
{
delay(3000)
if(DHT.temperature>=th) digitalWrite(op,HIGH)
}
if(DHT.temperature {
delay(3000)
if(DHT.temperature }
}
if(ack==1)
{
// may be removed after testing from here
Serial.print('NO DATA')
Serial.print(' ')
// To here
digitalWrite(op,LOW)
delay(500)
}
}
//-------------------------Program developed by R.Girish---------------------//

Lưu ý: Trong chương trình

int th = 30 // đặt nhiệt độ ngưỡng theo độ C.

Thay thế “30” bằng giá trị mong muốn.

Thiết kế thứ hai

Dự án mạch quạt một chiều được kiểm soát nhiệt độ thứ hai được thảo luận dưới đây sẽ tự động cảm nhận nhiệt độ xung quanh và điều chỉnh tốc độ động cơ quạt để giữ cho nhiệt độ xung quanh được kiểm soát. Quá trình xử lý tự động này được thực hiện thông qua Arduino và IC cảm biến nhiệt độ LM35.

Bởi:Ankit Negi

MỤC TIÊU CỦA CHÚNG TÔI:

1). Ngay sau khi nhiệt độ xung quanh tăng vượt quá 25 độ C (bạn có thể thay đổi giá trị này trong chương trình theo nhu cầu của bạn, giải thích trong phần làm việc) động cơ bắt đầu chạy.

2). Và với mỗi mức độ tăng của nhiệt độ, tốc độ của động cơ cũng tăng lên.

3). Động cơ chạy ở tốc độ tối đa ngay khi nhiệt độ tăng lên 40 độ C (giá trị này có thể được thay đổi trong chương trình).

CẢM BIẾN NHIỆT ĐỘ LM35:

Để đạt được nhiệm vụ được đề cập ở trên, chúng ta sẽ sử dụng tạm thời. Cảm biến LM35 vì nó được sử dụng rộng rãi và dễ dàng có sẵn.

LM35 có 3 chân như bạn thấy trong hình.

Sơ đồ chân IC LM35

1. Vin-- chân này được kết nối với nguồn điện một chiều từ 4 đến 20 v.
2. Vout-- chân này cung cấp đầu ra ở dạng điện áp.
3. GND-- chân này được kết nối với đầu cuối gnd của mạch.

LM35, khi kết nối với nguồn điện sẽ cảm nhận nhiệt độ của môi trường xung quanh và gửi điện áp tương đương theo độ tăng nhiệt độ qua chân đầu ra của nó.

LM35 có thể cảm nhận bất kỳ nhiệt độ nào. trong khoảng từ -50 độ đến +150 độ C và tăng sản lượng lên 10 milivon với nhiệt độ tăng 1 độ. Do đó điện áp tối đa nó có thể cung cấp khi đầu ra là 1,5 vôn.

TẠI SAO ARDUINO CHO DỰ ÁN BỘ ĐIỀU KHIỂN QUẠT DC NÀY?

Arduino được yêu cầu thay đổi giá trị tương tự nhận được từ chân đầu ra của LM35 thành giá trị kỹ thuật số và gửi đầu ra kỹ thuật số tương ứng (PWM) đến cơ sở của mosfet.

Chúng tôi cũng sẽ sử dụng arduino lệnh để in nhiệt độ, giá trị tương tự tương ứng và đầu ra kỹ thuật số tới mosfet trên màn hình nối tiếp của ARDUINO IDE.

VAI TRÒ CỦA MOSFET ĐIỆN LÀ GÌ?

Mạch này sẽ không có giá trị sử dụng nếu nó không thể chạy động cơ dòng điện cao. Do đó để chạy các động cơ như vậy mosfet điện được sử dụng.

TẠI SAO DIODE ĐƯỢC SỬ DỤNG?

Diode được sử dụng để bảo vệ MOSFET khỏi E.M.F phía sau do động cơ tạo ra khi đang chạy.

DANH SÁCH CÁC BỘ PHẬN CỦA DỰ ÁN:

1. LM35

2. ARDUINO

3. POWER MOSFET (IRF1010E)

POWER MOSFET (IRF1010E)

4. DIODE (1N4007)

DIODE (1N4007)

5. FAN (động cơ)

6. CUNG CẤP ĐIỆN QUẠT

SƠ ĐỒ MẠCH:

Điều khiển quạt DC phụ thuộc vào nhiệt độ Arduino

Thực hiện các kết nối như trong sơ đồ mạch.

a) Kết nối chân vin của lm358 với 5v của arduino
b) Kết nối chân vout của lm358 với A0 của arduino
c) Kết nối chân nối đất của lm358 với GND của arduino
d) Kết nối đế của mosfet với chân PWM 10 của arduino

MÃ:

float x// initialise variables
int y
int z
void setup()
{
pinMode(A0,INPUT) // initialize analog pin A0 as input pin
Serial.begin(9600) // begin serial communication
pinMode(10,OUTPUT) // initialize digital pin 10 as output pin
}
void loop()
{
x=analogRead(A0) // read analog value from sensor's output pin connected to A0 pin
y=(500*x)/1023// conversion of analog value received from sensor to corresponding degree Celsius (*formula explained in working section)
z=map(x,0,1023,0,255) // conversion of analog value to digital value
Serial.print('analog value ')
Serial.print( x) // print analog value from sensor's output pin connected to A0 pin on serial monitor( called 'analog value')
Serial.print(' temperature ')
Serial.print( y) // print the temprature on serial monitor( called 'temprature')
Serial.print(' mapped value ')
Serial.print( z*10) // multiply mapped value by 10 and print it ( called ' mapped value ' )
Serial.println()
delay(1000) // 1 sec delay between each print.
if(y>25)
{analogWrite(10,z*10) // when temp. rises above 25 deg, multiply digital value by 10 and write it on PWM pin 10 ( ** explained in working section)
}
else
{analogWrite(10,0) // in any other case PWM on pin 10 must be 0
}
}

LÀM VIỆC (hiểu mã):

A). BIẾN SỐ X-

Đây chỉ đơn giản là giá trị tương tự được nhận bởi chân số. A0 từ chân đầu ra của LM35.

B). BIẾN VÀ-

Vì chỉ có biến này, động cơ quạt của chúng tôi chạy theo nhiệt độ tương ứng. Những gì biến này làm là nó thay đổi giá trị tương tự, tức là biến x thành nhiệt độ tương ứng của môi trường xung quanh.

Y = (500 * x) / 1023
1. Giá trị tương tự đầu tiên phải được thay đổi thành điện áp tương ứng, tức là
1023: 5v
Do đó, (5000 milivolt * x) / 1023 V
2. Bây giờ chúng ta biết rằng với mỗi độ tăng nhiệt độ, đầu ra điện áp tương ứng tăng 10 mv tức là
1 độ C: 10 milivôn
Do đó, (5000 milivolt * x) / (1023 * 10) ĐỘ

C). BIẾN Z-

z = bản đồ (x, 0, 1023, 0,255)
biến này thay đổi giá trị tương tự thành giá trị kỹ thuật số cho đầu ra pwm trên chân 10.

GHI CHÚ :: Chúng tôi biết rằng lm35 có thể cung cấp tối đa 1,5 volt và điều đó cũng vậy khi nhiệt độ. Là 150 độ. mà không thực tế.

Điều này có nghĩa là ở 40 độ C, chúng ta nhận được 0,40 vôn và ở 25 độ, chúng ta nhận được 0,25 vôn. Vì những giá trị này rất thấp đối với pwm thích hợp trên mosfet, chúng ta cần nhân nó với một hệ số.

Do đó, chúng tôi nhân nó với 10 và thay vào đó cung cấp giá trị này làm đầu ra tương tự cho chân PWM 10, tức là

** analogWrite (10, z * 10)

Bây giờ, đối với MOSFET 0,25 vôn được 0,25 * 10 = 2,5 vôn

Đối với MOSFET .40 volt nhận được 0,40 * 10 = 4 volt tại đó động cơ gần như chạy ở tốc độ tối đa

TRƯỜNG HỢP 1. Khi nhiệt độ. Dưới 25 độ

Trong trường hợp này arduino gửi điện áp PWM 0 đến chân 10 như trong dòng mã cuối cùng

** khác
{analogWrite (10,0) // trong mọi trường hợp khác PWM trên chân 10 phải là 0
} **

Vì điện áp pwm trên cơ sở của MOSFET là 0, nó vẫn tắt và động cơ bị ngắt kết nối khỏi mạch.

Xem mạch mô phỏng trong trường hợp này.

Mô phỏng điều khiển quạt Arduino

Như bạn có thể thấy nhiệt độ là 20 độ do đó

Giá trị tương tự = 41
Nhiệt độ = 20
Giá trị được ánh xạ = 100

Nhưng vì nhiệt độ thấp hơn 25 độ do đó mosfet nhận được 0 volt như hiển thị trong hình (biểu thị bằng dấu chấm màu xanh).
TRƯỜNG HỢP 2. Khi nhiệt độ. Lớn hơn 25 độ

Khi nhiệt độ đạt đến 25 độ, thì như được chỉ định trong mã pwm tín hiệu được gửi đến cơ sở của mosfet và với mỗi độ tăng nhiệt độ, điện áp PWM này cũng tăng lên, tức là.

if(y>25)
{analogWrite(10,z*10)
} which is z* 10.

Xem mạch mô phỏng trong trường hợp này.

Như bạn có thể thấy khi nhiệt độ tăng từ 20 độ lên hết 40 độ, cả ba giá trị đều thay đổi và ở 40 độ C

Giá trị tương tự = 82
Nhiệt độ = 40
Giá trị được ánh xạ = 200

Vì nhiệt độ lớn hơn 25 độ nên mosfet nhận được điện áp PWM tương ứng như trong hình (biểu thị bằng chấm đỏ).

Do đó động cơ bắt đầu chạy ở 25 độ và với sự gia tăng tương ứng ở nhiệt độ mỗi độ điện áp pwm từ chân 10 đến chân đế của mosfet cũng tăng lên. Do đó, tốc độ động cơ tăng tuyến tính với sự gia tăng nhiệt độ và trở nên gần như tối đa ở 40 độ C.

Nếu bạn có bất kỳ câu hỏi nào liên quan đến mạch quạt dc điều khiển nhiệt độ tự động được giải thích ở trên bằng cách sử dụng quạt và Arduino, bạn luôn có thể sử dụng hộp bình luận bên dưới và gửi suy nghĩ của bạn cho chúng tôi. Chúng tôi sẽ cố gắng lấy lại sớm nhất.




Một cặp: Mạch bảo vệ tủ lạnh đơn giản Tiếp theo: Cách thiết kế mạch nguồn điện liên tục (UPS)