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ênquan 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 takhô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 nhucầ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ôngty đ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êncá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ạn chế về việctruy cập từ xa. Ngoài ra, xu hướng hiện nay là sử dụng các thiết bị thông minh: điệnthoạ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ạng GSM 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 3Hệ đào tạo: Đại học chính quy Mã hệ: 1
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
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
Trang 6Từ 10/05/2020 đến
17/05/2020
- Viết chương trình điều khiển cho Arduino 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ủa các thiết bị trên
- Chạy mô phỏng, kiểm tra sửa lỗi
Tuần 13
Từ 20/06/2020 đến
27/06/2020
- Báo cáo tiến độ cho GVHD
- Viết báo cáo luận văn
- Nộp báo cáo cho GVPB
- Nghiên cứu sâu vào hệ thống
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ình nghiê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 8
LỜI CẢM ƠN
Trong suốt quá trình thực hiện đồ án tốt nghiệp, chúng em gặp rất nhiều khó
khăn về kiến thức cũng như một hướng đi chính xác của đề tài Nhờ có sự hướng dẫn
tận tình của Thầy Trương Ngọc Anh cùng các Thầy trong bộ môn Điện Tử Công
Nghiệp – Y Sinh, chúng em mới có thể hoàn thành đề tài tốt nghiệp “Nghiên cứu, thi
công hệ thống phòng cháy và báo cháy cho nhà phố” Vì thế, trong lời đầu tiên của
cuố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òn
hạ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ân thành
cảm ơn !
Người thực hiện đề tài
Nguyễn Tuấn Hiệp Trần Thanh Hoài
Trang 9
LIỆ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ơ đồ chân module DHT11
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 20X4 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 do chá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ạn chế 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ông minh: đ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ạng GSM 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 16Chương 1 TỔNG QUAN
1.1.ĐẶT VẤN ĐỀ
Như chúng ta đều biết công tác phòng cháy chữa cháy (PCCC) là điều hết sức quan trọng vì PCCC giúp làm hạn chế đến mức thấp nhất những rủi ro mà cháy nổ gây ra về người và tài sản Cháy nổ trong đời sống hàng ngày rất dễ xảy ra ở bất kì nơi đâu Nếu con người không có sự phòng vệ và những biện pháp ngăn chặn kịp thời thì cháy nổ 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 cho nhâ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áy như 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ức thấ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 trong nhà như đèn, quạt, máy sấy tóc,… qua website Các tín hiệu được gửi lên Firebase làm nơi lưu trữ dữ liệu và giao tiếp với Arduino Mega2560 thông qua NodeMCU ESP8266 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 được trong 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ột công
tắc bật tay khi chủ nhà ra ngoài, mục đích để cảnh báo thiết bị đang hoạ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 do phụ
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.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 động liê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áo chá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ảnh bá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óp phầ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ụng rộ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ác loạ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ông nghệ 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…
Ứng dụng trong ngành thực phẩm
Nước ngọt có gas đã trở thành loại nước giải khát quá quen thuộc trong cuộc sống hàng ngày của chúng ta Nước có gas chiếm đến 94% thành phần của nước ngọt, có tên gọi hóa học là: Carbon dioxide (CO2) - có vai trò như một chất bảo quản nhẹ Khí CO2 được sử dụng nhiều trong ngành sản xuất nước giải khát và bia rượu
Trong công nghiệp khí CO2 được điều chế từ các khí sinh ra khi lên men rượu bia, phân hủy chất béo, từ các khí thu được trong sản xuất hóa chất, như sản xuất amoniac hoặc tổng hợp methanol, từ khói các nhà máy công nghiệp đốt than
Trang 21 Ứng dụng trong thiết bị gia dụng
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ói chung
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, gas R410A,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ại thườ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 oxi chí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ất tạ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ại R410A
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àn lạ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ôi trường
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 gas R134A được tạo ra để thay thế cho gas R12 Loại gas này được sử dụng phổ biến cho nhiề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à Gas Hidrocacbon (HC gas) nhằm bảo vệ môi trường và an toàn với tầng ozon, tránh hiện tượ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ác nhau 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 đường tí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ức cao 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 địa chỉ 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ời gian 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ác thiế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ạn thờ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ối thiể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 Bus nê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ệu Presence, 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ì chi phí 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
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ống thấ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 cao trong 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ên cao, 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:
0011 0101 0000 0000 0001 1000 0000 0000 0100 1101 Tính toán:
8 Bit Checksum (Byte 5) = 0011 0101 + 0000 0000 + 0001 1000 +
0000 0000 = 0100 1101
Độ ẩm: 0011 0101 = 35H = 53% RH (ở đây phần thập phân có giá trị 0000 0000, nên ta bỏ qua không tính phần thập phân) Nhiệt độ: 0001 1000 = 18H = 24°C (ở đây phần thập phân có giá trị 0000 0000, nên ta bỏ qua không tính phần thập phân)
- Đọc dữ liệu: sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp
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
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 được
MCU 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ườn củ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ển thị 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ụng thí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
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 đặt lê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 thanh ghi bên trong nó khi phát hiện một xung (high-to-low
transition)
Ở chế độ đọc: dữ liệu sẽ được LCD xuất ra DB0-DB7 khi 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
thấp
7 -
14
DB0 – DB7
Chân truyền dữ liệu Có 2 chế độ sử dụng 8 đường bus
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ào thanh 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ực hiện lệnh đó
- Thanh ghi DR: thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng 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 ghi thô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 ghi và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ại giữa 2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lại cá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ảng thờ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ó đang bận
Dĩ nhiên, khi xong việc, nó sẽ đặt cờ BF lại mức 0
Trang 32góc trái (hàng đầu tiên)
Trang 33Entry
mode set
Mã lệnh DBx = DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx = 0 0 0
0 0 1 [I/D] [S]
I/D: Tăng (I/D=1) hoặc giảm (I/D=0) bộ đếm địa chỉ hiển thị AC 1 đơn
vị mỗi khi có hành động ghi hoặc đọc vùng DDRAM Vị trí con trỏ cũng
di chuyển theo sự tăng giảm này
S: 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
D: Hiển thị màn hinh khi D=1 và ngược lại Khi tắt hiển thị, nội dung
DDRAM không thay đổi
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
bảng dưới đây:
0 0 Dịch vị trí con trỏ sang trái
0 1 Dịch vị trí con trỏ sang phải
1 0 Dịch toàn bộ nội dung hiển thị sang trái, con trỏ cũng
dịch theo
1 1 Dịch toàn bộ nội dung hiển thị sang phải, con trỏ cũng
dịch theo
Trang 34Function
set
Mã lệnh DBx DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 DBx 0 0 0 [DL] [N] [F] * *
DL: 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ên
tiếp, với 4 bit cao gởi/nhận trước, 4 bit thấp gởi/nhận sau
tại địa chỉ đã được chỉ định
Lệnh này ghi vào AC địa chỉ của DDRAM, dùng khi cần thiết lập tọa
độ 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
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 35được xác định từ lệnh ghi địa chỉ trước đó
Sau khi ghi, bộ đếm địa chỉ AC tự động tăng/giảm 1 tùy theo thiết lập
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
Sau khi đọc, AC tự động tăng/giảm 1 tùy theo thiết lập Entry mode, tuy nhiê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 giao tiế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ất nhiề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ương tự(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 qua mộ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ân giao tiếp I2C của các thiết bị ngoại vi thường là dạng cực máng để hở (opendrain hay opencollector) 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ẩn giao 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 vai trò 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,7 Mbps (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 địa chỉ, 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
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
8 bit dữ liệu tới bộ nhận, bộ nhận trả lời với một bit ACK
Để 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ốn thiế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àng cho một giao tiếp Hai điều kiện START và STOP là không thể thiếu trong việc giao tiếp giữa các thiết bị I2C với nhau
Hình 2.16 Start bit và Stop bit
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) Bus I2C 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ủ Sau khi 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ều nà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ên module 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ếp bất đồng bộ UART là một ngoại vi cơ bản trong chip STM32F103C8T6 thường được dù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ử