MÔ TẢ MỤC TIÊU CỦA ĐỀ TÀI: Thiết kế và thi công một mô hình nhà thông minh, là hệ thống có thể điều khiển và giám sát từ xa qua Internet, đồng thời có thể điều khiển thiết bị trực tiếp
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH NHÀ THÔNG MINH
GVHD: NGUYỄN TRƯỜNG DUY SVTH: LÂM NGỌC NGA
MSSV: 13141196 SVTH: LÊ NGỌC DIỄM MSSV: 13141032
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ
Tp Hồ Chí Minh, tháng 07/2017
S K L0 0 5 6 9 3
Trang 2BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
TP Hồ Chí Minh, ngày 20 tháng 7 năm 2017
BẢNG MÔ TẢ CÔNG VIỆC
Họ tên sinh viên 1: Lâm Ngọc Nga _ MSSV: 13141196 Lớp: 13141DT3B _
Họ tên sinh viên 2: Lê Ngọc Diễm _ MSSV: 13141032 Lớp: 13141DT3B _
Tên đề tài:
1 MÔ TẢ MỤC TIÊU CỦA ĐỀ TÀI:
Thiết kế và thi công một mô hình nhà thông minh, là hệ thống có thể điều khiển và giám sát từ
xa qua Internet, đồng thời có thể điều khiển thiết bị trực tiếp dùng màn hình cảm ứng chạm ở khu vực trung tâm và các cảm ứng chạm ở các khu vực khác _
2 MÔ TẢ CÔNG VIỆC THỰC HIỆN ĐỀ TÀI CỦA TỪNG SINH VIÊN:
Họ tên Sinh viên 1: Lâm Ngọc Nga _
Các công việc thực hiện trong đề tài:
1 Tìm hiểu tài liệu, nghiên cứu lập trình cho bộ xử lí trung tâm
2 Tìm hiểu cách giao tiếp cảm biến dòng điện
3 Thiết kế giao diện Web giám sát và điều khiển
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH NHÀ THÔNG MINH
Trang 3ii
Họ tên Sinh viên 2: Lê Ngọc Diễm
Các công việc thực hiện trong đề tài:
1 Đọc tài liệu, nghiên cứu tìm hiểu về các module linh kiện được sử dụng trong
mô hình
3 Tìm hiểu, thiết kế mô hình vòi nước tự động
XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN
(Ký ghi rõ họ tên)
Trang 4- Sử dụng kit STM32F103VET6, màn hình giao diện LCD TFT 3.2inch, module ESP8266 và các linh kiện cần thiết liên quan đến đề tài
- Điều khiển thiết bị qua màn hình cảm ứng hoặc điều khiển từ xa qua Internet
- Có hệ thống vòi nước tự động mở đóng
- Có thể giám sát hoạt động của thiết bị qua Internet
2 Nội dung thực hiện:
- Tìm hiểu và tham khảo các tài liệu giáo trình, nghiên cứu các chủ đề, các nội dung
có liên quan đến đề tài
- Viết chương trình cho VĐK nhận tín hiệu điều khiển từ web và điều khiển thiết bị qua web
- Thiết kế giao diện web giám sát thiết bị
- Kết nối mạch phần cứng giữa vi điều khiển STM32F103VET6 với module
ESP8266, tải đèn và động cơ
- Thiết kế, thi công và lập trình các cảm biến (cảm biến hồng ngoại, cảm biến dòng điện)
- Thiết kế, thi công mô hình nhà thông minh hoàn thiện
- Lắp ráp các khối điều khiển vào mô hình
- Chạy thử nghiệm và cân chỉnh hệ thống
- Viết quyển báo cáo đồ án tốt nghiệp
- Báo cáo đồ án tốt nghiệp
III NGÀY GIAO NHIỆM VỤ: 13/03/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 20/07/2017
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Trường Duy
Họ tên sinh viên: Lâm Ngọc Nga MSSV: 13141196
Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01
Trang 5Tên đề tài: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH NHÀ THÔNG MINH
GVHD Tuần 1
7/3
- Gặp giáo viên hướng dẫn và trao đổi về đề tài đồ
án tốt nghiệp Tuần 2
Trang 7vi
LỜI CAM ĐOAN
Đề tài này là do chúng tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có
Người thực hiện đề tài
Trang 8vii
LỜI CẢM ƠN
Nhóm xin chân thành cảm ơn sự hướng dẫn của thầy Nguyễn Trường Duy, khoa Điện – Điện Tử, trường Đại học Sư phạm Kĩ thuật Tp.HCM Trong suốt thời gian thực hiện đề tài này, cùng với sự hướng dẫn và những lời góp ý của thầy về nội dung và phương pháp nghiên cứu, những lời nhận xét và chia sẻ kinh nghiệm thực tế đã giúp cho nhóm có điều kiện thuận lợi để hoàn thành tốt đồ án tốt nghiệp này
Bên cạnh đó nhóm xin cảm ơn các thầy cô trong khoa Điện – Điện Tử đã giảng dạy, truyền đạt cho chúng em những kiến thức cần thiết để chúng em có tiền đề để thực hiện đồ án tốt nghiệp Nhóm cũng xin cảm ơn các thầy cô trong bộ môn Điện Tử Công Nghiệp – Y Sinh đã góp ý cho chúng em trong quá trình thực hiện đồ án, các thầy cô luôn làm việc tích cực trong công tác quản lý và thông tin đến sinh viên để việc bảo vệ đồ án luôn đảm bảo đúng tiến độ và hiệu quả
Nhóm cũng xin gửi thật nhiều lời cảm ơn đến gia đình, bạn bè đã khích lệ tinh thần, tạo động lực mạnh mẽ để giúp nhóm hoàn thành tốt đề tài
Trân trọng cảm ơn!
Người thực hiện đề tài Lâm Ngọc Nga Lê Ngọc Diễm
Trang 9viii
MỤC LỤC
Trang bìa i
Nhiệm vụ đồ án iii
Lịch trình iv
Cam đoan vi
Lời cảm ơn vii
Mục lục viii
Liệt kê hình vẽ xi
Liệt kê bảng vẽ xiii
Danh mục các từ viết tắt xiv
Tóm tắt xv
Chương 1 TỔNG QUAN 1
1.1Đặt vấn đề 1
1.2Mục tiêu 1
1.3Nội dung nghiên cứu 1
1.4Giới hạn 2
1.5 Bố cục 2
Chương 2 CƠ SỞ LÝ THUYẾT 4
2.1Mô tả quy trình hoạt động của mô hình nhà thông minh 4
2.2 Giới thiệu phần cứng 4
2.2.1 Giới thiệu về Board STM32F103VET6 4
2.2.2 Màn hình giao diện LCD TFT 320x240 6
2.2.3 Module Wifi ESP8266 V1 8
2.2.9 Tổng quan về internet 13
2.2.10 Giới thiệu phương thức giao tiếp được sử dụng 22
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 24
3.1Giới thiệu 24
3.2 Tính toán và thiết kế hệ thống 24
3.2.1 Thiết kế sơ đồ khối hệ thống 24
Trang 10ix
3.2.2 Tính toán và thiết kế mạch 26
3.2.3 Sơ đồ nguyên lý của toàn mạch 37
3.2.4 Nguyên lý hoạt động của toàn mạch 40
Chương 4 THI CÔNG HỆ THỐNG 44
4.1 Giới thiệu 44
4.2 Thi công hệ thống 44
4.2.1 Thi công bo mạch 44
4.2.2 Lắp ráp và kiểm tra 45
4.2.2 Kết quả hình ảnh trên màn hình giao diện Web 46
4.3 Đóng gói và thi công mô hình 49
4.3.1 Đóng gói bộ điều khiển 49
4.3.2 Thi công mô hình 50
4.4 Lập trình hệ thống 51
4.4.1 Lưu đồ giải thuật 51
4.4.2 Phần mềm lập trình cho vi điều khiển 62
4.4.3 Phần mềm lập trình web 67
4.5 Viết tài liệu hướng dẫn sử dụng, thao tác 68
4.5.1 Viết tài liệu hướng dẫn sử dụng 68
4.5.2 Quy trình thao tác 71
Chương 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 74
5.1 Kết quả đạt được 74
5.2 Nhận xét đánh giá hệ thống 78
5.2.1 Ưu điểm của hệ thống 78
5.2.2 Nhược điểm của hệ thống 80
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 82
6.1 Kết luận 82
6.2 Hướng phát triển 82
TÀI LIỆU THAM KHẢO PHỤ LỤC xvi
Trang 11x
Trang 12xi
LIỆT KÊ HÌNH VẼ
Hình Trang
Hình 2.1: Kit STM32F103VET6 .5
Hình 2.2: Sơ đồ chân STM32F103VET6 6
Hình 2.3: Màn hình LCD 16x2 7
Hình 2.4: Màn hình GLCD 7
Hình 2.5: Màn hình LCD TFT 3.2inch 7
Hình 2.6: Kích thước màn hình TFT 8
Hình 2.7: Module Wifi ESP8266 V1 9
Hình 2.8: Module Wifi ESP8266 V12 10
Hình 2.9: Module cảm biến chạm TTP223 10
Hình 2.10: Module cảm biến dòng ACS712 11
Hình 2.11: Cấu tạo module cảm biến dòng ACS712 11
Hình 2.12: Module thu phát hồng ngoại V1 12
Hình 2.13: Van nước điện tử Solenoid 10mm 13
Hình 2.14: Hiệu ứng khi có sử dụng CSS 16
Hình 2.15: Giao diện làm việc với cơ sở dữ liệu 18
Hình 2.16: Các bước tạo bảng lưu trữ dữ liệu 20
Hình 3.1: Sơ đồ khối của hệ thống 25
Hình 3.2: Sơ đồ khối của khối xử lý trung tâm và các chân sử dụng 28
Hình 3.3: Sơ đồ mạch giao tiếp giữa STM32F103VET6 và màn hình cảm ứng 29
Hình 3.4: Sơ đồ mạch giao tiếp giữa STM32F103VET6 và module ESP8266 30
Hình 3.5: Sơ đồ mạch giao tiếp giữa STM32F103VET6 và tải đèn AC, cảm biến dòng 32
Hình 3.6: Sơ đồ nguyên lý mạch xử lý tín hiệu cảm biến dòng điện 34
Hình 3.7: Sơ đồ nguyên lý kết nối giữa cảm biến chạm với module Wifi esp8266 V12 35
Hình 3.8: Sơ đồ nguyên lí của khối tải tại phòng ngủ và nhà bếp 36
Hình 3.9: Sơ đồ nguyên lí của bộ điều khiển trung tâm 38
Hình 3.10: Sơ đồ nguyên lí của bộ khối điều khiển tại phòng ngủ và nhà bếp 39
Hình 3.11: Sơ đồ quá trình hoạt động truyền nhận tín hiệu 40
Hình 4.1: Sơ đồ mạch in của khối điều khiển tại phòng ngủ và nhà bếp 44
Hình 4.2: Bộ điều khiển tại phòng ngủ và nhà bếp 45
Hình 4.3: Sơ đồ kết nối của bộ điều khiển trung tâm 46
Trang 13xii
Hình 4.4: Trang đăng nhập vào giám sát và điều khiển thiết bị 47
Hình 4.5: Trang chủ của hệ thống 47
Hình 4.6: Trang hiển thị thông tin của sinh viên thực hiện đề tài 48
Hình 4.7: Trang giám sát và điều khiển thiết bị ở phòng khách 48
Hình 4.8: Trang giám sát và điều khiển thiết bị ở phòng ngủ 49
Hình 4.9: Trang giám sát và điều khiển thiết bị ở phòng khách 49
Hình 4.10: Mô hình thực tế nhà thông minh 50
Hình 4.11: Lưu đồ hoàn chỉnh của hệ thống chính 51
Hình 4.12: Lưu đồ chương trình con gửi yêu cầu tín hiệu điều khiển 54
Hình 4.13: Lưu đồ chương trình con tách chuỗi và xử lí 55
Hình 4.14: Lưu đồ chương trình con cập nhật dữ liệu sau khi phân tích 57
Hình 4.15: Lưu đồ chương trình của trang hiển thị trạng thái thiết bị 59
Hình 4.16: Lưu đồ chương trình của cập nhật trạng thái thiết bị từ phần cứng 61
Hình 4.17: Đây là cửa sổ giao diện đầu tiên khi bắt đầu lập trình một chương trình 62
Hình 4.18: Sử dụng phần mềm keil C lập trình và chế độ chạy debug 63
Hình 4.19: Màn hình hiển thị đầu tiên của phần mềm Arduino IDE 64
Hình 4.20: Đây là cửa sổ giao diện soạn thảo chương trình dùng Subline text 68
Hình 4.21: Màn hình trang chủ của giao diện trên LCD 69
Hình 4.22: Giao diện phòng khách của mô hình trên LCD 69
Hình 4.23: Giao diện phòng ngủ của mô hình trên LCD 70
Hình 4.24: Giao diện phòng bếp của mô hình trên LCD 71
Hình 4.25: Lưu đồ hướng dẫn thao tác điều khiển 72
Hình 5.1: Kết quả mô phỏng dạng sóng tại ngõ ra mạch xử lí tín hiệu 75
Hình 5.2: Kết quả mô phỏng dạng sóng tại ngõ ra mạch xử lí tín hiệu 76
Hình 5.3: Mạch thi công thực tế chuyển đổi tín hiệu áp tương tự sang tín hiệu số 77
Hình 5.4: Tìm kiếm, lựa chọn thiết bị cần sử dụng trong phần mềm Eagle 77
Hình 5.5: Giao diện điều khiển ở bộ xử lí trung tâm 79
Trang 14xiii
LIỆT KÊ BẢNG
Bảng 2.1: Thông số kĩ thuật STM32F103VET6 5
Bảng 2.2: Một số thông số kĩ thuật của cảm biến dòng ACS712 12
Bảng 2.3: Một số thẻ HTML cơ bản thường được dùng 15
Bảng 2.4: Một số thuộc tính cơ bản trong CSS 17
Bảng 3.1: So sánh thông số hoạt động của một số loại vi điều khiển 27
Bảng 3.2: So sánh thông số kĩ thuật của một vài module truyền nhận không dây phổ biến 31
Bảng 3.3: Giá trị các điện trở, biến trở đã sử dụng 34
Bảng 3.4: Dòng tiêu thụ cực đại của các thiết bị 36
Bảng 3.5: Mô tả các thông số trong nội dung chính của gói tin 42
Bảng 5.1: Thống kê thời gian thao tác và khả năng hoạt động của hệ thống 80
Trang 15UART: Universal Asynchronous serial Reveiver and Transmitter
CPU: Central Processing Unit
RISC: Reduced Instructions Set Computer
I2C: Inter-Intergrated Circuit
SPI: Serial Peripheral Interface bus
CAN: Controller Area Network
USB: Universal Serial Bus
SDIO: Secure digital input output
ADC: Analog-to-digital converter
DAC: Digital -to- analog converter,
DMA: Direct Memory Access
IEEE: Institute of Electrical and Electronics Engineers
PCB: Polychlorinated biphenyls
TTTB: Trạng thái thiết bị
TTTĐ: Trạng thái tác động
CSDL: Cơ sở dữ liệu
Trang 16xv
TÓM TẮT
Hiện nay với sự phát triển của khoa học công nghệ, đã làm cho cuộc sống của con người trở nên hiện đại hơn Cùng với xu hướng phát triển của khoa học kĩ thuật ngày càng mạnh mẽ trên toàn thế giới, một bộ phận người yêu công nghệ đã biết hoặc đã được trải nghiệm những tiện ích từ nhà thông minh
Nhóm thực hiện đề tài thiết kế và thi công mô hình nhà thông minh, với mục tiêu điều khiển các thiết bị từ xa từ Internet, thay đổi các công tắc cơ sang ứng dụng các công tắc cảm ứng điện trở và điện dung, đồng thời thiết kế và thi công một vài hệ thống bật tắt thiết bị tự động
Giải pháp sử dụng màn hình GLCD cùng với cảm ứng điện trở làm chức năng hiển thị trạng thái các thiết bị, ứng dụng cảm ứng điện trở làm công tắc bật tắt thiết bị Sử dụng sóng Wifi để truyền nhận tín hiệu điều khiển từ Internet Ngoài ra nhóm đưa ra giải pháp sử dụng các module cảm ứng điện dung thay thế cho các công tắc cơ
Các thiết bị trong ngôi nhà được điều khiển từ xa qua Internet, ứng dụng cảm biến chạm thay thế cho các công tắc cơ truyền thống giúp người dùng dễ dàng điều khiển thiết
bị hơn Các hệ thống tự động giúp tiết kiệm năng lượng
Tóm lại, nhà thông minh là hệ thống nhà kết hợp các thiết bị điện tử và kỹ thuật truyền phát không dây có tác dụng tự động hóa hoàn toàn hoặc bán tự động hóa hoạt động của các thiết bị trong ngôi nhà, giúp cuộc sống dễ dàng và tiện nghi hơn, bằng chứng là các hoạt động sinh hoạt hằng ngày đang dần theo xu hướng tự động hay được thực hiện dễ dàng từ xa Tất cả các thiết bị trong ngôi nhà của người dùng cũng có thể giám sát, điều khiển và quản lý từ xa, ngay khi người dùng không có ở nhà và còn các thiết bị còn hoạt động tự động mà không cần tác động điều khiển của người dùng
Người thực hiện đề tài
Lâm Ngọc Nga Lê Ngọc Diễm
Trang 17BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 1
Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Xã hội ngày càng phát triển, chất lượng cuộc sống ngày càng được cải thiện và nâng cao hơn Đi cùng với những tiến bộ đó, chúng ta không thể không kể đến sự phát triển vượt bậc của khoa học kĩ thuật Đặc biệt là những ứng dụng của nó đã làm cho cả thế giới thay đổi, văn minh hơn, hiện đại hơn và thông minh hơn Trong đó, vai trò của các bộ điều khiển thông minh chiếm một vị trí thiết yếu, chúng được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống và trong công nghiệp Ở Việt Nam, trong những năm gần đây thì các bộ điều khiển các thiết bị điện dân dụng trong nhà đang dần được chú ý, đã có những dự án về “ngôi nhà thông minh” hay các đề tài về điều khiển thiết
bị điện trong nhà được tìm hiểu và quan tâm
Ngôi nhà thông minh là ngôi nhà có các điều kiện kĩ thuật đảm bảo cuộc sống tốt nhất của con người Đó là một quá trình tích hợp của các hệ thống như hệ thống điều khiển và giám sát môi trường: hệ thống điều khiển đảm bảo nhiệt độ, hệ thống đảm bảo ánh sáng, mạch đóng ngắt, điều khiển cửa ra vào, giám sát cảnh báo cháy thành một hệ thống thống nhất
Xuất phát từ những thực tiễn nói trên, nhóm quyết định thực hiện đề tài: “Thiết
kế và thi công mô hình nhà thông minh”
1.2 MỤC TIÊU
Mục tiêu mà nhóm thực hiện sẽ bao gồm các nội dung chính như sau:
Thiết kế và thi công được mô hình nhà thông minh giúp điều khiển từ xa hệ thống đèn, quạt,… thông qua Internet, đồng thời có thể điều khiển thiết bị trực tiếp dùng cảm ứng chạm
Thiết kế và thi công hệ thống vòi nước thông minh
1.3 NỘI DUNG NGHIÊN CỨU
Tìm hiểu và tham khảo các tài liệu giáo trình, nghiên cứu các chủ đề, các nội dung có liên quan đến đề tài
Trang 18BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2
Viết chương trình cho VĐK nhận tín hiệu điều khiển từ web và điều khiển thiết
bị qua web
Thiết kế giao diện web giám sát thiết bị
Kết nối mạch phần cứng giữa vi điều khiển STM32F103VET6 với module ESP8266, tải đèn và động cơ
Thiết kế, thi công và lập trình các cảm biến (cảm biến hồng ngoại, cảm biến dòng điện)
Thiết kế, thi công mô hình nhà thông minh hoàn thiện
Lắp ráp các khối điều khiển vào mô hình
Chạy thử nghiệm và cân chỉnh hệ thống
Viết quyển báo cáo đồ án tốt nghiệp
Báo cáo đồ án tốt nghiệp
1.4 GIỚI HẠN
Sử dụng vi điều khiển STM32F103VET6 làm bộ xử lí trung tâm điều khiển và giám sát toàn bộ thiết bị trong nhà thông qua module ESP8266
Điều khiển và giám sát thiết bị qua màn hình cảm ứng hoặc qua Internet
Hệ thống có thể được điều khiển trực tiếp trong nhà dùng cảm ứng chạm
Trang 19BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3
Ở chương này ta giới thiệu phần cứng, lựa chọn linh kiện thiết bị được sử dụng
và giới thiệu khái quát về chức năng, thông số kĩ thuật của các linh kiện đó, chuẩn giao tiếp sử dụng
Chương 3: Tính Toán Và Thiết Kế
Ở chương này ta trình bày sơ đồ khối của hệ thống, giải thích các khối, quy trình hoạt động và tính toán các thông số cần thiết của hệ thống Trình bày và giải thích sơ đồ nguyên lí
Chương 4: Thi Công Hệ Thống
Ở chương này ta tiến hành thi công hệ thống, lưu đồ giải thuật, viết chương trình và thiết kế giao diện cho web
Chương 5: Kết Quả, Nhận Xét và Đánh Giá
Ở chương này ta trình bày kết quả đã đạt được, nhận xét đánh giá về hệ thống,
về các khối cảm biến, hình ảnh thực tế và hoạt động của thiết bị Đưa các thông số đạt được của thiết bị Trình bày kết quả của giao diện web và giải thích
Chương 6: Kết Luận và Hướng Phát Triển
Ở chương cuối ta trình bày những kết luận rút ra được sau quá trình tìm hiểu và thực hiện đề tài, kết luận về khả năng hoạt động của thiết bị trên thực tế Qua đó đưa ra những kiến nghị và đề xuất hướng phát triển của đề tài
Trang 20BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4
Chương 2 CƠ SỞ LÝ THUYẾT
2.1 MÔ TẢ QUY TRÌNH HOẠT ĐỘNG MÔ HÌNH NHÀ THÔNG MINH
Quy trình hoạt động củahệ thốngđược mô tả cơ bản như sau:
Các thiết bị trong ngôi nhà được giám sát và điều khiển từ 3 nơi khác nhau: từ
xa qua Internet, từ bộ xử lí trung tâm đặt tại phòng khách và từ bộ điều khiển tại nơi đặt thiết bị
Ban đầu, sau khi cấp nguồn cho hệ thống, ta tiến hành lấy trạng thái thiết bị từ các phòng, từ cơ sở dữ liệu trên web đồng thời kết hợp với các tín hiệu điều khiển ở bộ
xử lí trung tâm Sau đó bộ xử lí trung tâm sẽ phân tích, tính toán tín hiệu điều khiển trạng thái thiết bị hiện tại Cuối cùng, tiến hành gửi lệnh điều khiển các thiết bị ở phòng khách, phòng ngủ, phòng bếp và cập nhật trạng thái thiết bị mới vào cơ sở dữ liệu Hệ thống tự lặp lại chu trình tổng hợp và điều khiển thiết bị
Ngoài ra hệ thống còn có bộ vòi nước hoạt động mở đóng tự động khi người dùng đưa tay lại gần vòi nước
2.2 GIỚI THIỆU PHẦN CỨNG
2.2.1 Giới thiệu về Board STM32F103VET6
a Tổng quan về Board STM32F103VET6
Dòng ARM cortex là một bộ xử lí thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ hiện nay Dòng Cortex bao gồm 3 phân nhánh chính: dòng A dành cho những ứng dụng cao cấp, dòng R dành cho các ứng dụng thời gian thực và dòng M dành cho các ứng dụng vi điều khiển và chi phí thấp STM32 được thiết kế dựa trên dòng Cortex-M3, được thiết kế đặc biệt để nâng cao hiệu suất hệ thống và tiêu thụ năng lượng thấp
Trung tâm của bộ xử lý Cortex là một CPU kiến trúc RISC 32-bit
Trang 21BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5
Hình 2.1 Kit STM32F103VET6[1]
Đối với kit STM32F103VET6 có cấu hình như sau:
Bảng 2.1 Thông số kĩ thuật STM32F103VET6
Trang 22BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6
Hình 2.2 Sơ đồ chân STM32F103VET6[2]
Các ngoại vi: 2 bộ I2C, 5 bộ USART, 3 bộ SPI, 1 CAN, 1 USB 2.0, 1 SDIO
11 Timers, 3 bộ chuyển đổi ADC 12 bit, 3 bộ chuyển đổi DAC 12 bit
12 kênh DMA, hỗ trợ các ngoại vi: Timers, ADCs, DAC, SDIO, I2Cs, USARTs
2.2.2 Màn hình giao diện LCD TFT 320x240
Ngày nay, thiết bị hiển thị LCD (Liquid CryStal Display) được sử dụng rất nhiều trong các ứng dụng của vi điều khiển LCD có rất nhiều ưu điểm so với các dạng hiển thị khác, ví dụ như Led đơn, Led 7 đoạn… Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa)
Ngoài thị trường hiện đang có khá nhiều LCD với đủ chủng loại, tương ứng với chức năng càng cao thì giá thành càng đắt, cách thức giao tiếp cũng trở nên phức tạp hơn
Một vài chủng loại màn hình LCD như:
Trang 23BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7
Do nhu cầu cần sử dụng để thiết kế giao diện điều khiển đẹp, hoàn chỉnh và tiện lợi nên thiết bị hiển thị được chọn là màn hình cảm ứng LCD TFT 3.2inch
Màn hình TFT có kích thước dài và rộng là 320x240
Trang 24BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8
Hình 2.6 Kích thước màn hình TFT[1]
Chip sử dụng điều khiển màn hình TFT có tên là ILI9328 có mã thiết bị là 0x9328
IC hỗ trợ điều khiển màn hình cảm ứng điện trở là ADS7843
- Giao tiếp màn hình cảm ứng dùng 4 dây
- Chuyển đổi tỉ lệ với đơn vị met
- Nguồn cung cấp 2.7v đến 5v
- Giao tiếp với vi điều khiển theo chuẩn truyền SPI
2.2.3 Module Wifi ESP8266 V1
Các ứng dụng nổi bật của Wifi gồm:
- Giám sát và điều khiển thiết bị từ xa qua Internet
- Hỗ trợ cho các ứng dụng IOT
b Module Wifi ESP8266
Trang 25BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9
Hình 2.7 Module Wifi ESP8266
Hiện nay trên thị trường có khá nhiều phiên bản của module ESP8266, tuy nhiên do nhu cầu đơn giản là truyền nhận dữ liệu lên cơ sở dữ liệu nên trong đề tài này nhóm chọn sử dụng module ESP8266 v1, giao tiếp với vi điều khiển qua phương thức UART
ESP8266 là một dòng chip tích hợp Wifi 2.4GHz có thể lập trình được
Tính năng:
- Mạch nhỏ, gọn (24.75mm x 14.5mm)
- Điện áp làm việc là 3.3v
- Tích hợp sẵn anten trên module
- Có 2 led báo hiệu: led nguồn và led TXD
- Có các chế độ: Access point, Station và Access point + Station
- Khoảng cách giữa các chân 2.54mm
b Một số thông số kĩ thuật
Trang 26BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 10
Hỗ trợ chuẩn wifi 802.11 b/g/n
Hoạt động ở 3 chế độ: Station/SotfAP/station+SotfAP
Network protocols: TCP/UDP/HTTP/FTP
CPU: Vi điều khiểnTensilica L106 32bit – 80MHz
Ngoại vi giao tiếp: 16 GPIO / 10-bit ADC / SPI / HSPI / SDIO / I2C / I2S / UART / IR Remote Control
Điện áp hoạt động: 3.0V – 3.6V
Dòng điện trung bình: 80mA
Bộ nhớ: 64KB boot ROM, 64 KB instruction RAM và 96 data RAM
Power Mode: Normal – Sleep mode – Deep sleep mode
Hình 2.8.Module ESP8266 V12
2.2.5 Cảm biến chạm
Hình 2.9 Module cảm biến chạm TTP223
Trang 27BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 11
Điện áp hoạt động: 3 – 5VDC
Thời gian khởi động sau khi cấp nguồn của module: nhỏ hơn 0.5s
Sau khi khởi động xong, module sẽ vô hiệu hóa khi không có tác động chạm
Tự khởi động ngay khi có tác động bề mặt
Sử dụng trong các ứng dụng đơn giản, dễ sử dụng, chi phí thấp
Cảm biến có ngõ ra digital, khi không có tác động chạm ngõ ra mức 0, khi có tác động chạm ngõ ra lên mức 1
2.2.6 Cảm biến đo dòng điện
a Giới thiệu
Hình 2.10 Module cảm biến dòng ACS712
Cảm biến dòng điện ACS712 là IC cảm biến dòng tuyến tính Cảm biến xuất ra một tín hiệu tương tự, điện áp ngõ ra thay đổi tuyến tính theo sự thay đổi của dòng điện được lấy mẫu thứ cấp Tụ ( Cf theo sơ đồ ) được dùng với mục đích chống nhiễu
Hình 2.11 Cấu tạo module cảm biến dòng ACS712[3]
Trang 28BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 12
b Thông số kĩ thuật
Bảng 2.2 Một số thông số kĩ thuật của cảm biến dòng ACS712[3].
Đường tín hiệu analog có độ nhiễu thấp
Độ nhạy đối với các loại module
ACS 712-05B (5Ampe): 180 – 190 mV/A
ACS 712-20A (20Ampe): 96 – 104 mV/A
ACS 712-30A (30Ampe): 64 – 68 mV/A
2.2.7 Module thu phát hồng ngoại V1
Hình 2.12 Module thu phát hồng ngoại V1
Module sử dụng cặp thu phát hồng ngoại 5mm Ứng dụng trong việc phát hiện vật cản, tự tránh chướng ngại vật…
Trang 29BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 13
Khoảng cách phát hiện vật cản trong điều kiện tối ưu từ 2 - 30cm Khoảng cách cho kết quả tốt trong điều kiện thực tế là 2-10 cm Điều chỉnh khoảng cách bằng cách thay đổi giá trị của biến trở tinh chỉnh
2.2.8 Van nước điện tử Solenoid 10mm
Hình 2.13 Van nước điện tử Solenoid 10mm
Van nước điện tử Solenoid 10mm có tiết diện ống vào ra là 10mm thích hợp để đóng ngắt các thể tích nhỏ, chính xác, sử dụng cho các máy pha chế, chiết rót rượu,…
Trang 30BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 14
Internet là “một hệ thống thông tin toàn cầu” có thể được truy cập công cộng giữa các mạng máy tính được liên kết với nhau
TCP/IP là bộ giao thức cho phép kết nối các hệ thống mạng không đồng nhất với nhau
Ngày nay TCP/IP được dùng rộng rãi trong mạng cục bộ cũng như mạng toàn cầu TCP/IP được xem như giản lược của mô hình tham chiếu OSI với 4 tầng như sau:
- Tầng liên kết (Datalink Layer)
- Tầng Mạng (Internet Layer)
- Tầng Giao Vận (Transport Layer)
- Tầng ứng dụng (Application Layer)
Phương thức hoạt động của bộ giao thức TCP/IP:
Khi truyền dữ liệu, quá trình tiến hành từ tầng trên xuống tầng dưới (tầng ứng dụng truyền xuống tầng liên kết), qua mỗi tầng dữ liệu được thêm vào thông tin điều khiển gọi là Header
Khi nhận dữ liệu thì quá trình này sẽ xảy ra ngược lại Dữ liệu được truyền từ tầng dưới lên tầng trên (tầng liên kết truyền lên tầng ứng dụng) và qua mỗi tầng thì phần Header tương ứng sẽ được lấy đi và khi đến tầng cuối cùng thì dữ liệu không còn phần Header nữa
b Ngôn ngữ HTML
HyperText Markup Language (HTML), ngôn ngữ đánh dấu siêu văn bản, được
sử dụng để tạo một website, trên một website có thể chứa nhiều trang
Nó dùng để định dạng bố cục, các thuộc tính liên quan đến cách hiển thị của một đoạn text và được hiển thị trên một chương trình đặc biệt gọi là Browser Hiện nay có khá nhiều Browser như Chrome, Cốc Cốc, Firefox… Tất cả các Browser đều
có điểm chung là giúp người dùng thao tác với website và nó đều có khả năng biên dịch những đoạn mã HTML, CSS và Javacript
HTML có cấu trúc rất đơn giản và logic, bố cục từ trên xuống, từ trái sang phải Bao gồm hai phần chính là HEAD và BODY
Trang 31BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 15
Tập tin HTML được lưu với phần mở rộng là html
Các website viết bằng HTML đều tuân theo cấu trúc:
- Mọi trang HTML đều phải khai báo DOCTYPE (định nghĩa chuẩn văn bản) ngay từ dòng đầu tiên
- Thẻ <html> và </html>: cho trình duyệt biết đây là mở đầu và kết thúc của trang HTML
- Thẻ <head>: chứa tiêu đề và các thông tin khai báo, các thông tin ẩn
- Thẻ <body>: sẽ hiển thị nội dung của website Đây là phần thông tin mà người dùng sẽ nhìn thấy khi trình duyệt đọc các đoạn code HTML
Mọi kí tự nằm giữa dấu <! và > sẽ được xem là thẻ comment, trình duyệt sẽ
bỏ qua, không xử lí và không hiển thị
Bảng 2.3 Một số thẻ HTML cơ bản thường được dùng:
<div> Được sử dụng để định nghĩa một khu vực trong tài liệu của bạn Khi
sử dụng thẻ <div> bạn có thể nhóm các khu vực lớn của các phần tử HTML với nhau và định dạng chúng với CSS
<ul> Xác định danh sách không thứ tự
<li> Xác định danh sách item
<a> Xác định một liên kết
<button> Xác định một nhút nhấn
<p> Xác định một đoạn văn bản
c Ngôn ngữ CSS
Trang 32BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 16
CSS, Cascading Style Sheets, là ngôn ngữ dùng để tìm và định dạng lại các phần tử được tạo ra bởi ngôn ngữ HTML Sử dụng HTML để định dạng các phần tử cho website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng… và CSS sẽ giúp các phần tử HTML thay đổi cấu trúc rất nhiều như đổi màu sắc cho trang, đổi màu chữ, thêm các hiệu ứng cho đoạn văn bản…
Cấu trúc một đoạn CSS bao gồm 4 phần:
Trang 33BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 17
và gia strij của thuộc tính phải được cách nhau bởi dấu hai chấm “:”, sử dụng dấu chấm phẩy “;” để kết thúc khai báo một thuộc tính Một vùng chọn được sử dụng
nhiều thuộc tính và không giới hạn số lượng thuộc tính
Tập tin CSS được lưu với phần mở rộng là css
Bảng 2.4 Một số thuộc tính cơ bản trong CSS
width Chiều dài của đối tượng
height Chiều cao của đối tượng
background Chèn ảnh nền hoặc màu nền cho website
margin Khoảng cách giữa hai đối tượng
box-shadow Thuộc tính chèn bóng đổ cho đối tượng
float Cố định đối tượng về một phía
font-size Cỡ chữ tính theo pixel
color Màu chữ
d Ngôn ngữ PHP
PHP (Personal Home Page) là ngôn ngữ lập trình kịch bản (scripting language),
mã nguồn mở, được dùng phổ biến để tạo ra các ứng dụng web Một đoạn code PHP được đặt trong cặp thẻ: <?php và ?>
Trang 34BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 18
- Mã lệnh của chương trình cần được đặt trong cặp thẻ <?php và ?>
- Sử dụng dấu chấm phẩy ; để kết thúc một câu lệnh
- Văn bản cần được đặt trong cặp dấu nháy đơn hay cặp dấu ngoặc đơn Tập tin PHP được lưu với phần mở rộng là php
e Quản lí cơ sở dữ liệu
PhpMyAdmin là một công cụ nguồn mở miễn phí được viết bằng PHP dùng để
xử lí quản trị của MySQL thông qua một trình web Có thể thực hiện nhiều tác vụ như tạo, sửa đổi hoặc xóa bỏ CSDL, bảng, các trường hoặc bản ghi, thực hiện báo cáo SQL, hoặc quản lí người dùng và cấp phép
Các thao tác thường dùng có thể được thực hiện thông qua giao diện người dùng mà vẫn có khả năng thực hiện trực tiếp bất kỳ câu lệnh SQL nào bằng
phpMyAdmin
SQL ( Structed Query Language) Ngôn ngữ truy vấn có cấu trúc: là ngôn ngữ theo chuẩn ANSI để định nghĩa và xử lí dữ liệu trong một cơ sở dữ liệu quan hệ Các
phát biểu SQL dùng để truy tìm và cập nhật dữ liệu trong một cơ sở dữ liệu
MySQL là một trong những hệ thống quản lí CSDL mã nguồn mở quan hệ SQL
sử dụng trên web phổ biến nhất hiện nay
Hình 2.15 Giao diện làm việc với cơ sở dữ liệu
Trang 35BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 19
Trên màn hình hiển thị được chia thành 3 phần cần chú ý:
Phần 1, danh sách các CSDL mặc định và do người dùng đã tạo trong MySQL
Phần 2, danh sách các thông số về MySQL đang được người dùng sử dụng Phần 3, gồm các thẻ sau:
- Databases: quản lí các CSDL, bao gồm các công việc như: tạo mới, xóa, sửa…
- Export: cho phép lưu trữ dữ liệu vào ổ cứng dưới dạng file text
- Import: chèn các tập tin SQL từ bên ngoài vào CSDL hiện tại
- Settings: tùy chỉnh các cấu hình cho phpMyAdmin của người dùng
f Tạo bảng trong CSDL
Bảng là một dụng cụ giúp việc quản lí CSDL của người dùng trở nên dễ dàng hơn Bảng dùng để lưu trữ mọi dữ liệu mà người dùng muốn Thông qua bảng, người dùng có thể theo dõi các dữ liệu của mình, bên cạnh đó người dùng còn có thể quản lí CSDL như việc tạo mới, thêm, xóa, sửa các bảng trong CSDL
Trang 36BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 20
Bước 2:
Mục Name: khai báo tên table muốn tạo (ví dụ: dtcn)
Mục Number of columns: khai báo số cột trong table (ví dụ: 4)
Bước 3: Nhấn nút Go
Hình 2.16 Các bước tạo bảng lưu trữ dữ liệu
Sau đó một cửa sổ mới hiện ra, ở đây ta khai báo các trường trong bảng
và chọn Save
- Cách 2: dùng câu lệnh php với cú pháp sau:
CREATE TABLE ten_bang(
Trang 37BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 21
g Các cú pháp lệnh sử dụng cho cơ sở dữ liệu
Người dùng có thể thêm, cập nhật, truy xuất dữ liệu trong các bảng
Để thêm (insert into) dữ liệu vào bảng, ta có 2 cú pháp để thực hiện:
Cú pháp 1: INSERT INTO table_name VALUES (value1,value2,value3); Trong đó:
- table_name là tên của bảng mà ta muốn chèn thêm dữ liệu vào
- value1, value2, value3 lần lượt là giá trị của cột 1, cột 2, cột 3 của bảng
mà ta muốn thêm dữ liệu
Chú ý: phải điền đầy đủ số value trong bảng, điều thiếu sẽ không chạy được và
bị lỗi
Cú pháp 2: INSERT INTO table_name (column1,column2,column3)
VALUES (value1,value2,value3);
Trong đó:
- table_name là tên của bảng mà ta muốn chèn thêm dữ liệu vào
- column1 column2, column3 lần lượt là tên tương ứng của cột 1, cột 2, cột 3 trong bảng
- value1, value2, value3 lần lượt là giá trị của cột 1, cột 2, cột
Để chỉnh sửa (update) dữ liệu trong bảng, ta sử dụng cú pháp sau:
UPDATE table_name
SET column_name1=value1, column_name2=value2
WHERE column_name=value;
Dữ liệu được cập nhật theo hàng trong một bảng
Có nghĩa là sau khi thực khi lệnh này, giá trị của cột column1 sẽ được cập nhật thành value1, giá trị của cột column2 sẽ được cập nhật thành value2 trong bảng table_name tại những hàng mà cột column_name có giá trị là value
Để lấy (truy xuất) dữ liệu từ một bảng nào đó, ta có 2 cú pháp:
Trang 38BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 22
Cú pháp 1: SELECT * FROM name_table;
Cú pháp này sẽ lấy tất cả dữ liệu của bảng có tên là name_table
Dấu (*) có nghĩa là sẽ chọn hết các cột của bảng
Cú pháp 2: SELECT name_column1, name_column2 FROM name_table;
Cú pháp này sẽ lấy tất cả dữ liệu có trong 2 cột có tên là name_column1 và name_column2 trong bảng name_table
2.2.10 Giới thiệu phương thức giao tiếp được sử dụng
Truyền thông nối tiếp không đồng bộ (UART)
UART là viết tắt của cụm từ Universal Asynchronous Receiver – Transmitter Thường là một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và các thiết bị ngoại vi Rất nhiều vi điều khiển hiện nay đã được tích hợp UART
Như đã biết, giao tiếp SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung clock (SCL) để đồng bộ trong giao tiếp Với UART thì không có dây SCL, vấn đề được giải quyết khi mà việc truyền UART được dùng giữa 2 vi xử lí với nhau, đồng nghĩa với việc mỗi vi xử lí có thể tự tạo ra xung clock cho chính nó sử dụng
Các thông số cơ bản trong truyền nhận UART
- Baud rate ( tốc độ baud ): Khoảng thời gian dành cho 1 bit được truyền Phải được cài đặt giống nhau ở gửi và nhận
- Frame ( khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền
- Start bit: là bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp đc truyền đến Bit bắt buộc
- Data: dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB
Trang 39BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 23
- Parity bit: kiểm tra dữ liệu truyền có đúng không
- Stop bit: là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu đây là bit bắt buộc phải có
Trang 40BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 24
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Với đề tài thiết kế mô hình nhà thông minh để điều khiển các thiết bị trong nhà Theo đó, các thiết bị phải được điều khiển một cách thông minh và tiện lợi cho người sử dụng Thứ nhất là các thiết bị có thể điều khiển qua màn hình cảm ứng được đặt ở trung tâm ngôi nhà Thứ hai là điều khiển ở bất cứ đâu nếu ta muốn thông qua trình duyệt web Thứ ba là ta có thể điều khiển trực tiếp thông qua cảm ứng chạm tại vị trí đặt thiết bị Hệ thống có thể kiểm tra trạng thái thiết bị trong toàn bộ ngôi nhà để nắm bắt và kiểm soát
nó một cách tối ưu nhất
Ngoài ra còn có hệ thống vòi nước thông minh, có chức năng tự động mở van nước khi người dùng đưa tay đến gần vòi nước
Các nội dung thiết kế sẽ được trình bày bao gồm:
- Thiết kế sơ đồ khối
- Lựa chọn, bố trí linh kiện
- Lắp ráp các khối, bố trí mô hình
- Thiết kế giao diện hiển thị
- Thiết kế chương trình điều khiển
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
Sơ đồ khối hoàn chỉnh của hệ thống được thể hiện qua hình sau: