You are on page 1of 39

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐÀO TẠO CHẤT LƯỢNG CAO


************

ĐỒ ÁN MÔN HỌC
XE TỰ HÀNH TRÁNH VẬT CẢN

SVTH: HOÀNG VĂN PHÚ QUÝ - 20151409


ĐẶNG THANH HUY - 20151378
Khoá : 2020
Ngành : CÔNG NGHỆ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG
HOÁ
GVHD: NGUYỄN TRẦN MINH NGUYỆT

Tp.Hồ Chí Minh,tháng 12 năm 2022

1
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
***

Tp. Hồ Chí Minh, ngày--- tháng--- năm 2023

NHIỆM VỤ ĐỒ ÁN MÔN HỌC


Họ và tên sinh viên: MSSV:
Ngành: Lớp:
Giảng viên hướng dẫn: ĐT:
Ngày nhận đề tài: Ngày nộp đề tài:

1. Tên đề tài:

2. Các số liệu, tài liệu ban đầu:

3. Nội dung thực hiện đề tài:

4. Sản phẩm:

TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN

2
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên Sinh viên: .................................................................MSSV: .................................


Ngành:......................................................................................................................................
Tên đề tài: ................................................................................................................................
.................................................................................................................................................
Họ và tên Giáo viên hướng dẫn:
..............................................................................................
.................................................................................................................................................
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
2. Ưu điểm:
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
3. Khuyết điểm:
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
.................................................................................................................................................
5. Đánh giá loại:
.................................................................................................................................................
6. Điểm:……………….(Bằng chữ: .......................................................................................)
.................................................................................................................................................
Tp. Hồ Chí Minh, ngày tháng năm 20…
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
3
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc
*******

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên Sinh viên: .................................................................MSSV: .................................


MSSV: .................................
MSSV: .................................
Ngành:......................................................................................................................................
Tên đề tài: ................................................................................................................................
.................................................................................................................................................
Họ và tên Giáo viên phản biện: ...............................................................................................
.................................................................................................................................................
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
2. Ưu điểm:
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
3. Khuyết điểm:
.................................................................................................................................................
.................................................................................................................................................
.................................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
.................................................................................................................................................
5. Đánh giá loại:
.................................................................................................................................................
6. Điểm:……………….(Bằng chữ:...................................................................................)
.................................................................................................................................................
Tp. Hồ Chí Minh, ngày tháng năm 2022

4
5
LỜI NÓI ĐẦU
Trong thời đại công nghiệp ngày nay, robot ngày càng được sử dụng phổ biến
trong sản xuất cũng như trong cuộc sống của con người. Robot đã có một vị trí
quan trọng khó có thể thay thế được, nó giúp con người để làm việc trong các
điều kiện nguy hiểm, khó khăn. Ngoài ra, robot còn được dùng vào các lĩnh vực
thám hiểm không gian, quân sự, giải trí... Lĩnh vực robot di động đang ngày càng
chiếm được sự quan tâm của các nhà nghiên cứu và xã hội. Chính vì lí do này, em
đã lựa chọn đề tài “Thiết kế xe tránh vật cản” cho học phần Đồ Án.

Trong bài báo cáo của mình, em xin trình bày những nội dung sau:

- Chương 1: Tổng quan.


- Chương 2: Cơ sơ lý thuyết
- Chương 3: Lựa chọn linh kiện
- Chương 4: Kết quả thực nghiệm
- Chương 5: Kết luận.

Em xin chân thành cảm ơn!

Sinh viên

Đặng Thanh Huy


Hoàng Văn Phú Qúy

6
CHƯƠNG 1. TỔNG QUAN
1.1 Đặt vấn đề
Hiện nay nền công nghiệp 4.0 đã và đang phát triển mạnh rộng rãi trong hầu
hết các ứng dụng của nền kinh tế trong mỗi quốc gia. Một trong những ứng dụng
được sử dụng gần đây nhất đó là ứng dụng công nghệ thông tin vào công nghệ chế
tạo và điều khiển robot thông minh.
Xu thế phát triển hiện nay trên thế giới khoa học và công nghệ luôn có những
thay đổi mạnh mẽ. Nền kinh tế tri thức cùng với công nghệ thông tin và kỹ thuật đã
góp phần quan trọng vào việc nâng cao chất lượng cuộc sống của con người. Trong
nền kinh tế tri thức thực sự phát triển của xã hội không thể tách khỏi sự phát triển
của kỹ thuật và công nghệ thông tin và đặc biệt là sự phát triển của tin học, ngành
khoa học công nghệ mới tạo ra các sản phẩm robot và nghiên cứu ứng dụng chính
hình thành trong những thập kỷ gần đây được gọi là Robotics.
1.2 Mục đích của đề tài
– Điều khiển xe robot chạy tiến, lùi, trái và phải
– Sử dụng cảm biến ở trước để tránh vật cản
– Viết chương trình điều khiển
– Thi công mô hình xe robot
– Sản phẩm cuối cùng và chạy thực tế
1.3 Đối tượng và phạm vi nghiên cứu
* Đối tượng nguyên cứu đề tài
- Mô hình xe tự hành ( Kích thước 25 cm x 15cm )
- Chạy mô hình ổn định quá trình cảm biến và tự hành tránh vật cản.
* Phạm vi nguyên cứu
Không gian làm việc của xe là 1 mặt phẳng được giới hạn bởi các bức tường, các
vật cản được xem là vật cản 2 chiều tĩnh hoàn tĩnh.
1.4. Ý nghĩa khoa học và thực tiễn của đề tài
* Ý nghĩa khoa học
Xây dựng được về khả năng tự hành tránh vật cản của robot sử dụng cảm biến siêu
âm
7
* Ý nghĩa thực tiễn của đề tài
Ứng dụng của xe tự hành rất lớn, có thể kể đến robot vận hành vật liệu, hàng
hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay hay thư viện, tự hành vào khâu
thương mại điện tử,robot hút bụi…

Hình 1.1 Robot hút bụi

Hình 1.2 Robot vận chuyển hàng hóa

8
CHƯƠNG 2. CƠ SỞ LÍ THUYẾT
2.1 Mô hình xe tự hành tránh vật cản

Hình 2.1 Mô hình xe tự hành tránh vật cản

2.2Tổng quan robot tự hành tránh vật cản


Xe tự hành là một loại xe robot có khả năng tự dịch chuyển, tự vận động (có thể
lập trình lại được) dưới sự điều khiển tự động có khả năng hoàn thành công việc
được giao. Xe tự hành là một thành phần có vai trò quan trọng trong ngành robot
học. Cùng với sự phát triển mạnh mẽ của các hệ thống tự động hóa, xe tự hành
ngày một được hoàn thiện và càng cho thấy lợi ích của nó trong công nghiệp và
sinh hoạt. Ngày nay xe tự hành có rất nhiều ứng dụng tự động hóa trong đời sống,
công nghiệp….Có nhiều công việc đòi hỏi thực thi trong môi trường độc hại, nguy
hiểm như có phóng xạ, khí độc, bụi bẩn, kí sinh trùng gây bệnh. Vì thế giải pháp sử
dụng robot nói chung trong việc quan trắc môi trường là rất cần thiết. Với khả năng
tích hợp nhiều loại cảm biến như nhiệt độ, độ ẩm, bụi, camera, siêu âm, hồng

9
ngoại…, robot có khả năng thay thế con người 1 cách hiệu quả trong các công việc
có độ nguy hiểm cao.

2.3Sơ đồ khối
Nguyên lý hoạt động của xe được minh họa qua sơ đồ khối

Hình 2.4 Sơ đồ khối cấu tạo của xe tự hành.


Cấu tạo của xe gồm có bồn khối cơ bản: Khối nguồn, khối cảm biến, khối điều
khiển và khối động cơ.
Chức năng các khối:
- Khối nguồn: sử dụng nguồn 12 VDC cấp cho khối điều khiển hoạt động và
cấp nguồn 5VDC cho các khối hoạt động. Điều khiển tắt mở nguồn và chia
nguồn thành nhiều mức khác nhau, ổn định nguồn cung cấp cho các tải.
- Khối cảm biến: Sử dụng cảm biến siêu âm để đo khoảng cách
- Khối điều khiển: sử dụng Arduino Uno R3 nhận tín hiệu từ các khối rồi đưa
ra tín hiệu điều khiển vận hành.
- Khối động cơ: Nhận tín hiệu từ Arduino qua L298 của khối điều khiển để
điều khiển động cơ.

2.4 Các tình huống khi cảm biến phát hiện vật cản:

10
Hình 2.3 Các trường hợp sensor phát hiện vật cản

Tình huống 1 : nếu cảm biến phát hiện vật cản


+Nếu dl>dr thì robot di chuyển sang trái θ a=¿)
+Nếu dl<=dr thì robot di chuyển sang phải θ a=¿)

Tình huống 2 : nếu cảm biến quay sang trái và không phát hiện vật cản
+Robot di chuyển sang trái θ a=¿)

Tình huống 3 : nếu cảm biến quay sang phải và không phát hiện vật cản
+Robot di chuyển sang phải θ a=¿)

Tình huống 4 : nếu cảm biến ở giữa và không phát hiện vật cản
+Robot di chuyển sang phải một góc 90 o(gán θ a=θa −90o, sau đó hiệu chỉnh θ a ∈¿ )

Tình huống 5 : nếu cảm biến quay sang trái và phát hiện vật cản
+Robot di chuyển sang phải một góc 25o (gán θ a=θa −25o, sau đó hiệu chỉnh θ a ∈¿ )

Tình huống 6 :nếu cảm biến quay sang phải và phát hiện vật cản
+Robot di chuyển sang trái một góc 25o (gán θ a=θa −25o, sau đó hiệu chỉnh θ a ∈¿ )

Tình huống 7 : nếu cảm biến ở giữa và phát hiện vật cản
+Robot di chuyển sang trái một góc 90 o(gán θ a=θa −90o , sau đó hiệu chỉnh θ a ∈¿ )

2.5Bộ điều khiển PID


2.5.1 Giới thiệu bộ điều khiển PID
11
Bộ điều khiểu khiển PID đã xuất hiện ở trong các thiết kế của bộ điều tốc. Sau này
PID controller được phát triển trên hệ thống tàu thủy tự động. Sự xuất hiện đầu tiên
về khái niệm PID controller được phát triển bởi Elmer Sperry năm 1911. Sau này
đến năm 1922 Nicolas Minorsky đã xuất bản tác phẩm lý thuyết về bộ điều khiển
PID đầu tiên. Lý thuyết này được Minorsky phát triển dựa vào sự quan sát hành vi
của người lái tàu thủy trong khoảng thời gian này. Một số bộ điều khiển đầu tiên
chính là: khí nén, thủy lực, cơ khí và các hệ thống điện phát triển sau chiến tranh thế
giới lần 2.

PID là viết tắt của từ proportional integral derivative là bộ điều khiển theo tỷ lệ,
tích phân, đạo hàm. Có thể hiểu PID là một cơ chế phản hồi của vòng điều khiển
được dùng ở hầu hết các loại thiết bị, máy móc công nghiệp. Điều khiển PID được
sử dụng nhiều nhất trong tất cả các loại điều khiển phản hồi. PID được sử dụng để
tính toán các giá trị sai số. Hiểu đơn giản nó là hiệu số giữa giá trị đo thông số biến
đổi và giá trị đặt theo yêu cầu. PID controller sẽ thực hiện giảm tối đa các sai số
bằng phương pháp điều chỉnh các giá trị ở đầu vào.

Bộ điều khiển PID là bộ điều khiển kinh điển, rất phổ biến tỏng thực tế và hiện
nay 95% hệ thống điện, tự động hóa, điện tử, …trong công nghiệp sử dụng bộ điều
khiển PID để vận hành hệ thống theo mong muốn.

Mục tiêu chung của điều khiển là tín hiệu đáp ứng ổn định và thỏa mãn tín hiệu ta
mong muốn hệ thống đạt được và mục tiêu sử dụng của bộ điều khiển PID cũng
giống vậy.
- Giảm sai số xác lập đến mức tối thiểu nhất.
- Hạn chế độ dao động.
- Giảm thời gian xác lập và độ vọt lố.
2.5.2 Cấu trúc bộ điều khiển PID
Sơ đồ một hệ thống điều khiển dùng PID:

12
Hình 2.2 Sơ đồ hệ thống điều khiển dùng PID

Bộ điều khiển PID gồm 3 thông số đặc trưng: các giá trị tỉ lệ, tích phân và
đạo hàm, viết tắt là P, I, và D. Giá trị tỉ lệ xác định tác động của sai số hiện tại,
giá trị tích phân xác định tác động của tổng các sai số quá khứ, và giá trị vi phân
xác định tác động của tốc độ biến đổi sai số.

Gọi e là sai số của quá trình, được xác


định:
(3.1)
e = SP -PV

Trong đó:

 SP: Giá trị đặt.


 PV: Giá trị tín hiệu đầu ra.

Nhiệm vụ của bộ điều khiển phản hồi là điểu chỉnh giá trị đầu vào theo giá trị
e đo được để giá trị đầu ra tiến tới giá trị đặt. Tuy nhiên nếu chỉ cộng thêm hoặc
trừ đi e vào giá trị điều khiển thì thời gian đáp ứng của hệ thống có thể sẽ nhanh
hơn hoặc chậm hơn thời gian đáp ứng mong muốn. Do đó cần đến khâu tỉ lệ P.
Khâu tỉ lệ làm thay đổi giá trị đầu ra, tỉ lệ với giá trị sai số hiện tại. Đáp ứng tỉ lệ
có thể được điều chỉnh bằng cách nhân sai số đó với một hằng số K P, được gọi
là hệ số tỉ lệ. Khâu tỉ lệ được cho bởi

P = Kpe
Nếu hệ số tỉ lệ quá cao, hệ thống sẽ không ổn định. Nếu hệ số tỉ lệ quá thấp,
tác động điều khiển có thể sẽ quá bé khi đáp ứng với các nhiễu của hệ thống.

13
Hình 3.3. Đồ thị tín hiệu ra theo thời gian, ba giá trị KP (KI và KD là hằng số).

Khi sai số tồn tại trong một khoảng thời gian dài về một phía của giá trị đặt, ta cần tăng tốc
chuyển động của quá trình tới điểm đặt. Nhờ có khâu tích phân ta có thể giải quyết được vấn
đề này. Khâu tích phân tỉ lệ thuận với cả biên độ sai số lẫn quãng thời gian xảy ra sai số.
Tổng sai số tức thời theo thời gian cho ta tích lũy bù đã được hiệu chỉnh trước đó. Tích lũy
sai số sau đó được nhân với độ lợi tích phân và cộng với tín hiệu đầu ra của bộ điều khiển.
Biên độ phân phối của khâu tích phân trên tất cả tác động điều chỉnh được xác định bởi hệ số
tích phân KI. Thừa số tích phân được cho bởi:

Trong đó:

 KI: Hệ số tích phân.


 e(t): Hàm sai lệch theo thời gian.
Tuy nhiên, vì khâu tích phân là đáp ứng của sai số tích lũy trong quá khứ, nó có thể khiến
giá trị hiện tại vọt lố qua giá trị đặt (ngang qua điểm đặt và tạo ra một độ lệch với các hướng
khác), do đó cần phải cần trọng khi sử dụng khâu tích phân.

14
Hình 3.4. Đồ thị tín hiệu ra theo thời gian, tương ứng với 3 giá trị KI (KP và KD không đổi).

Tốc độ thay đổi của sai số qua trình được tính toán bằng cách xác định độ dốc của sai số
theo thời gian (tức là đạo hàm bậc một theo thời gian) và nhân tốc độ này với hệ số vi phân KD .
Thừa số vi phân được cho bởi:

Trong đó:

 KD: Hệ số vi phân.
 e(t): Hàm sai lệch theo thời gian.

Khâu vi phân làm chậm tốc độ thay đổi của đầu ra bộ điều khiển và đặc tính này là đang
chú ý nhất để đạt tới điểm đặt của bộ điều khiển. Từ đó, điều khiển vi phân được sử dụng để
làm giảm biên độ vọt lố được tạo ra bởi thành phần tích phân và tăng cường độ ổn định của
bộ điều khiển hỗn hợp.

15
Hình 3.5. Đồ thị tín hiệu ra theo thời gian, với 3 giá trị KD (KP and KI không đổi).

Bộ điều khiển PID gồm có ba khâu chính: tỉ lệ (KP), tích phân (KI), vi phân (KD) còn
có thể gọi là khâu vi tích phân tỉ lệ.
Phương trình toán học của bộ điều khiển PID.

CHƯƠNG 3. LỰA CHỌN LINH KIỆN


3.1 Khối điều khiển trung tâm Arduino UNO R3
3.1.1 Arduino là gì?
Arduino một nền tảng mã nguồn mở phần cứng và phần mềm.
Phần cứng Arduino (các board mạch vi xử lý) được sinh ra tại thị trấn Ivrea ở
Ý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được
16
thuận lợi hơn. 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. Những Model hiện tại được
trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số
tương thích với nhiều board mở rộng khác nhau.

Hình3.1 Arduino Uno


3.1.2 Thông số kỹ thuật

Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V

Tần số hoạt động 16MHz

Dòng tiêu thụ Khoảng 30mA

Điện áp vào khuyên dùng 7-12V

Điện áp vào giới hạn 6-20V

Số chân Digital I/O 14 (trong đó 6 pin có khả năng băm


xung)

Số chân Analog 6

Dòng tối đa trên mỗi chân I/O 30mA

Dòng ra tối đa(5V) 300mA

Dòng ra tối đa(3,3V) 50mA

Bộ nhớ flash 32 KB (ATmega328P)


0.5 KB được sử dụng bởi bootloader

17
SRAM 2 KB (ATmega328P)

EEPROM 1 KB (ATmega328P)

3.1.3 Cấp nguồn và các chân nguồn


* Cấp nguồn
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp
nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường
thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng
USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino
UNO.
* Các chân nguồn
- GND (Ground): cực âm của nguồn điện cấp choArduino UNO. Khi bạn dùng các
thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với
nhau.
- 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
- 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
- Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương
của nguồn với chân này và cực âm của nguồn với chân GND.
- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở
chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy nguồn 5V từ
chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.

3.2 Khối điều khiển động cơ Module L298


Chọn mạch điều khiển phù hợp so với mô hình với hoạt động mô hình di
chuyển trên địa hình thì yêu cần một mạch điều khiển động cơ DC luôn ổn định đáp
ứng đủ cho động cơ hoạt động trơn tru không gặp trở ngại trong việc nguồn cấp
động cơ, điều khiển hoạt động của động cơ. Với yêu cầu nêu trên nên em chọn mạch
điều động cơ L298N có tích hợp mạch cầu H. Mạch nhỏ gọn, có giá thành hợp lí và
giúp làm giảm thời gian thi công. IC L298 được gắn trên đế tản nhiệt vì khi động cơ
dùng lực kéo lớn tức cần dòng cao mà điện áp không đổi thì đối với IC L298 sẽ sinh
18
ra lượng nhiệt lớn làm nóng dễ gây ra hư hỏng mạch nên đã được gắn thêm tản
nhiệt.
3.2.1 Module L298 là gì?
Module điều khiển động cơ L298 là một module gồm 2 mạch cầu H tích hợp
trong IC L298, nhờ đó module này có thể điều khiển được 2 động cơ riêng biệt.

Hình 3.2 Module L2987


3.2.2 Thông số kỹ thuật
- Driver: L298N tích hợp hai mạch cầu H.
- Điện áp điều khiển: +5 V ~ +12 V
- Dòng tối đa cho mỗi cầu H là: 2A (=>2A cho mỗi motor)
- Điện áp của tín hiệu điều khiển: +5 V~ +7V
- Dòng của tín hiệu điều khiển: 0 ~ 36mA (Arduino có thể chơi đến 40mA nên khỏe
re nhé các bạn)
- Công suất hao phí: 20W (khi nhiệt độ T = 75 °C)
- Nhiệt độ bảo quản: -25 °C ~ +130 °C
3.2.3. Cấp nguồn và các chân nguồn
* Cấp nguồn
Bộ nguồn 12V-GND-5V: Tùy thuộc loại động cơ mà ta chọn 12V hay 5V.
* Các chân nguồn
- Chân A Enable, B Enable là 2 chân điều khiển tốc độ
2 động cơ riêng biệt.

19
- Input: Là 4 chân điều khiển chiều quay của 2 động cơ.
- Output A, Output B: Là 2 đầu ra kết nối với 2 động cơ.
3.3 Khối hệ thống cảm biến SR04
*Yêu cầu cảm biến
Thời gian đáp ứng nhỏ hơn 0,01s
Sai số nhỏ hơn 5 mm
Lựa chọn cảm biến SR04

3.3.1 Cảm biến SR04 là gì?


Cảm biến đo khoảng cách là nhóm các cảm biến dùng để đo khoảng cách. Độ
chính xác mà các thiết bị này mang lại có thể từ vài cm đến 3000 m. Loại cảm biến
này thường được sử dụng  khá rộng rãi trong công nghiệp, đặc biệt là ở một số cảm
biến và các trạm dầu khí.
Trên thị trường tồn tại khá nhiều loại cảm biến dùng trong việc đo khoảng
cách giữa các vật như: cảm biến siêu âm đo khoảng cách, cảm biến quang đo
khoảng cách, cảm biến hồng ngoại đo khoảng cách. cảm biến đo khoảng cách bằng
laser,.... Tùy vào nhu cầu về tính chính xác, giá thành, mục đích sử dụng, môi
trường xung quanh mà có những loại cảm biến đặc thù. Có 4 loại cảm biến thường
được dùng để đo khoảng cách: 
 Cảm biến Lase
 Cảm biến siêu âm
 Cảm biến từ
 Cảm biến Encode
* CHỌN CẢM BIẾN SIÊU ÂM
Dùng cảm biến siêu âm đo khoảng cách là loại cảm biến có độ chính xác rất
cao. Đo khoảng cách bằng cảm biến siêu âm có nhiều công dụng và mức độ sử dụng
rộng rãi trong công nghiệp. Ta có thể liệt kê đến một số ứng dụng khá phổ biến của
cảm biến siêu âm như sau: Đo khoảng cách mức nước thải của nhà máy, đo khoảng
cách từ miệng của bể chứa đến dung môi trong bể chứa (thường là xăng, dầu,…) với
dòng sản phẩm này thì hãng Omron có cung cấp.

20
Cảm biến khoảng cách hay còn gọi là cảm biến siêu âm là một loại cảm biến
phổ biến. Cảm biến có thể đo trong khoảng từ 2 đến 300 cm. Cảm biến siêu âm
Ultrasonic HC-SR04 được sử dụng để nhận biết khoảng cách từ vật thể đến cảm
biến nhờ sóng siêu âm, cảm biến có thời gian phản hồi nhanh, độ chính xác cao, phù
hợp cho các ứng dụng phát hiện vật cản, đo khoảng cách bằng sóng siêu âm.

Hình 3.3 Cảm biến SR04


- 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 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.
- Cảm biến SRF04 hoạt động dựa trên nguyên tắc phát đi một xung và tính thời gian
từ lúc phát xung đến lúc nhận về được xung đó. Từ đó tính khoảng cách bằng cách
với thời gian vừa đọc được nhân với vận tốc sóng siêu âm.
- Để đo khoảng cách, ta lập trình cho vi điều khiển phát một xung có độ rộng 10µs
vào chân Trig của cảm biến. Ngay khi đó cực phát trên cảm biến sẽ phát ra xung của
sóng âm (v=340m/s). Chân Echo kéo lên mức cao cho đến khi nhận lại được sóng
phản xạ thì chân Echo được kéo xuống thấp. 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. Sử dụng Timer ta sẽ đo
được khoảng thời gian này.
t
d=
2.29,412

Trong đó:
d: Khoảng cách cần đo.
21
t: Khoảng thời gian sóng siêu âm được phát từ cảm biến và quay trở lại.

Hình 3.4 Biểu đồ thời gian của cảm biến.


Nếu đo được chính xác thời gian và không có nhiễu, mạch cảm biến siêu
âm trả về kết quả cực kì chính xác. Điều này phụ thuộc vào cách viết chương trình
không sử dụng các hàm delay.

Lưu ý: Những trường hợp cảm biến không đo được khoảng cách:
 Khi khoảng cách đến vật lớn hơn 6m.
 Khi mặt phẳng phản xạ không hướng vào cảm biến.
 Khi vật cản quá nhỏ.
 Khi vật cản quá mềm (chăn, gối…).

Hình 3.5. Những trường hợp cảm biến không đo được khoảng cách.
3.3.2 Thông số kỹ thuật
22
- Điện áp hoạt động: 5VDC
- Dòng tiêu thụ: 10~40mA
- Tín hiệu giao tiếp: TTL
Chân tín hiệu: Echo, Trigger.
- Góc quét:<15 độ
- Tần số phát sóng: 40Khz
- Khoảng cách đo được: 2~450cm (khoảng cách xa nhất đạt được ở điều kiện lý
tưởng với không gian trống và bề mặt vật thể bằng phẳng, trong điều kiện bình
thường cảm biến cho kết quả chính xác nhất ở khoảng cách <100cm).
Sai số: 0.3cm (khoảng cách càng gần, bề mặt vật thể càng phẳng sai số càng nhỏ).
- Kích thước: 43mm x 20mm x 17m

3.3.3 Cấp nguồn và các chân nguồn


* Cấp nguồn
-Nguồn làm việc: 5V (một số mạch điện tử có thể cấp nguồn 3.3V vẫn hoạt động
bình thường nhưng cảm biến siêu âm cần hoạt động ở mức 5V).
* Các chân nguồn
- Vcc -> nguồn 5V
- Trig - nối vi điều khiển (ngõ phát) (pin 3 arduino) (có thể sử dụng mức áp 3.3V để
kích cảm biến mà không ảnh hưởng đến kết quả)
- Echo -> nối vi điều khiển (ngõ thu) (pin 2 arduino)
- Gnd -> nối âm.

VCC 5V

TRIG Một chân Digital output

Echo Một chân Digital input

GND GND

23
3.4 Khối động cơ RC Servo
3.4.1 Động cơ RC Servo là gì?
Động cơ RC Servo có kích thước nhỏ, là loại được sử dụng nhiều nhất để làm
các mô hình nhỏ hoặc các cơ cấu kéo không cần đến lực nặng.
Động cơ servo SG90 Tower Pro có tốc độ phản ứng nhanh, các bánh răng
được làm bằng nhựa nên cần lưu ý khi nâng tải nặng vì có thể làm hư bánh răng,
động cơ RC Servo 9G có tích hợp sẵn Driver điều khiển động cơ bên trong nên có
thể dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM.
Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra
của động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí
sẽ được hồi tiếp về mạch điều khiển này. Nếu có bất kỳ lý do nào ngăn cản chuyển
động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí
mong muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm
chính xác. Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ
servo RC (radio-controlled). Trong thực tế, bản thân động cơ servo không phải được
điều khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi.
Động cơ servo nhận tín hiệu từ máy thu này.

Hình 3.6 Động cơ RC Servo

3.4.2 Thông số kỹ thuật


- Điện áp hoạt động: 4.8-5VDC
- Tốc độ: 0.12 sec/ 60 deg (4.8VDC)

24
- Lực kéo: 1.6 Kg.cm
- Kích thước: 21x12x22mm
- Trọng lượng: 9g.

3.4.3 Cấp nguồn và các chân nguồn


* Cấp nguồn
Điện áp hoạt động trong ngưỡng : 4.8-5V
* Các chân nguồn
- Dây đen: GNG
- Dây đỏ: VCC
- Dây cam: Input

3.5 Khối động cơ Motor DC


3.5.1 Động cơ Motor DC là gì?
Động cơ DC giảm tốc V1 Dual Shaft Plastic Geared TT Motor là loại được
lựa chọn và sử dụng nhiều nhất hiện nay cho các thiết kế khung Robot, xe,
thuyền,..., động cơ có chất lượng và giá thành vừa phải cùng với khả năng dễ lắp ráp
đem đến chi phí tiết kiệm và sự tiện dụng cho người sử dụng.
Tính toán chọn động cơ Giả sử toàn bộ thân xe có khối lượng M1= 1kg, vật
nặng hình hộp chữ nhật có khối lượng M2= 0.5kg, khối lượng bánh xe m= 0,025kg -
Toạ độ trọng tâm:Chọn hệ trục toạ độ như hình vẽ:

25
Hình 3.7 Các lực tác dụng lên xe

Chọn vị trí đặt vật nặng mong muốn là ở vị trí x=L/4 với L là khoảng cách
giữa 2 bánh xe sau và bánh trước, G1 và G2 là trọng tâm của xe và của vật nặng. Ta
tính được hoành độ trọng tâm của hệ:

m 1 x G 1+ m 2 x G 2
XG=
m1+ m 2

Từ đó ta tính được lực tác dụng lên mỗi bánh xe:

{
M 1+ M 2

{
R1 + R2=P 3P
R 1= =3 g=5.5125 N
8 8
5L 3 L ==>
R1 =R 2 5P
8 8 R2 = =9.1875 N
8

Xét các lực tác dụng lên một bánh chủ động, ta có mô hình toán:

Hình 3.8 Các lực tác dụng lên bánh xe

Ta giả sử thời gian để xe tăng tốc từ 0 m/s lên vận tốc cực đại 0,5 m/s là 1s. Ta suy
ra
được gia tốc của xe là:

v max 0.5 2
a= = =0.5 m/ s
t 1
Phương trình cân bằng momen

T −F ms R=Iγ

2
MR
Với moment quán tính của bánh xe: I = và γ là gia tốc của bánh xe
2
R2
Gọi M = =1.5kg là khối lượng tương đương mà bánh xe sau phải chịu
g
Moment tác dụng lên bánh xe:
26
1 2
T =F ms R+ Iγ=( M + m). a . R+ m R γ
2
1 2
T =(1, 5+0,025) .0,5.0,04 + 0,025.0,0 4 .12,5=30.81 Nmm
2
Công suất cần thiết của động cơ

P=Tω=0.03081 .12,5=0.385125 W

Từ công suất đã tính, ta chọn cơ V1 Dual Shaft Plastic Geared TT Motor có hộp
giảm tốc và encoder.

Hình 3.9 Động cơ Motor


3.5.2 Thông số kỹ thuật
• Điện áp hoạt động : 3~9VDC
Dòng điện tiêu thụ: 110~140mA
- Tỉ số truyền 1:48
• 125 vòng/ 1 phút tại 3VDC.
• 208 vòng/ 1 phút tại 5VDC.
Moment: 0.5KG.CM
- Tỉ số truyền 1:120
• 50 vòng/ 1 phút tại 3VDC.
• 83 vòng/ 1 phút tại 5VDC.
27
• Moment: 1.0KG.CM

3.6 Khối di chuyển


3.6.1 Bánh xe V1
Bánh xe V1 được thiết kế để sử dụng với động cơ giảm tốc V1. Bánh xe V1 là
loại bánh được sử dụng nhiều nhất trong các thiết kế robot hiện nay vì có giá thành
phải chăng, chất lượng tốt, để lắp ráp và ứng dụng trong thiết kế.
Bên cạnh đó nó còn là bộ phận trực tiếp làm xe chuyển động. Bánh xe phải có
khả năng bám đường tốt, không trơn trượt, chịu tải ổn định, dễ dàng tháo lắp và thay
thế. Từ những yêu cầu trên ta có thể sử dụng bánh xe giảm tốc V1- V3 hoặc bánh
Mecanum để làm bánh chủ động cho xe. Bánh Mecanum là một dạng của bánh đa
hướng (Omnidirectional Wheel). Bánh xe này được tạo thành bởi các con lăn nhỏ
với trục được lắp nghiêng một góc 45 độ so với trục quay chính của bánh xe, nhờ
kết cấu đặc biệt này nên bánh có thể thực hiện nhiều chuyển động phức hợp theo
phương pháp cộng vector. Với bánh Mecanum, xe có thể chuyển động tiến lùi, xoay
tròn trong không gian nhỏ hẹp, đặc biệt có thể di chuyển theo phương ngang khi cần
thiết. Tuy có nhiều ưu điểm nhưng giá thành của bánh xe Mecanum khá cao và giải
thuật điều khiển phức tạp nên nhóm quyết định sẽ sử dụng bánh xe giảm tốc V1 có
đường kính D= 80 mm để làm bánh chủ động cho xe.

Hình 3.10 Bánh xe

3.6.2 Thông số kỹ thuật


28
- Chất liệu: Nhựa
- Đường kính bánh xe: 66mm
- Đồ dày lốp xe : 6.5mm
- Chiều rộng bánh xe : 27mm
- Trục xe phi 5mm, độ rộng khuyết là 3.66mm

3.7 Khối cấp nguồn


3.7.1 Pin IRC 18650
Pin IRC 18650 4200mAh là dòng pin sạc được sử dụng khá phổ biến hiện nay.
Thường thấy trong các loại đèn pin siêu sáng, pin sạc dự phòng

Hình 3.11 pin IRC 18650


3.7.2 Thông số kỹ thuật.
- Pin sạc 3.7V / 4.2V IRC 18650 4200mAh sử dụng cho sạc dự phòng, đèn pin, đồ
chơi...
- Pin dung lượng cao lithium có thể sạc nhiều lần mà không làm giảm tuổi thọ của
pin
- Pin cho phép sạc lại đến Trên 100 lần mà không làm giảm chất lượng pin.
- Loại pin: lithium ion (li-ion)
- Kích thước : 6.5 x 1.8 cm

CHƯƠNG 4. THIẾT KẾ CHI TIẾT HỆ THỐNG


4.1. Sơ đồ lắp ráp robot
29
Hình 4.1 Sơ đồ nối dây

4.2 Lập trình cho xe tự hành


Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát
triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình
Arduino được gọi là Arduino IDE (Intergrated Development Environment).

30
Hình 4.2. Giao diện Arduino IDE.
Ngôn ngữ lập trình của Arduino dựa trên nền tảng C/C++ rất quen thuộc với
người làm kỹ thuật, nhưng so với lập trình lập trình trực tiếp với vi điều khiển,
lập trình với Arduino đơn giản hơn nhiều vì chỉ phải giao tiếp với phần cứng
thông qua các thư viện. Trên website arduino.cc, có khá nhiều các thư viện viết
sẵn để điều khiển ngoại vi: LCD, cảm biến, động cơ... nên sẽ rất đơn giản cho
người sử dụng để viết ra một chương trình ứng dụng của riêng mình.

4.3 Giải thuật PID

Sau khi xác định phía trước không có vật cản, xe thực hiện điều chỉnh để bám
tưởng với khoảng cách không đổi 25 cm. Để làm được điều này, vi điều khiển
sẽ tính toán giá trị sai số e theo công thức:

e = SP

Trong đó: Từ đó, ta suy ra giá trị tương ứng


các tham số của bộ điều khiển PID:
-SP: Giá trị đặt, chọn bằng 25cm.

31
P  KP *e
I KI *e

D  KD *e –
pe

Trong đó:

 e: Giá trị sai lệch của vòng lặp hiện tại.


 pe: Giá trị sai lệch của vòng lặp trước.

Sau nhiều lần thử nghiệm, các hệ số của bộ điều khiển được lựa chọn như sau:

KP  5.5
KI  0.0001
KD  1

CHƯƠNG 5. KẾT QUẢ THỰC NGHIỆM

Sau khi xây dựng thuât toán cho xe, ta tiến hành nạp code vào Arduino và thử
nghiệm cho xe tự di chuyển. Kết quả thu được như sau:

-Xác định phía trước không có vật cản, xe sẽ đi thẳng.

Hình 5.1. Trường hợp phía trước không có vật cản


- Xác định phía trước và bên trái có vật cản , xe sẽ rẽ phải.

32
Hình 5.2. Trường hợp phía trước và bên trái có vật cản

- Xác định phía trước và bên phải có vật cản, xe rẽ trái.

Hình 5.3. Trường hợp phía trước và bên phải có vật cản
- Xác định bên trái có vật cản ,xe sẽ rẽ phải.

33
Hình 5.4. Trường hợp bên trái có vật cản
- Xác định bên phải có vật cản ,xe sẽ rẽ trái.

Hình 5.5. Trường hợp bên phải có vật cản

- Xác định xe khi dồn vào góc

34
Hình 5.6. Trường hợp dồn vào góC

KẾT LUẬN
Về cơ bản, bài toán tránh vật cản đề ra đã được giải quyết tương đối tốt:
- Thiết kế và chế tạo robot tránh vật cản có sử dụng thuật toán PID.

Tuy nhiên, do hạn chế về phần cứng, sản phẩm vẫn chưa thực sự hoàn chỉnh,
vẫn gặp những tình huống không thể xử lí chính xác, cụ thể là:

- Do cảm biến siêu âm chỉ có góc quét là 450 nên khi gặp vật cản nằm ngoài
phạm vi quét của cảm biến, xe tự hành không thể tránh được và sẽ xảy ra
va chạm. Cách khắc phục là gắn hai cảm biến siêu âm lên một động cơ
servo và cho quay với góc 450 để có thể phát hiện vật cản từ mọi hướng,
từ đó giúp cho việc tự hành của xe đạt hiệu quả cao hơn.

Ngoài việc khắc phục những điểm thiếu sót, em cũng xin đề xuất phương
hướng cải tiển cho phiên bản tiếp theo:

- Sau khi đã giải quyết tốt bài toán tránh vật cản, vi điều khiển sẽ vẽ lại
đường đi của xe cũng như xác định tọa độ của xe trong không gian. Để
làm được điều này, ta cần thêm cảm biến vận tốc góc MPU6050 để xác
định góc quay của xe và cảm biến Encoder để đo vận tốc xe từ đó suy ra
quãng đường dịch chuyển.

35
TÀI LIỆU THAM KHẢO
[1] Bộ điều khiển PID - giới thiệu thuật toán, http://arduino.vn/bai-viet/1130-bo-
dieu-khien-pid-gioi-thieu-thuat-toan-phan-1, Việt Nam

[2] Kim Uyên (2020), PID trong điều khiển tự động, https://www.stdio.vn/dien-tu-
ung-dung/thuat-toan-pid-trong-dieu-khien-tu-dong-3Iu1u , Việt Nam

[3] Aswinth Raj (2018), What is PWM: Pulse Width Modulation,


https://circuitdigest.com/tutorial/what-is-pwm-pulse-width-modulation

[4] P. V. Hoàn, "Nghiên Cứu Và Kiểm Chứng Thuật Toán Bám Tường Cho
Robot Tự Hành," Đại học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh.

[5] "Xung PPM," 2014. [Online]. Available: http://arduino.vn/reference/xung-ppm.

[6] "Servo Motor Set - Model: DS04-NFC Datasheet," EKT, [Online]. Available:
http://www.ekt2.com/pdf/412_CH_SERVO_MOTOR_SET.pdf.

36
37
38
39

You might also like