Để giảm thiểu những vụ cháy nổ tại các nhà máy, xí nghiệp, công ty,hay các hộ gia đình, chúng ta cần: trang bị những thiết bị giúp phòng chống cháy nhưbình chữa cháy, lắp đặt hệ thống ch
Trang 3TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y ĐỘC LẬP - TỰ DO - HẠNH PHÚC
Chuyên ngành: Điện tử công nghiệp Mã ngành: 01
1. Các số liệu ban đầu:
- Board Arduino MEGA WiFi R3 ATmega2560 + ESP8266 là bộ điều khiển trung tâm của mô hình
- Kích thước bộ điều khiển chung là 35x20x8cm, chứa tất cả những linh kiện và thiết bị trên cùng một khối
- Module Sim900A sẽ gửi tin nhắn cảnh báo và gọi đến chủ nhà khi công suất tổng vượt quá ngưỡng cài đặt khi chủ nhà rời khỏi
- Bộ cảnh báo sẽ bắt đầu cảnh báo khi gạt công tắc tay và cửa đóng
- Cảm biến gas phát hiện đủ lượng khí gas rò rỉ sẽ kích hoạt chuông báođộng và sim900A sẽ gửi tin nhắn về người dùng Mô hình đã tinh chỉnh độnhạy của cảm biến xuống mức thấp
- Dùng 4 bộ đo điện năng để kiểm tra hoạt động thiết bị
Trang 4- Màn hình LCD20x4 hiển thị thông số dòng điện, công suất từng thiết bị,
công suất tổng, nhiệt độ và độ ẩm
- Mô hình hoạt động ổn định khi mạng internet hay 3G đủ mạnh
2. Nội dung thực hiện:
- Cài đặt phần mềm lập trình IDE cho máy tính
- Cài đặt driver CH340G cho máy tính giao tiếp với kit Arduino MEGA
WiFi R3 ATmega2560 + ESP8266 qua cổng USB
- Nghiên cứu, tìm hiểu kit Arduino MEGA WiFi R3 ATmega2560 +
ESP8266
- Nghiên cứu, tìm hiểu module Sim900A
- Thiết kế, xây dựng phần cứng của mô hình
- Nghiên cứu, tìm hiểu các câu lệnh và các hàm, các chuẩn giao tiếp trong
từng kết nối lập trình giao tiếp
- Xây dựng chương trình điều khiển giao tiếp giữa ESP8266 và Arduino
Mega2560
- Xây dựng chương trình web, tạo giao diện
- Chạy thử nghiệm, cân chỉnh và sửa lỗi mô hình và phần mềm
- Viết báo cáo luận văn
- Báo cáo đề tài tốt nghiệp
III NGÀY GIAO NHIỆM VỤ: 10/03/2020
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/08/2020
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Trương Ngọc Anh
CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
Trang 5TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc
Bộ Môn Điện Tử Công Nghiệp-Y Sinh
Tp Hồ Chí Minh, ngày 2 tháng 3 năm 2020
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên 1: Trần Thanh Hoài MSSV: 14141107
Họ tên sinh viên 2: Nguyễn Tuấn Hiệp MSSV: 13141090
Tên đề tài: Nghiên cứu, thi công hệ thống phòng cháy và báo cháy cho nhà phố.
Tuần/ngày Nội dung Xác nhận GVHD
Tuần 1 - Gặp GVHD nhận đề tài
Từ 2/03/2020 đến - Viết đề cương chi tiết
9/03/2020
Tuần 2 - Tìm hiểu và tham khảo các đề tài đã
Từ 10/03/2020 đến nghiên cứu có liên quan đến điều khiển,
17/03/2020 giám sát và xử lý báo cháy
Tuần 3 - Gặp và báo cáo với GVHD về hướng
Từ 18/03/2020 đến thực hiện đề tài
24/03/2020 - Tìm hiểu và cài đặt ngôn ngữ lập trình
IDE cho máy tính
Tuần 4 - Tìm hiểu kit phát triển Arduino MEGA
Từ 25/03/2020 đến Wifi R3 atmega2560 + esp8266
1/04/2020
Tuần 5 - Tìm hiểu cảm biến gas MQ-02, module
Từ 9/4/2020 đến sim900A, module đo điện năng phục vụ
16/04/2020 cho đề tài
Tuần 6 - Giao tiếp cảm biến gas MQ-02 với
Từ 17/4/2020 đến Arduino Mega2560 kết hợp chuông báo
24/04/2020 - Giao tiếp module Sim900A với Arduino
Mega2560
Tuần 7 -Chuẩn bị tải, đấu dây điện để kết nối
Từ 25/4/2020 đến module Pzem-004T, kiểm tra hoạt động
2/05/2020
Tuần 8 - Báo cáo tiến độ cho GVHD
Trang 6Từ 10/05/2020 đến - Viết chương trình điều khiển cho Arduino
17/05/2020 Mega2560, đọc giá trị Pzem-004T, cảm
biến gas, điều khiển sim900A
- Chạy mô phỏng, kiểm tra hoạt động củacác thiết bị trên
Tuần 9 - Lắp ráp các khối điều khiển vào mô hình,
Từ 18/05/2020 đến gắn đầy đủ tải để kiểm tra hoạt động
25/05/2020 - Viết chương trình kết nối Esp8266 với
firebase thông qua wifi
Tuần 10 -Tạo firebase, kết nối Esp8266 cập nhật dữ
Từ 26/05/2020 đến liệu thực lên database
3/06/2020
Tuần 11 - Hoàn thành mô hình
Từ 4/06/2020 đến - Cài đặt các phần mềm lập trình giao diện
11/06/2020 web như css,html, nodejs
- Nghiên cức các bước lập trình cho mộtgiao diện hoàn chỉnh
Tuần 12 - Lập trình web với html,ccs,nodejs tạo
Từ 12/06/2020 đến giao diện kiểm tra và điều khiển trả về
- Chạy mô phỏng, kiểm tra sửa lỗi
Tuần 13 - Báo cáo tiến độ cho GVHD
Từ 20/06/2020 đến - Viết báo cáo luận văn
27/06/2020
Tuần 14 - Hoàn thiện báo cáo
Từ 28/06/2017 đến - Chuẩn bị gặp GVPB
4/07/2017
Tuần 15 - Nộp báo cáo cho GVPB
Từ 5/07/2017 đến - Nghiên cứu sâu vào hệ thống
12/07/2017
GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)
Trang 7LỜI CAM ĐOAN
Đề tài này là do chúng em tự thực hiện dựa vào tham khảo một số tài liệu và công trìnhnghiên cứu, không sao chép từ tài liệu hay công trình nào đã có trước đó
Người thực hiện đề tài
Nguyễn Tuấn Hiệp Trần Thanh Hoài
Trang 8cuốn báo cáo đồ án tốt nghiệp này, chúng em muốn dành lời cảm ơn chân thành sâu
sắc đến Thầy Trương Ngọc Anh và các Thầy trong bộ môn Điện Tử Công Nghiệp –
Y Sinh của Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Mặc dù đã cố gắng rất nhiều để thực hiện đề tài nhưng với vốn kiến thức cònhạn hẹp, chúng em không thể tránh khỏi những thiếu sót Chúng em rất mong nhậnđược những sự chỉ dạy, góp ý quý báu của quý Thầy để chúng em có thể hoàn thiện đềtài này nói riêng và con đường sự nghiệp sau này nói chung Nhóm chúng em xin chânthành cảm ơn !
Người thực hiện đề tài
Nguyễn Tuấn Hiệp Trần Thanh Hoài
Trang 9LIỆT KÊ HÌNH ẢNH
Hình 2.1 Hệ thống báo cháy đầy đủ
Hình 2.2 Module cảm biến khí gas MQ-02
Hình 2.3 Cấu trúc địa chỉ của các thiết bị tớ theo chuẩn One – Wire
Hình 2.4 Mô tả hoạt động của chuẩn One – Wire Hình 2.5 Sơ đồ
Hình 2.12 Bus I2C và các thiết bị ngoại vi
Hình 2.13 Kết nối thiết bị vào bus I2C ở chế độ chuẩn và chế độ nhanh
Hình 2.14 Hướng đi của xung Clock và hướng đi của đường dữ liệu
Hình 2.15 Trình tự truyền bit
Hình 2.16 Start bit và Stop bit
Hình 2.17 Module chuyển đổi I2C cho LCD 20x4
Hình 2.18 Hệ thống truyền dữ liệu bất đồng bộ
Hình 2.19 Khung truyền dữ liệu của chuẩn giao tiếp UART.
Hình 2.20 Kiểm tra dữ liệu khi truyền
Hình 2.21 Cách thức hoạt động khi truyền
Hình 2.22 Kết thúc dữ liệu khi truyền
Hình 2.23 Các kiểu kết thúc dữ liệu
Hình 2.24 Module PZEM - 004T
Hình 2.25 Sơ đồ nối dây PZEM 004T
Hình 2.26 Module SIM 800A mini
Hình 2.27 Module SIM 800l
Hình 2.28 Module SIM 900A
Hình 2.29 Giao tiếp UART giữa module SIM và vi Arduino
Hình 2.30 Giao tiếp UART giữa Module SIM900A và Arduino Mega2560
Trang 10Hình 2.31 Module SIM 900A sử dụng
Hình 2.32 Module hạ áp LM2596
Hình 2.33 Sơ đồ nguyên lý module LM2596
Hình 2.34 Arduino Mega 2560
Hình 2.35 Sơ đồ chân Arduino Mega 2560
Hình 2.36 Hình ảnh thực tế và sơ đồ chân của module NodeMCU ESP8266
Hình 2.37 Kit phát triển Arduino MEGA + WiFi R3 ATmega2560 + ESP8266
Hình 2.38 Sơ đồ chuyển USB UART CH340G
Hình 2.39 Dip Switch
Hình 2.40 Lựa chọn kết nối giữa TX0 và TX3
Hình 2.41 Sơ đồ chân của Esp8266
Hình 2.42 Phiên bản phát triển của Arduino 2560 với Esp8266
Hình 2.43 Mode chuyển đổi để nạp code cho ESP8266.
Hình 3.1 Sơ đồ khối toàn mạch
Hình 3.2 Sơ đồ chân của Node MCU8266
Hình 3.3 Sơ đồ chân của Arduino Mega2560
Hình 3.4 Sơ đồ kết nối 4 Pzem-004T với Mega2560
Hình 3.5 Module Relay 4 kênh
Hình 3.6 Sơ đồ kết nối module Relay 4 kênh với Mega2560
Hình 3.7 Sơ đồ kết nối ngõ ra một Relay với một thiết bị
Hình 3.8 Sơ đồ kết nối LCD 20x4 với Mega2560
Hình 3.9 Kết nối cảm biến khí Gas với Arduino Mega2560
Hình 3.10 Kết nối module Sim900A với Arduino
Mega2560 Hình 3.11 Sơ đồ nguyên lý toàn mạch
Hình 4.1 Sơ đồ mạch in
Hình 4.2 Bố trí linh kiện mặt trước board
Hình 4.3 Mặt sau của board
Hình 4.4 Hộp đựng board chính và các module giao tiếp
Hình 4.5 Hình ảnh mô hình nhìn từ bên ngoài hộp
Hình 4.6 Hình ảnh mô hình bên trong hộp
Hình 4.7 Lưu đồ chương trình chính của Arduino Mega2560
Trang 11Hình 4.9 Lưu đồ chương trình con đọc cảm biến PZEM
Hình 4.10 Lưu đồ chương trình con gửi và gọi qua Sim
Hình 4.11 Cửa sổ làm việc của Arduino IDE Hình
4.12 Các thành phần của Nodejs
Hình 4.13 Cửa số Library Manager
Hình 4.14 Project setting trong Firebase
Hình 4.15 Database secrets trong Firebase
Hình 4.16 Code Database secrets
Hình 4.17 Realtime Database trong Firebase
Hình 4.19 Các thành phần của Nodejs
Hình 4.20 Giao diện phần mềm Bitvise SSH
Client Hình 4.21 Giao diện viết lệnh Terminal
Hình 4.22 Cấu trúc một website
Hình 4.23 Cấu trúc cơ bản của HTML
Hình 4.24 Chương trình định nghĩa nút nhấn, trạng thái thiết bị trong HTML
Hình 4.25 Chương trình định dạng nút nhấn và trạng thái thiết bị
Hình 4.26 Chương trình khai báo kết nối Firebase
Hình 4.27 Chương trình lắng nghe các thay đổi trên Realtime Database
Hình 4.28 Chương trình xử lý nút nhấn trên website
Hình 4.29 Chương trình cập nhật giá trị nút nhấn trên website
Hình 5.1 Hình giao diện đăng nhập địa chỉ trên web
Hình 5.2 Công suất và trạng thái của thiết bị
Hình 5.3 Hiển thị trạng thái của bàn và nút nhấn điều khiển ON/OFF thiết bị
Hình 5.4 Điều khiển tắt thiết bị 2,3 và 4, bật thiết bị 1
Hình 5.5 Thiết bị 1 tắt, thiết bị 2,3 và 4 bật
Hình 5.6 Hiển thị độ ẩm, nhiệt độ, tổng công suất của 4 thiết bị
Hình 5.7 Tin nhắn cảnh báo có thiết bị hoạt động
Trang 12LIỆT KÊ BẢNG
Bảng 2.1 Chức năng chân của LCD
Bảng 2.2 Chức năng chân RS và R/W
Bảng 2.3 Tập lệnh của LCD
Bảng 2.4 Bảng thông số cấu hình Dip Switch
Bảng 2.5 So sánh thông số kỹ thuật giữa các Arduino hiện nay.
Bảng 3.1 Bảng kết nối I2C LCD 20x4 với Mega2560
Bảng 3.2 Bảng tổng dòng điện cung cấp cho mạch
Trang 13MỤC LỤC
Trang bìa ……….i
Nhiệm vụ đồ án ……… ii
Lịch trình ……… iv
Cam đoan ……… vi
Lời cảm ơn ……… vii
Liệt kê hình ảnh ……… viii
Liệt kê bảng vẽ……… xii
Mục lục ……….xiii
Tóm tắt ……… xv
CHƯƠNG 1: TỔNG QUAN……… 1
1.1.Đ ẶT VẤN ĐỀ 1
1.2.MỤC TIÊU 2
1.3.NỘI DUNG NGHIÊN CỨU 2
1.4.GIỚI HẠN CỦA ĐỀ TÀI 3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ……… 4
2.1 HỆ THỐNG BÁO CHÁY THỰC TẾ 4
2.1.1 Giới thiệu về hệ thống báo cháy tự động 4
2.2.2 Giới thiệu các loại khí gas trong công nghiệp 5
2.2 GIỚI THIỆU MODULE CẢM BIẾN KHÍ GAS MQ-02 7
2.3 TỔNG QUAN VỀ MODULE CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM DHT11 8
2.3.1 Giới thiệu giao tiếp One – Wire 8
2.3.2 Giới thiệu cảm biến độ ẩm và nhiệt độ 9
2.4 TỔNG QUAN VỀ MÀN HÌNH LCD 20X 4 .13
2.4.1 Giới thiệu sơ lược về LCD 13
2.4.2 Tập lệnh của LCD 17
2.5 MODULE CHUYỂN ĐỔI I2C 20
2.5.1 GIỚI THIỆU VỀ CHUẨN GIAO TIẾP I2C 20
2.5.2 Module chuyển đổi I2C cho LCD 24
2.6 CHUẨN GIAO TIẾP UART 25
2.7 MODULE ĐO ĐIỆN NĂNG PZEM – 004T 29
2.8 MODULE SIM 900A 31
2.8.1 Các loại module sim trên thị trường 31
2.8.2 Giao tiếp UART với vi điều khiển 32
2.8.3 Tập lệnh AT 33
Các lệnh gọi điện: 34
Các lệnh nhắn tin: 34
Trang 142.8.4 Giới thiệu module Sim 900A 35
2.9 MODULE HẠ ÁP LM2596 36
2.10 GIỚI THIỆU KIT ARDUINO MEGA WIFI R3 ATMEGA2560 + ESP8266 37
2.10.1 Tổng quan về module Arduino Mega 2560 37
2.10.2 Giới thiệu ESP8266 42
2.10.3 Kit phát triển Arduino MEGA WiFi R3 ATmega2560 + ESP8266 44
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ………53
3.1 GIỚI THIỆU 50
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 50
3.2.1 Thiết kế sơ đồ khối hệ thống 50
3.2.2 Tính toán và thiết kế mạch 51
3.2.3 Sơ đồ nguyên lý của toàn mạch 60
CHƯƠNG 4: THI CÔNG HỆ THỐNG ……… 64
4.1 GIỚI THIỆU 61
4.2 THI CÔNG HỆ THỐNG 61
4.2.1 Thi công bo mạch 61
4.2.2 Lắp ráp và kiểm tra Error! Bookmark not defined. 4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 64
4.3.1 Đóng gói bộ điều khiển 64
4.3.2 Thi công mô hình 65
4.4 LẬP TRÌNH HỆ THỐNG 66
4.4.1 Lưu đồ giải thuật 66
4.4.2 Giới thiệu phần mềm lập trình cho vi điều khiển 70
CHƯƠNG 5: KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ ………89
5.1 KẾT QUẢ 86
5.1.1 GIAO DIỆN WEB 87
5.1.2 Phần cứng và Sim 89
5.2 NHẬN XÉT – ĐÁNH GIÁ 91
5.2.1 Nhận xét 91
5.2.3 Đánh giá 92
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ……….96
6.1 KẾT LUẬN 93
6.2 HƯỚNG PHÁT TRIỂN 93
TÀI LIỆU THAM KHẢO 94
PHỤ LỤC 95
Trang 15TÓM TẮT
Công tác phòng cháy và báo cháy là hết sức quan trọng đối với tất cả mọi người, nóliên quan trực tiếp đến tính mạng con người và của cải Thói quen quên tắt điện hay bỏdở việc nấu nướng, hoặc bất cứ việc gì liên quan đến nguy cơ cháy nổ sẽ khiến chúng
ta không trở tay kịp
Mỗi người chúng ta lúc có nhiều lúc bận rộn hay lơ là trong việc giám sát an toàn docháy nổ về điện hoặc khí gas, vì tính thiết yếu này nên nhóm em quyết định chọn đề tài
“Nghiên cứu, thi công hệ thống phòng cháy và báo cháy cho nhà phố” Đồng thời nhu
cầu quản lý, giám sát cũng như kiểm soát việc đo điện năng, các thông số: điện áp,dòng điện, các chỉ tiêu chất lượng điện năng từ xa là rất cần thiết cho các nhà quản lý,các công ty điện lực và cá nhân Mặc dù đã đạt đến một mức độ thành công nhất định,tuy nhiên các hệ thống quản lý và giám sát điện năng hiện nay chi phí rất cao và hạnchế về việc truy cập từ xa Ngoài ra, xu hướng hiện nay là sử dụng các thiết bị thôngminh: điện thoại smart phone, máy tính bảng… để truy cập và giám sát từ xa
Đề tài kết hợp vừa báo cháy và phòng cháy từ xa cho người dùng thông qua mạngGSM và website, giúp hỗ trợ việc quản lý thiết bị và công tác phòng cháy, giảm nguy
cơ cháy nổ xuống tối thiểu
Trang 16nổ có thể gây ra những hậu quả khôn lường, đe dọa đến tính mạng và vật chất, đặc biệt
nó có thể ảnh hưởng đến những khu vực lân cận và những người xung quanh
Để nâng cao hiệu quả trong công tác PCCC, chúng ta cần nâng cao ý thức tựgiác, trách nhiệm của mọi người dân Địa phương cần tổ chức và tuyên truyền chonhân dân hiểu tác hại nghiêm trọng của cháy nổ cũng như cách phòng chống cháy nổ.Bên cạnh đó, trang bị cho người dân những kiến thức cơ bản trong trường hợp khi cócháy nổ xảy ra Để giảm thiểu những vụ cháy nổ tại các nhà máy, xí nghiệp, công ty,hay các hộ gia đình, chúng ta cần: trang bị những thiết bị giúp phòng chống cháy nhưbình chữa cháy, lắp đặt hệ thống chữa cháy, còi báo cháy , kiểm tra các điểm dễ cháynhư cầu dao, ổ cắm điện …Luôn đề cao cảnh giác trong mọi tình huống khi có cháy
nổ, thường xuyên tổ chức những buổi tập huấn giúp nâng cao kiến thức về PCCC.Với tất cả các lý do trên cùng với tầm quan trọng của PCCC trong đời sống,
nhóm chúng em đã quyết định chọn đề tài “Nghiên cứu, thi công hệ thống phòng
cháy và báo cháy cho nhà phố”.
Mục đích cuối cùng của đề tài là giúp phát hiện, ngăn chặn và hạn chế đến mứcthấp nhất rủi ro cháy nổ xảy đến với con người, từ đó có những hành động kịp thời đểngăn chặn
Trang 171.2.MỤC TIÊU
Thiết kế và thi công mô hình điều khiển đo điện năng các thiết bị điện trongnhà như đèn, quạt, máy sấy tóc,… qua website Các tín hiệu được gửi lên Firebaselàm nơi lưu trữ dữ liệu và giao tiếp với Arduino Mega2560 thông qua NodeMCUESP8266 trên cùng một kit phát triển để điều khiển và có hiển thị thông số, giá trịcủa các tín hiệu đo trên LCD
Cảnh báo trực tiếp từ đầu báo đến người dùng thông qua tin nhắn SMS và cuộc gọiđến do Arduino Mega2560 đóng vai trò điều khiển xử lí
1.3.NỘI DUNG NGHIÊN CỨU
Trong quá trình thực hiện đề tài “Nghiên cứu, thi công hệ thống phòng cháy và
báo cháy cho nhà phố”, nhóm chúng em đã lên kế hoạch giải quyết và hoàn thành
những nội dung sau:
Nội dung 1: Nghiên cứu Kit Arduino MEGA WiFi R3 ATmega2560 +
ESP8266, Module Sim900A và module đo điện năng tiêu thụ PZEM-004T.
Nội dung 2: Kết nối cảm biến khí gas, chuông báo động vào Arduino Mega
2560 Nghiên cứu giao tiếp Module Sim900A với Arduino Mega 2560
Nội dung 3: Nghiên cứu xây dựng Pzem-004T đo điện năng tiêu thụ thiết bị
Giao tiếp Arduino Mega 2560 với ESP8266
Nội dung 4: Xây dựng Firebase, thiết kế giao diện web Lập trình web.
Nội dung 5: Thiết kế mô hình cho hệ thống.
Nội dung 6: Thi công phần cứng, chạy thử nghiệm và hiệu chỉnh hệ thống.
Nội dung 7: Viết báo cáo thực hiện.
Nội dung 8: Bảo vệ luận văn.
Trang 181.4.GIỚI HẠN CỦA ĐỀ TÀI
Các thông số giới hạn của đề tài bao gồm:
- Hệ thống dùng một Kit phát triển MEGA WiFi R3 ATmega2560 +
ESP8266 để xây dựng giao tiếp với module Sim900A, module đo điện năng
Pzem-004T, module relay 4 kênh, cảm biến gas MQ-02, LCD20x4, cảm biến nhiệt độ và độ ẩm DHT11
- Board mạch chính được đặt trong hộp nhựa có kích thước 35x20x8cm
- Mô hình nhà phố tiết diện nhỏ với 1 cảm biến gas, 4 bộ đo điện năng tương đương với điều khiển và đo được tối đa được 4 thiết bị điện
- Chỉ có thể đo được điện áp xoay chiều 1 pha trong khoảng 80VAC –250VAC Dòng điện đo được trong giới hạn 0 – 100A Công suất đo đượctrong giới hạn 0-26 kW Điện năng tiêu thụ trong giới hạn 0 – 10000 kWh
- Điều khiển các thiệt bị quạt, đèn, … công suất tiêu thụ dưới 1000W, không dùng cho tải động cơ
- Hiển thị các thông số điện năng, tổng công suất và nhiệt độ độ ẩm trên màn hình LCD 20x4
- Sử dụng công tắc hành trình cho cửa khi đóng mở, đồng thời thêm mộtcông tắc bật tay khi chủ nhà ra ngoài, mục đích để cảnh báo thiết bị đanghoạt động
- Hệ thống chưa thể đáp ứng ngay lập tức thao tác lệnh của người dùng dophụ thuộc nhiều vào tốc độ mạng cũng như tốc độ xử lý của vi điều khiển
và thời gian truyền tín hiệu giữa các thiết bị trong hệ thống
Trang 19Chương 2: CỞ SỞ LÝ THUYẾT
2.1 HỆ THỐNG BÁO CHÁY THỰC TẾ
2.1.1 Giới thiệu về hệ thống báo cháy tự động
Hệ thống báo cháy tự động là một hệ thống gồm các thiết bị và cảm biến cónhiệm vụ báo động khi có khi có hiện tượng cháy nổ xảy ra, nhất thiết phải hoạt độngliên tục 24h/24h, chính xác và kịp thời trong vùng hệ thống đang cảnh báo
Tự động phát ra các tín hiệu báo động, tín hiệu điều khiển các thiết bị ngoại vi của
hệ thống báo cháy nhằm thực hiện một nhiệm vụ cụ thể nào đó Đặc biệt, với hệ thống báocháy tự động sử dụng đầu báo cháy khói thì nó còn có nhiệm vụ quan trọng hơn là “cảnhbáo”, tức là phát hiện và thông báo sự sắp cháy, sự cháy âm ỉ chưa có ngọn lửa
Quy trình hoạt động của hệ thống báo cháy đầy đủ:
Hình 2.1 Hệ thống báo cháy đầy đủ.
Trang 202.2.2 Giới thiệu các loại khí gas trong công nghiệp
a) Khái niệm
Hiện nay, với đặc tính là nguồn nhiên liệu sạch và thân thiện với môi trường thìkhí gas dần khẳng định được vị trí quan trọng trong đời sống của chúng ta và đã gópphần tạo nên sự văn minh của xã hội Lợi ích của gas là rất tích cực, được sử dụngrộng rãi trong dân dụng, thương mại, vận tải và các ứng dụng công nghiệp
Gas là hỗn hợp của các chất Hydrocacbon, trong đó thành phần chủ yếu là khíPropane (C3H8), Butane (C4H10) và một số thành phần khác
b) Ứng dụng của khí gas trong công nghiệp
Khí công nghiệp là loại nguyên liệu khí được sản xuất để sử dụng trong công nghiệp,được sử dụng nhiều nhất như: nitrogen, oxy, carbon dioxide, hydro, acetylen,… Cácloại khí công nghiệp được sử dụng trong nhiều ngành công nghiệp khác nhau.Bao gồm các ngành công nghiệp nặng như dầu khí, hoá dầu, hóa chất, điện, khai thác
mỏ, luyện kim, kim loại Và cũng được sử dụng trong các ngành dược phẩm, côngnghệ sinh học, thực phẩm, nước, phân bón, điện hạt nhân, điện tử, hàng không vũ trụ,phân tích thí nghiệm, kiểm nghiệm môi trường…
Trang 21 Ứng dụng trong thiết bị gia dụng
Máy điều hòa
Gas điều hòa là môi chất được sử dụng trong hệ thống làm hạnh hấp thụ nhiệt, cónhiệm vụ mang nhiệt từ nơi có nhiệt độ thấp thải ra nơi có nhiệt độ cao hơn Đâychính
là thành phần không thể thiếu trong quá trình làm lạnh của hệ thống điều hòa nóichung và các hệ thống làm lạnh nói riêng
Các loại gas được sử dụng trong máy điều hóa không khí như gas R22, gasR410A,gas R32 nhưng được sử dụng nhiều nhất vẫn là gas R22 và Gas R410A
- Gas điều hòa R22
Gas R22 là loại gas được sử dụng đầu tiên trên các máy lạnh, chiếm hơn 70%trên thị trường điều hòa hiện nay, được sủ dụng cho máy điều hòa không khí loạithường (không sử dụng công nghệ Inverter)
- Gas điều hòa R410A
Gas R410A có độ bay hơi cao hơn, và khi môi trường ở tầm thấp sẽ gây thiếu oxichính vì vậy mà phòng của bạn phải được thoáng khí nếu không sẽ rất nguy hiểm khi
có hiện tượng rò rỉ khí gas
- Gas điều hòa R32
Loại Gas R32 là loại gas mới nhất hiện nay, được ứng dụng sử dụng nhiều nhấttại Nhật Bản Loại gas này được phát minh ra nhằm thay thế cho loại gas R22 và loạiR410A
Tủ lạnh
Gas tủ lạnh được nằm trong các dây đồng có tác dụng chuyển tải nhiệt từ dànlạnh tới dàn nóng Khí gas khi đi qua dàn lạnh sẽ hấp thụ nhiệt xung quanh dàn lạnh đểchuyển tới dàn nóng Tại đây, khí gas sẽ được làm mát thông qua việc tản nhiệt ra môitrường
- Gas R12
Gas R12 là loại gas lâu đời nhất, được sử dụng phổ biến trong các tủ lạnh đời cũ.Gas R12 bình thường có mùi hôi, khi đốt có màu xanh lá và mùi hắc, có thể gâychoáng và nhức đầu khi hít nhiều
- Gas R134A
Trang 22Do tính chất độc hại và gây nguy hiểm cho tầng Ozon của gas R12 nên gasR134A được tạo ra để thay thế cho gas R12 Loại gas này được sử dụng phổ biến chonhiều loại tủ lạnh dân dụng hiện nay.
- Gas R404
Gas R404 là loại gas chuyên dùng cho các tủ cấp đông Loại gas này được thiết
kế dành riêng cho nhu cầu làm đông ở nhiệt độ sâu hơn đồng thời đảm bảo tuổi thọcho máy nén, các chi tiết và dầu bôi trơn cao hơn
- Gas R600
Gas R600 được ứng dụng trong các dòng tủ lạnh cao cấp Gas R600 là GasHidrocacbon (HC gas) nhằm bảo vệ môi trường và an toàn với tầng ozon, tránh hiệntượng biến đổi toàn cầu
2.2 GIỚI THIỆU MODULE CẢM BIẾN KHÍ GAS MQ-02
Hình 2.2 Module cảm biến khí gas MQ-02.
MQ-02 về cơ bản là một cảm biến khí đa năng (tương tự MQ5), MQ-02 có thểcảm nhận được một loạt các loại khí như LPG (khí dầu mỏ hoá lỏng hay còn gọi là khígas), Butane, Methane (CH4), Hidro và ngoài ra các khí này thì MQ-02 cũng nhận biết
cả khói
MQ-02 sử dụng phần tử SnO2 có độ dẫn điện thấp hơn trong không khí sạch, khi khí
dễ cháy tồn tại, cảm biến có độ dẫn điện cao hơn, nồng độ chất dễ cháy càng cao thì độ
Trang 23điện MQ-02 là cảm biến khí có độ nhạy cao với LPG, Propane và Hydrogen, Methane(CH4) và khí dễ bắt lửa khác, với chi phí thấp và phù hợp cho các ứng dụng khácnhau Cảm biến xuất ra cả hai dạng tín hiệu là Analog và Digital, tín hiệu Digital cóthể điều chỉnh mức báo bằng biến trở [12]
Ngoài ra, cảm biến MQ-02 còn được sử dụng phổ biến trên thị trường và giáthành rẻ nên chọn cảm biến MQ-02 để sử dụng cho đề tài
Thông số kĩ thuật
Nguồn hoạt động: 5 VDC
Dòng điện: 150mA
Tín hiệu: Analog và Digital
2.3 TỔNG QUAN VỀ MODULE CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM DHT11 2.3.1 Giới thiệu giao tiếp One – Wire
Là chuẩn giao tiếp không đồng bộ và bán song công Trên một đường tín hiệu
có thể gắn nhiều thiết bị tớ Nhưng chỉ có một thiết bị chủ có thể kết nối đến đườngtín hiệu này Đường dữ liệu khi ở trạng thái rãnh (không ghi/đọc dữ liệu) sẽ ở mứccao do vậy dây truyền dữ liệu được kéo lên nguồn thông qua một điện trở Các thiết
bị tớ kết nối với cùng một đường dây tín hiệu được phân biệt với nhau nhờ 64 bit địachỉ này Địa chỉ này được chia làm ba phần chính:
Hình 2.3 Cấu trúc địa chỉ của các thiết bị tớ theo chuẩn One – Wire.
Cách thức hoạt động
Tín hiệu trên bus 1 wire chia thành các khe thời gian (time slots) 60 µs, 1 bit dữliệu được truyền trên bus dựa trên khe thời gian Các thiết bị slave cho phép có thờigian nền có một chút khác biệt từ thời gian nền danh nghĩa Tuy nhiên đối với thiết bịmaster cần có bộ định thời với độ chính xác cao, để đảm bảo giao tiếp đúng với cácthiết bị slave có thời gian nền khác biệt Do đó rất quan trọng để tuân theo giới hạnthời gian mô tả trong các phần sau
Trang 24Bốn thao tác hoạt động cơ bản của bus 1 wire là Reset/Presence, gửi bit 1, bửi bit
0, và đọc bit Thao tác byte như gửi byte và đọc byte dựa trên thao tác từng bit
Gửi bit 1: Thiết bị master kéo bus xuống mức thấp trong khoảng 1 đến 15 µs Sau
đó nhả bus cho đến hết phần còn lại của time
Gửi bit 0: Kéo bus xuống mức thấp trong ít nhất 60 µs, với chiều dài tối đa 120 µs
Lưu ý: Giữa các lần gửi bit (0 hoặc 1), phải có khoảng thời gian phục hồi bus tốithiểu 1 µs
Đọc bit: Thiết bị master kéo bus xuống mức thấp từ 0 – 15 µs Khi đó thiết bị tớ
sẽ giữ bus ở mức thấp nếu muốn gửi bit 0, nếu muốn gửi bit 1 đơn giản là nhả bus Busnên lấy mẫu 15 µs sau khi bus kéo xuống mức thấp
Reset / Presence: Thiết bị master kéo bus xuống ít nhất là 8 khe thời gian (tức là
480 µs) và sau đó nhả bus Khoảng thời gian bus ở mức thấp đó gọi là tín hiệu Reset.Nếu có thiết bị slave gắn trên bus nó sẽ trả lời bằng tín hiệu Presence tức là thiết bịslave sẽ kéo bus xuống mức thấp trong khoảng thời gian 60 µs Nếu không có tín hiệuPresence, thiết bị master sẽ hiểu rằng không có thiết bị nào trên bus, và các giao tiếp sẽkhông thể diễn ra
Hình 2.4 Mô tả hoạt động của chuẩn One – Wire.
2.3.2 Giới thiệu cảm biến độ ẩm và nhiệt độ
Trang 25Hình 2.5 Sơ đồ chân module DHT11.
Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chiphí rẻ và dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp Digital 1 dây truyền dữliệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữliệu chính xác mà không phải qua bất kỳ tính toán nào
Thông số kỹ thuật
Điện áp hoạt động: 3.3V đến 5V (DC)
Dải nhiệt độ đo: 0°C ~ 50°C, sai số ± 2°C
Dải độ ẩm đo: 20% - 90% RH, sai số ± 5% RH
Tần số lấy mẫu: 1Hz, nghĩa là 1 giây DHT11 lấy mẫu một lần
Chuẩn giao tiếp: TTL, 1 – Wire
Dòng tối đa: 2.5mA
Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:
- Gửi tín hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại
10
Trang 26- Khi đã giao tiếp với DHT11, cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt
MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào
Sau khoảng thời gian là 20 - 40 µs, DHT11 sẽ kéo chân DATA xuốngthấp Nếu > 40 µs mà chân DATA không được kéo xuống thấp nghĩa
là không giao tiếp được với DHT11
Chân DATA sẽ ở mức thấp 80 µs sau đó nó được DHT11 kéo lên caotrong 80 µs Bằng việc giám sát chân DATA, MCU có thể biết được
có giao tiếp được với DHT11 không Nếu tín hiệu đo được DHT11 lêncao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT11
Bước 2: Đọc giá trị trên DHT11
- DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 Byte Trong đó:
Byte 1: giá trị phần nguyên của độ ẩm (RH%)
Byte 2: giá trị phần thập phân của độ ẩm (RH%)
Trang 27 Byte 4: giá trị phần thập phân của nhiệt độ (°C).
Byte 5: kiểm tra tổng
Nếu Byte 5 = (Byte 1 + Byte 2 + Byte 3 + Byte 4) thì giá trị độ
ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không cónghĩa
Ví dụ như ta nhận được 40 bit (5 Byte) dữ liệu như sau:
40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của nhiệt
độ và độ ẩm
Bit 0:
Hình 2.7 Bit 0.
12
Trang 28 Bit 1:
Hình 2.8 Bit 1.
- Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của DHT11 đượcMCU kéo lên 1 Nếu chân DATA là 1 trong khoảng 26 – 28 µs thì làbit 0, còn nếu tồn tại 70 µs là bit 1 Do đó trong lập trình ta bắt sườncủa chân DATA, sau đó delay 50 µs Nếu giá trị đo được là 0 thì tađọc được bit 0, nếu giá trị đo được là 1 thì ta đọc được là bit 1 Cứ nhưthế ta đọc các Bit tiếp theo
Hình 2.9 Thời gian tồn tại các bit.
2.4 TỔNG QUAN VỀ MÀN HÌNH LCD 20X4
2.4.1 Giới thiệu sơ lược về LCD
Trang 29Hình 2.10 Hình ảnh thực tế LCD 20x4.
Là kiểu màn hình tinh thể lỏng nhỏ dùng để hiển thị chữ hoặc số trong bảng mãASCII Màn hình sử dụng là màn hình text LCD 20x4 xanh dương, có khả năng hiểnthị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, dễ sử dụngthích hợp cho những người mới học và làm dự án
Bảng 2.1 Chức năng chân của LCD.
14
Trang 304 RS Chọn thanh ghi:
RS=0: chọn thanh ghi lệnh RS=1: chọn thanh ghi dữ liệu
5 R/W Chọn thanh ghi đọc viết dữ liệu: R/W=0: thanh ghi viết
R/W=1: thanh ghi đọc
Chân cho phép (Enable) Sau khi các tín hiệu được đặtlên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có
1 xung cho phép của chân E
Ở chế độ ghi: dữ liệu ở bus LCD chuyển vào thanhghi bên trong nó khi phát hiện một xung (high-to-low
Ở chế độ đọc: dữ liệu sẽ được LCD xuất ra DB0-DB7khi phát hiện cạnh lên (low-to-high transition) ở chân
E vàđược LCD giữ ở bus đến khi nào chân E xuống mức
Trang 31- Thanh ghi IR: để điều khiển LCD, người dùng phải ra lệnh thông qua
8 đường bus DB0-DB7 Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ
rõ ràng Người dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vàothanh ghi IR Nghĩa là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit,chip HD44780 sẽ tra bảng mã lệnh tại địa chỉ mà IR cung cấp và thựchiện lệnh đó
RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu
từ 2 vùng RAM này gởi ra MPU (ở chế độ đọc) Nghĩa là khi MPU ghithông tin vào DR, mạch nội bên trong chíp sẽ tự động ghi thông tin này
vào DDRAM hoặc CGRAM Hoặc khi thông tin về địa chỉ được ghivào IR, dữ liệu ở địa chỉ này trong vùng RAM nội của HD44780 sẽđược chuyển ra DR để truyền cho MPU
Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lạigiữa 2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lạicác thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp
Bảng 2.2 Chức năng chân RS và R/W.
0 0 Ghi vào thanh ghi IR để ra lệnh cho LCD
0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6
Cờ báo bận (Busy Flag)
Khi thực hiện các hoạt động bên trong chip, mạch nội bên trong cần 1 khoảngthời gian để hoàn tất Khi đang thực thi các hoạt động bên trong chip như thế, LCD
bỏ qua mọi giao tiếp với bên ngoài và bật cờ BF lên để báo cho MPU biết nó đangbận Dĩ nhiên, khi xong việc, nó sẽ đặt cờ BF lại mức 0
16
Trang 32Clear Lệnh Clear Display (xóa hiển thị) sẽ ghi một khoảng trống (blank) vào
Display tất cả ô nhớ trong DDRAM, sau đó trả bộ đếm địa chỉ AC=0, trả lại
kiểu hiển thị gốc nếu nó bị thay đổi Nghĩa là: tắt hiển thị, con trỏ dời về
góc trái (hàng đầu tiên)
Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx
home Lệnh Return home trả bộ đếm địa chỉ AC về 0, trả lại kiểu hiển thị gốc
Trang 33S: Khi S=1 toàn bộ nội dung hiển thị bị dịch sang phải (I/D=0) hoặc
sang trái (I/D=1) mỗi khi có hành động ghi vùng DDRAM Khi S=0:không dịch nội dung hiển thị Nội dung hiển thị không dịch khi đọc
DDRAM hoặc đọc/ghi vùng CGRAM
C: Hiển thị con trỏ khi C=1 và ngược lại.
B: Nhấp nháy kí tự tại vị trí con trỏ khi B=1 và ngược lại.
1 0Dịch toàn bộ nội dung hiển thị sang trái, con trỏ cũng
dịch theo
1 1Dịch toàn bộ nội dung hiển thị sang phải, con trỏ
cũng dịch theo
Trang 34DL: Khi DL=1, LCD giao tiếp với MPU bằng giao thức 8 bit (từ bit
DB7 đến DB0) Ngược lại, giao thức giao tiếp là 4 bit (từ bit DB7 đến
bit DB0) Khi chọn giao thức 4 bit, dữ liệu được truyền/nhận 2 lần liêntiếp, với 4 bit cao gởi/nhận trước, 4 bit thấp gởi/nhận sau
N: Thiết lập hàng hiển thị.
F: Thiết lập kiểu kí tự.
Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx =
CGRAM Lệnh này ghi vào AC địa chỉ của CGRAM Kí hiệu [AGG] chỉ 1 bit của
address chuỗi dữ liệu 6 bit Ngay sau lệnh này là lệnh đọc/ghi dữ liệu từ CGRAM
tại địa chỉ đã được chỉ định
Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx
DDRAM Lệnh này ghi vào AC địa chỉ của DDRAM, dùng khi cần thiết lập tọa
address độ hiển thị mong muốn Ngay sau lệnh này là lệnh đọc/ghi dữ liệu từ
DDRAM tại địa chỉ đã được chỉ định
Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx =
[BF][AC][AC][AC] [AC][AC][AC][AC]
Read BF Khi cờ BF bật, LCD đang làm việc và lệnh tiếp theo (nếu có) sẽ bị bỏ
and qua nếu cờ BF chưa về mức thấp Cho nên, khi lập trình điều khiển, bạn
address phải kiểm tra cờ BF trước khi ghi dữ liệu vào LCD
Khi đọc cờ BF, giá trị AC cũng được xuất ra các bit [AC] Nó là địa chỉ
của CGRAM hay DDRAM là tùy thuộc vào lệnh trước đó
Trang 35Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
to Khi thiết lập RS=1, R/W=0, dữ liệu cần ghi được đưa vào các chân
CGRAM DBx từ mạch ngoài sẽ được LCD chuyển vào trong LCD tại địa chỉ
or được xác định từ lệnh ghi địa chỉ trước đó
DDRAM Sau khi ghi, bộ đếm địa chỉ AC tự động tăng/giảm 1 tùy theo thiết lập
or Khi thiết lập RS=1, R/W=1, dữ liệu từ CGRAM/DDRAM được chuyển
ra MPU thông qua các chân DBx
DDRAM
Sau khi đọc, AC tự động tăng/giảm 1 tùy theo thiết lập Entry mode, tuynhiên nội dung hiển thị không bị dịch bất chấp chế độ Entry mode
2.5 MODULE CHUYỂN ĐỔI I2C
2.5.1 GIỚI THIỆU VỀ CHUẨN GIAO TIẾP
I2C a Giới thiệu
I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit Đây là đường Bus giaotiếp giữa các IC với nhau
I2C mặc dù được phát triển bởi Philips, nhưng nó đã được rất nhiều nhà sản xuất
IC trên thế giới sử dụng Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rấtnhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM chip nhớnhư: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), số tươngtự(DAC), IC điểu khiển LCD, LED
Trang 36Hình 2.12 Bus I2C và các thiết bị ngoại vi.
Đặc điểm giao tiếp I2C
Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL) SDA
là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung clock để đồng bộ vàchỉ theo một hướng
Hình 2.13 Kết nối thiết bị vào bus I2C ở chế độ chuẩn và chế độ nhanh.
Mỗi dây SDA hay SCL đều được nối với điện áp dương của nguồn cấp thông quamột điện trở kéo lên (pullup resistor) Sự cần thiết của các điện trở kéo này là vì chângiao tiếp I2C của các thiết bị ngoại vi thường là dạng cực máng để hở (opendrain hayopencollector) Giá trị của các điện trở này khác nhau tùy vào từng thiết bị và chuẩngiao tiếp, thường dao động trong khoảng 1k đến 4.7kΩ
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) đểphân biệt, nó còn được cấu hình là thiết bị đầu hay thiết bị cuối Thiết bị đầu nắm vaitrò tạo xung clock cho toàn hệ thống, khi giữa hai thiết bị đầu – cuối giao tiếp thì thiết
bị đầu có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị cuối trong suốt quá
Trang 37trong việc giao tiếp.
Hình 2.14 Hướng đi của xung Clock và hướng đi của đường dữ liệu.
Chế độ nhanh: tốc độ truyền lên đến 400Kpbs
Chế độ tốc độ cao: Chế độ này đã được tạo ra chủ yếu để tăng tốc độ dữliệu lên đến 36 lần nhanh hơn so với chế độ tiêu chuẩn Nó cung cấp 1,7Mbps (với Cb = 400 pF), và 3.4Mbps (với C> b = 100pF)
Một bus I2C có thể hoạt động ở nhiều chế độ khác nhau:
Một chủ một tớ (One master - One slave)
Một chủ nhiều tớ (One master - Multi slave)
Nhiều chủ nhiều tớ (Multi master - Multi slave)
Thiết bị chủ xác định đúng địa chỉ của thiết bị tớ, cùng với việc xác định địachỉ, thiết bị chủ sẽ quyết định việc đọc hay ghi vào thiết bị tớ -Thiết bị chủ gửi dữliệu đến thiết bị tớ Thiết bị tớ kết thúc quá trình truyền dữ liệu
b. Cách thức hoạt dộng
Trình t truyền bit trên đường truyền
22
Trang 38Hình 2.15 Trình tự truyền bit.
Thiết bị chủ tạo một điều kiện start Điều kiện này thông báo cho tất cả các thiết
bị tớ lắng nghe dữ liệu trên đường truyền Thiết bị chủ gửi địa chỉ của thiết bị tớ mà nómuốn giao tiếp và cờ đọc/ghi dữ liệụ (nếu cờ thiết lập lên 1 byte tiếp theo được truyền
từ thiết bị tớ đến thiết bị chủ, nếu cờ thiết lập xuống 0 thì byte tiếp theo truyền từ thiết
Để kết thúc quá trình giao tiếp, thiết bị chủ tạo ra một điều kiện stop
Điều kiện START và STOP
START và STOP là những điều kiện bắt buộc phải có khi một thiết bị chủ muốnthiết lập giao tiếp với một thiết bị nào đó trên bus I2C START là điều kiện khởi đầu,báo hiệu bắt đầu của giao tiếp, còn STOP báo hiệu kết thúc một giao tiếp Hình dướiđây mô tả điều kiện START và STOP
Ban đầu khi chưa thực hiện quá trình giao tiếp, cả hai đường SDA và SCL đều ởmức cao (SDA = SCL = HIGH) Lúc này bus I2C được coi là rỗi (“bus free”), sẵn sàngcho một giao tiếp Hai điều kiện START và STOP là không thể thiếu trong việc giaotiếp giữa các thiết bị I2C với nhau
Hình 2.16 Start bit và Stop bit.
Điều kiện Start: Một sự chuyển đổi trạng thái từ cao xuống thấp trên đường SDA trong
Trang 39khi đường SCL đang ở mức cao báo hiệu một điều kiện START.
Điều kiện Stop: Một sự chuyển đổi từ mức thấp lên mức cao trên đường SDA khi SCL đang ở mức cao Cả hai điều kiện START và STOP đều được tạo ra bởi thiết bị
chủ Sau tín hiệu START, bus I2C coi như đang trong trạng thái làm việc (busy) BusI2C sẽ rỗi, sẵn sàng cho một giao tiếp mới sau tín hiệu STOP từ phía thiết bị chủ Saukhi có một điều kiện START, trong quá trình giao tiếp, khi có một tín hiệu STARTđược lặp lại thay vì một tín hiệu STOP thì bus I2C vẫn tiếp tục trong trạng thái bận.Tín hiệu START và lặp lại START (Repeated START) đều có chức năng giống nhau
là khởi tạo một giao tiếp
2.5.2 Module chuyển đổi I2C cho LCD
Hình 2.17 Module chuyển đổi I2C cho LCD 20x4.
Để giao tiếp LCD thì vi điều khiển cần tối thiểu 6 chân là RS, EN, D7 – D4 Điềunày sẽ gây khó khăn cho ứng dụng vì nó tốn chân của vi điều khiển Trong khi đó, nếu
sử dụng module chuyển đổi I2C thì sẽ tiết kiệm được rất nhiết chân cho vi điều khiển.Module cần 2 chân cấp nguồn và 2 chân giao tiếp truyền nhận dữ liệu SCD
và SDA Ngoài ra có thể điều chỉnh được độ tương phản bởi biến trở gắn trênmodule thay vì gắn thêm biến trở ngoài nếu điều khiển trực tiếp
Từ những phân tích trên, việc sử dụng module I2C cho LCD là điều cần thiết
vì nó tiết kiệm chân điều khiển trên vi điều khiển, mở rộng khả năng điều khiển
hoặc giao tiếp với các thiết bị khác
Thông số kĩ thuật:
Trang 40 Điện áp hoạt động: 2.5 – 6 VDC.
Hỗ trợ màn hình: LCD1602, 1604, 2004 (Driver HD44780)
Giao tiếp: I2C
Địa chỉ mặc định: 0X27 (có thể thay đổi địa chỉ bằng ba chân A0/A1/A2)
Kích thước: 41.5mm x 19mm x 15.3mm
Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD
2.6 CHUẨN GIAO TIẾP UART
UART – Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếpbất đồng bộ UART là một ngoại vi cơ bản trong chip STM32F103C8T6 thường đượcdùng trong các quá trình giao tiếp với các loại module như: Zigbee, Bluetooth, WiFi…
Hình 2.18 Hệ thống truyền dữ liệu bất đồng bộ
.
Hình 2.19 Khung truyền dữ liệu của chuẩn giao tiếp UART.
Baudrate: Số bit truyền được trong 1s, ở truyền nhận không đồng bộ thì ở các bên
truyền và nhận phải thống nhất Baudrate Các thông số tốc độ Baudrate thường hay sử