Professional Documents
Culture Documents
Bao Cao
Bao Cao
Bao Cao
Các ứng dụng IoT đang ngày càng thúc đẩy sự phát triển của các nền tảng số,
tạo ra các hệ thống hỗ trợ cuộc sống, cung cấp các dịch vụ hỗ trợ trong nhiều hoạt
động hàng ngày, hoạt động tăng cường an toàn và an ninh, cũng như các hệ thống
giám sát sức khỏe, y tế.
Sử dụng rượu bia là một thói quen trong văn hóa truyền thống của nhiều quốc
gia, trong đó có Việt Nam. Ở Việt Nam, xu hướng sử dụng rượu bia và các loại đồ
uống có cồn khác trong sinh hoạt hằng ngày, trong những dịp lễ, hội, trong các quan
hệ công việc… đang ngày càng gia tăng. Thậm chí, Việt nam đã trở thành quốc gia có
mức tiêu thụ rượu bia vô cùng cao, đứng thứ 2 ở Đông Nam Á, chỉ sau Thái Lan.
Ngoài việc là nguyên nhân của nhiều mã bệnh, sử dụng rượu, bia cũng khi tham gia
giao thông cũng là nguyên nhân chính của các vụ tai nạn giao thông nghiêm trọng ở
nước ta hiện nay.
Do đó, chúng tôi thực hiện đề tài “Hệ thống theo dõi nồng độ cồn và xác định
vị trí của người điều khiển ô tô” nhằm mang lại những chức năng cần thiết để đảm
báo tính mạng và sức khỏe cũng như giúp người sử dụng rượu, bia nhận thức được sức
khỏe của bản thân trước khi tham gia giao thông.
“Hệ thống theo dõi nồng độ cồn và xác định vị trí của người điều khiển ô
tô” là thiết bị giúp người dùng kiểm tra, ngăn không cho người sử dụng ô tô tham gia
giao thông khi nồng độ cồn trong hơi thở vượt quá nồng độ cho phép, cũng như cảnh
báo cho người thân biết các thông số về vị trí, nồng độ cồn thông qua giao diện Web
để có những giải pháp kịp thời, phòng tránh sự cố hiệu quả nhất. Đề tài sử dụng Board
32F411EDISCOVERY làm bộ xử lý trung tâm, các cảm biến nồng độ cồn MQ3, cảm
biến GPS Neo 6M sẽ đo các thông số cần thiết để truyền các tín hiệu về trung tâm xử
lý, kết hợp với module ESP8266 để nhận tín hiệu từ trung tâm sẽ đưa các thông số lên
Web để người thân có thể quan sát và kịp thời có những giải pháp phù hợp.
1.3 Nội dung nghiên cứu.
Ở đề tài “Hệ thống theo dõi nồng độ cồn và xác định vị trí của người điều
khiển ô tô” chúng tôi thực hiện nghiên cứu các nội dung sau:
Nội dung 1: Phân tích, lựa chọn giải pháp cho đề tài.
Nội dung 2: Thiết kế sơ đồ khối, lựa chọn linh kiện phù hợp cho đề tài.
Nội dung 3: Thiết kế hệ thống điều khiển, giao diện Web.
Nội dung 4: Nội dung đạt được và đánh giá.
Trong bản báo cáo, nhóm nghiên cứu đã cố gắng trình bày một cách thật logic
để người đọc có thể hiểu rõ được kiến thức, phương thức cũng như cách thức hoạt
động của đề tài. Bố cục bản báo cáo được nhóm chia làm 3 chương như sau:
Chương 1: Giới thiệu tổng quan về đề tài, mục tiêu nghiên cứu, nội dung
nghiên cứu, bố cục của đề tài.
Chương 2: Thiết kế hệ thống. Chương này nói về sơ đồ khối, thuật toán
của hệ thống và những lý thuyết liên quan đến đề tài bao gốm kiến thức
về các linh kiện, thiết bị được sử dụng trong các hệ thống như mạch điều
khiển, các thiết bị ngoại vi, các cảm biến và đọc dữ liệu từ cảm biến.
Chương 3: Giao diện Web, thực nghiệm và đánh giá. Chương này sẽ
trình bày kết quả thực nghiệm đồng thời đưa ra những nhận xét, đánh giá
và hướng phát triển đề tài.
Từ yêu cầu của đề tài, chúng tôi đã thiết kế sơ đồ hoàn chỉnh cho hệ thống,
được trình bày như hình sau:
Hình: Sơ đồ khối của hệ thống.
- Được bao bọc trong lớp “lưới thép không gỉ”, được gọi là Anti-
Explosion Network, để đảm bảo bộ phận làm nóng bên trong cảm biến
không gây cháy nổ cũng như chặn các hạt bụi trong không khí.
2.2.2.3 Công thức tính toán nồng độ cồn từ cảm biến MQ3:
Để đọc được giá trị từ cảm biến MQ3, ta dựa vào tỉ lệ RS/R0 (ta gọi tỉ lệ này là
Ratio).
V cc −V out
Công thức tính điện trở R s: R s= ∗R L
V out
- Trong đó :
R s: Điện trở giữa hai đầu A-B.
V cc : Điện áp cung cấp cho module.
V out : Điện áp đầu ra cảm biến.
R0 : Điện trở giữa 2 đầu A-B tại không khí có nồng độ cồn là 0.4mg/L.
Giá trị điện trở R0 là giá trị cố định. Nếu không biết thông số cụ thể của điện trở
Rs
R0, ta có thể tính gần đúng bằng công thức: R0 =
70
- Với R s và 70 lần lượt là giá trị điện trở giữa hai đầu A-B và Ratio trong
không khí sạch.
Hình: Quan hệ giữa tỉ lệ RS/R0và nồng độ các chất trong không khí.
Có thể thấy, nồng độ cồn (alcohol) trong không khí sẽ tỉ lệ với Ratio theo hàm:
2.3 100
1.7 220
1 410
0.54 1010
0.4 1700
0.3 2600
0.2 4000
0.17 6000
0.14 8000
0.12 10000
STT Xi Yi X 2i Xi.Yi
3 0 6.0162 0 0
- Các vệ tinh GPS bay vòng quanh Trái Đất hai lần trong một ngày theo
một quỹ đạo rất chính xác và phát tín hiệu có thông tin xuống Trái Đất.
Các máy thu GPS nhận thông tin này và bằng phép tính lượng giác tính
được chính xác vị trí của người dùng. Về bản chất máy thu GPS so sánh
thời gian tín hiệu được phát đi từ vệ tinh với thời gian nhận được chúng.
Sai lệch về thời gian cho biết máy thu GPS ở cách vệ tinh bao xa. Rồi
với nhiều quãng cách đo được tới nhiều vệ tinh máy thu có thể tính được
vị trí của người dùng và hiển thị lên bản đồ điện tử của máy.
- Máy thu phải nhận được tín hiệu của ít nhất ba vệ tinh để tính ra vị trí
hai chiều (kinh độ và vĩ độ) và để theo dõi được chuyển động. Khi nhận
được tín hiệu của ít nhất 4 vệ tinh thì máy thu có thể tính được vị trí ba
chiều (kinh độ, vĩ độ và độ cao). Một khi vị trí người dùng đã tính được
thì máy thu GPS có thể tính các thông tin khác, như tốc độ, hướng
chuyển động, bám sát di chuyển, khoảng hành trình, quãng cách tới điểm
đến, thời gian Mặt Trời mọc, lặn và nhiều thứ khác nữa.
Module định vị GPS sử dụng board điều khiển kết nối của hãng U-BLOX đến
từ Thụy Sĩ có rất nhiều năm kinh nghiệm trong lĩnh vực sản xuất module định vị toàn
cầu.
Có thể sử dụng ứng dụng “U-Center” của hãng U-BLOX phát triển để đọc dữ
liệu từ Module GPS Neo-6M và thay đổi các thông số cài đặt của module.
- Gồm một module được tích hợp cảm biến Neo-6M cùng các ngoại vi cần
thiết và một angten rời (có module tích hợp angten ngay trên board).
- Có 4 chân:
+ Chân VCC: Chân cấp nguồn.
+ Chân GND: Chân nối đất.
+ Chân RX: Chân nhận dữ liệu.
+ Chân TX: Chân truyền dữ liệu.
Thông số kĩ thuật:
- Chuỗi RMC: Chuỗi thông tin đơn giản nhất được đề xuất.
+ Cấu trúc của chuỗi RMC:
$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a
*hh
Trong đó có các thông tin quan trọng:
$GPRMC: Báo hiệu chuỗi RMC.
hhmmss.ss: Thời gian giờ/phút/giây tính theo UTC.
A: Trạng thái của chuỗi (A: chuỗi hợp lệ, V: chuỗi
thiếu).
llll.ll: Vĩ độ người sử dụng.
a: Hướng Bắc-Nam (N: North, S: South).
yyyyy.yy: Kinh độ của người sử dụng.
a: Hướng Đông-Tây (E: East, W: West).
ddmmyy: Ngày/tháng/năm tính theo UTC.
+ Ví dụ:
$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,191121,
020.3,E*68
Ta sẽ có các thông tin sau:
225446: Thời gian 22:54:46 UTC.
A: Chuỗi hợp lệ.
Bằng cách đọc chuỗi truyền từ UART và xử lý dữ liệu thu về, bộ điều khiển sẽ
thu được tất cả những thông tin quan trọng như vị trí, độ cao,… để có thể theo dõi.
- Mạng WiFi hiện đại hoạt động giống như kết nối mạng cục bộ Ethernet
có dây (LAN). Sự khác biệt duy nhất là chúng sử dụng các tần số phổ
không li-xăng để truyền dữ liệu trong khoảng cách ngắn với tốc độ cao,
giống như băng thông rộng di động đối với điện thoại cầm tay.
- Tiêu chuẩn WiFi được phát triển bởi Hội Kỹ sư Điện và Điện tử (IEEE)
để cung cấp khả năng truy cập không dây trong khu vực cục bộ, thường
là trong nhà hoặc tòa nhà văn phòng.
- Để WiFi hoạt động, phải có một điểm truy cập (trạm gốc) có kết nối có
dây để kết nối các thiết bị WiFi. Các thiết bị WiFi giao tiếp với điểm
truy cập bằng tín hiệu tần số vô tuyến (RF), giống như điện thoại không
dây.
- Về bản chất kỹ thuật, tín hiệu WiFi hoạt động gửi và nhận dữ liệu ở tần
số 2.5GHz đến 5GHz, cao hơn khá nhiều so với tần số của điện thoại di
động, radio... do vậy tín hiệu WiFi có thể chứa nhiều dữ liệu nhưng lại bị
hạn chế ở phạm vi truyền - khoảng cách.
- Sóng Wifi sử dụng chuẩn kết nối 802.11 trong thư viện IEEE (Institute
of Electrical and Electronics Engineers), chuẩn này bao gồm 4 chuẩn nhỏ
hơn a/b/g/n (thường thấy các ký hiệu này trên các moderm, router):
+ Chuẩn 802.11b là phiên bản yếu nhất, hoạt động ở mức 2.4GHz và có
thể xử lý đến 11Mb/s.
+ Chuẩn 802.11g nhỉnh hơn đôi chút so với chuẩn b, tuy nó cũng hoạt
động ở tần số 2.4GHz nhưng có thể xử lý 54Mb/s.
+ Chuẩn 802.11a phát ở tần số cao hơn là 5GHz với tốc độ xử lý đạt
54Mb/s.
+ Cuối cùng là chuẩn 802.11n, hoạt động ở tần số 2.4GHz nhưng tốc độ
xử lý lên đến 300Mb/s.
Thông số kỹ thuật:
- 32-bit RISC CPU: Tensilica Xtensa LX106 chạy ở xung nhịp 80 MHz.
- Hỗ trợ Flash ngoài từ 512 KB đến 4MB.
- 64 Kbytes RAM thực thi lệnh.
- 96 Kbytes RAM dữ liệu.
- 64 Kbytes boot ROM.
- Chuẩn Wifi IEEE 802.11 b/g/n, Wifi 2.4GHz.
- Tích hợp TR switch, balun, LNA, khuếch đại công suất và matching
network.
- Hỗ trợ WEP, WPA/WPA2, Open Network.
- Tích hợp giao thức TCP/IP.
- Hỗ trợ nhiều loại angten.
- 16 chân GPIO.
- Hỗ trợ SDIO 2.0, UART, SPI, I2C, PWM, I2S với DMA.
- 1 ADC 10-bit.
- Dải nhiệt độ hoạt động: - 40˚C ~ 125 ˚C.
2.2.4.3 Board ESP8266 NodeMCU V1.0
Board ESP8266 NodeMCU V1.0 được phát triển dựa trên module wifi ESP-
12F dễ dàng kết nối WiFi với một vài thao tác đơn giản. Board được tích hợp IC giao
tiếp CP2102, giúp dễ dàng kết nối với máy tính thông qua Micro USB để nạp chương
trình và debug.Trên mạch có sẵn nút nhấn, đèn Led để tiện cho việc lập trình và theo
dõi board mạch.
Board có cả 3 chế độ hoạt động gồm: Client, Access Point, Both Client and
Access Point. Với kích thước nhỏ gọn, linh hoạt board dễ dàng liên kết với các thiết bị
ngoại vi để tạo thành project, sản phẩm mẫu một cách nhanh chóng.
Thông số kỹ thuật:
- Kính lọc phân cực thẳng đứng có tác dụng lọc ánh sáng tự nhiên khi vào.
- Lớp kính có điện cực ITO.
- Lớp tinh thể lỏng.
- Lớp kính có điện cực ITO chung.
- Kính lọc phân cực nằm ngang.
- Gương phản xạ, có tác dụng phản xạ lại ánh sáng với người quan sát.
Màn hình LCD hoạt động dựa trên nguyên tắc ánh sáng nền, bao gồm một lớp
chất lỏng nằm giữa 2 lớp kiếng phân cực ánh sáng. Đèn nền có vai trò cung cấp nguồn
sáng phía sau màn hình. Ánh sáng này bị phân cực, hay có thể hiểu là chỉ một nửa ánh
sáng chiếu qua lớp tinh thể lỏng. Các tinh thể lỏng này được tạo thành từ một phần
chất rắn, một phần chất lỏng và có thể "xoắn" khi dòng điện chạy qua. Các tinh thể
lỏng sẽ chặn ánh sáng phân cực khi chúng tắt, nhưng lại phản xạ các loại ánh sáng đỏ,
lục hoặc lam khi được kích hoạt.
Thông số kỹ thuật:
Sơ đồ chân:
Hình: Sơ đồ chân của LCD 20*4.
Mã lệnh Mô tả
(HEX)
Thông số kĩ thuật:
Ứng dụng:
- Ứng dụng trong ngành điện - điện tử: Máy lắp là thiết bị lắp các linh kiện
điện tử ví dụ như các chip LSI lên trên bảng mạch, cần tới tốc độ cao và
độ chính xác cao.
- Ứng dụng trong ngành sản xuất thực phẩm, đồ uống: Nhu cầu về quy
trình thực phẩm chất lượng cao và an toàn hơn ngày càng tăng, vì vậy,
động cơ servo thường được sử dụng như là giải pháp cho nhiều lĩnh vực,
ngay cả đối với quy trình thực phẩm.
- Ứng dụng trong ngành may mặc, ngành giấy, bao bì: Trong việc điều
khiển các máy cuộn vải, giấy, bao bì để cắt hoặc in ấn…
- Ứng dụng về khuôn mẫu đùn trong ngành sản xuất nhựa: khuôn mẫu đùn
là thiết bị gia công các bộ phận nhựa. Vật liệu nhựa được ra nhiệt và tan
chảy, sau đó được đùn vào trong khuôn để gia công các bộ phận. Các
khuôn mẫu thông thường chủ yếu sử dụng điều khiển thủy lực, tuy nhiên
ngày này càng có nhiều khuôn mẫu sử dụng hệ thống servo để tiết kiệm
điện.
- Ứng dụng trong điều khiển vận chuyển: Thiết bị vận chuyển là các linh
kiện tuyệt đối không thể thiếu trong nhiều lĩnh vực, khi các ngành công
nghiệp trở nên tinh vi và tự động hóa. Một trong các ứng dụng điển hình
là việc di chuyển các thiết bị trong nhà kho qua hệ thống băng tải. Động
cơ servo giúp điều khiển tốc độ nhanh chậm theo mục đích sử dụng.
Stato là khung vỏ máy hình trụ có gắn các nam châm bên trong. Phía sau trục
roto người ta có thể gắn đầu dò để đo tốc độ động cơ.
Mạch đọc tốc độ (encoder) bao gồm một chiếc đĩa được đục lỗ gắn với trục
roto, khi động quay kéo theo đĩa quay làm thay đổi tín hiệu của các cảm biến quang.
Ta thu được vị trí và tốc độ động cơ dưới dạng các xung vuông.
\
Hình: Mạch đo tốc độ (encoder).
Encoder thường có 2 kênh A-B lệch nhau 90 độ để phản hồi tốc độ, chiều quay
của động cơ. Ngoài ra còn có các encoder có các đĩa quay đục lỗ một cách đặc biệt để
báo vị trí của động cơ (encoder tuyệt đối).
Thông số kĩ thuật:
Sơ đồ chân:
Hình: Sơ đồ chân của động cơ 25GA.
Hình: Mạch cầu H sử dụng khóa transistor có bảo vệ ngược dòng bằng diode.
Ở đề tài này, chúng ta sử dụng module điều khiển động cơ L298n được phát
triển dựa trên nguyên lý của mạch cầu H. Module gồm một IC298 (IC 2 mạch cầu)
cùng các ngoại vi như điện trở, IC bảo vệ quá dòng, đèn Led, cánh tản nhiệt,… giúp
người dùng có thể sử dụng một cách dễ dàng và an toàn.
Cách ghép nối và điều khiển tốc độ động cơ với module L298n:
- Nếu muốn điều khiển động cơ bằng 2 cổng OUT1 và OUT2, ta sử dụng
các chân enA, IN1 và IN2. Ngược lại, nếu muốn điều khiển bằng 2 cổng
OUT3 và OUT4 thì ta sử dụng các chân enB, IN3 và IN4.
Hình: Cách ghép nối module L298n với động cơ DC.
- Có 2 cách để điều chỉnh điện áp ra của mạch (từ đó điều khiển tốc độ
động cơ) gồm: điều khiển bằng chân enA hoặc điều khiển bằng 2 chân
IN1, IN2.
- Điều khiển bằng chân enA:
+ Hai chân 1,2 là các chân digital output, chân 3 là chân analog output
(hoặc PWM) của mạch điều khiển.
+ Hiệu điện thế của 2 chân OUT1 và OUT2 (0 – Vcc) tỉ lệ thuận với điện
thế chân enA ( 0 – 5 VDC).
+ Chiều dương âm của 2 chân OUT1 và OUT2 phụ thuộc vào mức chênh
lệch điện áp của 2 chân IN1 và IN2. Nếu U IN1 > UIN2 thì UOUT1 > UOUT2 và
ngược lại.
- Điều khiển bằng 2 chân IN1 và IN2:
+ Hai chân 1,2 là các chân analog output (hoặc PWM), chân 3 là chân
digital output của mạch điều khiển.
+ Hiệu điện thế của 2 chân OUT1 và OUT2 (0 – Vcc) tỉ lệ thuận với hiệu
điện thế 2 chân IN1 và IN2 ( 0 – 5 VDC). Nếu U IN1 > UIN2 thì điện thế hai
cổng ra UOUT1 > UOUT2 và ngược lại.
+ Muốn điều khiển bằng 2 chân IN1 và IN2 thì chân enA phải có mức
logic là 1 (3.5 ~ 5 VDC). Ngược lại, nếu chân enA có mức logic là 0 ( 0 ~
1.5 VDC) thì hiệu điện thế hai cổng ra OUT1 và OUT2 là Ura = 0 VDC.
2.2.7 Nguồn.
- Nguồn điện 1 chiều (DC- Direct Current): Là nguồn mà dòng điện đầu ra
chỉ chạy theo một chiều. Loại nguồn này sẽ có 2 cực Dương và Âm phân
biệt cụ thể. VD: pin, ắc-quy,…
- Nguồn điện xoay chiều (AC- Alternating Current): Là nguồn mà dòng
điện đầu ra có chiều và giá trị thay đổi theo thời gian và thường có một
chu kì nhất định. VD: điện từ máy phát điện, ổ cắm điện,…
Do các thiết bị trong hệ thống của bài toán đều sử dụng nguồn điện một chiều,
nên ta sẽ chọn nguồn sử dụng trong bài toán là nguồn một chiều.
- Pin.
- Acquy.
- Adapter.
- Nguồn tổ ong.
- Nguồn DC có thể điều chỉnh điện áp ra.
Ở đề tài này, ta sử dụng nguồn Adapter 12V – 5A để thực hiện bài toán.
Board STM32F411VEDISCO có lượng ngoại vi rất lớn, nên ta không mấy khó
khăn trong việc phân chia ngoại vi cho board. Cụ thể, các ngoại vi của board sẽ được
sử dụng gồm:
- Cổng UART2 (hai chân PA2 và PA3) sử dụng để đọc dữ liệu từ module
GPS Neo-6M.
- Cổng UART6 (hai chân PC6 và PC7) sử dụng để giao tiếp với module
ESP8266 NodeMCU.
- Cổng SPI1 (hai chân PB6 và PB7) sử dụng để kết nối với LCD 20*4.
- ADC1 (chân PC0) kênh 10 sử dụng đọc giá trị analog module đo nồng
độ cồn MQ3 gửi về.
- GPIO (hai chân PC10 và PC11) sử dụng để điều khiển bật/tắt động cơ.
- Timer 4 sử dụng để tạo định thời tách dữ liệu từ chuỗi GPGGA và gửi
dữ liệu quan sát sang module ESP8266.
Hình: Lưu đồ thuật toán 0 chương trình con phục vụ ngắt UART.
Hình: Lưu đồ thuật toán 1 trình con phục vụ ngắt UART.
Hình: Lưu đồ thuật toán 2 trình con phục vụ ngắt UART.
Hình: Lưu đồ thuật toán trình con phục vụ ngắt Timer.
2.3.2.2 Lưu đồ thuật toán ESP8266.
Giao diện Web để theo dõi thông tin và điều khiển động cơ được thiết kế như
hình sau:
Hình: Giao diện Web theo dõi dữ liệu và điều khiển động cơ.
- Tọa độ vị trí của xe (vĩ độ, kinh độ) và nồng độ của xe sẽ được tự động
cập nhật mỗi 1s và hiển thị dữ liệu trên bảng.
- Nút gạt “Cho phép chạy” nếu được bật sẽ gửi tín hiệu để bật động cơ,
nếu tắt sẽ gửi tín hiệu tắt động cơ.
- Thông báo “Trạng thái” sẽ hiển thị trạng thái của việc gửi được tín hiệu
bật/tắt động cơ.