BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA ĐỒ ÁN MÔN HỌC VI XỬ LÝ TRONG ĐO LƯỜNG VÀ ĐIỀU KHIỂN Đề tài: ĐIỀU KHIỂN CỬA, ĐÈN VÀ QUẠT SỬ DỤNG VI ĐIỀU KHIỂN Giảng
Trang 1
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA
ĐỒ ÁN MÔN HỌC
VI XỬ LÝ TRONG ĐO LƯỜNG VÀ ĐIỀU KHIỂN
Đề tài: ĐIỀU KHIỂN CỬA, ĐÈN VÀ QUẠT SỬ DỤNG VI ĐIỀU KHIỂN
Giảng viên hướng dẫn : TS Đoàn Thị Hương Giang Sinh viên thực hiện: Tạ Tiến Đạt – MSV: 19810000125
Đỗ Như Công – MSV: 19810000304 Trịnh Mai Doanh – MSV: 19810000006 Quách Đăng Lộc – MSV: 19810000229 Lớp : D14THDK&TDH
Trang 2
M Ụ C L Ụ C
LỜI MỞ ĐẦU 4
LỜI CẢM ƠN 5
Đánh giá và nhận xét của GV hướng dẫn 6
CHƯƠNG 1: ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ ĐỒ ÁN 7
1.1 Giới thiệu đề tài 7
1.2 Mục đích thiết kế 7
1.3 Phạm vi thiết kế 7
1.4 Nhiệm vụ 7
CHƯƠNG II: TỔNG QUAN VỀ LINH KIỆN SỬ DỤNG 8
2.1 Board Arduino Uno R3 8
2.2 Keypad 4*4 9
2.3 Màn hình LCD 16*2 10
2.4 Một số linh kiện khác dùng trong đề tài 12
2.4.1.Module I2C cho màn hình LCD 16*2 12
2.4.2.Động cơ Servo SG90 12
2.4.3.Module BUCK LM2596S 3A 13
2.4.4.Module Wifi ESP8266 14
2.4.5.Relay 5v, Đèn Led, Quạt 5v 15
CHƯƠNG III: THIẾT KẾ HỆ THỐNG 17
3.1 Sơ đồ khối 17
3.2 Khối nguồn nuôi 17
3.3 Khối nút điều khiển 18
3.4 Khối hiển thị thông báo trạng thái 18
3.5 Sơ đồ nguyên lý của hệ thống 19
3.6 Nguyên lý hoạt động 19
3.7 Hệ thống điều khiển qua internet 20
3.8 Mô tả hoạt động cơ bản của hệ thống 20
3.9 Hình ảnh thực tế hệ thống 21
CHƯƠNG IV: LƯU ĐỒ THUẬT TOÁN VÀ LẬP TRÌNH 22
4.1 Lưu đồ thuật toán của hệ thống 22
4.2 Chương trình điều khiển 25
Trang 3TÀI LIỆU THAM KHẢO 36
LỜI MỞ ĐẦU Như chúng ta đã biết kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật và trong dân dụng Các bộ vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, nó đã thay thế các tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sử dụng Vi điều khiển không những góp phần vào sự phát triển của kỹ thuật điều khiển và tự động hóa Để tìm hiểu chi tiết hơn về vi điều khiển và ứng dụng trong thực tế, nhóm chúng em chọn đề tài điều khiển cửa, đèn và quạt sử dụng vi điều khiển.
Tuy nhiên, vì thời gian có hạn và kiến thức chuyên môn còn hạn chế nên trong quá trình thực hiện đồ án không thể tránh những thiếu sót nhất định Vì vậy, chúng em rất mong sự giúp đỡ, ý kiến đóng góp của thầy cô cùng tất cả các bạn để
đồ án này được hoàn thiện hơn.
Chúng em chân thành cảm ơn!
Hà Nội, ngày tháng năm 2022
Trang 4LỜI CẢM ƠN Lời đầu tiên chúng em xin được gửi lời cảm ơn đến cô TS.Đoàn Thị Hương Giang Cô đã hướng dẫn và giúp đỡ tận tình chúng em nghiên cứu và hoàn thành tốt đồ án này Những lời nhận xét góp ý và hướng dẫn của thầy đã giúp chúng em có định hướng đúng đắn trong quá trình thực hiện đồ án, giúp chúng em nhìn ra được
ưu khuyết điểm của đồ án và từng bước khắc phục để có được kết quả tốt nhất Chúng em cũng xin cảm ơn thầy cô trong khoa Điều Khiển và Tự Động Hóa, bộ môn Vi Xử Lý trong Đo Lường Điều Khiển tận tình chỉ bảo, truyền đạt cho chúng
em các kiến thức chuyên ngành, những công nghệ mới cũng như cách làm việc nhóm đề hoàn thành tốt đồ án môn học này.
Hà Nội, tháng 12 năm 2022
Trang 5Đánh giá và nhận xét của GV hướng dẫn
Trang 6
CHƯƠNG 1: ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ ĐỒ ÁN.
1.1 Giới thiệu đề tài.
- Ngày nay, với sự bùng nổ của các nghành kĩ thuật đã làm cho đời sống con người ngày càng hoàn thiện Các thiết bị tự động hóa đi vào sản xuất hàng hóa và sinh hoạt hằng ngày của mỗi người Việc thiết kế mô hình hệ thống nhà thông minh phục
vụ đời sống là rất cần thiết
- Giờ đây thay vì việc đến từng công tắc đèn,… để bật tắt như trước đây, thì với giải pháp nhà thông minh chúng ta hoàn toàn có thể điều khiển một hoặc tất cả bóng đèn trong nhà chỉ với một cú chạm nhẹ vào màn hình
1.2 Mục đích thiết kế.
- Từ những kiến thức ta đã học lý thuyết, từ đó nâng cao tính vận dụng vào các khâu thiết kế để có sản phẩm tốt và chất lượng.
- Cải tiến công nghệ, tiết kiệm năng lượng và không mất thời gian đóng ngắt.
- Thiết kế bộ điều khiển phù hợp với công suất với thiết bị trong phòng.
- Tạo được một mô hình cửa tự động, sử dụng một hệ thống nhúng dùng vi điều khiển.
- Có khả năng hoạt động tự động, mở cửa khi nhập đúng mật khẩu (Password).
1.3 Phạm vi thiết kế.
- Mô phỏng hệ thống nhà thông minh trên nền tảng Arduino.
- Kết hợp với IOT để điều khiển hệ thống
1.4 Nhiệm vụ.
- Tìm hiểu về vi điều khiển Arduino, các thiết cần thiết kết nối với Arduino.
- Tìm hiểu động cơ điều khiển và led chiếu sáng.
- Mô phỏng phần mềm trên ứng dụng Proteus.
- Thiết kế trên Board Mạch Arduino Uno R3 SMD
Trang 7CHƯƠNG II: TỔNG QUAN VỀ LINH KIỆN SỬ DỤNG
2.1 Board Arduino Uno R3.
Hình 1: Cấu tạo của board Arduino Uno R3
Thông số kỹ thuật:
● Điện áp hoạt động 5V DC (chỉ cấp qua cổng
USB)
● Điện áp vào khuyên dùng 7 - 12 VDC
● Điện áp vào giới hạn 6 - 20 VDC
● Số chân Digital I/O 14 (6 chân Hardware PWM)
● Dòng tối đa trên mỗi chân I/O 30 mA
Trang 8● Bộ nhớ flash 32 KB (ATmega 328) với 0.5 KB dùng bởi Bootloader
- Chân PWM: 3, 5, 9, 10, 11: Cho phép xuất xung PWM với độ phân giải 8 bit.
- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): dùng trong giao tiếp SPI.
- Chân 13: kết nối với Led (ký hiệu chữ L trên Board), người dùng có thể dùng chân này để điều khiển Led Không nên dùng chân này để điều khiển thiết bị ngoại vi Vì khi mở nguồn ootloader làm cho chân
13 này chớp chớp nên ảnh hưởng đến thiết bị điều khiển.
- Chân A0-> A5: là các chân đọc ADC (độ phân giải 10 bit).
- Chân A4 (SDA), A5(SCL): dùng trong giao tiếp I2C.
- Tất cả các chân kể trên đều có thể sử dụng chức năng I/O (ngõ vào/ra) bình thường.
2.2 Keypad 4*4
Trang 9Hình 2: Cấu tạo của Keypad 4*4
Thông số kỹ thuật:
Module bàn phím ma trận 4x4 loại phím mềm.
Độ dài cáp: 88mm.
Nhiệt độ hoạt động 0 ~ 70oC.
Đầu nối ra 8 chân.
● 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
● Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
● Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
● LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng
ta đang làm.
- Chức năng của các chân
Mô ti Chân năng của các châng ở chế độ 4 bit hoặc 8 bit tùy
Trang 102 VDD này với VCC=5V ccăng cu
+ Logic “1”: Bus DB0-DB7 si thiết kế mạch ta nối chân này với Vdụng ta
+ ân cho phép (Enable) Sau khi các tín hi chân R/W với logic “0” để LCD hoạtàm.ệu EN).điều khiển Led Không nên dùng chân nàyhân E.ều khiển thiết bị ngoạ + Ở châ đh đhân Dh liân si đưân LCD xuDn ra DB0-DB7 khi phát hiát ciát lên (low- to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mlow- to-
Bảng 1: Bảng chức năng các chân của LCD
Trang 112.4 Một số linh kiện khác dùng trong đề tài.
2.4.1.Module I2C cho màn hình LCD 16*2.
Hình 4: Module I2C Thông Số Kỹ Thuật:
Kích thước: 41,5 mm ×19 mm ×15,3 mm
Trọng lượng: 5g
Điện áp hoạt động: 2,5 – 6V
Giao tiếp: I2C
Jump chốt: Cung cấp đền cho LCD hoặc ngắt
Biến trở xoay độ tương phản cho LCD
Tính Năng:
Tiết kiệm chân Input/ Output cho Vi điều khiển
Trang 122.4.2.Động cơ Servo SG90.
Hình 5: Động cơ Servo SG90 Động Cơ Servo SG90 là loại động cơ được dùng phổ biến trong các mô hình điều khiển nhỏ và đơn giản như cánh tay robot Động cơ có tốc độ phản ứng nhanh, được tích hợp sẵn Driver điều khiển động cơ, dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM.
Thông Số Kỹ Thuật Động Cơ Servo SG90
Trang 13Hình 6: Module BUCK LM2596S 3A Module buck DC-DC LM2596 là Module dùng để hạ điện áp đầu vào , dải điện áp đầu ra lớn ( từ 1.23V đến 30V) , nhỏ gọn , dễ dàng sử dụng, sử dụng
để biến đổi nguồn DC - DC và mạch cần giảm điện áp.
Thông Số Kỹ Thuật Của Module Hạ Áp Buck DC-DC LM2596 3A:
Điện áp đầu vào: 4V-35V
Điện áp đầu ra: 1.23V-30V
Dòng đầu ra: 3A (max)
Hiệu suất chuyển đổi: 92% (tối đa)
Tần số hoạt động module hạ áp: 150kHz
Nhiệt độ hoạt động: -40 ℃ đến + 85 ℃
Kích thước: 4.3x2.1x1.7 cm
2.4.4.Module Wifi ESP8266
Hình 7: Module Wifi ESP8266 Đặc tính nổi bật Module thu phát Wifi ESP8266
Tích hợp 2 nút nhấn
Tích hợp chip chuyển usb – uart CH340
Trang 14 Full IO : 10 GPIO, 1 Analog, 1SPI , 2 UART, 1 I2C/I2S,
PWM,v.v….
Được hỗ trợ bởi cộng đồng lớn mạnh Nodemcu
THÔNG SỐ KỸ THUẬT
Tương thích các chuẩn wifi : 802.11 b/g/n
Hỗ trợ: Wi-Fi Direct (P2P), soft-AP
Tích hợp TCP/IP protocol stack
Tích hợp TR switch, balun, LNA, power amplifier and matching network
Tích hợp bộ nhân tần số, ổn áp, DCXO and power management units
+25.dBm output power in 802.11b mode
Power down leakage current of <10uA
Integrated low power 32-bit CPU could be used as application processor
SDIO 1.1/2.0, SPI, UART
STBC, 1×1 MIMO, 2×1 MIMO
A-MPDU & A-MSDU aggregation & 0.4ms guard interval
Wake up and transmit packets in < 2ms
Dòng tiêu thụ ở Standby Mode < 1.0mW (DTIM3)
Các chẩn giao tiếp và các thông tin khác :
SDIO 2.0, SPI, UART
Integrated RF switch, balun, 24dBm PA, DCXO, and PMU
Integrated RISC processor, on-chip memory and external
memory interfaces
Integrated MAC/baseband processors
Quality of Service management
I2S interface for high fidelity audio applications
On-chip low-dropout linear regulators for all internal supplies
Proprietary spurious-free clock generation architecture
Integrated WEP, TKIP, AES, and WAPI engines
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 152.4.5.Relay 5v, Đèn Led, Quạt 5v
Hình 8: Relay 5v, Đèn Led, Quạt 5v Module Relay 2 Kênh 5V-220V 10A: Sử dụng trong điều khiển thiết bị điện, với 2 kênh điều khiển 2 thiết bị khác nhau.
Có LED báo trạng thái
Jump kết nối với ngoại vi điều khiển như vi điều khiển, Arduino, Quạt Tản Nhiệt 5V 4x4x1CM 4010-5V:
Trang 16Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 17CHƯƠNG III: THIẾT KẾ HỆ THỐNG
Khối nguồn nuôi được chia thành 2 bộ phận chính:
3.2.1 Nguồn cấp cho mạch điều khiển:
Sử dụng IC ổn áp Module BUCK LM2596S 3A chuyển điện áp 12V thành 5V cấp cho Vi điều khiển Arduino.
Datasheet:
Hình 10:Sơ đồ mạch Module Buck LM2596S
Ngõ ra OUT luôn ổn định ở 5V dù nguồn cấp có thay đổi (max=40V) Mạch này được dùng để bảo vệ những mạch điện có điện áp hoạt động 5V Nếu nguồn điện biến thiên đột ngột thì mạch điện vẫn hoạt động ổn định nhờ
có IC LM2596S giữ được điện áp ngõ ra OUT 5V không đổi.
* Trên mạch nguồn cấp cho vi điều khiển, ngoài IC LM2596S thì còn các
tụ được bố trí với chức năng lọc nguồn Vì đây là điện áp 1 chiều nhưng chưa
Trang 18được phằng vẫn còn các gợn nhấp nhô nên các tụ này có tác dụng lọc nguồn cho thành điện áp một chiều phẳng.
3.2.2 Nguồn nuôi động cơ DC
Nguồn nuôi động cơ DC được lấy từ Module BUCK LM2596S có giá trị điện áp 5V.
3.3 Khối nút điều khiển
Hình 11: Khối nút điều khiển Các nút bấm được nối với các điện trở có giá trị 10kΩ theo sơ đồ tích cực mức thấp Khi bấm một trong các nút thì dòng điện có giá trị thay đổi 0V được VĐK tiếp nhận và xử lý theo đúng chức năng của nút bấm đó
3.4 Khối hiển thị thông báo trạng thái
Hình 12: Khối hiển thị thông báo trạng thái
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 19Bộ phận hiển thị trong hệ thống là màn hình LCD loại LM016L cho phép hiển thị các trạng thái mà người dùng đang sử dụng như hiển thị password thông báo khi nhập sai mật khẩu hoặc khi người dùng thay đổi mật khẩu 3.5 Sơ đồ nguyên lý của hệ thống.
Trang 203.7 Hệ thống điều khiển qua internet
Giao diện web thiết kế đơn giản cho phép người dùng điều khiển các thiết bị nhưquạt, đèn và mở cửa qua kết nối wifi sau đó kết nối đến websever để điều khiểnthiết bị Ấn số 1 để bật quạt, số 2 để bật đèn và số 3 để mở cửa ngoài ra còn có nútchức năng mở turn on all để bật cả đèn cả quạt và turn off all để tắt quạt và đèn
3.7 8 Mô tả hoạt động cơ bản của hệ thống.
Cửa tự động:
- Chọn nhập mật khẩu (Password): Nhập mật khẩu đúng hệ thống sẽ tự động mở cửa và hiển thị trạng thái lên màn hình LCD Nếu nhập sai hệ thống cửa sẽ không được mở và đồng thời có cảnh báo hiển thị trên màn hình LCD, sau đó chờ để nhập lại.
- Khóa cửa: ấn phím # để đóng cửa.
- Để đổi mật khẩu ấn phím * và nhập mật khẩu cũ sau đó thay đổi mật khẩu mới.
Các thiết bị trong phòng:
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 21- Để điều khiển các thiết bị trong phòng có thể dùng phím nhấn hoặc có thể điều khiển qua thiết bị di động/ máy tính có kết nối internet để điều khiển
3.8 9 Hình ảnh thực tế hệ thống
Hình 13: Hình ảnh tổng quan hệ thống
Hình 14: Sơ đồ mạch đấu nối hệ thống
Trang 22Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 23CHƯƠNG IV: LƯU ĐỒ THUẬT TOÁN VÀ LẬP TRÌNH 4.1 Lưu đồ thuật toán của hệ thống
- Lưu đồ thuật toán toàn bộ hệ thống :
Trang 24- Lưu đồ thuật toán đóng mở cửa bằng mật khẩu số:
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 25- Lưu đồ thuật toán điều khiển thiết bị bằng nút nhấn:
Trang 26- Lưu đồ thuật toán thay đổi mật khẩu số:
-Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 27- Lưu đồ thuật toán điều khiển qua internet:
Trang 284.2 Chương trình điều khiển
#include <SPI.h>
#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // Khai báo thư viện LCD
#include <Keypad.h> // Khai báo thư viện Keypad
#include <SoftwareSerial.h>
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 29const byte ROWS = 4; // Bốn hàng
const byte COLS = 3; // Ba cột
Trang 30delay(500); // Ký tự hiển thị trên màn hình LCD trong 1s
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 32if (count == 1 && nochange==1) {
if (str[0] == pass[0] && str[1] == pass[1] && str[2] == pass[2] && str[3] == pass[3] && Status==0) {
Trang 38#include <LiquidCrystal_I2C.h> // Khai báo thư viện LCD
#include <Keypad.h> // Khai báo thư viện Keypad
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 39const byte ROWS = 4; // Bốn hàng
const byte COLS = 3; // Ba cột
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
char pass[4] = {'1', '1', '1', '1'}; // Cài đặt mật khẩu tùy ý
char str[4] = {' ', ' ', ' ', ' '};
int i, j, count = 0, warning = 0, pos = 0, nochange=1, ktra ;
int Status=0, check=0, countcard=0, done=1, flag=1, the1=0, the2=0, master=0;int mypos=0;
Trang 40lcd.print("*"); // Ký tự được che bởi dấu *
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 42}
i++;
}
if (count == 1 && nochange==1) {
if (str[0] == pass[0] && str[1] == pass[1] && str[2] == pass[2] && str[3] == pass[3] && Status==0) {
Trang 43lcd.print("Khong chinh xac!");
Trang 46for(pos=mypos; pos>0; pos ){
Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 48Downloaded by v? ngoc (vuchinhhp10@gmail.com)
Trang 49TÀI LIỆU THAM KHẢO
[1] Vi điều khiển trong đo lường và điều khiển tự động (Nhà xuất bản Khoa học và Kỹ thuật) - Ngô Diện Tập
[2] Lập trình điều khiển với Arduino.
[3] Vi điều khiển và ứng dụng-Lập trình Arduino từ A-Z.
[4] Cấu trúc lập trình ghép nối và ứng dụng của Vi điều khiển (Nhà xuất bản Lao động – Xã hội) - Nguyễn Mạnh Giang
[5] https://arduino.vn/
[6] Arduino cho người mới bắt đầu, Phan Minh Trí (2019).