Tải bản đầy đủ (.docx) (30 trang)

THIẾT kế hệ THỐNG điều KHIỂN tự ĐỘNG hóa TRONG NHÀ (có code và sơ đồ mạch)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (868.55 KB, 30 trang )

THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN
TỰ ĐỘNG HÓA TRONG NHÀ


MỤC LỤC

DANH MỤC CÁC HÌNH VẼ

DANH MỤC CÁC BẢNG BIỂU


DANH MỤC CÁC TỪ VIẾT TẮT
ADC

Analog-to-digital converter

CPU

Central processing unit

EEPROM

Electrically erasable programmable read-only memory

GND

Gemeinsame Normdatei Ground

LCD

Liquid-Crystal Display



RAM

Random-access memory

ROM

Read-only memory

RFID

Radio-frequency identification

VCC

Voltage at the common collector

AVR

Aboriginal Voices Radio

IDE

Integrated Development Environment

PWM

Pulse Width Modulation

SPI


Serial Peripheral Interface

TX

Transmitter

RX

Receiver

UART

Universal Asynchronous Receiver/Transmitter

ADC

Analog-to-digital conversion


Trang 4/27

CHƯƠNG 1.

TỔNG QUAN VỀ HỆ THỐNG TỰ ĐỘNG HÓA

1.1 Giới thiệu
Ngày nay, cùng với sự phát triển của khoa học và công nghệ tiên tiến, các thiết bị tự
động hóa trong nhà được biết đến như một nhu cầu thiết yếu của con người, từ các
thiết bị điều khiển đơn giản như romote người ta đã cải tiến ra các sản phẩm được

điều khiển bằng các thiết bị hiện đại hơn như máy tính hay các thiết bị cầm tay như
ipad, điện thoại di động đều có thể đảm nhiệm những công việc điều khiển.
Để đảm báo tính bảo mật trong từng hộ gia đình với phương thức bảo mật đơn giản
bằng cách mở cửa bằng thẻ từ đã giúp chủ hộ linh họat hơn mà vẫn đảm bảo được
an ninh, hay việc xem nhiệt độ phòng và cập nhật nhiệt độ từ một trang web định
sẳn sẽ giúp chủ nhân của ngôi nhà cập nhật thời tiết nơi mình đang sống, những
công việc như vậy đã tạo nên một ngôi nhà thông minh có khả năng tự động hóa với
chi phí phải chăng.
1.2 Truyền nhân dữ liệu bằng sóng vô tuyến RF
Truyền nhận dữ liệu không dây tạo nên một phương thức giao tiếp lớn trong hệ
thống thông tin di động. Truyền nhận dữ liệu từ xa dùng sóng RF hay radio có ưu
thế lớn do tính đa hướng của thiết bị và cùng với tần số hoạt động cao.
Sơ đồ khối truyền nhận gồm một module phát và một module thu.

Module mã hóa tín

Module thu RF

hiệu và phát RF

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 5/27

CHƯƠNG 2.

NỘI DUNG CỦA ĐỀ TÀI

2.1 Thiết kế phần cứng

2.1.1
-

Tổng quan Arduino

Arduino là một công cụ điện tử hữu ích cho mọi đối tượng người dụng từ
phổ thông đến đại học với phần cứng và phần mềm dễ sử dụng. Arduino có
thể kích hoạt một động cơ, bật tắt led, điều khiển các thiết bị trong nhà,… Để
làm được điều này cần phải sư dụng ngôn ngữ lập trình cho arduino và phần

-

mềm arduino IDE.
Phần mềm Arduino IDE được tạo ra dưới dạng các công cụ mã nguồn mở có
thể mở rộng với các lập trình viên có nhiều kinh nghiệm, ngôn ngữ có thể

-

được mở rộng thông qua thư viện C++.
Trong đồ án được trình bày sau sử dụng Arduino Uno R3 để thực hiện nạp
code cho chip điều khiển Atmega328p
2.1.2

-

ATmega 328p

Hình dạng thực tế:

Hình 2.1: Hình dạng Atmega328p [7]


Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 6/27

-

-

-

AVR có cáu trúc Harward, trong đó đường truyền cho bộ nhớ dữ liệu và
đường truyền cho bộ nhớ chương trình được tách riêng. Data memory chỉ có
8 bit và được kết nối với hầu hết các thiết bị ngoại vi, với register file. Trong
khi đó program memory bus có độ rộng 16 bit và chỉ phục vụ cho instruction
register.
Bộ nhớ chương trình là bộ nhớ Flash lập trình , trong các chip AVR cũ
như(AT90S1200 hay AT90S2313…) bộ nhớ chương trình gồm Application
Flash Section nhưng trong các chip AVR mới có thêm Boot Flash section.
Vi điều khiển Atmega328p có các bộ nhớ sau.
+ 32kb bộ nhớ Flash: code lập trình được trên arduino được lưu trữ trong
Flash của nó. Trong quá trình lập trình và Bootloader cho vi điều khiển này
thường tiêu hao khoảng tối đa 20kb bộ nhớ của vi điều khiển.
+EEPROM 1024B, SRAM 2KB, 23 dòng I/O thông dụng, 32 thanh ghi hoạt
động chung.
+ Bộ đếm với chế độ so sánh, lập trình nối tiếp USART, một cổng nối tiếp
định hướng 2 byte, cổng nối tiếp SPI, bộ chuyển đổi A / D, bộ đếm thời gian
theo dõi có thể lập trình với bộ dao động nội. Linh kiện hoạt động từ 1,8-5,5
volts.

Bảng 2-1: Tóm tắt đặc điểm của Atmega328P

+
+
+
+
+

Đặc điểm
Kiến trúc hoạt động
Xung nhịp lớn nhất
Bộ nhớ chương trình
Bộ nhớ EEPROM
Bộ nhớ RAM
Điện áp hoạt động
Số timer

Atmega328P
AVR 8 bit
20Mhz
32Kb
1Kb
2Kb
1.8V-5.5V
3 timer gồm 2 timer 8 bit và 1 timer

Số kênh xung PWM

16 bit
6 kênh( 1timer 2 kênh)


Sơ đồ khối:
Các bộ nhớ chương trình
Bộ nhớ chứa dữ liệu EEPROM-Data EPROM.
Bộ nhớ file thanh ghi RAM-RAMfile Register.
Khối giải mã lệnh và điều khiểnKhối giao tiếp nối tiếp
Khối chuyển đổi tín hiệu tương tự sang số-ADC.

+ Các port xuất nhập.

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 7/27

Hình 2-2: Sơ đồ khối ATmega38P[2]

-

Sơ đồ chân và chức năng của các chân:

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 8/27

Hình 2-3: Sơ đồ chân Atmega328P[2]

-


Chức năng của các chân
Bảng 2-2: Tóm tắt đặc điểm của Atmega328
Chân

Thông
tin

Chức năng

1

PC6

Reset

2

PD0

Chân RX

3

PD1

Chân TX

4

PD2


Pin số

5

PD3

Pin số (PWM)

6

PD4

Pin số

7

VCC

Áp đầu vào dương

8

GND

Điện áp đầu vào âm

9

XTAL 1


Dao động tinh thể

10

XTAL 2

Dao động tinh thể

11

PD5

Pin (PWM)

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 9/27

12

PD6

Pin số (PWM)

13

PD7


Pin số

14

PB0

Pin số

15

PB1

Pin số (PWM)

16

PB2

Pin số (PWM)

17

PB3

Pin số (PWM)

18

PB4


Pin số

19

PB5

Pin số

20

AV CC

Đi ện áp d ương cho ADC ( đi ện)

21

A REF

Đi ện áp tham chi ếu

22

GND

Đi ện áp âm

23

PC0


Đầu vào analog

24

PC1

Đầu vào analog

25

PC2

Đầu vào analog

26

PC3

Đầu vào analog

27

PC4

Đầu vào analog

28

PC5


Đầu vào analog

Rút ra nhận xét sau:
+ Với Atmega328P, 20 chân hoạt động như các cổng I /O, có chức năng hoạt động
như đầu vào và đầu ra. Trong đó 14 chân là chân kỹ thuật số, trong đó 6 chân có thể
hoạt động để cung cấp cho đầu ra PWM, 6 chân được cho đầu vào hoặc đầu ra
tương tự.
+ có 2 PIN là dành cho thach anh đây là điều kiện để vi điều khiển hoạt động
+ Chip cần được cung cấp điện từ 1,8-5,5 V điện để hoạt động.
+ Chip Atmega328 có một bộ chuyển đổi analog-to-digital (ADC) bên trong
+ Chân số 1 là chân RESET. Sử dụng để cho chương trình chay lại.

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 10/27

2.1.3
-

RFID RC522

RFID - Radio Frequency Identification Detection là phương thức nhận dạng
đối tượng bằng sóng vô tuyến. Nhận dạng từ xa với khoảng cách ngắn bằng
cách sử dụng thiết bị thẻ RFID và một đầu đọc RFID.

-

RFID gồm 2 thành phần quan trọng là: Tag( thẻ RFID) và reader ( đầu đọc
RFID)


Tag và Reader giao tiếp với nhau ở cùng một tần số, RDID sử dụng song radio
nên tốc độ truyền nhận dữ liệu, tần số thấp LF(100Khz-150Khz), tần số cao HF
(10-15Mhz), tần số siêu cao UHF(850-950Mhz)

Hình 2-4: Sơ đồ chân RC522[1]

-

Thông số kĩ thuật RFID RC522
MFRC522 là đầu Đọc/Ghi dành cho hệ thống RFID tại tần số 13.56MHz
(thuộc dải tần số cao)
+ Điện áp hoạt động: 3.3V.
+ Hỗ trợ giao tiếp các loại thẻ RFID: ISO 14443A / MIFARE.
+ Khoảng cách Đọc/Ghi đối với 2 loại thẻ: Max = 50mm.
+ Hỗ trợ Mã Hóa trong chế độ Đọc/Ghi với loại thẻ MIFARE.
+ Hỗ trợ các chuẩn giao tiếp: SPI (Max = 10Mbit/s), I2C (Fast Mode: 400
kbit/s, High Speed Mode: 3400 kbit/s),UART (1228.8 kbit/s).

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 11/27

-

+ Hỗ trợ bộ đệm Truyền/Nhận dữ liệu FIFO 64 Byte.
Kết nối Atmega328 với RFID

Hình 2-5: Cách kết nối Atmega328 với RFID[1]


2.1.4

Cảm biến nhiệt độ Dallas 18b20

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 12/27

Hình 2-6: Hình dạng thực tế và sơ đồ chân Dallas 18b20[4]

-

Dallas 18b20 cung cấp các phép đo nhiệt dộ từ 9-12 bit Celsius. Dallas
truyền thông qua 1-wire theo định nghĩa chỉ cần một dòng dữ liệu để giao

-

tiếp với bộ xử lý trung tâm.
Các thông số kĩ thuật của Dallas 18b20:

+ Đo nhiệt đội từ -55 ºF đến +125ºC (-67ºF đến 257ºF)
+ Độ chính xác từ -10ºC đến +85ºC
+

Cung cấp nhiệt độ phân giải 12 bit.

+ Sai số ±0.5ºC
+ Khi nhiệt độ vượt ngưỡng thì cảnh báo, có thể được lập trình và bộ nhớ nhiệt

độ cảnh báo không bị mất khi mất nguồn.
+ Cảm biến có mã nhận diện lên đến 64 bit
-

Để có nhiệt độ chính xác cần có một điện trở giữa chân VCC và chân tín hiệu
của Dallas.

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 13/27

Hình 2-7: Kết nối cảm biến với điện trở[1]

Hình 2-8: Cấu trúc dalass 18b20[2]

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 14/27

2.1.5

NRF24l01

Hình 2-9: Hình dạng thực tế NRF24l01[4]

-

Hoạt dộng ở bang tần 2.4G có khả năng truyền dữ liệu tốc độ cao và truyền

nhận dữ liệu trong môi trương có vật cản.
Module này có 126 kênh truyền. Có thể truyền nhận trên nhiều kênh khác
nhau
Module có thể thay đổi công suất phát bang chương trình, có thể hoạt động
tiết kiệm năng lượng hơn
Điện áp hoạt động 1.9 -> 3.6V. Điện áp cung cấp là 3.3V

Hình 2-10: Sơ đồ các khối trong NRF24L01[2]

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 15/27

Hình 2-11: Sơ đồ kết nối với vi điều khiển của NRF24L01[1]
Bảng 2-3: Bảng kết nối NRF24L01 với AtMEGA328P

NRF24
1
2
3
4
5
6
7

Atmega328P
GND
3.3V
15

16
19
17
18

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 16/27

2.1.6

Module phát nhạc DFplayer mini

Hình 2-12: Hình dạng thực tế DFplayer mini[6]

-

+
+
+
+
+

DFPlayer Mini là một mô đun MP3 nhỏ và rẻ với đơn giản hóa sản lượng
trực tiếp cho loa. Module này có thể được sử dụng như là một mô-đun độc
lập với pin, loa và các nút bấm kèm theo hoặc được sử dụng kết hợp với
Arduino UNO hoặc bất kỳ máy nào khác có giao tiếp RX / TX.
Tỷ lệ được hỗ trợ (kHz): 8 / 11.025 / 12/16 / 22.05 / 24/32 / 44.1 / 48
Đầu ra DAC 24-bit, hỗ trợ dải động 90dB, SNR hỗ trợ 85dB.

Hỗ trợ đầy đủ FAT16, FAT32 hệ thống tập tin, tối đa 32G của thẻ TF, hỗ trợ
32G của đĩa U, 64M byte NORFLASH.
Nhiều chế độ điều khiển, chế độ điều khiển I / O, chế độ nối tiếp, chế độ
kiểm soát nút AD.
Dữ liệu âm thanh được sắp xếp theo thư mục, hỗ trợ lên đến 100 thư mục,
mỗi thư mục có thể chứa đến 255 bài hát.
Điều chỉnh cấp độ 30, 6 mức EQ điều chỉnh được.

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 17/27

Hình 2-13: Sơ đồ chân của DFlayer mini[6]

Bảng 2-4: Bảng trạng thái các chân của DFplayer

Pin

Thông tin

Chức năng

Thông tin thêm

1
2
3
4
5

6
7
số 8
9
10
11
12
13
14
15

VCC
RX
TX
DAC_R
DAC_L
SPK2
GND
SPK1
IO1
GND
IO2
ADKEY1
ADKEY2
USB +
USB-

Điện áp đầu vào
Đầu vào nối tiếp UART
Đầu ra nối tiếp UART

Kênh đầu ra âm thanh phải
Kênh ra âm thanh trái
Loa
Điện áp âm
Loa
Trigger port 1
Điện áp âm
Trigger port 2
Cổng AD 1
Cổng AD 2
USB + DP
USB-DM

DC 3,2-5,0 V

Thiết kế hệ thống điều khiển tự động hóa trong nhà

Bộ khuếch đại
Bộ khuếch đại
Điện áp âm
Giảm âm lượng
Điện áp âm
Tăng âm dượng
Cổng USB
Cổng USB


Trang 18/27

2.1.7


Động cơ RC servo 9G

Hình 2-14: Hình dạng thực tế của Servo 9G[4]

-

+
+
+
+

Động cơ có kích thước nhỏ, sử dụng trong các mô hình động cơ hoặc trong
các mô hình kéo có trọng lượng nhỏ, có tich hợp sẳn driver điều khiển bên
trong nên có thể điều khiển góc quay bang phương pháp điều động xung.
Điện áp hoạt động từ 4.8-5 VD
Tốc độ 0.12 sec/60 degrees(4.8 VDC)
Lực kéo 1.6 KG.CM
Trọng lượng 9g

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 19/27

2.2 Thiết kế phần mềm
Node-RED là ứng dụng được tao ra với nền tảng là Node.js, đây có thể goi là nền
tản cho một web server có thể cấu hình các chức năng gọi là “flow” từ cách trình
duyệt. Các Node-RED gồm các node có thể liên kết được với nhau thông qua các
khối input, operation và output.


Hình 2-15: Kết nối các node đơn giản[3]

Với Node-RED tương tác và giao tiếp với các thiết bị như hình với máy tính đóng

vai trò như m

ột

server điều khiển và các thiết bị là các client.

Hình 2-16: Server máy tính và thiết bị client[3]

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 20/27

-

Giao diện với node red gồm các khối input, output và operate

Hình 2-17: Giao diện viết phần mềm điều khiển[3]

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 21/27

2.3 Lưu đồ giả thuật và nguyên lý hoạt động

2.3.1

Lưu đồ giải thuật

Lưu đồ giải thuật phía phát của NRF

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 22/27

Atmega328P 1

RX

TX

TX

RX

Bắt đầu

Atmega328P 2

Bắt đầu

Lấy nhiệt độ từ Ds18b20

RFID đọc dữ liệu từ thẻ từ


và gửi qua phía thu NRF

S

Đọc dữ liệu từ

RFID=3327792254

Serial

C=2

S

S

C=1

Đ

Đ
Gửi kí tự “1” qua

Đ
Thực hiện điều khiển

Phát cảnh báo

Myserial


Gửi kí tự “2” qua
Nhiệt độ >40ºC

S

Phát cảnh báo

Đ

Thiết kế hệ thống điều khiển tự động hóa trong nhà

Myserial

S 3 lần


Trang 23/27

2.3.2

Nguyên lý hoạt động

Với Atmega328P 2:
-

Bắt đầu RFID đọc dữ liệu từ thẻ từ, nếu thẻ từ đúng mã đã được thiết lập sẵn
thì vi điều khiển gửi lệnh thông qua myserial.
+ Nếu đúng mã thẻ thì vi điều khiển gửi kí tự “1” qua cho Atmega328 1
+ Nếu sai mã thẻ quá 3 lần thì vi điều khiển gửi kí tự “2” qua cho

Atmega328 1

-

Quay trở lại ban đầu

Với Atmega328P 1:
-

Bước 1: Bắt đầu vi điều khiển đọc dữ liệu nhiệt độ từ DS18b20 và mã hóa
nhiệt độ đọc được thành chuỗi gửi cho NRF21L01(phía thu).

-

Bước 2: Vi điều khiển đọc dữ liệu từ serial, nếu kí tự nhận được bằng “1”
phát lệnh điều khiển gồm mở cữa và phát bằng giọng nói, nếu nhận được kí
tự là “2” thì vi điều khiển thực hiện cảnh báo.

-

Bước 3: Nếu nhiệt độ đọc được lớn hơn 40ºC thì phát lệnh gồm loa báo động
và mở cữa.

-

Bước 4: Quay trở bại ban đầu và bắt đẫu một vòng lặp mới

Thiết kế hệ thống điều khiển tự động hóa trong nhà



Trang 24/27

CHƯƠNG 3.
-

KẾT QUẢ

Sơ đồ mạch in:

Hình 3-1: Mạch in Server phía phát với NRF

Thiết kế hệ thống điều khiển tự động hóa trong nhà


Trang 25/27

Hình 3-2: Mạch in phía thu với NRF

-

Giao diện nhiệt độ hiển thị trên web

Hình 3-3: Giao diện web điều khiển

Thiết kế hệ thống điều khiển tự động hóa trong nhà


×