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

robot tự hành tránh vật cản, tìm đường trong mê cung

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.35 MB, 36 trang )

GVHD : TS. Trương Đình Nhơn
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG

ĐỒ ÁN MÔN HỌC
Đề tài:

Robot tự hành tránh vật cản,
GVHD:

TS.

Đ

SVTH:

Thành Phố Hồ Chí Minh, tháng 6 ă

2015


GVHD : TS. Trương Đình Nhơn

Mục lục
Mục lục .................................................................................................................................................. 2
Danh mục các hình ............................................................................................................................... 4
Danh mục các bảng............................................................................................................................... 5
Chương 1: Giới thiệu ............................................................................................................................ 6
1.1. Đặt vấn đề: ................................................................................................................................ 6


1.1.1. Robot di động: .................................................................................................................. 6
1.2. Mục tiêu đề tài: ......................................................................................................................... 7
1.3. Nội dung đề tài: ........................................................................................................................ 7
Chương 2. Cơ Sở Lý Thuyết ................................................................................................................ 8
2.1. Cơ cấu di chuyển: ..................................................................................................................... 8
2.1.1. Bánh xe .............................................................................................................................. 8
2.1.2. Xích: .................................................................................................................................. 8
2.1.3. Chi (chân):......................................................................................................................... 8
2.2. Cảm biến: .................................................................................................................................. 8
2.2.1. Cảm biến hồng ngoại:....................................................................................................... 9
2.2.2. Cảm biến siêu âm: ............................................................................................................ 9
2.2.3. Cảm biến lazer: ............................................................................................................... 10
2.3. Động cơ truyền động: ............................................................................................................. 10
2.4. Nguồn cung cấp: ..................................................................................................................... 12
2.5. Điều khiển tốc độ:................................................................................................................... 12
2.5.1. Phương pháp điều khiển tốc độ: .................................................................................... 12
2.5.2. Băm xung PWM: ............................................................................................................ 13
2.6. Mạch cầu H : ........................................................................................................................... 13
2.7. Bộ xử lý trung tâm :................................................................................................................ 14
Chương 3. Thiết kế phần cứng........................................................................................................... 16
3.1. Khung robot : .......................................................................................................................... 16
3.2. Chọn thiết bị : ......................................................................................................................... 18
3.2.1. Chọn động cơ : ................................................................................................................ 18
3.2.2. Chọn cảm biến : .............................................................................................................. 18
2


GVHD : TS. Trương Đình Nhơn
3.2.3. Lựa chọn điều khiển động cơ:........................................................................................ 20
3.2.4. Lựa chọn vi điều hiển: ..................................................................................................21

Chương 4 : Thiết kế phần mềm ......................................................................................................... 22
4.1. Yêu cầu : .................................................................................................................................22
4.2. Thiết ế:................................................................................................................................... 22
4.3. Thuật toán điều hiển: ............................................................................................................ 22
4.4. Code điều hiển : .................................................................................................................... 23
Chương 5 : Kết quả đánh giá v hướng phát triển ........................................................................... 33
5.1. Kết quả : ..................................................................................................................................33
5.2. Đánh giá: .................................................................................................................................33
5.1. Hướng h c phục:................................................................................................................... 33
Phụ Lục................................................................................................................................................ 34

3


GVHD : TS. Trương Đình Nhơn

Danh mục các hình
Hình 1.1

Mẫu robot đầu tiên của NEURO Technology

Hình 2.1

Robot 4 bánh xe

Hình 2.2

Robot di chuyển bằng chân

Hình 2.3


Robot di chuyển bằng xích

Hình 2.4

Cảm biến hồng ngoại

Hình 2.5

Cảm biến siêu âm

Hình 2.6

Cảm biến lazer

Hình 2.7

Động cơ DC

Hình 2.8

Động cơ AC

Hình 2.9

Acquy

Hình 2.10

PIN


Hình 2.11

Phương pháp điều chế độ rộng xung

Hình 2.12

Đồ thị dạng xung điều chế PWM

Hình 2.13

Sơ đồ cấu tạo mạch cầu H

Hình 3.1

Mặt c t đáy robot (mặt dưới tầng 1)

Hình 3.2

Mặt c t mặt trên tầng 1

Hình 3.3

Mặt c t tầng trên cùng của robot (mặt trên hàng 2)

Hình 3.4

Động cơ V1

Hình 3.5


Nguyên t c điều khiển cảm biến siêu âm SRF04

Hình 3.6

Kết nối cảm biến siêu âm và vi điều khiển

Hình 3.7

Module L293D

Hình 3.8

Sơ đồ chân L293D

Hình 3.9

Module L293D kết nối vi điều khiển v động cơ

Hình 3.10

LCD kết nối vi điều khiển

Hình 3.11

Sơ đồ chân Board Ardunio

Hình 3.12

Kết nối vi điều khiển với các thiết bị khác


4


GVHD : TS. Trương Đình Nhơn

Danh mục các bảng
Bảng 2.1

Thông số động cơ V1

Bảng 3.2

So sánh động cơ DC v động cơ xoay chiều

Danh Mục Phụ Lục
PL1
PL2

Ưu nhược điểm của các cơ cấu di chuyển
Sơ đồ chân Board Ardunio

5


GVHD : TS. Trương Đình Nhơn

Chương 1: Giới thiệu
1.1. Đặt vấn đề:
1.1.1. Robot di động:

Ngày nay, tự động hoá là ngành tổng hợp nhiều lĩnh vực như cơ hí công nghệ thông tin và
cơ điện tử. Ngành công nghiệp tự động hoá ngày càng có vai trò quan trọng và hết sức cần thiết,
nhất là trong tiến trình công nghiệp hoá, hiện đại hoá nhanh như hiện nay. Trong đó tất nhiên
robot là một phần không thể thiếu. Robot là một loại máy có thể thực hiện những công việc một
cách tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình. Robot
đang được ứng dụng rộng rãi trong nhiều lĩnh vực của đời sống như giáo dục, thể thao, y học,
giao thông vận tải, quân sự … Những robot quy mô lớn như cánh tay máy trong các quy trình
sản xuất trong nh máy công xưởng các công trường lớn, nhỏ hơn l những robot có khả năng
di chuyển (mobile robot), làm những công việc thay thế con người, trong những môi trường mà
con người không thể đến hoặc không thể tự thao tác như đường ống hí môi trường độc hại khi
có sự xuất hiện của ga, hoá chất, phóng xạ, bụi bặm.

Hình 1.1. Mẫu robot tự hành đầu tiên của NEURO Technology
Ngo i ra do robot có đặc điểm là sự kết hợp giữa cơ hí v điện tử nên con người có thể dễ
dàng cải tiến cả về cấu trúc hoặc chương trình điều khiển để phù hợp với từng môi trường điều
kiện làm việc, yêu cầu sử dụng hác nhau cũng như phù hợp với sự phát triển của công nghệ.
Chúng ta cũng có thể tích hợp nhiều robot nhỏ lại với nhau, mỗi robot có một chức năng riêng
tạo thành một robot lớn với nhiều chức năng để có thể giải quyết nhiều công việc cùng lúc. Sự
thay thế hợp lý của robot còn góp phần giảm giá thành sản phẩm, tiết kiệm nhân công ở những
6


GVHD : TS. Trương Đình Nhơn
nước mà nguồn nhân công là rất ít hoặc chi phí cao như : Nhật Bản các nước Tây Âu, Hoa
Kỳ … Robot tránh vật cản là một trong những dạng cơ bản của mobile robot.
Do đó nhóm chúng tôi quyết định chọn thực hiện đề tài với robot di chuyển tránh vật cản,
vừa để thuận tiện cho những người mới nghiên cứu về robot, vừa tạo một nền tảng cơ bản cho
chính bản thân để sau này có thể nghiên cứu sâu hơn hoặc nghiên cứu về những robot khác phức
tạp hơn. Ngo i ra robot tránh vật cản cũng có thể áp dụng cho các phương tiện giao thông tránh
được vật cản cũng như các tai nạn, rủi ro hi lưu thông trên đường phố và còn có thể tích hợp

trong các hệ thống lớn để tránh được các rủi ro khi bị cản trở bởi những vật không cần thiết.

1.2. Mục tiêu đề tài:
Khi chọn đề tài này, ta đặt ra mục tiêu là robot phải chạy ổn định, giữ được thăng bằng
(thiết kế động học) và thực hiện các công việc như né được vật cản phía trước (khoảng cách
10cm) bám tường trái phải (khoảng cách bám 40-50cm). Xe nhỏ gọn, chạy được bằng pin.
Các cảm biến đo lường chính xác.
Robot được thiết kế để ho n th nh việc tránh vật cản v thoát được ra hỏi mê cung.

1.3. Nội dung đề tài:
Chương 2. Cơ sở lý thuyết
Ta tìm hiểu về các cơ cấu di chuyển, cảm biến động cơ truyền động, phương pháp điều
khiển tốc độ, vi điều khiển, thuật toán PID, mạch cầu H.
Chương 3. Thiết kế phần cứng
Ta biết khung robot ra sao, bánh xe, vị trí thiết bị, chọn những linh kiện nào cho robot?
Ta cũng thấy được những thiết bị như L293D, cảm biến siêu âm SRF04 với vi điều khiển
được kết nối như thế nào qua phần mềm mô phỏng Protues.
Chương 4. Thiết kế phần mềm
Ta sẽ biết được thuật toán robot chạy tránh vật cản phía trước, chạy nhanh hơn hi có vật
khác chạy sát sau. Chúng ta cũng thấy được giải thuật xe đi bám tường.
Chương 5. Kết quả đánh giá v hướng phát triển
Ta được xem những hình ảnh thi công robot và quá trình chạy thực nghiệm.
Ta đưa ra những định hướng cho xe để có thể phát triển trong tương lai.

7


GVHD : TS. Trương Đình Nhơn

Chương 2. Cơ Sở Lý Thuyết

2.1. Cơ cấu di chuyển:
Hiện nay, ta biết được 3 cơ cấu di chuyển trên mặt đất: bánh xe, xích, chi.
2.1.1. Bánh xe:
Bánh xe l phương pháp phổ biến nhất cung cấp khả năng cho một robot được sử dụng với
nhiều kích thước và ứng dụng hác nhau. Bánh xe có ích thước dao động từ v i cm đến vài m.
Thông thường xu hướng phát triển tập trung vào bánh vài cm, với loại robot 3 bánh, một bánh
lái và 2 bánh di chuyển. Về vật liệu làm bánh xe thì tùy vào yêu cầu như hả năng bám chống
trượt đi nhiệt độ cao…
2.1.2. Xích:
Bánh xích hoặc bánh răng được sử dụng trong những thiết bị yêu cầu thích ứng độ hình
và yêu cầu về lực kéo. Bánh xích di chuyển được trên những địa hình mấp mô đất yếu đất
cát. Cơ cấu bánh xích giảm tính trượt và phân bố đều trọng lượng của thiết bị.

Hình 2.1. Robot 4 bánh
2.1.3. Chi (chân):
Chân là lựa chọn ưa thích của các robot di chuyển trên những địa hình hông đồng đều.
Hầu hết robot nghiệp dư được thiết kế với 6 chân, với khả năng cân bằng tĩnh 3 chân đứng
khi di chuyển. Robot ít chân khó cân bằng hơn phải sử dụng điều kiện cân bằng sự ổn định
động.

2.2. Cảm biến:
Cảm biến là thiết bị điện tử cảm nhận những trạng thái, quá trình (vật lý, hóa học) ở môi
trường cần quan sát và biến đổi thành tín hiệu điện để thu thập thông tin về trạng thái, quá trình
đó.

8


GVHD : TS. Trương Đình Nhơn
Cảm biến có vai trò quan trọng trong các b i toán điều khiển quá trình nói riêng và trong

các hệ thống điều khiển tự động nói chung. Cảm biến có khả năng cảm nhận các tín hiệu điều
khiển vào-ra có vai trò đo đạc các giá trị và giới hạn cảm nhận với đại lượng vật lý cần đo.
Hiện nay, thị trường có nhiều loại cảm biến với đa dạng sản phẩm v lĩnh vực. Trong ngành
công nghiệp robot đặc biệt robot tự hành, cảm biến đo khoảng cách được sử dụng nhiều. Có
nhiều loại cảm biến đo hoảng cách như cảm biến laze, cảm biến hồng ngoại, cảm biến siêu âm,
encoder…
2.2.1. Cảm biến hồng ngoại:

Hình 2.4. Cảm biến hồng ngoại
Cảm biến có hả năng thích nghi với môi trường có một cặp truyền và nhận tia hồng ngoại.
Tia hồng ngoại phát ra một tần số nhất định khi phát hiện hướng truyền có vật cản (mặt phản
xạ) phản xạ vào đèn thu hồng ngoại sau khi so sánh, đèn màu xanh sẽ sáng lên, đồng
thời đầu cho tín hiệu số đầu ra (một tín hiệu bậc thấp).
Cảm biến có khoảng cách làm việc hiệu quả 2 ~ 5cm, điện áp làm việc là 3.3 V đến 5V. Độ
nhạy sáng của cảm biến được điều chỉnh bằng chiết áp, cảm biến dễ l p ráp, dễ sử dụng...
2.2.2. Cảm biến siêu âm:
Cảm biến siêu âm là loại cảm biến phát và nhận sóng siêu âm theo hình parabol. Cảm biến
phát ra sóng siêu âm đi và đo thời gian nhận về để tính toán hoảng cách. Cảm biến có tầm đo từ
vài cm đến vài m.

Hình 2.5. Cảm biến siêu âm
9


GVHD : TS. Trương Đình Nhơn
2.2.3. Cảm biến lazer:
Cảm biến sử dụng tia lazer để đo hoảng cách. Cảm biến còn có các chức năng khác mà các
loại cảm biến phản xạ khó làm được như màu s c mục tiêu, vật liệu độ bóng bề mặt và môi
trường.
Giá th nh cảm biến n y cũng há cao nếu hông muốn gọi l đ t.


Hình .2.6. Cảm biến lazer

2.3. Động cơ truyền động:
Hiện nay, thị trường có nhiều loại động cơ như step AC DC. Mỗi loại có ưu nhược điểm
khác nhau. Động cơ step có bản chất giống động cơ AC nên ta chỉ xét AC và DC.
Động cơ AC hoạt động dưới điện áp xoay chiều, gồm có động có stato và roto. Khi cấp điện
vào, từ trường quay do stato gây ra làm cho roto quay liên tục. Chuyển động quay của roto được
trục máy truyền ra ngo i v được sử dụng để vận hành các công cụ hoặc cơ cấu di chuyển khác.
Động cơ DC l động cơ điện hoạt động với dòng điện một chiều. Khi có một dòng điện chạy
qua cuộn dây quấn xung quanh một lõi s t non, cạnh phía bên cực dương sẽ bị tác động bởi
một lực hướng lên, trong khi cạnh đối diện lại bị tác động bằng một lực hướng xuống
theo nguyên lý bàn tay trái của Fleming. Các lực n y gây tác động quay lên cuộn dây, và làm
cho rotor quay. Để làm cho rotor quay liên tục v đúng chiều, một bộ cổ góp điện sẽ làm
chuyển mạch dòng điện sau mỗi vị trí ứng với 1/2 chu kỳ.

10


GVHD : TS. Trương Đình Nhơn

Hình 2.7. Động cơ DC

Hình 2.8. Động cơ AC

11


GVHD : TS. Trương Đình Nhơn


2.4. Nguồn cung cấp:

Hình 2.9. Acquy

Hình 2.10. PIN

Với động cơ một chiều công suất nhỏ động cơ thường được cung cấp bởi pin hoặc acquy.
Đặc tính lưu trữ của pin v acquy l ưu điểm để cân nh c chọn nguồn cho các loại xe tự hành.
Bảng 2.1. So sánh pin và acquy
Đặc tính

Pin

Acquy

Trọng lượng

Nhẹ

Nặng

Giá thành

Thấp

Cao hơn pin

Khả năng tái nạp

Có (đối với loại pin sạc)


Có (và dễ thay ruột hơn pin)

2.5. Điều khiển tốc độ:
2.5.1. Phương pháp điều khiển tốc độ:
Động cơ điện một chiều có nhiều ưu việt hơn so với các loại động cơ hác

hông những nó

có khả năng thay đổi tốc độ một cách dễ dàng mà cấu trúc mạch động lực, mạch điều khiển đơn
giản hơn đồng thời lại đạt chất lượng điều chỉnh cao trong dải điều chỉnh tốc độ rộng.
Phương trình tính tốc độ:

Để điều khiển tốc độ động cơ ta có thể điều chỉnh: Uư (điều chỉnh mạch phần ứng hoặc mạch
kích từ), Rư (thêm Rp vào mạch phần ứng) và

(phương pháp ít được sử dụng). Thông thường,

người ta sử dụng cách điều chỉnh điện áp phần ứng.
Phương pháp điều chế độ rộng xung thường dùng để thay đổi điện áp phần động cơ.

12


GVHD : TS. Trương Đình Nhơn

Hình 2.11. Phương pháp điều chế độ rộng xung
Trong đồ thị trên: iđ l dòng điều khiển U l điện áp điều khiển.
t1 l độ rộng xung, t2 = T – t1 l độ rỗng xung.
Ta có :


Ud = U.t1/T

Để thay đổi Ud ta thay đổi độ rộng xung điều khiển v thay đổi thời gian đóng hóa K l m
thay đổi thời gian có dòng t1 trong mỗi chu kì T, dẫn đến độ rộng xung thay đổi.
+ Set bit K=1 (đóng) có i.
+ Set bit K=0 (mở), không có i.
Như vậy ta đã điều chỉnh được tốc độ động cơ.
Ta cũng có thể điều chỉnh tốc độ động cơ bằng cách băm xung PWM.
2.5.2. Băm xung PWM:
PWM chuyên dùng để điều khiển các phần tử điện tử công suất có đường đặc tính là tuyến
tính khi có sẵn 1 nguồn 1 chiều cố định . Như vậy PWM được ứng dụng rất nhiều trong các thiết
bị điện điện tử. Sinh viên khoa điện - điện tử dễ dàng nhận ra, PWM chính nhân tố m các đội
Robocon sử dụng để điều khiển động cơ hay ổn định tốc độ động cơ.
Ta có giải thuật như sau:
- Tạo một tần số chuẩn từ 0 1 ms đến 10ms dùng các bộ timer của vi điều khiển.
- Thay đổi độ rộng xung bằng cách thay đổi tỷ số xung mức 1 và mức 0 của tần số chuẩn đó ết
quả cho xung như yêu cầu.

13


GVHD : TS. Trương Đình Nhơn

Hình 2.12. Đồ thị dạng xung điều chế PWM
Với độ rộng xung thay đổi, ta có thể thay đổi độ sáng tối của đèn led, điều khiển được tốc độ
động cơ...

2.6. Mạch cầu H :
Mạch cầu H được cấu tạo bởi 4 Transistor hay Fet (đôi hi chỉ dùng 2 Transistor hay Fet).

Tác dụng của các Transistor hay Fet như các van đóng mở dẫn dòng điện từ nguồn xuống tải. Tín
hiệu điều khiển các van là tín hiệu nhỏ (điện áp hay dòng điện) v điện áp lớn để cung cấp cho
tải. Tín hiệu điều khiển nhỏ vì nó l đầu ra của vi điều khiển (nhỏ hơn 5V) còn điều khiển tải (ở
đây l động cơ) cần điện áp và dòng lớn hơn.
Điều kiện đóng mở các Transistor:
+ Đối với Transistor kênh P: V be <= 0.
+ Đối với Transistor kênh N: V be > 0.
Từ hình 2.2.2 ta có điều kiện để điều khiển thuận, nghịch như sau:
* Điều kiện với chế độ thuận.
Ở chế độ thuận này, cấp 4 tín hiệu hiệu điều khiển cho 4 con Transistor với các điều kiện
đóng mở như sau:
- Tín hiệu điều khiển 1 – Transistor Q1 = 1 (Q1 đóng).
- Tín hiệu điều khiển 2 – Transistor Q2 = 1 (Q2 mở).
- Tín hiệu điều khiển 3 – Transistor Q3 = 0 (Q3 mở).
14


GVHD : TS. Trương Đình Nhơn
- Tín hiệu điều khiển 4 – Transistor Q4 = 0 (Q4 đóng).
Vậy dòng điện sẽ đi Vcc - Q1 - tải - Q3 - GND.
* Điều kiện với chế độ nghịch.
Ở chế độ nghịch này, cấp 4 tín hiệu hiệu điều khiển cho 4 con Transistor với các điều kiện
đóng mở như sau:
- Tín hiệu điều khiển 1 – Transistor Q1 = 0 (Q1 mở).
- Tín hiệu điều khiển 2 – Transistor Q2 = 0 (Q2 đóng).
- Tín hiệu điều khiển 3 – Transistor Q3 = 1 (Q3 đóng).
- Tín hiệu điều khiển 4 – Transistor Q4 = 1 (Q4 mở).
Vậy, dòng điện sẽ đi Vcc - Q3 - tải - Q2 - GND.
Mạch cầu H có thể đảo chiều điện áp qua tải nên nó thường được dùng để điều khiển động cơ
và các mạch băm áp. Vậy đối với việc điều khiển động cơ với mạch cầu H há l đơn giản bởi

chỉ cần điều khiển đóng mở các van theo ý muốn.

Hình 2.13. Sơ đồ cấu tạo mạch cầu H

2.7. Bộ xử lý trung tâm :
Trong kỹ thuật để điều khiển một động cơ đèn mobile-robot, ta có nhiều sự lựa chọn
như dùng vi mạch số, vi điều khiển PLC… Tuy nhiên mỗi loại có những ưu nhược khác
nhau. So về kỹ thuật, vi điều khiển mạnh hơn vi mạch số (VMS) nhưng thấp hơn thiết bị điều
khiển lập trình được (PLC). So về giá, vi điều khiển ở mức giá hợp lý, thấp hơn nhiều so với
PLC và không chênh lệch với VMS nhiều. Ngoài ra, vi điều khiển có thể đáp ứng những yêu
15


GVHD : TS. Trương Đình Nhơn
cầu điều khiển chính xác, xử lý được nhiều công việc một lúc như đọc cảm biến, xử lý tín
hiệu điều khiển động cơ.
Ta có thể xem tổng quan về vi điều khiển như dưới :
CPU là trái tim của hệ thống l nơi quản lý các hoạt động của vi điều khiển. Bên trong CPU
gồm :
+ ALU là các bộ phận thao tác trên các dữ liệu
+ Bộ giải mã lệnh v điều khiển xác định các thao tác mà CPU cần thực hiện
+ Thanh ghi PC lưu giữ địa chỉ của lệnh kế tiếp cần thực thi
+ Một tập các thanh ghi dùng để lưu thông tin tạm thời
ROM là bộ nhớ dùng để lưu giữ chương trình. ROM còn dùng để chứa số liệu các bảng, các
tham số hệ thống, các số liệu cố định của hệ thống. Trong quá trình hoạt động nội dung ROM là
cố định, không thể thay đổi, nội dung ROM chỉ thay đổi khi ROM ở chế độ xóa hoặc nạp chương
trình.
RAM là bộ nhớ dữ liệu. Bộ nhớ RAM dùng làm môi trường xử lý thông tin lưu trữ các kết
quả trung gian và kết quả cuối cùng của các phép toán, xử lý thông tin. Nó cũng dùng để tổ chức
các vùng đêm dữ liệu, trong các thao tác thu phát, chuyển đổi dữ liệu.

BUS l các đường dẫn dùng để di chuyển dữ liệu, bao gồm : bus địa chỉ, bus dữ liệu và bus
điều khiển.
Bộ định thời : được sử dụng cho các mục đích chung về thời gian.
Watchdog là bộ phận dùng để reset lại hệ thống khi hệ thống gặp „„bất thường‟‟.
ADC là bộ phận chuyển đổi tín hiệu analog sang tín hiệu digital. Các tín hiệu bên ngo i đi
vào vi điều khiển thường ở dạng analog. ADC sẽ chuyển tín hiệu này về dạng tín hiệu digital mà
vi điều khiển có thể hiểu được.
Một số loại vi điều khiển có trên thị trường :
- Vi điều khiển MCS-51 : 8031, 8032, 8051 8052…
- Vi điều khiển : board mạch Adruino
- Vi điều khiển AVR AT90Sxxxx
- Vi điều khiển PIC 16C5x 17C43 16Fxxx….

16


GVHD : TS. Trương Đình Nhơn

Chương 3. Thiết kế phần cứng
Trong robot, ta không chỉ quan tâm đến mỗi bộ điều khiển trung tâm mà còn phải quan tâm
đến cấu trúc xe. Cấu trúc robot chính là phần cứng của robot. Phần cứng hoàn chỉnh sẽ giúp
nhiều trong việc điều khiển robot như đổi hướng, va chạm, kéo tải…

3.1. Khung robot :
Khung xe được cấu tạo bởi :
- 2 miếng mica dày 2mm với các lỗ nhiều ích thước để g n linh kiện v l m đẹp.
- 2 động cơ loại V1, g n 2 bánh xe ( ích thước bánh : đường ính 65mm độ dày 25mm).
- 1 bánh quay 360độ.
- Ốc các loại.
Khung xe được thiết kế có 3 bánh xe : 2 bánh động lực 1 bánh quay 360độ (giúp xe hoạt

động linh hoạt, giữ được thăng bằng khi di chuyển). Bánh 360 đơn giản nhưng hiệu quả. Nhờ có
nó, robot có thể rẽ trái, phải đi thẳng.
Khung xe có ích thước : 120mm x 85mm :2
Mặt dưới tầng 1:

Hình 3.1. Mặt c t đáy robot (mặt dưới tầng 1)
17


GVHD : TS. Trương Đình Nhơn
Mặt trên tầng 1 :

Hình 3.2. Mặt c t mặt trên tầng 1
Mặt trên tầng 2 :

Hình 3.3. Mặt c t tầng trên cùng của robot (mặt trên tầng 2)
18


GVHD : TS. Trương Đình Nhơn

3.2. Chọn thiết bị :
3.2.1. Chọn động cơ :
Ta chọn động cơ DC V1 l m động cơ truyền động cho robot.
Bảng 3.1. Thông số động cơ V1
Đặc tính
Nguồn cấp vào

Thông số
3V – 9V

(nên dùng từ 6V- 8V)

Moment cực đại

800g/cm.min
(tại 3V)

Tốc độ không tải

123 vòng/phút (3V)
200 vòng/phút (5V)

Dòng tải

70mA (250mA max)
(3V pm)

Tỉ số nén

1:48

Khối lượng

175 gram

Lúc này, một bạn đặt câu hỏi: “Tại sao ta không dùng động cơ xoay chiều trong robot mà
dùng động cơ một chiều để l m động cơ truyền động trong robot?”
Để trả lời câu hỏi này, ta xem bảng so sánh:
Bảng 3.2. So sánh động cơ DC v động cơ AC
Đặc tính


Động cơ DC

Động cơ AC

Nguồn sử dụng

PIN, acquy, nguồn 1 chiều

Nguồn xoay chiều

Giá thành

Cao

Thấp

Moment khởi động

Lớn và ổn định

Nhỏ

Khả năng điều khiển

Dễ dàng

Khó hăn (mỗi khi chuyển pha)

3.2.2. Chọn cảm biến :

Với những robot tìm đường đơn giản người ta thường dùng cảm biến hồng ngoại hoặc cảm
biến siêu âm. Cảm biến hồng ngoại có tầm đo hoảng 1m, truyền thẳng v độ nhiễu cao. Cảm
biến siêu âm thì tầm đo rộng hơn ( hoảng 2cm đến 4m tùy loại), truyền cung Parabol và ít nhiễu
hơn.
Ta chọn cảm biến siêu âm SRF04 làm cảm biến cho robot.

19


GVHD : TS. Trương Đình Nhơn
Cảm biến siêu âm SRF04 là cảm biến loại đo hoảng cách. Cảm biến sử dụng sóng siêu
âm để hoạt động.
Nguyên t c điều khiển:

Hình 3.5. Nguyên t c điều khiển cảm biến siêu âm SRF04
Đầu tiên ở chân Trigger bạn phát 1 xung mức cao có độ rộng tối thiểu là 10us cho module.
Module sẽ trả về cho bạn một xung mức cao có độ rộng xung bằng với thời gian sóng siêu âm
truyền từ module đến vật cản và từ vật cản về module. Thời gian tối đa cảm biến trả tín hiệu về
là 34ms. Từ thời gian thu được từ xung Echo bên trên, ta suy ra khoảng cách vật cản dựa trên
công thức sau:
Distance (cm) = (Echo*344)*100/2
Trong đó: - Echo là thời gian đo xung mức cao từ chân echo (s)
- v = 344 là vận tốc âm thanh loan truyền trong không khí (m/s)
- 100 là hệ số nhân để đưa hoảng cách đo được về đơn vị cm
- Chia 2 để lấy khoảng đường đi được.

Cảm biến SRF04 kết nối với borad Ardunio

20



GVHD : TS. Trương Đình Nhơn

Hình 3.6. Kết nối cảm biến siêu âm và vi điều khiển
3.2.3. Lựa chọn điều khiển động cơ:

Hình 3.7. Motor Driver Shield L293D

Hình 3.8. Sơ đồ chân L293D

Qua tham khảo, ta chọn module Motor Driver Shield L293D có tích hợp mạch cầu H.
Module L293D nhỏ gọn, có giá thành hợp lý và giúp làm giảm thời gian thi công.

21


GVHD : TS. Trương Đình Nhơn
3.2.4. Lựa chọn vi điều khiển:
Ardunio Uno l 1 bo mạch thiết ế với bộ xử lý trung tâm l vi điều hiển AVR Atmega328.
Cấu tạo chính của Ardunio bao gồm các phần sau :

Vi điều khiển
Điện áp hoạt động
Tần số hoạt động
Dòng tiêu thụ
Điện áp vào khuyên dùng
Điện áp vào giới hạn
Số chân Digital I/O
Số chân Analog
Dòng tối đa trên mỗi chân I/O

Dòng ra tối đa (5V)
Dòng ra tối đa (3.3V)
Bộ nhớ flash
SRAM
EEPROM

ATmega328 (họ 8bit)
5V – DC (chỉ được cấp qua cổng USB)
16 MHz
30mA
7-12V – DC
6-20V – DC
14 (6 chân PWM)
6 (độ phân giải 10bit)
30 mA
500 mA
50 mA
32 KB (ATmega328) với 0.5KB dùng bởi bootloader
2 KB (ATmega328)
1 KB (ATmega328)

22


GVHD : TS. Trương Đình Nhơn

Chương 4 : Thiết kế phần mềm
4.1. Yêu cầu :
Robot được điều hiển để thay đổi hướng đi nhằm tránh các vật cản tìm ra đường trong mê
cung v băng qua nó.


4.2. hiết ế :
Dựa v o các số liệu thu được từ 3 cảm biến siêu âm Srf04 được trang bị 2 bên v phía trước
robot xác định được vị trí của r o ch n (tường); tức l hoảng cách từ nó đến các r o ch n. Sau
đây l lưu đồ giải thuật tìm đường đi cho robot :

4.3. hu t toán điều hiển:
Giả sử, tín hiệu của cảm biến trước l cảm biến 1 bên phải l cảm biến 2 bên trái l cảm
biến 3. Với điều kiện khi có vật cản phía trước cùng với tín hiệu trái hoặc phải lớn hơn 10cm thì
rẻ theo hướng đó.

23


GVHD : TS. Trương Đình Nhơn

Begin

CB
1

CB2>1
0

CB3>1
0

Rẻ phải

Rẻ trái


End

4.4. Cod điều hiển:
#include <AFMotor.h>
#include <NewPing.h>
#define TRIGGER_PIN A2
#define ECHO_PIN

A3

#define MAX_DISTANCE 200
NewPing sonar1(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

24


GVHD : TS. Trương Đình Nhơn
#define TRIGGER_PIN2 A4
#define ECHO_PIN2

A5

#define MAX_DISTANCE2 200
NewPing sonar2(TRIGGER_PIN2, ECHO_PIN2, MAX_DISTANCE2);

#define TRIGGER_PIN3 A0
#define ECHO_PIN3

A1


#define MAX_DISTANCE3 200
NewPing sonar3(TRIGGER_PIN3, ECHO_PIN3, MAX_DISTANCE3);

AF_DCMotor motor1(1, MOTOR12_1KHZ);
AF_DCMotor motor2(2, MOTOR12_1KHZ);

int trai, phai, giua;

void setup()
{
Serial.begin(9600);
}

//---------------------------------------------MAIN LOOP ----------------------------------------------------void loop() {
giua= currentDistanceHead1();
25


×