chương 1 đã làm nền tảng vững chắc cho việc đặt ra những yêu cầu cơ bản của hệ thống nhà thông minh. Từ sự hiểu biết sâu sắc về hệ thống đo, chúng ta đã chuẩn bị sẵn sàng để bước vào quá trình thiết kế một hệ thống thông minh và linh hoạt, đáp ứng mọi yêu cầu của người sử dụng và đồng thời đảm bảo sự an toàn và hiệu suất. 12 CHƯƠNG 02 THIẾT KẾ HỆ THỐNG ĐO 2.1 Cơ sở lý thuyết của phương pháp đo 2.1 Nguyên lý hoạt động Khối hiển thị Khối nguồn Khối vi xử lý (LCD16x2) Khối cảm biến Hình 2.1: Sơ đồ khối làm việc của hệ thống đo và cảm biến - Chức năng: Khối nguồn: Cung cấp nguồn cho toàn bộ mạch Khối cảm biến: Chuyển đổi tín hiệu nào đó thành một tín hiệu điện Khối vi xử lý: Điều khiển các quá trình giao tiếp, truyền nhận giữa các module. Nhận tín hiệu của các khối điều khiển để truyền đến các khối khác, để đọc dữ liệu từ các module, xuất hình ảnh ra khỏi khối hiển thị.
Khối hiển thị: hiện thị tín hiệu đo được của khối xử lý 2.2 Các cảm biến được sử dụng a) Cảm biến hồng ngoại(LM393) Cảm biến phát hiện lửa flame sensor thường được sử dụng cho các ứng dụng phát hiện lửa như: xe robot chữa cháy, cảm biến lửa,… Tầm phát hiện trong khoảng 80cm, góc quét là 60 độ, có thể phát hiện lửa tốt nhất là loại có bước sóng từ 760nm – 1100nm. Cảm biến phát hiện lửa (flame sensor) có hai ngõ ra tín hiệu là Digital và Analog rất dễ dử dụng.2 cảm biến hồng ngoại phát hiện lửa LM393 - Nguyên tắc hoat động Như đã biết mọi vật có nhiệt độ lớn hơn 0 độ K đều phát ra tia hồng ngoại nhưng ở các bước sóng khác nhau. Và ngọn lửa cũng không ngoại lệ, nó phát ra tia hồng ngoại ở dãy dải 760nm-1100nm. Dựa vào điều này, module cảm biến phát hiện lửa dùng một diode hồng ngoại thu tín hiệu hồng ngoại ngọn lửa phát ra.
Thông qua mạch tích hợp IC LM393 so sánh và đưa ra tín hiệu đầu ra.3 Sơ đồ mạch nguyên lý cảm biến lửa b)Cảm biến vật cản HW-201 Cảm Biến Vật Cản Hồng Ngoại Khoảng Cách 1-7cm sử dụng tốt trong môi trường ánh sáng thông thường do module sử dụng ánh sáng hồng ngoại gồm 1 bóng thu và bóng phát, phát ra tần số hồng ngoại nhất định sẽ không ảnh hưởng bởi ánh sáng thường. Mạch tích hợp IC so sánh LM393 giúp cảm biến được chính xác hơn. Cảm biến phát hiện được vật cản trong khoảng 1 ~ 7cm có thể chỉnh khoảng cách phát hiện bằng biến trở tích hợp trên module. Nguyên lý hoạt động cảm biến khi có vật trước cảm biến chân tín hiệu OUT sẽ thay đổi trạng thái ở ngõ ra.
Mạch có thể phát hiện vật cản với góc phát hiện trong khoảng 35 độ.4 cảm biến vật cản HW201 - Nguyên lý hoạt động: Led phát hồng ngoại ( IR LED ) luôn luôn phát ra sóng ánh sáng có bước sóng hồng ngoại mắt người không thể nhìn thấy ánh sáng này, vì vậy người ta sử dụng led thu hồng ngoại, led thu hồng ngoại bình thường nó có nội trở rất lớn ( vài trăm KΩ ), khi led thu được tia hồng ngoại chiếu vào đủ lớn thì nội trở của nó giảm xuống (cỡ vài chục Ω). Khi gặp vật cản, những chùm tia hồng ngoại gặp vật cản và phản xạ lại led thu làm led thu thay đổi giá trị điện trở. Ở đây chúng ta thấy cầu chia áp ở điện trở R2 và mắt thu hồng ngoại, sự thay đổi điện trở của mắt thu hồng ngoại dẫn đến điện áp đầu vào chân 3 Op-Amp cũng thay đổi. Khi khoảng cách càng gần, sự thay đổi càng lớn.
Khi đó, điện áp đầu vào chân 3 Op-Amp được so sánh với giá trị điện áp không đổi gim trên biến trở R3, nếu điện áp chân 3 Op-Amp lớn hơn điện áp chân 2 Op-Amp thì Op-Amp xuất mức 1 ( bằng VCC). Ngược lại nếu điện áp chân 3 Op-Amp nhỏ hơn điện áp chân 2 Op-Amp thì Op-Amp xuất mức 0 ( bằng GND) Hình 2.5 Sơ đồ mạch nguyên lý 15 Giá trị ngưỡng của cảm biến Công thức chung để tính giá trị ngưỡng của cảm biến dựa trên giá trị ADC có thể được biểu diễn như sau: Giá trị ADC. Điện áp nguồn Giá trị ngưỡng = Giá trị ADC tối đa(1023 ) Trong đó: Giá trị ADC là giá trị được đọc từ cảm biến (từ 0 đến 1023). Điện áp nguồn là điện áp tham chiếu cho ADC (Vref).
Giá trị ADC tối đa là 1023 (vì ADC thường hoạt động với 10 bit, do đó có 2^10 = 1024 giá trị). Ví dụ: Giả sử bạn có một cảm biến ánh sáng kỹ thuật số được kết nối với một Arduino, và giá trị ADC mà bạn đọc từ cảm biến là 512. - Tính giá trị ngưỡng: Sử dụng công thức chung: Giá trị ADC. Điện áp nguồn Giá trị ngưỡng= Giá trị ADC tối đa ( 1023 ) Điền các giá trị đã biết vào công thức: 512.5 Giá trị ngưỡng= ≈2.505V 1023 Vậy, trong trường hợp này, giá trị ngưỡng tương ứng với giá trị ADC 512 là khoảng 2.505V khi điện áp nguồn là 5V.
Sai số của cảm biến Để tính sai số của cảm biến, chúng ta cần biết giá trị đo lường thực tế của cảm biến so với giá trị mong đợi. Sai số thường được biểu diễn dưới dạng phần trăm hoặc giá trị tuyệt đối. Ví dụ, giả sử bạn đã calibrate (hiệu chỉnh) cảm biến ánh sáng kỹ thuật số của mình và đã biết rằng ở mức độ sáng tiêu chuẩn, giá trị ADC nên là 512. Tuy nhiên, sau khi thực hiện đo lường, bạn thu được giá trị ADC là 520.
- Tính sai số tuyệt đối: Sai số tuyệt đối=∣Giá trị đo lường thực tế−Giá trị mong đợi∣ Trong trường hợp này: Sai số tuyêt đối= ∣520−512∣=8 16 Vậy, sai số tuyệt đối là 8. Tính sai số phần trăm: Giá trị đo lường thực tế - Giá trị mong đợi Sai số phần trăm= Giá trị mong đợi 520 - 512 Trong trường hợp này: Sai số phần trăm=( ).56% 512 Vậy, sai số phần trăm là khoảng 1. Tính toán sai số giúp đánh giá độ chính xác của cảm biến và cung cấp thông tin về sự chênh lệch giữa giá trị đo lường thực tế và giá trị mong đợi.3 Vi điều khiển ARDUINO UNO Giới thiệu Arduino Uno R3 (Dip) có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA.
Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối). - Arduino Uno R3 là một bảng mạch vi điều khiển nguồn mở dựa trên vi điều khiển Microchip ATmega328 được phát triển bởi Arduino. Bảng mạch được trang bị các bộ chân đầu vào/ đầu ra Digital và Analog có thể giao tiếp với các bảng mạch mở rộng khác nhau. Mạch Arduino Uno thích hợp cho những bạn mới tiếp cận và đam mê về điện tử, lập trình…Dựa trên nền tảng mở do Arduino.cc cung cấp các bạn dễ dàng xây dựng cho mình một dự án nhanh nhất ( lập trình Robot, xe tự hành, điều khiển bật tắt led…).6 : Bo mạch ARDUINO UNO R3 Vi xử lý có rất nhiều loại bắt đầu từ 4 bit cho đến 32 bit, vi xử lý 4 bit hiện nay không còn nhưng vi xử lý 8 bit vẫn còn mặc dù đã có vi xử lý 64 bit.
Lý do sự tồn tại của vi xử lý 8 bit là phù hợp với một số yêu cầu điều khiển trong công nghiệp. Các vi xử lý 32 bit, 64 bit thường sử dụng cho các máy tính vì khối lượng dữ liệu của máy tính rất lớn nên cần các vi xử lý càng mạnh càng tốt. Các hệ thống điều khiển trong công nghiệp sử dụng các 17 vi xử lý 8 bit hay 16 bit như hệ thống điện của xe hơi, hệ thống điều hòa, hệ thống điều khiển các dây chuyền sản xuất, … Hình 2.6 các thông số các chân của ARDUINO Bảng 2.1 Thông số kỹ thuật ARDUINO UNO R3 Vi điều khiển ATmega328 Điện áp hoạt động 5V(cấp qua cổng usb) Điện áp khuyến nghị 6-9V Số chân digital I/O 14 chân( 6 chân PWM) Số chân analog 6 chân Dòng ra tối đa trên mỗi chân I/O 30 mA Dòng ra tối đa (5V) 500 mA Dòng ra tối đa(3.3V) 50 mA Bộ nhớ Flash 32 KB (ATmega328) với 0.5 KB dùng bởi bootloader Giao động của thạch anh 16 MHz Trên Board Arduino Uno có 14 chân Digital được sử dụng để làm chân đầu vào và đầu ra và chúng sử dụng các hàm pinMode(), digitalWrite(), digitalRead(). Giá trị điện áp trên mỗi chân là 5V, dòng trên mỗi chân là 20mA và bên trong có điện trở kéo lên là 20-50 ohm.
Dòng tối đa trên mỗi chân I/O không vượt quá 40mA để tránh trường hợp gây hỏng board mạch. Ngoài ra, một số chân Digital có chức năng đặt biệt: 18 Serial: 0 (RX) và 1 (TX): Được sử dụng để nhận dữ liệu (RX) và truyền dữ liệu (TX) TTL. Ngắt ngoàoooooi: Chân 2 và 3. PWM: 3, 5, 6, 9 và 11 Cung cấp đầu ra xung PWM với độ phân giải 8 bit bằng hàm analogWrite ().
Các chân này hỗ trợ giao tiếp SPI bằng thư viện SPI. LED: Có 1 LED được tích hợp trên bảng mạch và được nối vào chân D13. Khi chân có giá trị mức cao (HIGH) thì LED sẽ sáng và LED tắt khi ở mức thấp (LOW). TWI/I2C: A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.2 Thiết kế hệ thống đo 2.1 Mô phỏng hệ thống a) Phần mềm mô phỏng Fritzing Phần mềm Fritzing là một ứng dụng mã nguồn mở được thiết kế để hỗ trợ người sử dụng trong việc thiết kế mạch điện tử và vẽ sơ đồ mạch.
Đây là một công cụ rất hữu ích cho những người mới bắt đầu trong lĩnh vực điện tử, đặc biệt là cho những người không có nhiều kinh nghiệm với việc sử dụng các phần mềm CAD (Computer-Aided Design) phức tạp. Dưới đây là một số đặc điểm chính của Fritzing: 1. Giao diện thân thiện với người dùng: Fritzing cung cấp một giao diện người dùng đơn giản, dễ sử dụng và thân thiện. Điều này giúp người mới bắt đầu có thể nhanh chóng làm quen và bắt đầu với thiết kế mạch.
Sơ đồ mạch và Breadboard :Fritzing cho phép bạn vẽ sơ đồ mạch và mô phỏng chúng trên breadboard (bảng mạch điện). Điều này giúp bạn kiểm tra mạch của mình trước khi xây dựng thực tế.