Professional Documents
Culture Documents
Khoa học kỹ thuật, cách mạng công nghệ đang từng bước phát triển và
chúng ta- những con người của kỹ thuật phải thay đổi tầm nhìn của mình để theo
kịp công nghệ hiện đại. Trọng tâm của khoa học kỹ thuật trong nền văn minh công
nghiệp này đặt vào 5 lĩnh vực chính đó là công nghệ thông tin, công nghệ vật liệu,
nguồn năng lượng, công nghệ sinh học và công nghệ kỹ thuật điều kiển tự động.
Từ khi Arduino ra đời, nó đã tạo nên một bước ngoặc mới cho sự phát triển của tự
động hóa trong công nghiệp. Arduino là công cụ hỗ trợ đắc lực cho công việc lập
trình. Điểm hấp dẫn ở Arduino với người đam mê lập trình là ngôn ngữ dễ học khá
giống C/C++, các ngoại vi trên bo mạch đều đã được chuẩn hóa nên không cần biết
nhiều về điện tử, chúng ta có thể lập trình được những ứng dụng thú vị. Thêm nữa
Arduino là một platform đã được chuẩn hóa nên có rất nhiều bo mạch mở
rộng(shield) để cắm chồng lên bo mạch Arduino, có thể hình dung dễ hiểu là “
library” của các ngôn ngữ lập trình.
Với Arduino bạn có thể ứng dụng vào những mạch đơn giản như mạch cảm
biến ánh sáng bật tắt đèn, mạch điều kiển động cơ,… hoặc cao hơn nữa bạn có thể
làm những sản phẩm như: máy in 3D, Robot, khinh khí cầu, máy bay không người
lái,… Chính vì sự tiện lợi và đơn giản cho con người sử dụng mà Arduino đã trở
thành một hiện tượng trong ngành điện tử thế giới. Những sản phẩm của cộng đồng
người dùng Arduino cũng như những thiết bị hỗ trợ Arduino lớn đến mức không
thể thống kê được.
1
Arduino được cấu tạo từ phần cứng và phần mềm IDE. Phần cứng hay ta
vẫn nghe một cái tên quen thuộc là vi điều kiển, board mạch mã nguồn mở.
Nhằm ứng dụng các kiến thức đã được trang bị trong quá trình học tập vào
thực tế dựa trên cơ sở môn học” Xây dựng hệ thống nhúng” nhóm em đã lựa chọn
đề tài” Xây dựng hệ thống đo chất lỏng trong bình chứa sử dụng cảm biến siêu
âm và đo nhiệt độ”.
Thời gian thực hiện: Từ tháng 11 năm 2022 đến tháng 12 năm 2022
TT Họ và tên Lớp
1 Đặng Văn Tự DH10C10
2 Nguyễn Thị Thu Hoài DH10C10
3 Nguyễn Thị Thùy DH10C10
4 Tạ Văn Đức DH10C10
5 Lê Thúy Anh DH10C10
6 Dương Việt Anh DH10C10
2
PHÂN CÔNG CÔNG VIỆC
- Tìm hiểu kỹ hơn về mạch điều kiển Arduino mô phỏng trên Protues và
cách kết nối với máy tính.
- Nguyên cứu về nguyên lý hoạt động của cảm biến siêu âm ( HC-SR04 )
thông qua các tài liệu trên internet.
- Đưa ý tưởng về các thông số và giá trị được hiển thị trên thanh LCD,
LED và loa cảnh báo.
- Nghiên cứu các linh kiện trong bo mạch và các linh kiện bảo vệ.
- Mô phỏng trên ứng dụng Protues
3
CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Hệ thống nhúng (tiếng anh embedded system) là một thuật ngữ để chỉ một
hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ
thống mẹ. Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài
toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan
trắc và truyền tin. Đặc điểm của các hệ thống nhúng là hoạt động ổn định và có
tính năng tự động hoá cao.
Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên
biệt nào đó. Một hệ thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất
định, thường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc
và phần cứng chuyên dụng mà ta không tìm thấy trong một máy tính đa năng nói
chung. Vì hệ thống chỉ được xây dựng cho một số nhiệm vụ nhất định nên các nhà
thiết kế có thể tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất. Các
hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn. Hệ thống nhúng
rất đa dạng, phong phú về chủng loại. Đó có thể là những thiết bị cầm tay nhỏ gọn
như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như đèn
giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng
lượng hạt nhân. Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi
điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới
được nằm gọn trong một lớp vỏ máy lớn.
4
1.1.2 Đặc điểm của hệ thống nhúng
Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên
dụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng. Một số
hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độ an toàn
và tính ứng dụng; một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ, cho
phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi phí sản xuất.
Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một
hệthống phức tạp nằm trong thiết bị mà nó điều khiển.
Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và được
lưu trữ trong các chip bộ nhớ ROM hoặc bộ nhớ flash chứ không phải là trong một
ổ đĩa.
Có tài nguyên giới hạn: các hệ thống nhúng bị giới hạn nhiều hơn về phần
cứng và chức năng phần mềm so với máy tính cá nhân.
Tương tác với thế giới thực: hệ thống nhúng tương tác với thế giới bên ngoài
với nhiều cách: cảm nhận môi trường, tác động trở lại môi trường, tốc độ tương tác
phải đáp ứng thời gian thực, có thể có hoặc không có giao diện giao tiếp với người
dùng như máy tính cá nhân.
Yêu cầu chất lượng ổn định và độ tin cậy cao: Nhiều loại thiết bị nhúng có
những yêu cầu rất cao về chất lượng, tính ổn định và độ tin cậy. Lỗi của hệ thống
nhúng có thể gây ra tai nạn khủng khiếp, lỗi trên hệ thống nhúng có thể không sửa
được. Vì vậy việc phát triển hệ thống nhúng yêu cầu quy trình kiểm tra - kiểm thử
rất cẩn thận.
5
1.1.3 Ứng dụng và tầm quan trọng của hệ thống nhúng
Theo các nhà thống kê trên thế giới, thị trường hệ thống nhúng lớn gấp khoảng
100 lần thị trường PC, trong đó số chip xử lý trong các hệ thống nhúng chiếm tới
99% số chip được sử dụng.
Hệ thống nhúng được ứng dụng tất cả các lĩnh vực trong cuộc sống chúng ta hiện
nay:
Các thiết bị trong gia đình: tivi, tủ lạnh, nồi cơm điện,…
Các thiết bị trong công nghiệp: robot, dây chuyền,…
Giao thông vận tải: Ô tô, máy bay,…
Cùng với cuộc cách mạng khoa học – kĩ thuật, hệ thống nhúng được coi là
lĩnh vực then chốt quyết định sự thành công cuộc cách mạng.
Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng
vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,…. Hiện phần cứng của
6
Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều
nhất là Arduino Uno và Arduino Mega.
7
1.2.2 Cấu tạo Arduino UNO
Lập trình robot: Arduino chính là một phần quan trọng trong trung tâm xử lí
giúp điều khiển được hoạt động của robot.
Game tương tác: chúng ta có thể dùng Arduino để tương tác với Joystick,
màn hình,… để chơi các trò như Tetrix, phá gạch, Mario… và nhiều game
rất sáng tạo nữa
Arduino điều khiển thiết bị ánh sáng cảm biến tốt. Là một trong những bộ
phần quan trọng trong cây đèn giao thông, các hiệu ứng đèn nháy được cài
đặt làm nổi bật các biển quảng cáo.
8
Arduino cũng được ứng dụng trong máy in 3D và nhiều ứng dụng khác tùy
thuộc vào khả năng sáng tạo của người sử dụng.
Lập trình máy bay không người lái. Có thể nói đây là ứng dụng có nhiều kì
vọng trong tương lai.
9
Hình 1.4 Kit Arduino R3
10
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Thông số kỹ thuật
- Vi điều kiển
- Vin: Chân Vin giúp cung cấp điện áp vào Arduino bằng cách sử dụng
nguồn điện bên ngoài ngược với vôn từ kết nối USB hoặc RPS khác.
- 5 Volts: RPS có thể tiếp cận từ điện áp đầu vào thông một bộ điều chỉnh
bằng cách sử dụng để cung cấp năng lượng cho bộ vi điều khiển cũng
như các thành phần sử dụng trên bảng Arduino.
- 3,3V: Điện áp cung cấp 3,3V được tạo ra với bộ điều chỉnh trên bo mạch
và dòng rút cao nhất sẽ là 50 mA.
- GND: Chân GND (nối đất)
- Bộ nhớ: Bộ nhớ của Arduino Uno R3 sử dụng ATmega328 gồm có 23KB
và bộ nhớ 0,5KB và bao gồm SRAM-2 KB cũng như EEPROM-1KB.
- Đầu vào đầu ra: Gồm có 14 chân kỹ thuật số làm đầu vào hoặc đầu ra với
các chức năng như pin Mode (), Digital Read () và Digital Write ().
11
Hình 1.6 Các cổng vào ra
- Gim nối tiếp: Bao gồm chân chân TX (1) và RX (0) có thể sử dụng để
truyền dữ liệu nối tiếp TTL, việc kết nối này cũng có thể thực hiện được
với các chân tương đương của ATmega8 U2 USB với chip TTL.
- PWM Pins: Gồm chân 3, 5, 6, 9, 10, & 11, đưa ra đầu ra là PWM 8 bit
với hàm tương tự Write ()
- Chân SPI: Gồm có chân 10, 11, 12, 13 là SS, MOSI, MISO, SCK để duy
trì giao tiếp SPI với sự trợ giúp của thư viện SPI.
- Pin LED: Mạch điện được tích hợp sẵn với đèn LED sử dụng pin-13 kỹ
thuật số, đèn LED được phát sáng khi chân kỹ thuật số ở mức cao và
không phát sáng nếu chân kỹ thuật số ở mức thấp
- Chân TWI: Gồm SDA hoặc A4, & SCL hoặc A5 hỗ trợ giao tiếp TWI
với sự trợ giúp của thư viện Wire
- Pin AREF: Pin AREF hay còn gọi là chân tham chiếu tương tự, đây là
điện áp tham chiếu đến các đầu vào của i / ps tương tự.
- Pin (RST) Reset: Pin (RST) Reset mang lại một dòng thấp để đặt lại bộ
vi điều khiển. Chúng có ích cho việc sử dụng nút RST đối với các tấm
chắn có thể chặn cái này trên bảng Arduino R3.
12
- UART: Hai chân được sử dụng chính là bộ phát 1 và chân số 0 của bộ
thu. Chủ yếu được sử dụng trong giao tiếp nối tiếp UART TTL.
- I2C: Bo mạch Arduino UNO sử dụng chân SDA hoặc chân A4 và chân
A5. Nếu không thì chân SCL được sử dụng cho giao tiếp I2C với thư
viện dây.
- MOSI (Pin12): Chân MISO là một CLK nối tiếp và xung CLK sẽ đồng
bộ hóa quá trình truyền của nó được tạo ra bởi chủ.
1.3.2 Module cảm biến siêu âm HC-SR04
Cảm biến siêu âm HC-SR04 (Ultrasonic Sensor) được sử dụng rất phổ biến
để xác định khoảng cách vì RẺ và CHÍNH XÁC. Cảm biến HC-SR04 sử dụng
sóng siêu âm và có thể đo khoảng cách trong khoảng từ 2 -> 300cm, với độ chính
xác gần như chỉ phụ thuộc vào cách lập trình.
Thông số kỹ thuật
- Model: HC-SR04
13
- Tần số: 40 KHZ
- Điện áp: 5V DC
- Dòng hoạt động: < 2mA
- Mức cao: 5V
- Mức thấp: 0V
- Góc tối đa: 15 độ
- Khoảng cách: 2cm – 450cm (4.5m)
- Độ chính xác: 3mm
Module cảm biến có 4 chân:
- Chân VCC: Dùng để cấp nguồn 5V
- Chân Trig: Chân digital output
- Chân Echo: Chân digital input
- Chân GND: Chân 0V
Nguyên lý hoạt động
- Để đo khoảng cách, ta sẽ phát 1 xung rất ngắn (5 microSeconds) từ
chân Trig. Sau đó, cảm biến siêu âm sẽ tạo ra 1 xung HIGH ở
chân Echo cho đến khi nhận lại được sóng phản xạ ở pin này. Chiều rộng
của xung sẽ bằng với thời gian sóng siêu âm được phát từ cảm biển và
quay trở lại.
14
Hình 1.8 Nguyên lý hoạt động của HC- SR04
LCD được sử dụng hiển thị trạng thái hoặc các thông số của hệ thống.
Thông số kỹ thuật
- Điện áp MAX : 7V
- Điện áp MIN : - 0,3V
- Hoạt động ổn định : 2.7-5.5V
- Điện áp ra mức cao : > 2.4
- Điện áp ra mức thấp : <0.4V
- Dòng điện cấp nguồn : 350uA - 600uA
- Nhiệt độ hoạt động : - 30 - 75 độ C
15
- Chân số 1 - VSS : chân nối đất cho LCD được nối với GND của mạch điều
khiển
- Chân số 2 - VDD : chân cấp nguồn cho LCD, được nối với VCC=5V của
mạch điều khiển
- Chân số 3 - VE : điều chỉnh độ tương phản của LCD
- Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic
"1":
- Chân số 5 - R/W : chân chọn chế độ đọc/ghi (Read/Write), được nối với
logic “0” để ghi hoặc nối với logic “1” đọc
- Chân số 6 - E : chân cho phép (Enable). Sau khi các tín hiệu được đặt lên
bus DB0-DB7.
- Chân số 7 đến 14 - D0 đến D7: 8 đường của bus dữ liệu dùng để trao đổi
thông tin với MPU. Có 2 chế độ sử dụng 8 đường bus này là: Chế độ 8 bit (dữ liệu
được truyền trên cả 8 đường, với bit MSB là bit DB7) và Chế độ 4 bit (dữ liệu
được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7)
- Chân số 15 - A : nguồn dương cho đèn nền
- Chân số 16 - K : nguồn âm cho đèn nền
1.3.4 Nhiệt kế DS18B20
DS18B20 là một loại cảm biến nhiệt độ và nó cung cấp số đọc nhiệt độ từ 9
bit đến 12 bit. Các giá trị này hiển thị nhiệt độ của một thiết bị cụ thể. Giao tiếp
của cảm biến này có thể được thực hiện thông qua một dây giao thức xe buýt sử
dụng một dòng dữ liệu để giao tiếp với bộ vi xử lý.
16
Hình 1.10 Nhiệt kế DS18B20
Thông số kỹ thuật
- Phạm vi cung cấp điện là 3.0V - 5.5V
- Fahrenheit bằng từ -67 ° F đến + 257 ° F
- Độ chính xác của cảm biến này là ± 0,5 ° C
- Độ phân giải o / p sẽ từ 9 bit đến 12 bit
- Nó thay đổi nhiệt độ 12 bit thành từ kỹ thuật số trong thời gian 750 ms
- Nhiệt độ có thể được tính toán từ -55 ° C đến + 125 ° C.
- Chúng có thể đạt được như SOP, To-92 và cũng như cảm biến chống
thấm nước
17
- Điện trở 220k dùng cho đèn led
18
Hình 1.14 Còi chip
19
1.3.8 Board cắm, dây nối
20
08/11/2022 Tự và Đức nghiên cứu về Cả 2 thực hiện chạy mô Bước đầu hệ thống vẫn
phần code của arduino và hình trên phần mềm còn lỗi không chạy
protues. protues, và nghiên cứu được.
soạn code trên arduino.
10/12/2022 Việt Anh xây dựng hệ Hệ thống với cấu tạo phức Các thiết bị nối sai
thống trên các thiết bị vật tạm khó kết nối được với không hoạt động được.
lý. nhau.
11/12/2022 Sửa kết nối lại các thiết bị Đã kết nối đúng các thiết bị Hệ thống chạy và hiển
hệ thống. với nhau. thị.
12/12/2022 Hoài, Thùy và Thúy Anh Hoàn thiện với đầy đủ Thực hiện xong được
nghiên cứu thực hiện bản thông tin nhóm và những 2/3 đồ án
báo cáo đồ án. nội dung có trong đề tài.
16/12/2022 Cả nhóm xem lại hệ thống Cả nhóm đã hoàn thiện tất Hoàn thành báo cáo đồ
đã thực hiện và bổ sung cả và đưa ra đồ án cuối án.
nội dung trong đồ án. cùng.
21
3.3 Phân tích hệ thống cần được xây dựng.
Hệ thống hoạt động theo sơ đồ như sau:
Cảm biến
nhiệt độ
Khối xử lý
Khối nguồn trung tâm Hiển thị
Cảm biến
siêu âm
Điều kiển
Nút bấm
Hình 2.1 Sơ đồ hoạt động của hệ thống
- Khối nguồn: Cung cấp nguồn điện cho hệ thệ thống (5v).
- Khối xử lý trung tâm: Xử lý các tín hiệu của hệ thống, như xử lý thông
tin cảm biến siêu âm, nhiệt độ.
- Cảm biến nhiệt độ: Nhiệt độ sẽ được đo và được khối xử lý trung tâm
phaann tích và hiển thị lên màn hình.
- Cảm biến siêu âm: Đo mực chất lỏng trong bể có thay đổi như nào gửi về
khối xử lý trung tâm sau đó hiển thị lên màn hình LCD.
- Điều kiển: Nút điều kiển sẽ cho phép bật tắt hệ thống có hoạt dộng hay
không.
- Hiển thị: Khi đã được khối xử lý gửi về màn hình sẽ hiển thị nhiệt độ
cũng như mực chất lỏng trong bể có thay đổi hay không.
22
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG
23
3.2.2 Thực hiện code trên IDE Arduino
Hình 3.6 Khai báo thư viện và chân cắm của hệ thống
24
Hình 3.8 Khai báo hiển thị led
25
3.3 Vận hành thử nghiệm hệ thống và kết quả thử nghiệm
3.3.1 Hệ thống hoạt động trên phần mềm protues
26
3.3.2 Hệ thống hoạt động trên thiết bị
Hệ thống cảm biến đo mức chất lỏng khi mức nước đầy cách mặt nước 2cm
thì đèn xanh phát sáng. Khi đó hệ thống truyền tín hiệu lên màn hình lcd hiển thị
khoảnh cách 2m và nhiệt độ.
27
Hệ thống cảm biến đo mức chất lỏng thấp (hết) khi mức nước cách mặt nước
từ >9 cm thì đèn đỏ phát sáng cảnh báo. Khi đó hệ thống truyền tín hiệu lên màn
hình lcd hiển thị khoảnh cách >9 cm và nhiệt độ.
28
KẾT LUẬN
Nội dung đã thực hiện:
- Nhóm tìm hiểu được hệ thống nhúng là gì, các thành phần cấu tạo của
Arduino.
- Lựu chọn đề tài để làm báo cáo.
- Nhóm đã xây dựng được cảm biến siêu âm và nhiệt độ chạy trên mô
phỏng chương trình hệ thống trên phần phềm protues, kết quả là chạy
thành công hệ thống đã nghiên cứu.
- Ứng dụng vào phần mềm đã nghiên cứu nhóm đã xây dựng hệ thống với
các thiết bị vật lý.
- Đề tài đặt ra được hoàn tất.
Khó khăn:
29
Hình 3.1 Cảm biến siêu âm phát hiện vật cản
- Cảm biến siêu âm công nghiệp: Trong công nghiệp, cảm biến siêu âm
được ứng dụng trong những ứng dụng phát hiện dị tật của sản phẩm; phát
hiện sản phẩm bị ngã đổ trên băng chuyền, phát hiện sản phẩm bị nứt
hoặc bể,….
30
- Cảm biến siêu âm đo mức nước: Ngoài ứng dụng để đo mức nước,
người ta còn dùng cảm biến siêu âm đo mức chất lỏng nói chung. Tức là
bao gồm cả dầu ăn, dầu diesel, socola, nước trái cây, đường, muối, acid
ăn mòn,….
31
TÀI LIỆU THAM KHẢO
1. Arduino Project Hub
(https://create.arduino.cc/projecthub/MichDragstar/ultrasonic-sensor-with-
alarm-lcd-and-temperature-a5dbab?
ref=platform&ref_id=424_trending___&offset=694)
2. Arduino.cc ( https://www.arduino.cc)
3. Hệ thống đo mức chất lỏng (https://text.123docz.net/document/7302422-do-
an-xay-dung-he-thong-do-muc-chat-long-trong-binh-chua-su-dung-cam-
bien-sieu-am.htm)
4. Thư viện protues( https://componentsearchengine.com/library/proteus?
gclid=Cj0KCQiAqOucBhDrARIsAPCQL1aeAUqLqZ8Qt91V4jXJ47Xbsl_
ulov_93TJFBd8ZzjhVtRsvAV8V9oaAs5vEALw_wcB)
5. Ứng dụng cảm biến siêu âm (https://thegioidienco.vn/cam-bien-sieu-
am.html)
32