- Vật liệu cần thiết
- Sơ đồ mạch
- Tiếp sức:
- Tính toán nhiệt độ bằng nhiệt điện trở:
- Mã Arduino
- Hoạt động của Hệ thống tự động hóa gia đình được kiểm soát nhiệt độ:
Giả sử bạn đang ngồi trong phòng và cảm thấy lạnh và bạn muốn lò sưởi tự động bật rồi tắt sau một thời gian khi nhiệt độ phòng tăng lên, thì dự án này sẽ giúp bạn điều khiển thiết bị gia dụng tự động theo nhiệt độ. Ở đây, chúng tôi đang kiểm soát Thiết bị AC tại nhà bằng Arduino dựa trên nhiệt độ. Ở đây chúng tôi đã sử dụng Thermistor để đọc nhiệt độ. Chúng tôi đã giao tiếp Thermistor với Arduino và hiển thị Nhiệt độ trên màn hình LCD.
Trong hướng dẫn này, chúng tôi sẽ gắn thiết bị AC với Relay và tạo hệ thống tự động hóa gia đình được kiểm soát nhiệt độ bằng Arduino. Nó cũng hiển thị nhiệt độ và trạng thái thiết bị trên màn hình LCD 16 * 2 được kết nối với mạch.
Vật liệu cần thiết
- Arduino UNO
- Rơ le (5v)
- Màn hình LCD 16 * 2
- Bóng đèn (CFL)
- NTC nhiệt điện trở 10k
- Kết nối dây
- Điện trở (1k và 10k ohms)
- Chiết áp (10k)
Sơ đồ mạch
Hệ thống tự động hóa tại nhà dựa trên nhiệt độ này bao gồm các thành phần khác nhau như bảng Arduino, màn hình LCD, rơ le và điện trở nhiệt. Hoạt động chủ yếu phụ thuộc vào rơ le và nhiệt điện trở vì nhiệt độ tăng lên thì rơ le sẽ được bật và nếu nhiệt độ giảm xuống dưới giá trị đặt trước thì rơ le sẽ bị tắt. Thiết bị gia đình được kết nối với Rơ le cũng sẽ bật và tắt tương ứng. Ở đây chúng tôi đã sử dụng bóng đèn CFL làm thiết bị AC. Toàn bộ quá trình kích hoạt và cài đặt giá trị nhiệt độ được thực hiện bởi bảng Arduino được lập trình. Nó cũng cung cấp cho chúng tôi thông tin chi tiết về sự thay đổi nhiệt độ trong mỗi nửa giây và trạng thái của thiết bị trên màn hình LCD.
Tiếp sức:
Rơ le là một công tắc điện từ, được điều khiển bởi dòng điện nhỏ, và được sử dụng để BẬT và TẮT dòng điện lớn hơn tương đối nhiều. Có nghĩa là bằng cách áp dụng dòng điện nhỏ, chúng ta có thể BẬT rơle cho phép dòng điện lớn hơn nhiều. Rơ le là một ví dụ điển hình về việc điều khiển các thiết bị AC (dòng điện thay thế), sử dụng dòng điện một chiều nhỏ hơn nhiều. Rơ le thường được sử dụng là Rơ le Ném đôi (SPDT) Đơn cực, nó có năm thiết bị đầu cuối như sau:
Khi không có điện áp đặt vào cuộn dây, COM (chung) được nối với NC (tiếp điểm thường đóng). Khi có một số điện áp đặt vào cuộn dây, trường điện từ được tạo ra, thu hút Phần ứng (đòn bẩy được kết nối với lò xo), và COM và NO (tiếp điểm thường mở) được kết nối, cho phép dòng điện lớn hơn chạy qua. Rơle có nhiều loại, ở đây chúng tôi sử dụng rơle điện áp hoạt động 5V, cho phép dòng điện 7A-250VAC chạy qua.
Rơ le được cấu hình bằng cách sử dụng mạch Driver nhỏ bao gồm Transistor, Diode và một điện trở. Transistor được sử dụng để khuếch đại dòng điện để dòng điện đầy đủ (từ nguồn DC - pin 9v) có thể chạy qua cuộn dây để cung cấp năng lượng đầy đủ cho nó. Điện trở được sử dụng để cung cấp xu hướng cho bóng bán dẫn. Và Diode được sử dụng để ngăn chặn dòng điện ngược, khi bóng bán dẫn được TẮT. Mỗi cuộn dây dẫn tạo ra EMF bằng nhau và ngược chiều khi bị TẮT đột ngột, điều này có thể gây ra hư hỏng vĩnh viễn cho các linh kiện, vì vậy phải sử dụng Diode để ngăn chặn dòng điện ngược. Một Rơ le mô-đun có thể dễ dàng có sẵn trên thị trường với tất cả các mạch điều khiển của nó trên bảng hoặc bạn có thể tạo ra nó bằng cách sử dụng trên các thành phần. Ở đây chúng tôi đã sử dụng mô-đun Rơ le 5V
Tính toán nhiệt độ bằng nhiệt điện trở:
Từ mạch phân áp chúng ta biết rằng:
V ra = (V in * Rt) / (R + Rt)
Vì vậy giá trị của Rt sẽ là:
Rt = R (Vin / Vout) - 1
Ở đây Rt sẽ là điện trở của nhiệt điện trở (Rt) và R sẽ là điện trở 10k ohm.
Phương trình này được sử dụng để tính toán điện trở nhiệt điện trở từ giá trị đo được của điện áp đầu ra Vo. Chúng ta có thể lấy giá trị của Voltage Vout từ giá trị ADC tại chân A0 của Arduino như trong Mã Arduino được đưa ra bên dưới.
Tính toán nhiệt độ từ điện trở nhiệt điện trở
Về mặt toán học, điện trở nhiệt điện trở chỉ có thể được tính với sự trợ giúp của phương trình Stein-Hart.
T = 1 / (A + B * ln (Rt) + C * ln (Rt) 3)
Trong đó, A, B và C là các hằng số, Rt là điện trở nhiệt và ln đại diện cho log.
Giá trị không đổi của nhiệt điện trở được sử dụng trong dự án là A = 1,009249522 × 10 −3, B = 2,378405444 × 10 −4, C = 2,019202697 × 10 −7. Ở đây có thể lấy các giá trị không đổi này từ máy tính bằng cách nhập ba giá trị điện trở của nhiệt điện trở ở ba nhiệt độ khác nhau. Bạn có thể nhận các giá trị hằng số này trực tiếp từ biểu dữ liệu của Thermistor hoặc bạn có thể lấy ba giá trị điện trở ở nhiệt độ khác nhau và nhận các giá trị Hằng số bằng cách sử dụng máy tính đã cho.
Vì vậy, để tính toán nhiệt độ, chúng ta chỉ cần giá trị của điện trở nhiệt điện trở. Sau khi nhận được giá trị của Rt từ phép tính ở trên, hãy đặt các giá trị vào phương trình Stein-hart và chúng ta sẽ nhận được giá trị của nhiệt độ theo đơn vị Kelvin. Vì có một sự thay đổi nhỏ trong điện áp đầu ra gây ra sự thay đổi nhiệt độ.
Mã Arduino
Mã Arduino hoàn chỉnh cho Thiết bị gia dụng có kiểm soát nhiệt độ này được đưa ra ở cuối bài viết này. Ở đây chúng tôi đã giải thích một vài phần của nó.
Để thực hiện phép toán, chúng tôi sử dụng tệp Tiêu đề “#include
#include
Để thiết lập Relay (như một đầu ra) và LCD tại thời điểm bắt đầu, chúng ta phải viết mã trong phần thiết lập void
Void setup () {lcd.begin (16,2); lcd.clear (); pinMode (RELAY, OUTPUT); }
Để tính toán nhiệt độ theo phương trình Stein-Hart sử dụng điện trở của nhiệt điện trở, chúng tôi thực hiện một số phương trình toán học đơn giản trong mã như được giải thích trong tính toán ở trên:
float a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; float T, logRt, Tf, Tc; float Thermistor (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1,0 / (a + b * logRt + c * logRt * logRt * logRt)); // Chúng ta lấy giá trị nhiệt độ tính bằng Kelvin từ phương trình Stein-Hart này Tc = T - 273.15; // Chuyển Kelvin sang độ C Tf = (Tc * 1.8) + 32.0; // Chuyển Kelvin thành Fahrenheit return T; }
Trong đoạn mã dưới đây, nhiệt điện trở chức năng đang đọc giá trị từ chân analog của Arduino và in giá trị nhiệt độ bằng cách thực hiện phép toán
lcd.print ((Nhiệt điện trở (analogRead (0))));
Và giá trị đó được thực hiện bởi chức năng Thermistor và sau đó phép tính bắt đầu in
float Thermistor (int Vo)
Chúng ta phải viết mã cho điều kiện BẬT và TẮT đèn theo nhiệt độ khi chúng ta đặt giá trị nhiệt độ như nếu nhiệt độ tăng hơn 28 độ C, đèn sẽ BẬT nếu ít hơn đèn vẫn tắt. Vì vậy, bất cứ khi nào nhiệt độ vượt quá 28 độ, chúng ta cần đặt Chân RELAY (PIN 8) ở mức cao để làm cho mô-đun Rơle BẬT. Và khi nhiệt độ xuống dưới 28 độ, chúng ta cần để chân RELAY ở mức thấp để tắt Mô-đun Rơ-le.
if (Tc> 28) digitalWrite (RELAY, HIGH), lcd.setCursor (0,1), lcd.print ("Trạng thái đèn: BẬT"), delay (500); else if (Tc <28) digitalWrite (RELAY, LOW), lcd.setCursor (0,1), lcd.print ("Trạng thái đèn: TẮT"), delay (500);
Hoạt động của Hệ thống tự động hóa gia đình được kiểm soát nhiệt độ:
Để cấp nguồn cho Arduino, bạn có thể cấp nguồn cho nó qua USB với máy tính xách tay của bạn hoặc kết nối bộ chuyển đổi 12v. Một màn hình LCD được giao tiếp với Arduino để hiển thị các giá trị nhiệt độ, Thermistor và Relay được kết nối theo sơ đồ mạch. Chân tương tự (A0) được sử dụng để kiểm tra điện áp của chân điện trở nhiệt tại mọi thời điểm và sau khi tính toán bằng phương trình Stein-Hart thông qua mã Arduino, chúng tôi có thể nhận được nhiệt độ và hiển thị trên màn hình LCD ở độ C và độ F.
Khi nhiệt độ tăng hơn 28 độ C Arduino làm cho Mô-đun Rơ le được Bật bằng cách đặt Chân 8 ở mức CAO (nơi kết nối mô-đun Rơle) khi nhiệt độ xuống dưới 28 độ Arduino sẽ tắt Mô-đun chuyển tiếp bằng cách đặt Pin THẤP. Bóng đèn CFL cũng sẽ Bật và Tắt theo mô-đun Rơle.
Hệ thống này có thể rất hữu ích trong dự án Quạt điều khiển nhiệt độ và Bộ điều khiển nhiệt độ AC tự động.
Ngoài ra, hãy kiểm tra nhiều loại Dự án Tự động hóa Gia đình của chúng tôi sử dụng các công nghệ và Bộ vi điều khiển khác nhau như: