You are on page 1of 19

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN
NGÀNH KỸ THUẬT ĐIỀU KHIỂN TỰ ĐỘNG HÓA

BÀI TẬP LỚN MÔN FPGA VÀ ỨNG DỤNG


Thiết kế vườn thông minh điều khiển qua FPGA và đồng bộ
trên app điện thoại

Giảng viên hướng dẫn: TS. Nguyễn Đại Dương

Danh sách thành viên nhóm 16:


Họ và tên MSSV
1. Trần Trọng Dũng
20181431
2. Cầm Minh Đức
20181400
3. Lê Việt Hà
20181452
4. Ninh La Văn Cảnh
20181347

Hà Nội, 1/2022
MỤC LỤC
CHƯƠNG 1. LỰA CHỌN PHẦN CỨNG.........................................................1
1.1 Mục tiêu....................................................................................................1
1.2 Thông tin phần cứng..................................................................................1
1.2.1 Kit FPGA DE2...........................................................................1
1.2.2 Cảm biến LM35..........................................................................2
1.2.3 Cảm biến photodiode quang.......................................................3
1.2.4 Cảm biến độ ẩm đất....................................................................3
1.2.5 ADC0809...................................................................................4
1.2.6 ESP8266.....................................................................................5
1.2.7 Blynk..........................................................................................7
1.3 Sơ đồ nguyên lý.........................................................................................9
1.3.1 Khối ADC................................................................................10
1.3.2 Khối LCD.................................................................................11
1.3.3 Khối truyền nhận UART................................................................11
1.3.4 Khối Led 7 thanh............................................................................12
CHƯƠNG 2. KẾT QUẢ ĐẠT ĐƯỢC.............................................................13
CHƯƠNG 3. KẾT LUẬN.................................................................................14
3.1 Kết luận...................................................................................................14
3.2 Hướng phát triển.....................................................................................14
DANH MỤC HÌNH VẼ
Hình 1 1:Kit FPGA DE2.......................................................................................1
Hình 1 2: Cảm biến nhiệt độ LM35.......................................................................2
Hình 1 3: Cảm biến photodiode quang..................................................................3
Hình 1 4: Cảm biến độ ẩm đất...............................................................................3
Hình 1 5: Module chuyển đổi LM393...................................................................4
Hình 1 6: ADC0809..............................................................................................5
Hình 1 7: ESP8266................................................................................................6
Hình 1 8: Sơ đồ chân esp8266...............................................................................8
Hình 1 9: Sơ đồ nguyên lý...................................................................................10
Hình 1 10: Sơ đồ khối.........................................................................................10
Hình 1 11: Khối ADC.........................................................................................10
Hình 1 12: Nguyên lý chuyển đổi ADC..............................................................11
Hình 1 13: Khối LCD..........................................................................................11
Hình 1 14: Khối UART.......................................................................................12
Hình 1 15: Sơ đồ truyền nhận..............................................................................12
Hình 1 16: Khối Led 7 thanh...............................................................................13

DANH MỤC BẢNG


Bảng 1-1 Thông số kỹ thuật cảm biến LM35........................................................2
GIỚI THIỆU ĐỀ TÀI
Cách mạng công nghiệp 4.0 mở ra thì mang lại rất nhiều cơ hội và tương lai cho
rất nhiều lĩnh vực, không ngoại trừ nông nghiệp. Các mô hình như là nông trại
thông minh, vườn thông minh, … được phổ biến rất nhiều. Tuy nhiên cũng gặp
khá nhiều thách thức như là vấn đề bảo mật, tính đồng bộ cũng như khả năng
kiểm soát các thông số môi trường. Trong báo cáo này, chúng em xây dựng một
số thiết bị đo lường các thông số trong môi trường ảnh hưởng đến vườn thông
minh, như là độ ẩm, nhiệt độ và ánh sáng. Việc tìm hiểu một cách tổng quát về
các dòng cảm biến đang được sử dụng phổ biến hiện nay cũng được thực hiện,
qua đó các loại cảm biến phù hợp được lựa chọn đưa vào thiết bị. Một thiết bị
mẫu cũng được xây dựng để chạy thử và đánh giá tính khả thi của giải pháp.
Ngoài ra thì chúng em cũng tìm cách đồng bộ việc kiểm soát các thông số này
trên ứng dụng điện thoại để có thể dễ theo dõi cũng như cảnh báo khi tính hướng
xấu xảy ra.
CHƯƠNG 1. LỰA CHỌN PHẦN CỨNG
1.1 Mục tiêu
 Làm quen và sử dụng KIT FPGA.
 Đọc và xử lý tín hiệu từ đầu ra của các cảm biến LM35, LM393 và
photodiode quang.
 Hiện thị nhiệt độ và độ ẩm lên LCD và hiển thị ánh sáng qua Led.
1.2 Thông tin phần cứng
1.2.1 Kit FPGA DE2
Kit FPGA DE2 với 33216 Logic Element

Hình 1 1:Kit FPGA DE2

Đặc điểm Kit FPGA DE2:


Kit DE2 có rất nhiều tính năng cho phép có thể thiết kế thực hiện một khối lượng
lớn các hệ thống , mạch chức năng từ đơn giản đến phức tạp, có các tính năng
được cung cấp sẵn trên kid như:
- Altera Cyclone II 2C35 FPGA
- Altera Serial Configuration device – EPCS 16
- USB blatster dung để lặp tình hệ thống từ pc, hỗ trợ các chế độ JTAG cũng như
điều khiển trực tiếp khi sử dụng NIOS II
- 512 – Kbyte SRAM
- 8 – Mbyte SDRAM
- 4 – Mbyte bộ nhớ FLASH
- Khe cắm SD card
- 4 phím nhấn PushButton KEY [3:0]
- 18 Swith
- 18 đèn ledr và 9 đèn ledg
- 2 nguồn clock là 50M và 27 M
1
- Chip giải mã âm thanh 24 bits với các jack cắm line-in, line-out và microphone
- VGA DAC
- TV decoder (NTSC/PAL) với TV-in(Video-in)
- Cổng 10/100 ethenet
- Bộ điều khiển usb host/slave
- Rs-232 với cổng kết nối 9 chân
- Cổng ps/2 giao tiếp với choột và keyboard
- Cổng hồng ngoại
- 40 chân đế mở rộng
1.2.2 Cảm biến LM35

Hình 1 2: Cảm biến nhiệt độ LM35

Cảm biến nhiệt độ LM35 có điện áp Analog đầu ra tuyến tính theo nhiệt độ
thường được sử dụng để đo nhiệt độ của môi trường hoặc theo dõi nhiệt độ của
thiết bị,..., cảm biến có kiểu chân TO-92 với chỉ 3 chân rất dễ giao tiếp và sử
dụng.
LM35 là cảm biến đo nhiệt độ với điện áp đầu ra tỷ lệ tuyến tính với nhiệt độ.
LM35 không yêu cầu bất kỳ hiệu chuẩn bên ngoài nào để cung cấp độ chính xác
điển hình là ± ¼ °C ở nhiệt độ phòng và ± ¾ °C trong phạm vi nhiệt độ từ -55 °C
đến 150 °C.
Chi phí phù hợp với đề tài.
Vì thiết bị LM35 chỉ lấy 60 μA, nên sai số nhiệt độ dòng thấp và phụ hợp các
ứng dụng điều khiển từ xa năng lượng thấp.

Bảng 1-1 Thông số kỹ thuật cảm biến LM35

STT Đối tượng Thông số


1 Điện áp hoạt động 4-20 VDC
2 Công suất tiêu thụ 60 μA
3 Khoảng đo -55 – 150°C
4 Điện áp tuyến tính theo nhiệt độ 10mV/°C
5 Sai số 0.25°C
6 Kiểu chân TO92
7 Kích thước sản phẩm 4.3x4.3mm

2
1.2.3 Cảm biến photodiode quang

Hình 1 3: Cảm biến photodiode quang

3
Cảm biến ánh sáng Photodiode là một module rất nhạy cảm với cường độ ánh
sáng môi trường xung quanh, thường được sử dụng để phát hiện độ sáng môi
trường xung quanh và cường độ ánh sáng, định hướng, gây ra chỉ có ánh sáng
trực tiếp ở phía trước của bộ cảm biến, tìm kiếm cho các hiệu ứng ánh sáng tốt
hơn, chính xác hơn.
Đặc điểm:
 Điều chỉnh độ nhạy (màu xanh trong điều chỉnh chiết áp kỹ thuật số FIG)
 Điện áp: 3.3- 5V
 Output hình thức: DO đầu ra chuyển mạch kỹ thuật số (0 và 1) và đầu ra
analog AO
 Kích thước: 3.2cm x 1.4cm

1.2.4 Cảm biến độ ẩm đất


Bộ sản phẩm gồm một cảm biến độ ẩm đất và một module chuyển đổi với ngõ ra
Analog - Digital. Cảm biến độ ẩm đất được hoạt động với 2 chế độ ngõ ra
(Analog & Digital), trạng thái đầu ra mức thấp (0V), khi đất thiếu nước đầu ra sẽ
là mức cao (5V).
1.2.4.1 Cảm biến độ ẩm đất

Hình 1 4: Cảm biến độ ẩm đất

4
Hai đầu đo của cảm biến được cắm vào đất để phát hiện độ ẩm. Dùng dây nối
giữa cảm biến và module chuyển đổi. Thông tin về độ ẩm đất sẽ được đọc về và
gởi tới module chuyển đổi.
1.2.4.2 Module chuyển đổi

Hình 1 5: Module chuyển đổi LM393


Module chuyển đổi có cấu tạo chính gồm một IC so sánh LM393, một biến trở ,
4 điện trở dán 100 ohm và 2 tụ dán. Biến trở có chức năng định ngưỡng so sánh
với tín hiệu độ ẩm đất đọc về từ cảm biến. Ngưỡng so sánh và tín hiệu cảm biến
sẽ là 2 đầu vào của IC so sánh LM393. Khi độ ẩm thấp hơn ngưỡng định trước,
ngõ ra của IC là mức cao (1), ngược lại là mức thấp (0).
Đặc điểm
 Điện áp hoạt động: 3.3V-5V
 Kích thước PCB: 3cm * 1.6cm
 Led báo hiệu
 Led đỏ báo nguồn
 Led xanh báo mức độ ẩm ở pin DO

1.2.5 ADC0809

Hình 1 5: ADC0809

5
ADC0809 là một thiết bị CMOS tích hợp với một bộ chuyển đổi từ tương tự
sang số 8 bit, bộ chọn 8 kênh và một bộ logic điều khiển tương thích. Bộ chuyển
đổi AD 8bit này dùng phương pháp chuyển đổi xấp xỉ tiếp. Bộ chọn kênh có thể
truy xuất bất kỳ kênh nào trong các ngõ vào tương tự một cách độc lập.
ADC0809 loại trừ khả năng cần thiết điều chỉnh điểm 0 bên ngoài và khả năng
điều chỉnh tỉ số làm tròn ADC0809 dễ dàng giao tiếp với các bộ vi xử lý.
Thông số kỹ thuật:
         Độ phân giải 8bit
         Tổng sai số chưa chỉnh định: 1/2LSB, 1LSB
         Nguồn cung cấp: +5V
         Điện áp ngõ vào:  0-5V
         Tần số xung clock: 10kHz-1280 kHz
          Nhiệt độ hoạt động: -40 ~ 85oC
1.2.6 ESP8266

6
Hình 1 7: ESP8266
ESP8266 là một hệ thống trên chip (SoC), do công ty Espressif của Trung Quốc
sản xuất. Nó bao gồm bộ vi điều khiển Tensilica L106 32-bit (MCU) và bộ thu
phát Wi-Fi. Nó có 11 chân GPIO (Chân đầu vào / đầu ra đa dụng) và một đầu
vào analog, có nghĩa là bạn có thể lập trình nó giống như với Arduino hoặc vi
điều khiển khác. Bản thân chip ESP8266 có 17 chân GPIO, nhưng 6 trong số các
chân này (6-11) được sử dụng để giao tiếp với chip nhớ flash trên bo mạch.
Ngoài ra nó có kết nối Wi-Fi, vì vậy bạn có thể sử dụng nó để kết nối với mạng
Wi-Fi, kết nối Internet, lưu trữ máy chủ web với các trang web thực
ESP8266 có thể được dùng làm module Wifi bên ngoài, sử dụng firmware tập
lệnh AT tiêu chuẩn bằng cách kết nối nó với bất kỳ bộ vi điều khiển nào sử dụng
UART nối tiếp hoặc trực tiếp làm bộ vi điều khiển hỗ trợ Wifi, bằng cách lập
trình một chương trình cơ sở mới sử dụng SDK được cung cấp.

Các chân GPIO cho phép IO Analog và Digital, cộng với PWM, SPI, I2C, v.v.

ESP8266 có nhiều ứng dụng khi nói đến IoT. Đây chỉ là một số chức năng mà
chip này được sử dụng
Các tính năng của chip ESP8266EX bao gồm:
 Bộ xử lý: Lõi vi xử lý L106 32-bit RISC dựa trên Tiêu chuẩn Tensilica
Xtensa Diamond, hoạt động ở tần số 80 MHz và SRAM trên chip.
 Bộ nhớ nội: Bộ nhớ nội của ESP8266EX bao gồm SRAM và ROM.
ESP8266EX có thể truy xuất các bộ nhớ này thông qua các interface iBus,
dBus, và AHB. Kích thước SRAM nhỏ hơn 36kB khi ESP8266EX hoạt
động ở chế độ station. ROM của ESP8266EX không lập trình được nên
chương trình được lưu trong Flash ngoại.
 Flash ngoại: ESP8266EX sử dụng flash ngoại để lưu trữ chương trình và
boot trực tiếp chương trình từ bus SPI. Kích thước flash ngoại mặc định sẽ
khác nhau với từng loại module ESP8266, như ESP-01 có kích thước flash
ngoại là 1MB, ESP-12E có kích thước flash ngoại là 16MB. Nếu chương
trình sử dụng kích thước lớn hơn kích thước mặc định thì bộ flash ngoại
với kích thước lớn hơn phải được sử dụng tuy nhiên kích thước flash
ngoại tối đa về mặt lý thuyết cho phép là 16 MB. Kích thước bộ nhớ flash
nhỏ nhất có thể là 512 kB (tắt chế độ OTA) hoặc 1 MB (bật chế độ OTA).
 IEEE 802.11 b/g/n Wi-Fi:
o Tích hợp TR switch, balun, LNA, bộ khuếch đại công suất và mạng
kết hợp
o Xác thực WEP hoặc WPA/WPA2 hoặc mạng mở không có
password.
 17 chân GPIO: Các chân có thể được dồn kênh cho các chức năng I²C,
I2S, UART, PWM, IR - điều khiển từ xa,…

7
 2 hardware timer 23 bit: FRC1 và FRC2.
 3 SPI: general Slave/Master SPI, Slave SDIO/SPI và general Slave/Master
HSPI.
 I²C: Hỗ trợ 1 I²C hoạt động được ở cả chế độ master và slave. Vì các
GPIO đều có thể được cấu hình ở chế độ cực máng hở nên các GPIO đều
có thể được cấu hình cho các chân SDA hay SCL của I²C bằng phần mềm.
 Giao diện I²S với DMA (sử dụng chung chân với GPIO)
 UART: Hỗ trợ 2 UART là UART0 và UART1. UART0 sử dụng GPIO3
(RX) và GPIO1 (TX). UART1 sử dụng GPIO2 (TX) và GPIO8 (TX). Tuy
nhiên GPIO8 được dùng để kết nối bộ nhớ flash của chip nên UART1 chỉ
sử dụng được GPIO2 để truyền dữ liệu.
 ADC 10 bit.

Sơ đồ chân của module ESP-01:


1. GND, chân đất (0 V)
2. GPIO 2 (General-purpose input/output No. 2)
3. GPIO 0 (General-purpose input/output No. 0)
4. RX, nhận bit dữ liệu X, cũng là GPIO3
5. VCC, chân điện áp (+3.3 V; có thể chịu được điện áp đến 3.6 V)
6. RST, Reset
7. CH_PD, Chip tắt nguồn (Chip power-down)
8. TX, truyền bit dữ liệu X, cũng là GPIO1

Hình 1 8: Sơ đồ chân esp8266


1.2.7 Blynk

8
Blynk được thiết kế cho Internet of Things. Nó có thể điều khiển các thiết bị
phần cứng từ xa, hiển thị dữ liệu cảm biến, lưu trữ dữ liệu, … và nhiều điều thú
vị khác.
Có ba thành phần chính trong nền tảng:
Blynk App - cho phép tạo giao diện cho sản phẩm của bạn bằng cách kéo thả các
widget khác nhau mà nhà cung cấp đã thiết kế sẵn.
Blynk Server - chịu trách nhiệm xử lý dữ liệu trung tâm giữa điện thoại, máy tính
bảng và phần cứng. Bạn có thể sử dụng Blynk Cloud của Blynk cung cấp hoặc tự
tạo máy chủ Blynk riêng của bạn. Vì đây là mã nguồn mở, nên bạn có thể dễ
dàng intergrate vào các thiết bị và thậm chí có thể sử dụng Raspberry Pi làm
server của bạn.
Library Blynk – support cho hầu hết tất cả các nền tảng phần cứng phổ biến - cho
phép giao tiếp với máy chủ và xử lý tất cả các lệnh đến và đi.
Bây giờ hãy tưởng tượng: mỗi khi bạn nhấn một nút trong ứng dụng Blynk, yêu
cầu sẽ chuyển đến server của Blynk, server sẽ kết nối đến phần cứng của bạn
thông qua library . Tương tự thiết bị phần cứng sẽ truyền dữ liệu ngược lại đến
server.
Tính năng, đặc điểm
 Cung cấp API & giao diện người dùng tương tự cho tất cả các thiết bị và
phần cứng được hỗ trợ
 Kết nối với server bằng cách sử dụng:
o Wifi
o Bluetooth và BLE
o Ethernet
o USB (Serial)
o GSM
o …
 Các tiện ích trên giao diện được nhà cung cấp dễ sử dụng
 Thao tác kéo thả trực tiếp giao diện mà không cần viết mã
 Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng các cổng kết
nối ảo được tích hợp trên blynk app
 Theo dõi lịch sử dữ liệu
 Thông tin liên lạc từ thiết bị đến thiết bị bằng Widget
 Gửi email, tweet, thông báo realtime.
 Được cập nhật các tính năng liên tục.

9
1.3 Sơ đồ nguyên lý

Hình 1 6: Sơ đồ nguyên lý

Hình 1 7: Sơ đồ khối

10
1.3.1 Khối ADC

Hình 1 8: Khối ADC

Cách hoạt động của khối:


Cấp 3 thông số cảm biến gửi lần lượt vào các kênh 0,1,2 của ADC sau khi ADC
xử lí chuyển đổi điện áp từ cảm biến cấp sẽ mã hóa tạo ra 8 bits một kênh
Ơ đây ta cần lựa chọn các kênh để đo được byte dang 8 bits chuyển đổi ra khối
điều khiển.
Để ADC chuyển đổi được cần xung phù hợp là 460 theo datasheet và có các chân
vào điều khiển nó như hình ảnh nguyên lí chuyển đổi:

Hình 1 9: Nguyên lý chuyển đổi ADC

11
1.3.2 Khối LCD

Hình 1 10: Khối LCD

Gồm 2 đầu vào chứa thông số của nhiệt độ và độ ẩm.


Tương tự cũng như thế sẽ có 2 đầu ra cho nhiệt độ và độ ẩm.
1.3.3 Khối truyền nhận UART

Hình 1 11: Khối UART

12
Hình 1 12: Sơ đồ truyền nhận

Theo lý thuyết để đồng bộ giữa app điện thoại và khối chấp hành thì sẽ có 2
luồng tín hiệu là truyền từ trên xuống dưới và truyền từ dưới lên trên liên tục.
Tuy nhiên sẽ có nhiều lúc xảy ra mâu thuẫn giữa truyền và nhận nên chúng em
quyết định gửi và nhận theo dạng ngắt, tức là không phải lúc nào cũng gửi và lúc
nào cũng nhận. Khi nào nhấn điều khiển trên app thì mới gửi xuống và khi nào
nhấn nút trên thiết bị thì mới gửi lên. Và để luôn cập nhật dữ liệu của nhiệt độ, độ
ẩm và ánh sang thì chúng em thêm đường truyền lên được gửi liên tục.
1.3.4 Khối Led 7 thanh

Hình 1 13: Khối Led 7 thanh

Có 2 chế độ là tự động( auto) và điều khiển( control).


Khi kết nối esp8266 thì sẽ là chế độ điều khiển.
Còn chế độ auto sẽ có 2 trường hợp:
 Trường hợp 1: nhấn auto ở trên app.
 Trường hợp 2: mất kết nối wifi hoặc rút esp8266 ra.

13
CHƯƠNG 2. KẾT QUẢ ĐẠT ĐƯỢC

Hình 2 1: Kết quả

Sau khi hoàn thiện chương trình và nạp code cho kit FPGA DE2, thì giá
trị đo được khá là ổn định và chính xác.

14
CHƯƠNG 3. KẾT LUẬN
3.1 Kết luận
Với mục tiêu đặt ra cho thiết kế thì chúng em đã hoàn thành được các mục
tiêu sau:
 Đọc được giá trị từ cảm biến.
 Hiển thị được nhiệt độ và độ ẩm trên LCD.
 Hiển thị được độ sáng qua Led.
 Điều khiển được các thông số qua phần cứng FPGA cũng như là điều
khiển được qua app điện thoại.
3.2 Hướng phát triển
Trên cơ sở các kết quả đạt được, nhóm chúng em đặt ra những hướng phát
triển cho đề tài như sau:
 Cải thiện độ chính xác của thiết bị.
 Mở rộng, đo thêm những thông số khác
 Phát triển thêm hê thống cảnh báo khi nhiệt độ, độ ẩm, ánh sáng vượt qua
mức quy định của vườn.

15

You might also like