Tải bản đầy đủ (.pdf) (42 trang)

ĐỒ án MÔN HỌC đề TÀI MÁY đo THÂN NHIỆT TỰ ĐỘNG

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 (1.07 MB, 42 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
---------------o0o---------------

ĐỒ ÁN MÔN HỌC

ĐỀ TÀI: MÁY ĐO THÂN NHIỆT TỰ ĐỘNG

GVHD: THS. VÕ THỊ THU HỒNG
SVTH: HUỲNH PHẠM NHẤT TRIỀU
MSSV: 1814434

TP. HỒ CHÍ MINH, THÁNG 8 NĂM 2021


Lời cảm ơn

GVHD: Ths. Võ Thị Thu Hồng

LỜI CẢM ƠN
Em xin cảm ơn chân thành tới các thầy cô Khoa Điện- Điện Tử Trường ĐH Bách
Khoa- Đại Học Quốc Gia TP.HCM, đặc biệt là cô Võ Thị Thu Hồng đã tận tình hướng dẫn,
hỗ trợ em trong suốt thời gian thực hiện đồ án mơn học và trong q trình làm báo cáo đồ án
môn học. Trong thời gian thực hiện đồ án môn học, em đã được cô tư vấn, giải đáp tận tình
những thắc mắc từ việc chọn đề tài cho đến khi thực hiện đề tài, phát huy những kiến thức
chuyên môn đã được học trong trường do các thầy cơ tận tình giảng dạy để áp dụng vào đề
tài. Với kiến thức còn hạn chế nên bản báo cáo đồ án môn học không thể tránh khỏi những
thiếu xót và rất mong nhận được sự thơng cảm của quý thầy cô.
Em xin chân thành cảm ơn và chúc quý thầy cô thật nhiều sức khỏe!



Tp. Hồ Chí Minh, ngày 01 tháng 08 năm 2021 .

Sinh viên
`

Huỳnh Phạm Nhất Triều

i


Đồ án mơn học

GVHD: Ths. Võ Thị Thu Hồng

TĨM TẮT ĐỒ ÁN
Đồ án này trình bày về hệ thống đo thân nhiệt tự động. Áp dụng các kiến thức đã được
học của các môn Vi xử lý, Hệ thống ngôn ngữ và lập trình C, Truyền số liệu và mạng, Thiết
kế hệ thống nhúng, Lập trình hệ thống nhúng để triển khai, thực hiện một mơ hình hệ thống
nhúng phù hợp và thiết thực với đời sống, cụ thể là trong tình hình dịch bệnh hiện nay.

ii


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

MỤC LỤC
1.


GIỚI THIỆU..................................................................................................................................1
1.1

Tổng quan...............................................................................................................................1

1.2

Nhiệm vụ đề tài......................................................................................................................1

2.

LÝ THUYẾT..................................................................................................................................1

3.

THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG.................................................................................2

4.

THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM ..................................................................................2

5.

KẾT QUẢ THỰC HIỆN................................................................................................................2

6.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN......................................................................................4
6.1


Kết luận..................................................................................................................................4

6.2

Hướng phát triển.....................................................................................................................4

7.

TÀI LIỆU THAM KHẢO..............................................................................................................4

8.

PHỤ LỤC.......................................................................................................................................4

iii


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

DANH SÁCH HÌNH MINH HỌA

Hình 2.1 Minh hoạ kết nối sử dụng giao tiếp I2C....................................................................................2
YHình 2.2 Khung truyền dữ liệu khi thiết bị master muốn gửi dữ liệu cho thiết bị slave.........................3
YHình 2.3. Khung truyền dữ liệu khi thiết bị master muốn đọc dữ liệu từ thiết bị slave.........................4
YHình 2.4. Kết nối UART giữa 2 thiết bị..................................................................................................7
YHình 2.5. Truyền dữ liệu trong UART....................................................................................................2
YHình 2.6 Kết quả mơ phỏng..................................................................................................................2

YHình 2.7 Kết quả mơ phỏng..................................................................................................................2
YHình 2.8 Kết quả mơ phỏng..................................................................................................................2
YHình 2.9 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2

iv


Đồ án mơn học

GVHD: Ths. Võ Thị Thu Hồng

YHình 2.1 Kết quả mơ phỏng..................................................................................................................2
YHình 2.1 Kết quả mơ phỏng..................................................................................................................2

YHình 2.1 Kết quả mô phỏng..................................................................................................................2


v


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

DANH SÁCH BẢNG SỐ LIỆU
Bảng 1 Thông số hệ thống......................................................................................................................3

vi


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

1. GIỚI THIỆU
1.1 Tổng quan
Thân nhiệt của con người là một thông số quan trọng biểu đạt tình trạng sức khỏe của
con người. Trong bối cảnh đại dịch COVID như hiện nay, việc đo thân nhiệt đóng vai trị vơ
cùng quan trọng trong việc rà soát những biểu hiện, triệu chứng ban đầu của bệnh, giúp con
người biết được tình trạng cơ thể hay cụ thể là thân nhiệt của cơ thể để đưa ra những biện
pháp thích hợp trong cơng tác phịng chống dịch.
Ngày nay khoa học cơng nghệ ngày càng phát triển, các dòng vi điều khiển như
AVR , PIC, ARM ngày càng trở lên thông dụng và phổ biến của nó trong các thiết bị điện tử,
di động. Nếu như trên mảng PC chúng ta có Intel, AMD thì trên mảng di động, ARM cũng
"nổi tiếng" với mức độ tương đương bởi vì kiến trúc vi xử lí của họ được sử dụng trong hầu
hết các thiết bị di động đang có mặt trên thị trường. ARM là kiến trúc tập lệnh chỉ dẫn 32-bit

được phổ biến nhất thế giới, vượt qua cả kiến trúc x86 của Intel, tính theo số lượng chip được
sản xuất. Theo ARM Holdings, chỉ tính riêng năm 2010, kiến trúc của họ đã có mặt trên 95%
số smartphone, 35% số TV và set-top box, 10% số máy tính di động được bán ra. Dựa trên bộ
xử lý Arm® Cortex®-M 32-bit Hãng sản xuất chip ST Microelectronic đã nhanh chóng đưa
ra dịng STM32. STM32 là một họ vi điều khiển, cung cấp hiệu năng cao, khả năng xử lý thời
gian thực, khả năng xử lý tín hiệu số, điện năng tiêu thụ thấp và khả năng kết nối (Wifi,
Bluetooth, LoRa, Ethernet…) trong khi vẫn được sự hội nhập và dễ dàng phát triển. Vì vậy,
em quyết định sử dụng vi điều khiển STM32, cụ thể là họ STM32F103 cho đề tài đồ án môn
học lần này.

1.2 Nhiệm vụ đề tài
1.2.1 Yêu cầu đề tài
Đo thân nhiệt của người dùng không tiếp xúc, gửi dữ liệu về thiết bị được kết nối từ
xa (điện thoại, máy tính) để người giám sát khơng cần phải tới gần để đo như các máy đo cầm
tay thông thường. Từ đó tránh việc lây nhiễm ở khoảng cách gần, giảm thiếu tối đa nguy cơ
lây nhiễm bệnh.

1


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

1.2.2 Kết quả cần đạt
Hệ thống có thể được thân nhiệt của người dùng và hiển thị ra màn hình cho người
dùng.
Hệ thống có thể kết nối Bluetooth với các thiết bị từ xa (điện thoại, máy tính) và gửi
dữ liệu thân nhiệt của người dùng về các thiết bị đó.


2. LÝ THUYẾT
2.1 Tìm hiểu về giao thức I2C
2.1.1 Định nghĩa giao thức I2C
I2C là một giao thức giao tiếp được phát triển bởi Philips Semiconductors để truyền,
nhận dữ liệu giữa một hoặc có thể nhiều Master – được xem như là các thiết bị điều khiển
trung tâm với một hoặc nhiều Slave – được xem như là các ngoại vi trên cùng một hệ thống
thơng qua hai đường truyền tín hiệu.

Hình 2.1 Minh hoạ kết nối sử dụng giao tiếp I2

Các thiết bị kết nối với bus I2C được phân thành hai loại: master và slave. Trong đó,
master sở hữu quyền kiểm soát để thực hiện đưa ra yêu cầu đến các slave, còn slave là một
thiết bị đáp ứng các yêu cầu từ master. Như hình minh họa ở trên, master thông thường là các
vi điều khiển, slave sẽ là các ngoại vi như cảm biến nhiệt độ, LCD driver, EEPROM,…
2


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

Tại một thời điểm chỉ có duy nhất một thiết bị master ở trạng thái hoạt động trên bus
I2C. master điều khiển bus clock SCL và quyết định hoạt động nào sẽ được thực hiện trên
bus dữ liệu SDA. Tất cả các thiết bị đáp ứng các yêu cầu từ thiết bị master này đều là slave.
Để phân biệt giữa nhiều thiết bị slave khi được kết nối với cùng một hệ thống bus I2C thì mỗi
thiết bị slave sẽ có một địa chỉ vật lý 7-bit cố định.
Khi một thiết bị master muốn truyền hoặc nhận dữ liệu từ một thiết bị slave, master sẽ
xác định địa chỉ thiết bị slave cụ thể trên đường SDA và sau đó tiến hành truyền dữ liệu. Tất
cả các thiết bị slave khác không gửi tín hiệu phản hồi về, trừ khi địa chỉ của chúng được chỉ
định bởi thiết bị master trên đường SDA.

2.1.2 Phương thức hoạt động
 Trường hợp 1: Thiết bị master muốn gửi dữ liệu cho một thiết bị slave


Master thực hiện một điều kiện bắt đầu (START)



Master gửi địa chỉ của slave (Device Address) cần nhận dữ liệu và Bit cấu hình đọc
ghi dữ liệu (R/W) được gửi kèm có giá trị bằng 0 thể hiện hoạt động gửi dữ liệu. 



Slave phản hồi bằng bit xác nhận (ACK), xác nhận có slave hoạt động trên hệ thống
bus



Master gửi địa chỉ thanh ghi của slave – địa chỉ mà master muốn ghi/bắt đầu ghi dữ
liệu.



Slave phản hồi bằng bit xác nhận (ACK), xác nhận có địa chỉ thanh thi, sẵn sàng nhận
dữ liệu



Master gửi các dữ liệu (Data) cần ghi vào thanh ghi cho slave, có thể một hoặc nhiều
byte.




Master thực hiện kết thúc việc truyền dữ liệu bằng một điều kiện kết thúc (STOP).

Hình 2.2 Khung truyền dữ liệu khi thiết bị master muốn gửi dữ liệu cho thiết bị slave

3


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

 Trường hợp 2: Thiết bị master muốn đọc dữ liệu từ một thiết bị slave


Master thực hiện một điều kiện bắt đầu (START)



Master gửi địa chỉ của slave (Device Address) cần nhận dữ liệu, theo kèm là bit cấu
hình đọc ghi dữ liệu (R/W) có giá trị bằng 0 thể hiện hoạt động gửi dữ liệu (bằng 0 để
gửi tiếp địa chỉ thanh ghi)
Slave phản hồi bằng bit xác nhận (ACK), xác nhận có slave hoạt động trên hệ thống



bus
Master gửi địa chỉ thanh ghi của Slave – địa chỉ mà master muốn ghi /bắt đầu ghi dữ




liệu.
Slave phản hồi bằng bit xác nhận (ACK), xác nhận có địa chỉ thanh ghi trên thiết bị



slave. 
Master gửi lại điều kiện bắt đầu cùng với địa chỉ của thiết bị slave, theo sau đó là giá



trị 1 của bit R/W thể hiện hoạt động đọc dữ liệu.


Slave phản hồi bằng bit xác nhận (ACK) 



Master nhận dữ liệu từ slave, có thể một hoặc nhiều byte.



Master kết thúc việc nhận dữ liệu bằng cách thực hiện bit xác nhận (NACK) và theo
sau đó là một điều kiện kết thúc (STOP).

Hình 2.3. Khung truyền dữ liệu khi thiết bị master muốn đọc dữ liệu từ thiết bị slave



Phân tích các thành phần trong khung truyền: 

- Điều kiện bắt đầu và điều kiện kết thúc (STAT, STOP)


Giao tiếp I2C được khởi tạo bằng cách master thực hiện điều kiện bắt đầu và kết thúc
bằng cách master thực hiện điều kiện kết thúc. Một sự chuyển đổi logic từ mức HIGH
sang mức LOW trên đường truyền SDA trong khi đường truyền SCL ở mức HIGH
được định nghĩa là một điều kiện bắt đầu. Một sự chuyển đổi mức logic từ mức LOW

4


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

sang mức HIGH trên đường truyền SDA trong khi đường SCL ở mức HIGH được
định nghĩa là điều kiện kết thúc. 
- Các bit địa chỉ 


Các bit địa chỉ giúp xác định, phân biệt các slave khác nhau trên hệ thống bus I2C,
các master phải có/ được cài đặt các địa chỉ khác nhau. Thơng thường có 7 bit địa chỉ.



Bit địa chỉ được gửi kèm với bit cầu hình đọc/ghi dữ liệu.

- Bit cấu hình đọc/ghi dữ liệu (R/W)



Bit này xác định hướng truyền dữ liệu hay có thể hiểu là thiết bị nào sẽ điều khiển
đường SDA: Nếu master cần truyền dữ liệu đến Slave, bit Read / Write được thiết lập
mức logic HIGH. Ngược lại, nếu master cần nhận dữ liệu từ Slave, bit này được thiết
lập mức logic LOW.

-  Bit xác nhận (ACK/NACK)


Mỗi byte dữ liệu đều được xác nhận bởi một bit ACK từ phía nhận dữ liệu gửi cho
phía gửi dữ liệu để báo rằng byte đã được nhận thành cơng và có thể tiếp tục gửi byte
dữ liệu tiếp theo. Bit ACK có giá trị LOW. Khi nó có giá trị HIGH thì được gọi là bit
NACK, bit NACK được gửi đi trong một số trường hợp như: 
o

Phía nhận đang bận và khơng thể nhận hay truyền dữ liệu vì đang thực hiện
một tính năng khác. 

o

Trong q trình truyền nhận, dữ liệu/địa chỉ khơng hợp lệ, khơng tồn tại. 

o

Trong q trình truyền, phía nhận khơng thể nhận thêm các byte dữ liệu nữa. 

o

Trong trường hợp master yêu cầu dữ liệu từ slave, master đã nhận đủ và không

nhận thêm dữ liệu. 

- Các bit dữ liệu (Data)


Dữ liệu được truyền tới các thiết bị slave hoặc được đọc từ các thiết bị slave, bản chất
của việc này chính là thực hiện đọc/ghi các thanh ghi trong thiết bị slave. Các thanh
ghi này nằm trong bộ nhớ của slave và được xác định, phân biệt bởi các địa chỉ, các
thanh ghi sẽ chứa thơng tin, có thể là thơng tin cấu hình hoạt động của thiết bị slave,
5


Đồ án mơn học

GVHD: Ths. Võ Thị Thu Hồng

có thể thơng tin dữ liệu mà slave có được trong q trình hoạt động như dữ liệu lấy
mẫu từ cảm biến. Để điều khiển thiết bị slave thực hiện một nhiệm vụ chức nào đó,
master cũng sẽ thực hiện việc ghi vào thanh ghi của thiết bị slave. 
- Lặp lại điều kiện bắt đầu (Repeated Start)


Việc thiết bị master thực hiện lặp lại điều kiện bắt đầu cũng tương tự như việc master
thực hiện điều kiện bắt đầu (START), lặp lại điều kiện bắt đầu được sử dụng để thay
thế cho việc thực hiện điều kiện STOP rồi thực hiện điều kiện START. 



Lặp lại điều kiện bắt đầu được sử dụng trong trường hợp thiết bị master muốn đọc dữ
liệu từ thiết bị slave sau khi đã nhận các phản hồi về địa chỉ thiết bị slave và địa chỉ

thanh ghi muốn đọc dữ liệu. 

2.2 Tìm hiểu về giao tiếp UART
2.2.1 Định nghĩa giao tiếp UART
UART (Universal Asynchronous Receiver-Transmitter – Bộ truyền nhận dữ liệu nối
tiếp bất đồng bộ) là một trong những giao thức truyền thông giữa thiết bị với thiết bị được sử
dụng nhiều nhất. Có thể thấy giao tiếp UART được sử dụng nhiều trong các ứng dụng để giao
tiếp với các module như: Wifi, Bluetooth, Xbee, module đầu đọc thẻ RFID với Raspberry Pi,
Arduino hoặc vi điều khiển khác. Đây cũng là chuẩn giao tiếp thông dụng và phổ biến trong
công nghiệp từ trước đến nay.
Khi được cấu hình đúng cách, UART có thể hoạt động với nhiều loại giao thức nối
tiếp khác nhau liên quan đến việc truyền và nhận dữ liệu nối tiếp. Trong giao tiếp nối tiếp, dữ
liệu được truyền từng bit bằng cách sử dụng một đường dây. Trong giao tiếp hai chiều, chúng
ta sử dụng hai dây để truyền dữ liệu nối tiếp thành công. Tùy thuộc vào ứng dụng và yêu cầu
hệ thống, truyền thơng nối tiếp cần ít mạch và dây hơn, điều này làm giảm chi phí thực hiện.
2.2.2 Cách thức hoạt động
Trong giao tiếp UART, hai UART giao tiếp trực tiếp với nhau. UART truyền chuyển
đổi dữ liệu song song từ một thiết bị điều khiển như CPU thành dạng nối tiếp, truyền nó nối
tiếp đến UART nhận, sau đó chuyển đổi dữ liệu nối tiếp trở lại thành dữ liệu song song cho
thiết bị nhận.

6


Đồ án mơn học

GVHD: Ths. Võ Thị Thu Hồng

Hình 2.4. Kết nối UART giữa 2 thiết bị
Hai đường dây mà mỗi thiết bị UART sử dụng để truyền dữ liệu đó là:



Transmitter (Tx)



Receiver (Rx)
UART truyền dữ liệu khơng đồng bộ, có nghĩa là khơng có tín hiệu đồng hồ để đồng

bộ hóa đầu ra của các bit từ UART truyền đến việc lấy mẫu các bit bởi UART nhận. Thay vì
tín hiệu đồng hồ, UART truyền thêm các bit start và stop vào gói dữ liệu được chuyển. Các
bit này xác định điểm bắt đầu và điểm kết thúc của gói dữ liệu để UART nhận biết khi nào
bắt đầu đọc các bit.
Khi UART nhận phát hiện một bit start, nó bắt đầu đọc các bit đến ở một tần số cụ thể
được gọi là tốc độ truyền (baud rate). Tốc độ truyền là thước đo tốc độ truyền dữ liệu, được
biểu thị bằng bit trên giây (bps – bit per second). Cả hai UART đều phải hoạt động ở cùng
một tốc độ truyền. Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng
10% trước khi thời gian của các bit bị lệch quá xa.
UART sẽ truyền dữ liệu nhận được từ một bus dữ liệu (Data Bus). Bus dữ liệu được
sử dụng để gửi dữ liệu đến UART bởi một thiết bị khác như CPU, bộ nhớ hoặc vi điều khiển.
Dữ liệu được chuyển từ bus dữ liệu đến UART truyền ở dạng song song. Sau khi UART
truyền nhận dữ liệu song song từ bus dữ liệu, nó sẽ thêm một bit start, một bit chẵn lẻ và một
bit stop, tạo ra gói dữ liệu. Tiếp theo, gói dữ liệu được xuất ra nối tiếp từng bit tại chân Tx.
UART nhận đọc gói dữ liệu từng bit tại chân Rx của nó. UART nhận sau đó chuyển đổi dữ
7


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng


liệu trở lại dạng song song và loại bỏ bit start, bit chẵn lẻ và bit stop. Cuối cùng, UART nhận
chuyển gói dữ liệu song song với bus dữ liệu ở đầu nhận.

Hình 2.5. Truyền dữ liệu trong UART
Dữ liệu truyền qua UART được tập hợp thành gói (packet). Mỗi gói chứa 1 bit start, 5
đến 9 bit dữ liệu (tùy thuộc vào UART), một bit chẵn lẻ (parity bit) tùy chọn và 1 hoặc 2 bit
stop.

Hình 2.6. Gói packet truyền đi
Start bit (Bit bắt đầu)
Đường truyền dữ liệu UART thường được giữ ở mức điện áp cao khi nó khơng truyền dữ
liệu. Để bắt đầu truyền dữ liệu, UART truyền sẽ kéo đường truyền từ mức cao xuống mức
thấp trong một chu kỳ đồng hồ. Khi UART nhận phát hiện sự chuyển đổi điện áp cao xuống
thấp, nó bắt đầu đọc các bit trong khung dữ liệu ở tần số của tốc độ truyền.
Data Frame (Khung dữ liệu)
Khung dữ liệu chứa dữ liệu thực tế đang được truyền. Nó có thể dài từ 5 bit đến 8 bit nếu sử
dụng bit chẵn lẻ. Nếu không sử dụng bit chẵn lẻ, khung dữ liệu có thể dài 9 bit. Trong hầu hết
8


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

các trường hợp, dữ liệu được truyền với bit có trọng số bé nhất (LSB – Least Significant Bit)
trước tiên.
Parity Bit (Bit chẵn lẻ)
Tính chẵn lẻ mơ tả tính chẵn hoặc lẻ của một số. Bit chẵn lẻ là một cách để UART nhận cho
biết liệu có bất kỳ dữ liệu nào đã thay đổi trong q trình truyền hay khơng. Bit có thể bị thay

đổi bởi bức xạ điện từ, tốc độ truyền không khớp hoặc truyền dữ liệu đường dài.
Sau khi UART nhận đọc khung dữ liệu, nó sẽ đếm số bit có giá trị là 1 và kiểm tra xem tổng
số là số chẵn hay lẻ. Nếu bit parity là 0 (even parity – parity chẵn), thì tổng số bit 1 trong
khung dữ liệu phải luôn là một số chẵn. Nếu bit parity là 1 (odd parity – parity lẻ) thì số tổng
bit 1 trong khung dữ liệu là một số lẻ.
Khi bit chẵn lẻ khớp với dữ liệu, UART biết rằng q trình truyền khơng có lỗi. Nhưng nếu
bit chẵn lẻ là 0 và tổng là số lẻ, hoặc bit chẵn lẻ là 1 và tổng số là chẵn, thì UART biết rằng
các bit trong khung dữ liệu đã thay đổi.
Stop Bit (Bit kết thúc)
Để báo hiệu sự kết thúc của gói dữ liệu, UART gửi sẽ điều khiển đường truyền dữ liệu từ
điện áp thấp đến điện áp cao trong ít nhất hai khoảng thời gian bit.
Ưu và nhược điểm của UART
Khơng có giao thức truyền thơng nào là hoàn hảo, nhưng UART thực hiện khá tốt những gì
chúng làm. Dưới đây là một số ưu và nhược điểm để giúp bạn quyết định xem chúng có phù
hợp với nhu cầu của bạn hay không.
Ưu điểm


Chỉ sử dụng hai dây để truyền dữ liệu



Khơng cần tín hiệu đồng hồ



Có một bit chẵn lẻ để cho phép kiểm tra lỗi




Cấu trúc của gói dữ liệu có thể được thay đổi miễn là cả hai bên được thiết lập cho nó



Phương pháp truyền đơn giản, giá thành thấp

9


Đồ án mơn học

GVHD: Ths. Võ Thị Thu Hồng

Nhược điểm


Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit



Khơng phù hợp với các hệ thống địi hỏi nhiều thiết bị chủ và tớ



Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% 

2.3 Giao tiếp Bluetooth và module Bluetooth HC - 05
2.3.1 Giới thiệu về giao tiếp Bluetooth
Bluetooth là sự trao đổi dữ liệu không dây tầm gần giữa các thiết bị điện tử. Công
nghệ này hỗ trợ việc truyền dữ liệu qua các khoảng cách ngắn giữa các thiết bị di động như

điện thoại di động, tablet, laptop với nhau và với thiết bị cố định mà khơng cần một sợi cáp
để truyền tải.

Hình 2.7. Giao tiếp Bluetooth
Giao tiếp Bluetooth sử dụng sóng Radio tần số 2.4GHz. Tuy sử dụng cùng tần số với
công nghệ Wifi nhưng chúng khơng hề xung đột với nhau vì Bluetooth sử dụng tần số có
bước sóng ngắn hơn.

10


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

2.3.2 Ứng dụng của Bluetooth
Kết nối Bluetooth được ứng dụng trong rất nhiều các thiết bị điện tử để phục vụ cho
nhu cầu giải trí. Từ máy chơi game, smartphone, loa Bluetooth cho tới những chiếc laptop,
máy ảnh hay thậm chí là ampli cũng có. Có thể kể tới các ứng dụng của Bluetooth như sau:


Kết nối và, điều khiển, truyền tải dữ liệu giữa điện thoại và các thiết bị điện tử giải trí
như loa, máy ảnh, máy in….



Kết nối tạo thành một mạng không dây giữa các laptop trong cự ly ngắn, không gian
hẹp.




Hỗ trợ kết nối và giao tiếp không dây giữa máy tính và thiết bị như bàn phím, chuột
khơng dây...



Có mặt trên các máy quét mã vạch, thiết bị giám sát giao thông, thiết bị y tế... thay
cho kiểu kết nối bằng dây cáp.



Thay cho các kiểu điều khiển bằng tia hồng ngoại (ưu điểm là có thể hoạt động dù có
vật chắn giữa thiết bị điều khiển và được điều khiển, hồng ngoại thì khơng)



Điều khiển từ xa cho các thiết bị trò chơi điện tử.



Kết nối Internet cho máy tính bằng cách dùng điện thoại di động thay modem.
2.3.3 Ưu điểm và nhược điểm của Bluetooth



Ưu điểm:



Thay thế hồn tồn dây nối.




Hồn tồn khơng nguy hại đến sức khoẻ con người.



Bảo mật an tồn với cơng nghệ mã hóa trong. Một khi kết nối được thiết lập thì khó
có một thiết bị nào có thể nghe trộm hoặc lấy cắp dữ liệu.



Các thiết bị có thể kết nối với nhau trong vịng 20m mà khơng cần trực diện (hiện nay
có loại Bluetooth kết nối lên đến 100m).



Kết nối điện thoại và tai nghe Bluetooth khiến cho việc nghe máy khi lái xe hoặc bận
việc dễ dàng.



Giá thành rẻ.



Tốn ít năng lượng, chờ tốn 0.3mAh, tối đa 30mAh trong chế độ truyền dữ liệu.




Không gây nhiễu các thiết bị khơng dây khác.



Tính tương thích cao nên được nhiều nhà sản xuất phần cứng và phần mềm hỗ trợ.



Nhược điểm:
11


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng



Tốc độ thấp, khoảng 720kbps tối đa.



Bắt sóng kém khi có vật cản.



Thời gian thiết lập lâu.

2.4 Tìm hiểu về phần cứng
2.4.1 Kit STM32F103C8T6 Blue Pill

Kit STM32F103C8T6 Blue Pill thuộc loại kit phát triển được thiết kế đơn giản, kit ra
đầy đủ chân của vi điều khiển, có cổng giao tiếp USB và cổng nạp SWD, sử dụng dòng vi
điều khiển 32 Bit của dịng ST. Thích hợp với những người tiếp cận dòng STM 32 Bit và là
loại được sử dụng để nghiên cứu về ARM nhiều nhất hiện nay.

Hình 2.8. Sơ đồ chân của kit STM32F103C8T6 Blue Pill
Cấu hình chi tiết của STM32F103C8T6:


ARM 32-bit Cortex M3 với clock max là 72Mhz.



Bộ nhớ:
12


Đồ án môn học





64 kbytes bộ nhớ Flash(bộ nhớ lập trình).



20kbytes SRAM.

GVHD: Ths. Võ Thị Thu Hồng


Clock, reset và quản lý nguồn.


Điện áp hoạt động 2.0V -> 3.6V.



Power on reset(POR), Power down reset(PDR) và programmable voltage
detector (PVD).





Sử dụng thạch anh ngoài từ 4Mhz -> 20Mhz.



Thạch anh nội dùng dao động RC ở mode 8Mhz hoặc 40khz.



Sử dụng thạch anh ngoài 32.768khz được sử dụng cho RTC.

Trong trường hợp điện áp thấp:


Có các mode :ngủ, ngừng hoạt động hoặc hoạt động ở chế độ chờ.




Cấp nguồn ở chân Vbat bằng pin để hoạt động bộ RTC và sử dụng lưu trữ data
khi mất nguồn cấp chính.





2 bộ ADC 12 bit với 9 kênh cho mỗi bộ.


Khoảng giá trị chuyển đổi từ 0 – 3.6V.



Lấy mẫu nhiều kênh hoặc 1 kênh.



Có cảm biến nhiệt độ nội.

DMA: bộ chuyển đổi này giúp tăng tốc độ xử lý do khơng có sự can thiệp quá sâu của
CPU.





7 kênh DMA.




Hỗ trợ DMA cho ADC, I2C, SPI, UART.

7 timer.


3 timer 16 bit hỗ trợ các mode IC/OC/PWM.



1 timer 16 bit hỗ trợ để điều khiển động cơ với các mode bảo vệ như ngắt
input, dead-time..







2 watdog timer dùng để bảo vệ và kiểm tra lỗi.



1 sysTick timer 24 bit đếm xuống dùng cho các ứng dụng như hàm Delay….

Hỗ trợ 9 kênh giao tiếp bao gồm:



2 bộ I2C(SMBus/PMBus).



3 bộ USART(ISO 7816 interface, LIN, IrDA capability, modem control).



2 SPIs (18 Mbit/s).



1 bộ CAN interface (2.0B Active)



USB 2.0 full-speed interface

Kiểm tra lỗi CRC và 96-bit ID.
13


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

2.4.2 LCD 16x2 và module I2C


Màn hình LCD 16x2 (Liquid Crystal Display) được sử dụng trong rất nhiều các ứng

dụng của VĐK. LCD 1602 có rất nhiều ưu điểm so với các dạng hiển thị khác như:
khả năng hiển thị kí tự đa dạng (chữ, số, kí tự đồ họa); dễ dàng đưa vào mạch ứng
dụng theo nhiều giao thức giao tiếp khác nhau, tiêu tốn rất ít tài nguyên hệ thống, giá
thành rẻ,…

Hình 2.9.

Màn hình
LCD 16x2

Thơng số kỹ thuật LCD 16×2
LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông số.


LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS,
RW, EN).



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.
14



Đồ án môn học


GVHD: Ths. Võ Thị Thu Hồng

Module I2C LCD: LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu
nối và chiếm dụng nhiều chân trên vi điều khiển vì vậy Module I2C LCD được ra đời
và giải quyết vấn để này

Hình 2.10. Module I2C LCD 16×2
Thay vì phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5
và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.
Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4,
…) và tương thích với hầu hết các vi điều khiển hiện nay.
Ưu điểm


Tiết kiệm chân cho vi điều khiển.



Dễ dàng kết nối với LCD.
Thông số kĩ thuật



Điện áp hoạt động: 2.5-6V DC.




Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780).



Giao tiếp: I2C.



Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).



Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.
15


Đồ án mơn học


GVHD: Ths. Võ Thị Thu Hồng

Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.

2.4.3 Cảm biến nhiệt hồng ngoại không tiếp xúc MLX90614
Cảm biến nhiệt hồng ngoại không tiếp xúc MLX90614 là loại cảm biến đo nhiệt độ
hồng ngoại không tiếp xúc dùng chip MXL90614 sử dụng giao tiếp I2C có thể dễ dàng kết
nối với bất cứ vi điều khiển nào.


Hình 2.11. Cảm biến

MLX90614

Thơng số kỹ thuật:


Kích thước nhỏ, chi phí thấp



10k Kéo điện trở lên cho giao diện I2C với các jumper hàn tùy chọn



Dễ tích hợp



Nhiệt độ hoạt động :



Nhiệt độ đo : -70 ~ 380 độ C



Độ chính xác: 0.5 ° C




Các tùy chọn gói khác nhau cho các ứng dụng và tính linh hoạt của tính linh hoạt
Ứng dụng cảm biến nhiệt hồng ngoại khơng tiếp xúc:



Độ chính xác cao khơng tiếp xúc nhiệt độ



Cảm biến độ nhạy nhiệt cho hệ thống điều khiển điều hịa khơng khí di động



Yếu tố cảm biến nhiệt độ cho dân cư, thương mại và công nghiệp xây dựng điều hịa
kính chắn gió defogging
16


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng



Phát hiện góc mù ơ tơ



Kiểm sốt nhiệt độ cơng nghiệp của các bộ phận chuyển động




Kiểm soát nhiệt độ trong máy in và máy photocopy



Thiết bị gia dụng có kiểm sốt nhiệt độ



Chăm sóc sức khỏe



Giám sát chăn ni



Phát hiện chuyển động



Điều khiển nhiệt độ nhiều vùng – lên đến 127 bộ cảm biến có thể được đọc thơng qua
2 dây phổ biến



Relay / cảnh báo nhiệt




Đo nhiệt độ cơ thể
2.4.4 Cảm biến IR
Cảm biến vật cản hồng ngoại IR Infrared Obstacle Avoidance được sử dụng để

nhận biết vật cản bằng ánh sáng hồng ngoại, cảm biến có cách sử dụng đơn giản với biến trở
chỉnh khoảng cách nhận biết vật cản, ngõ ra dạng Digital dễ dàng giao tiếp và lập trình với Vi
điều khiển, thích hợp để làm các ứng dụng Robot tránh vật cản, báo trộm, mơ hình cửa tự
động,...

Hình 2.12. Cảm biến IR
Nguyên tắc hoạt động: Cảm biến hồng ngoại sẽ hoạt động bằng cách sử dụng một
cảm biến ánh sáng cụ thể để phát hiện bước sóng ánh sáng chọn trong phổ hồng ngoại (IR).
Bằng cách sử dụng đèn LED tạo ra ánh sáng có cùng bước sóng với cảm biến đang tìm
17


Đồ án môn học

GVHD: Ths. Võ Thị Thu Hồng

kiếm. Khi một vật ở gần cảm biến, ánh sáng từ đèn LED bật ra khỏi vật thể và đi vào cảm
biến ánh sáng. Điều này dẫn đến một bước nhảy lớn về cường độ, mà chúng ta đã biết có thể
được phát hiện bằng cách sử dụng một ngưỡng.

Hình 2.13. Nguyên tắc hoạt động của cảm biến IR

Thông số kỹ thuật:



Điện áp sử dụng: 3.3~5vDC



Nhận biết vật cản bằng ánh sáng hồng ngoại.



Ngõ ra: Digital TTL



Tích hợp biến trở chỉnh khoảng cách nhận biết vật cản.



Kích thước: 3.2 x 1.4cm 
2.4.5 Module Bluetooth HC-05
Module Bluetooth HC-05 là thiết bị thường được lựa chọn để thực hiện các dự án dựa

trên giao tiếp Bluetooth. Module Bluetooth HC-05 là một thiết bị giao tiếp không dây đơn
giản dựa trên giao thức Bluetooth. Module này dựa trên IC Bluetooth chip đơn BC417 tuân
thủ tiêu chuẩn Bluetooth v2.0 và hỗ trợ cho cả giao diện UART và USB.

18


×