THIẾT kế hệ THỐNG điều KHIỂN tự ĐỘNG hóa TRONG NHÀ (có code và sơ đồ mạch) THIẾT kế hệ THỐNG điều KHIỂN tự ĐỘNG hóa TRONG NHÀ (có code và sơ đồ mạch) THIẾT kế hệ THỐNG điều KHIỂN tự ĐỘNG hóa TRONG NHÀ (có code và sơ đồ mạch) THIẾT kế hệ THỐNG điều KHIỂN tự ĐỘNG hóa TRONG NHÀ (có code và sơ đồ mạch)
Trang 1TỰ ĐỘNG HÓA TRONG NHÀ
Trang 2DANH MỤC CÁC BẢNG BIỂU VIII DANH MỤC CÁC TỪ VIẾT TẮT IX
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG TỰ ĐỘNG HÓA 1
1.1 GIỚI THIỆU 1
1.2 TRUYỀN NHÂN DỮ LIỆU BẰNG SÓNG VÔ TUYẾN RF 1
CHƯƠNG 2 NỘI DUNG CỦA ĐỀ TÀI 2
2.1 THIẾT KẾ PHẦN CỨNG 2
2.1.1 Tổng quan Arduino 2
2.1.2 ATmega 328p 2
2.1.3 RFID RC522 7
2.1.4 Cảm biến nhiệt độ Dallas 18b20 8
2.1.5 NRF24l01 11
2.1.6 Module phát nhạc DFplayer mini 13
2.1.7 Động cơ RC servo 9G 15
2.2 THIẾT KẾ PHẦN MỀM 16
2.3 LƯU ĐỒ GIẢ THUẬT VÀ NGUYÊN LÝ HOẠT ĐỘNG 18
2.3.1 Lưu đồ giải thuật 18
2.3.2 Nguyên lý hoạt động 20
CHƯƠNG 3 KẾT QUẢ 21
CHƯƠNG 4 NHẬN XÉT VÀ KẾT LUẬN 23
4.1 NHẬN XÉT 23
4.2 KẾT LUẬN 23
TÀI LIỆU THAM KHẢO 24 PHỤ LỤC 25
Trang 3HÌNH 2-2: SƠ ĐỒ KHỐI ATMEGA38P[2] 4
HÌNH 2-3: SƠ ĐỒ CHÂN ATMEGA328P[2] 5
HÌNH 2-4: SƠ ĐỒ CHÂN RC522[1] 7
HÌNH 2-5: CÁCH KẾT NỐI ATMEGA328 VỚI RFID[1] 8
HÌNH 2-6: HÌNH DẠNG THỰC TẾ VÀ SƠ ĐỒ CHÂN DALLAS 18B20[4] 9
HÌNH 2-7: KẾT NỐI CẢM BIẾN VỚI ĐIỆN TRỞ[1] 10
HÌNH 2-8: CẤU TRÚC DALASS 18B20[2] 10
HÌNH 2-9: HÌNH DẠNG THỰC TẾ NRF24L01[4] 11
HÌNH 2-10: SƠ ĐỒ CÁC KHỐI TRONG NRF24L01[2] 11
HÌNH 2-11: SƠ ĐỒ KẾT NỐI VỚI VI ĐIỀU KHIỂN CỦA NRF24L01[1] 12
HÌNH 2-12: HÌNH DẠNG THỰC TẾ DFPLAYER MINI[6] 13
HÌNH 2-13: SƠ ĐỒ CHÂN CỦA DFLAYER MINI[6] 14
HÌNH 2-14: HÌNH DẠNG THỰC TẾ CỦA SERVO 9G[4] 15
HÌNH 2-15: KẾT NỐI CÁC NODE ĐƠN GIẢN[3] 16
HÌNH 2-16: SERVER MÁY TÍNH VÀ THIẾT BỊ CLIENT[3] 16
HÌNH 3-1: MẠCH IN SERVER PHÍA PHÁT VỚI NRF 21
HÌNH 3-2: MẠCH IN PHÍA THU VỚI NRF 21
HÌNH 3-3: GIAO DIỆN WEB ĐIỀU KHIỂN 22
HÌNH 3-4: MẠCH THỰC TẾ 22
Trang 4BẢNG 2-2: TÓM TẮT ĐẶC ĐIỂM CỦA ATMEGA328 5 BẢNG 2-3: BẢNG KẾT NỐI NRF24L01 VỚI ATMEGA328P 12 BẢNG 2-4: BẢNG TRẠNG THÁI CÁC CHÂN CỦA DFPLAYER 14
Trang 5CPU Central processing unit
EEPROM Electrically erasable programmable read-only memory
RFID Radio-frequency identification
VCC Voltage at the common collector
IDE Integrated Development Environment
SPI Serial Peripheral Interface
UART Universal Asynchronous Receiver/Transmitter
ADC Analog-to-digital conversion
Trang 6CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG TỰ ĐỘNG HÓA
1.1 Giới thiệu
Ngày nay, cùng với sự phát triển của khoa học và công nghệ tiên tiến, các thiết bị tựđộng hóa trong nhà được biết đến như một nhu cầu thiết yếu của con người, từ cácthiết bị điều khiển đơn giản như romote người ta đã cải tiến ra các sản phẩm đượcđiều khiển bằng các thiết bị hiện đại hơn như máy tính hay các thiết bị cầm tay nhưipad, điện thoại di động đều có thể đảm nhiệm những công việc điều khiển
Để đảm báo tính bảo mật trong từng hộ gia đình với phương thức bảo mật đơn giảnbằng cách mở cửa bằng thẻ từ đã giúp chủ hộ linh họat hơn mà vẫn đảm bảo được
an ninh, hay việc xem nhiệt độ phòng và cập nhật nhiệt độ từ một trang web địnhsẳn sẽ giúp chủ nhân của ngôi nhà cập nhật thời tiết nơi mình đang sống, nhữngcông việc như vậy đã tạo nên một ngôi nhà thông minh có khả năng tự động hóa vớichi phí phải chăng
1.2 Truyền nhân dữ liệu bằng sóng vô tuyến RF
Truyền nhận dữ liệu không dây tạo nên một phương thức giao tiếp lớn trong hệthống thông tin di động Truyền nhận dữ liệu từ xa dùng sóng RF hay radio có ưuthế lớn do tính đa hướng của thiết bị và cùng với tần số hoạt động cao
Sơ đồ khối truyền nhận gồm một module phát và một module thu
Module thu RFModule mã hóa tín
hiệu và phát RF
Trang 7CHƯƠNG 2 NỘI DUNG CỦA ĐỀ TÀI
2.1 Thiết kế phần cứng
2.1.1 Tổng quan Arduino
- Arduino là một công cụ điện tử hữu ích cho mọi đối tượng người dụng từphổ thông đến đại học với phần cứng và phần mềm dễ sử dụng Arduino cóthể kích hoạt một động cơ, bật tắt led, điều khiển các thiết bị trong nhà,… Đểlàm được điều này cần phải sư dụng ngôn ngữ lập trình cho arduino và phầnmềm arduino IDE
- Phần mềm Arduino IDE được tạo ra dưới dạng các công cụ mã nguồn mở cóthể mở rộng với các lập trình viên có nhiều kinh nghiệm, ngôn ngữ có thểđược mở rộng thông qua thư viện C++
- Trong đồ án được trình bày sau sử dụng Arduino Uno R3 để thực hiện nạpcode cho chip điều khiển Atmega328p
2.1.2 ATmega 328p
- Hình dạng thực tế:
Trang 8- AVR có cáu trúc Harward, trong đó đường truyền cho bộ nhớ dữ liệu và
đường truyền cho bộ nhớ chương trình được tách riêng Data memory chỉ có
8 bit và được kết nối với hầu hết các thiết bị ngoại vi, với register file Trong khi đó program memory bus có độ rộng 16 bit và chỉ phục vụ cho instructionregister
- Bộ nhớ chương trình là bộ nhớ Flash lập trình , trong các chip AVR cũ
như(AT90S1200 hay AT90S2313…) bộ nhớ chương trình gồm Application Flash Section nhưng trong các chip AVR mới có thêm Boot Flash section
- Vi điều khiển Atmega328p có các bộ nhớ sau.
+ 32kb bộ nhớ Flash: code lập trình được trên arduino được lưu trữ trong Flash của nó Trong quá trình lập trình và Bootloader cho vi điều khiển này thường tiêu hao khoảng tối đa 20kb bộ nhớ của vi điều khiển
+EEPROM 1024B, SRAM 2KB, 23 dòng I/O thông dụng, 32 thanh ghi hoạt động chung
+ Bộ đếm với chế độ so sánh, lập trình nối tiếp USART, một cổng nối tiếp định hướng 2 byte, cổng nối tiếp SPI, bộ chuyển đổi A / D, bộ đếm thời gian theo dõi có thể lập trình với bộ dao động nội Linh kiện hoạt động từ 1,8-5,5 volts
Bảng 2-1: Tóm tắt đặc điểm của Atmega328P
- Sơ đồ khối:
Các bộ nhớ chương trình
Bộ nhớ chứa dữ liệu EEPROM-Data EPROM
Bộ nhớ file thanh ghi RAM-RAMfile Register
Trang 9 Khối giải mã lệnh và điều khiểnKhối giao tiếp nối tiếp
Khối chuyển đổi tín hiệu tương tự sang số-ADC
+ Các port xuất nhập
Hình 2-2: Sơ đồ khối ATmega38P[2]
- Sơ đồ chân và chức năng của các chân:
Trang 10Hình 2-3: Sơ đồ chân Atmega328P[2]
- Chức năng của các chân
Bảng 2-2: Tóm tắt đặc điểm của Atmega328 Chân Thông tin Chức năng
7 VCC Áp đầu vào dương
8 GND Điện áp đầu vào âm
9 XTAL 1 Dao động tinh thể
10 XTAL 2 Dao động tinh thể
11 PD5 Pin (PWM)
Trang 1120 AV CC Điện áp dương cho ADC (điện)
21 A REF Điện áp tham chiếu
22 GND Điện áp âm
23 PC0 Đầu vào analog
24 PC1 Đầu vào analog
25 PC2 Đầu vào analog
26 PC3 Đầu vào analog
27 PC4 Đầu vào analog
28 PC5 Đầu vào analog
Rút ra nhận xét sau:
+ Với Atmega328P, 20 chân hoạt động như các cổng I /O, có chức năng hoạt động như đầu vào và đầu ra Trong đó 14 chân là chân kỹ thuật số, trong đó 6 chân có thểhoạt động để cung cấp cho đầu ra PWM, 6 chân được cho đầu vào hoặc đầu ra tương tự
+ có 2 PIN là dành cho thach anh đây là điều kiện để vi điều khiển hoạt động
+ Chip cần được cung cấp điện từ 1,8-5,5 V điện để hoạt động
+ Chip Atmega328 có một bộ chuyển đổi analog-to-digital (ADC) bên trong
+ Chân số 1 là chân RESET Sử dụng để cho chương trình chay lại
Trang 122.1.3 RFID RC522
- RFID - Radio Frequency Identification Detection là phương thức nhận dạng
đối tượng bằng sóng vô tuyến Nhận dạng từ xa với khoảng cách ngắn bằngcách sử dụng thiết bị thẻ RFID và một đầu đọc RFID.
- RFID gồm 2 thành phần quan trọng là: Tag( thẻ RFID) và reader ( đầu đọc
RFID)
Tag và Reader giao tiếp với nhau ở cùng một tần số, RDID sử dụng song radionên tốc độ truyền nhận dữ liệu, tần số thấp LF(100Khz-150Khz), tần số cao HF(10-15Mhz), tần số siêu cao UHF(850-950Mhz)
Hình 2-4: Sơ đồ chân RC522[1]
- Thông số kĩ thuật RFID RC522
MFRC522 là đầu Đọc/Ghi dành cho hệ thống RFID tại tần số 13.56MHz(thuộc dải tần số cao)
+ Điện áp hoạt động: 3.3V
+ Hỗ trợ giao tiếp các loại thẻ RFID: ISO 14443A / MIFARE
+ Khoảng cách Đọc/Ghi đối với 2 loại thẻ: Max = 50mm
+ Hỗ trợ Mã Hóa trong chế độ Đọc/Ghi với loại thẻ MIFARE
Trang 13+ Hỗ trợ các chuẩn giao tiếp: SPI (Max = 10Mbit/s), I2C (Fast Mode: 400kbit/s, High Speed Mode: 3400 kbit/s),UART (1228.8 kbit/s).
+ Hỗ trợ bộ đệm Truyền/Nhận dữ liệu FIFO 64 Byte
- Kết nối Atmega328 với RFID
Hình 2-5: Cách kết nối Atmega328 với RFID[1]
2.1.4 Cảm biến nhiệt độ Dallas 18b20
Trang 14Hình 2-6: Hình dạng thực tế và sơ đồ chân Dallas 18b20[4]
- Dallas 18b20 cung cấp các phép đo nhiệt dộ từ 9-12 bit Celsius Dallas
truyền thông qua 1-wire theo định nghĩa chỉ cần một dòng dữ liệu để giaotiếp với bộ xử lý trung tâm
- Các thông số kĩ thuật của Dallas 18b20:
+ Đo nhiệt đội từ -55 ºF đến +125ºC (-67ºF đến 257ºF)
+ Độ chính xác từ -10ºC đến +85ºC
+ Cung cấp nhiệt độ phân giải 12 bit
+ Sai số ±0.5ºC
+ Khi nhiệt độ vượt ngưỡng thì cảnh báo, có thể được lập trình và bộ nhớ nhiệt
độ cảnh báo không bị mất khi mất nguồn
+ Cảm biến có mã nhận diện lên đến 64 bit
- Để có nhiệt độ chính xác cần có một điện trở giữa chân VCC và chân tín
hiệu của Dallas
Trang 15Hình 2-7: Kết nối cảm biến với điện trở[1]
Hình 2-8: Cấu trúc dalass 18b20[2]
Trang 162.1.5 NRF24l01
Hình 2-9: Hình dạng thực tế NRF24l01[4]
- Hoạt dộng ở bang tần 2.4G có khả năng truyền dữ liệu tốc độ cao và truyền
nhận dữ liệu trong môi trương có vật cản
- Module này có 126 kênh truyền Có thể truyền nhận trên nhiều kênh khác
nhau
- Module có thể thay đổi công suất phát bang chương trình, có thể hoạt động
tiết kiệm năng lượng hơn
- Điện áp hoạt động 1.9 -> 3.6V Điện áp cung cấp là 3.3V
Hình 2-10: Sơ đồ các khối trong NRF24L01[2]
Trang 17Hình 2-11: Sơ đồ kết nối với vi điều khiển của NRF24L01[1] Bảng 2-3: Bảng kết nối NRF24L01 với AtMEGA328P
Trang 182.1.6 Module phát nhạc DFplayer mini
Hình 2-12: Hình dạng thực tế DFplayer mini[6]
- DFPlayer Mini là một mô đun MP3 nhỏ và rẻ với đơn giản hóa sản lượng
trực tiếp cho loa Module này có thể được sử dụng như là một mô-đun độc lập với pin, loa và các nút bấm kèm theo hoặc được sử dụng kết hợp với Arduino UNO hoặc bất kỳ máy nào khác có giao tiếp RX / TX
+ Tỷ lệ được hỗ trợ (kHz): 8 / 11.025 / 12/16 / 22.05 / 24/32 / 44.1 / 48
Đầu ra DAC 24-bit, hỗ trợ dải động 90dB, SNR hỗ trợ 85dB
+ Hỗ trợ đầy đủ FAT16, FAT32 hệ thống tập tin, tối đa 32G của thẻ TF, hỗ trợ 32G của đĩa U, 64M byte NORFLASH
+ Nhiều chế độ điều khiển, chế độ điều khiển I / O, chế độ nối tiếp, chế độ kiểm soát nút AD
+ Dữ liệu âm thanh được sắp xếp theo thư mục, hỗ trợ lên đến 100 thư mục, mỗi thư mục có thể chứa đến 255 bài hát
+ Điều chỉnh cấp độ 30, 6 mức EQ điều chỉnh được
Trang 19Hình 2-13: Sơ đồ chân của DFlayer mini[6]
Bảng 2-4: Bảng trạng thái các chân của DFplayer
4 DAC_R Kênh đầu ra âm thanh phải Bộ khuếch đại
Trang 202.1.7 Động cơ RC servo 9G
Hình 2-14: Hình dạng thực tế của Servo 9G[4]
- Động cơ có kích thước nhỏ, sử dụng trong các mô hình động cơ hoặc trong
các mô hình kéo có trọng lượng nhỏ, có tich hợp sẳn driver điều khiển bêntrong nên có thể điều khiển góc quay bang phương pháp điều động xung.+ Điện áp hoạt động từ 4.8-5 VD
+ Tốc độ 0.12 sec/60 degrees(4.8 VDC)
+ Lực kéo 1.6 KG.CM
+ Trọng lượng 9g
Trang 212.2 Thiết kế phần mềm
Node-RED là ứng dụng được tao ra với nền tảng là Node.js, đây có thể goi là nềntản cho một web server có thể cấu hình các chức năng gọi là “flow” từ cách trìnhduyệt Các Node-RED gồm các node có thể liên kết được với nhau thông qua cáckhối input, operation và output
Hình 2-15: Kết nối các node đơn giản[3]
Với Node-RED tương tác và giao tiếp với các thiết bị như hình với máy tính đóng
server điều khiển và các thiết bị là các client
Trang 22- Giao diện với node red gồm các khối input, output và operate
Hình 2-17: Giao diện viết phần mềm điều khiển[3]
Trang 232.3 Lưu đồ giả thuật và nguyên lý hoạt động 2.3.1 Lưu đồ giải thuật
Lưu đồ giải thuật phía phát của NRF
Trang 24Bắt đầu
S 3 lần S
TXRXTX
RX
Atmega328P 2Atmega328P 1
S
Bắt đầu
Đ
Gửi kí tự “2” quaMyserial
Gửi kí tự “1” quaMyserial
RFID=332779
2254 RFID đọc dữ liệu từ thẻ từ
ĐĐ
Phát cảnh báo Thực hiện điều khiển
Lấy nhiệt độ từ Ds18b20
và gửi qua phía thu NRF
S
ĐPhát cảnh báo
Nhiệt độ >40ºC
S
C=1 C=2
Đọc dữ liệu từ
Serial
Trang 252.3.2 Nguyên lý hoạt động
Với Atmega328P 2:
- Bắt đầu RFID đọc dữ liệu từ thẻ từ, nếu thẻ từ đúng mã đã được thiết lập sẵn
thì vi điều khiển gửi lệnh thông qua myserial
+ Nếu đúng mã thẻ thì vi điều khiển gửi kí tự “1” qua cho Atmega328 1+ Nếu sai mã thẻ quá 3 lần thì vi điều khiển gửi kí tự “2” qua choAtmega328 1
- Quay trở lại ban đầu
Với Atmega328P 1:
- Bước 1: Bắt đầu vi điều khiển đọc dữ liệu nhiệt độ từ DS18b20 và mã hóa
nhiệt độ đọc được thành chuỗi gửi cho NRF21L01(phía thu)
- Bước 2: Vi điều khiển đọc dữ liệu từ serial, nếu kí tự nhận được bằng “1”
phát lệnh điều khiển gồm mở cữa và phát bằng giọng nói, nếu nhận được kí
tự là “2” thì vi điều khiển thực hiện cảnh báo
- Bước 3: Nếu nhiệt độ đọc được lớn hơn 40ºC thì phát lệnh gồm loa báo động
và mở cữa
- Bước 4: Quay trở bại ban đầu và bắt đẫu một vòng lặp mới
Trang 26CHƯƠNG 3 KẾT QUẢ
- Sơ đồ mạch in:
Hình 3-1: Mạch in Server phía phát với NRF
Hình 3-2: Mạch in phía thu với NRF
Trang 27- Giao diện nhiệt độ hiển thị trên web
Hình 3-3: Giao diện web điều khiển
- Mạch hoàn thiện
Trang 28CHƯƠNG 4 NHẬN XÉT VÀ KẾT LUẬN
4.1 Nhận xét
- Ưu điểm:
Sản phẩm có các chức năng cơ bản như mở cửa bằng thẻ từ với RFID
có thông báo qua giọng nói
Có phát hiện và cảnh báo ra loa nếu như thẻ từ sai
Phát cảnh báo ra loa và tự động mở cữa nếu như nhiệt độ cao do cócháy
Giao diện điều khiển gồm đọc được nhiệt độ từ máy tính thông quaserial và hiển thị trên Web Có thể xem lại lịch sử truy nhập của RFIDthông qua file excel được mở trực tiếp từ trên máy tính
- Nhược điểm
Khả năng mở cữa ngay lập tức vần chưa tốt, vẫn có độ trễ
Giao diện điều khiển để xem lich sử truy nhập của RFID trên web.Đọc dữ liệu thời tiết từ trên web vẫn chưa hoàn thiện
4.2 Kết luận
- Sản phẩm có khả năng ứng dụng vào thực tế trong vấn đè bảo mật và
tính ổn định cao
- Có khả năng thực hiện các nhiệm vụ bảo mật như mở cữa và cảnh báo
và hiển thị trên web
- Sản phẩm cần phải được cải thiện để có giao diện điều khiển trên web
thân thiện hơn
- Hướng phát triển có thể xây dựng mô hình điều khiển trực tiếp qua
module wifi ESP8266 và module NRF
Trang 29TÀI LIỆU THAM KHẢO
Trang 30PHỤ LỤC
- Code sever chính
Trang 32}