Tải bản đầy đủ (.docx) (32 trang)

Đề xuất nghiên cứu Robot dò đường tránh vật cản

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.66 MB, 32 trang )

ĐỀ XUẤT NGHIÊN CỨU
ROBOT BÁM TƯỜNG VÀ TRÁNH VẬT CẢN
GVHD: Ngô Văn thuyên
Thông tin nhóm:
Họ và tên Mssv Email Phone
Đinh Tiến Đạt 12151014
m
01236799373
Nguyễn Ngọc Sáng 12151069
m
01269931411
Mục lục
CHƯƠNG 1: TỔNG QUAN
1.1 GIỚI THIỆU, ĐẶT VẤN ĐỀ
Ngày nay, cùng với sự phát triển của khoa học kỹ thuật, ngành tự động hóa
cũng đóng góp một vai trò không nhỏ trong việc tham gia vào các quá trình sản
xuất, đời sống và khám phá hành trình tri thức của loài người, trong đó có việc đi
lại, di chuyển tới những nơi mà con người chưa thể đặt chân tới như sao hỏa, đáy
đại dương hay những nơi nhỏ hẹp như ống ngầm, khe rãnh thậm chí là những nơi
phức tạp như mê cung thì việc sử dụng một robot di chuyển thay người là phù hợp
nhất và cũng có thể tránh được những tổn thất, rủi ro nguy hiểm cho con người.
Chúng ta có nhiều loại robot khác nhau từ mục đích hoạt động như dò đường, tránh
vật cản, tìm đường trong mê cung, robot tự hành trên sao hỏa, robot hàn được điều
khiển từ xa… tới những loại cơ cấu di chuyển bằng chân, di chuyển bằng bánh xe,
bánh xích, bay ,phản lực…
Trong phạm vi đề xuất nghiên cứu của nhóm thì nhóm tập trung tìm hiểu về
robot có khả năng bám tường, tránh vật cản và di chuyển bằng cơ cấu bánh xe vì
đây là loại robot đơn giản nhất và dễ thực hiện hơn cả
Hình 1.1 và hình 1.2 cho chúng ta thấy một số ứng dụng của robot trong thực
tiễn.
3


Hình 1.1: Robot thám hiểm sao hỏa
Hình 1.2: Robot thám hiểm đáy đại dương
Robot có thể được điều khiển do con người hoặc tự tương tác với môi trường
để điều khiển chính mình, do đó chúng cần một vi điều khiển như một khối trung
tâm đầu não với mục đích nhận các tín hiệu từ người, từ cảm biến phản hồi về để từ
đó robot có thể điều khiển các cơ cấu chấp hành theo những mong muốn được đặt
trước của con người, đồng thời vi điều khiển có tốc độ xử lý nhanh và khả năng
4
chống nhiễu, kích thước nhỏ gọn, tiết kiệm công suất nên rất phù hợp với những
robot di động liên tục, hoặc phải hoạt động xuyên xuốt trong một thời gian dài. Vi
điều khiển thường được hàn trong một modul như một khối xử lý trung tâm được
minh họa trong hình 1.3 dưới đây.
Hình 1.3: Modul xử lý trung tâm dùng vi điều khiển
1.2 MỤC TIÊU ĐỀ TÀI
Chúng em với mong muốn thiết kế và thi công một robot có kích thước nhỏ gọn,
có thể chạy qua qua những khe có khoảng cách nhỏ hơn 40cm. Robot có thể chạy bám
tường ở một khoảng cách cố định và bám tường sai lệch khoảng 3cm. Robot có thể dò
khoảng cách và phát hiện vật cản từ hai hướng, tự động chuyển hướng nếu phía trước
có vật cản. Robot có 1 nút nhấn sử dụng cho 2 chế độ bám tường bên trái hoặc bám
tường bên phải.
Tuy nhiên vì thời gian thực hiện có hạn nên robot vẫn còn nhiều mặt hạn chế như
không thể di chuyển trên các địa hình gồ ghề hay di chuyển trên mặt nước, khả năng
bám tường chưa cao do cảm biến dễ bị nhiễu tác động từ môi trường. Robot chỉ có thể
di chuyển trên mặt đất, không có khả năng định vị trí và gửi về máy tính, tốc độ di
chuyển của robot chậm và cố định, không có khả năng tùy biến tốc độ cũng như
không thể điều khiển từ xa.
1.3 NỘI DUNG ĐỀ TÀI
Chương 1: Tổng quan, ứng dụng robot trong sự phát triển của khoa học kỹ thuật,
mục tiêu đặt ra để thiết kế robot, những hạn chế, nội dung và kế hoạch thực hiện.
5

Chương 2: Giới thiệu về các loại cơ cấu di chuyển, cảm biến, động cơ, vi xử lý… và
nêu những loại sử dụng trong đồ án này.
Chương 3: Trình bày nội dung phần thiết kế phần cứng như khung xe, lắp ráp động
cơ…
Chương 4: trình bày nội dung phần thiết kế lưu đồ giải thuật, xử lý ngắt, điều chế
xung điều khiển động cơ.
Chương 5: báo cáo kết quả thực hiện được.
Chương 6: kết luận, hướng phát triển trong tương lai.
2 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 CƠ CẤU DI CHUYỂN
2.1.1 Cơ cấu di chuyển bằng bánh xe
Robot sử dụng cơ cấu di chuyển bằng bánh xe phù hợp cho địa hình bằng
phẳng, ít gò ghề, xe gồm có 3 bánh sử dụng 2 động cơ cho 2 bánh xe sau và 1 bánh đa
hướng dùng để di chuyển xoay xe khi chuyển hướng sang trái hoặc phải, 2 bánh xe sau
sử dụng mỗi bánh 1 động cơ riêng thuận lợi trong viêc điều khiển từng bánh giúp
robot dễ dàng chuyển hướng sang trái hoặc phải, đây cũng là cơ cấu được sử dụng
trong đồ án này vì sự linh hoạt, dễ điều khiển cũng như giá thành thấp của chúng.
Robot sử dụng cơ cấu này có lợi thế trong việc sử dụng bánh xe vì có thể được
điều khiển tốc độ từng động cơ riêng biệt, chi phí thấp hơn các phương pháp khác,
thiết kế và chế tạo đơn giản.Tuy nhiên robot này cũng có những hạn chế như khả năng
kéo tải yếu vì động cơ bánh xe nhỏ, diện tích tiếp xúc nhỏ.
Dưới đây là hình ảnh của một robot rắp hàng, di chuyển bằng cơ cấu bánh xe
với 2 bánh trước được điều khiển và một bánh đa hướng phía sau như hình 2.1.
6
Hình 2.1: Robot gắp sản phẩm
2.1.2 Cơ cấu di chuyển dùng chân
Robot có cơ cấu di chuyển bằng chân phù hợp với địa hình không bằng phẳng,
chủ yếu ở những địa hình dốc, gồ ghề như bậc thang. Robot di chuyển bằng chân
thường sử dụng 6 chân hoặc nhiều hơn, robot sử dụng với số chân càng ít thì khả năng
giữ thăng bằng càng khó, đây cũng là loại cơ cấu phức tạp nhất, khó lập trình và liên

quan nhiều tới lĩnh vực cơ khí.
Robot này có những ưu điểm là có thể di chuyển trên hầu hết các dạng bề mặt
địa hình nhưng nhược điểm của robot là lắp ráp cơ khí và điện tử khó , chi phí thường
rất cao, pin và năng lượng là yêu cầu khó trong việc robot di chuyển lâu dài.
Hình 2.2 cho chúng ta thấy một robot nhện với cơ cấu di chuyển bằng 6 chân.
7
Hình 2.2: Robot nhện
2.1.3 Cơ cấu di chuyển bằng bánh xích
Cơ cấu di chuyển dùng bánh xích thường được sử dụng trong những thiết bi
như máy kéo do cơ cấu có khả năng thích nghi với địa hình và có khả năng kéo cao,
đồng thời có thể giảm tính trượt nên có khả năng di chuyển trên địa hình tốt.
Cơ cấu di chuyển này có khả năng giảm tính trượt trên bề mặt tiếp xúc của bánh
xích, giúp robot phân bố đều trọng lượng, hoạt động lính hoạt với nhiều bề mặt, địa
hình khác nhau nhưng thường gây tổn hại bề mặt di chuyển, lắp ráp cơ khí phức tạp,
hạn chế về số lượng động cơ có thể sử dụng.
Dưới đây là một robot gắp với cơ cấu di chuyển bằng bánh xích như hình 2.3.
8
Hình 2.3: Robot sử dụng cơ cấu di chuyển bánh xich (Talon Robot)
2.2 CẢM BIẾN
2.2.1 Giới thiệu các loại cảm biến
Robot tránh vật cản không thể thiếu các cảm biến, đây là thành phần
tương đối quan trọng của robot vì việc sử dụng các loại cảm biến giúp robot có
thể nhận biết môi trường xung quanh và từ đó đưa ra những quyết định cho cơ
cấu chấp hành. Hiện nay, trên thị trường có nhiều loại cảm biến như cảm biến
hồng ngoại, cảm biến siêu âm, cảm biến laser. Những loại cảm biến này có chức
năng đo được khoảng cách từ cảm biến đến vật cản, dò đường đi, từ đó có thể
phát triển lên để tránh vật cản trên đường đi cho robot.
Cảm biến laser dùng để đo khoảng cách từ cảm biến tới vật tương đối lớn.
Cảm
9

biến đo khoảng cách dựa trên thời gian T từ khi phát trùm tia đến khi nhận được
trùm sóng phản xạ. Cảm biến này dễ lắp đặt nhưng giá thành cao và độ chính
xác không cao.
Cảm biến hồng ngoài có các loại như D80NK, cảm biến hồng ngoại này
dùng ánh sáng hồng ngoại để xác định khoảng cách tới vật cản cảm biến có thể
chỉnh khoảng cách mong muốn thông qua biến trở. Cảm biến loại này có giá
thành rẻ, dễ lắp đặt tuy nhiên khả năng chống nhiễu không cao và tầm đo hạn
chế.
Cảm biến siêu âm có khả năng phát sóng siêu âm ra ngoài không gian và
nhận sóng siêu âm trả về khi phát hiện có vật cản phía trước, từ đó có thể đo
được khoảng cách từ cảm biến tới vật cản. Cảm biến này có giá thành tương đối
rẻ tuy nhiên cảm biến dễ bi ảnh hưởng của nhiễu khi đo các vật có khoảng cách
xa. Đây cũng là cảm biến chính được sử dụng trong đề xuất nghiên cứu này.
2.2.2 Cảm biến siêu âm HC-SR04
Cảm biến siêu âm SRF04 là một modul được thiết kế sẵn có khả năng
phát ra sóng siêu âm ra ngoài không gian và nhận sóng siêu âm trả về khi phát
hiện có vật cản phía trước, khoảng cách trả về là một xung mức cao có độ rông
xung tối đa 30ms.
Hình 2.5 cho thấy hình ảnh thực tế và các chân kết nối của cảm biến siêu
âm HC-SR04
10
Hình 2.5: Cảm biến HC-SR04
Theo như hình 2.5, thứ tự và chức năng các chân từ trái qua như sau:
1-VCC: Chân cung cấp nguồn 5V cho cảm biến hoạt động.
2-Trigger: Chân phát một xung ngắn lớn hơn 10us kích cảm biến hoạt động.
3-Echo: Chân xuất tín hiệu ra khi có sóng siêu âm phản hồi về.
4-GND: Chân mass nối 0v.
2.2.3 Nguyên lý hoạt động của cảm biến siêu
âm HC-SR04
Khi vi xử lý kích một xung đơn có độ rộng lớn hơn 10us vào chân trigger

của cảm biến thì SRF04 sẽ phát ra liên tiếp 8 xung vuông có tần số 40Khz ra
ngoài môi trường đồng thời chân echo của cảm biến siêu âm được kéo lên mức
cao. Cảm biến sẽ đợi xung trả về, nếu phía trước có vật cản, cảm biến sẽ nhận
các xung trả về, khi đó nó sẽ kéo chân echo xuống mức thấp, nếu không có xung
trả về thì 30ms tự động nó sẽ kéo chân echo xuống mức thấp. Khoảng cách đo
được chính là khỏang thời gian chân echo còn ở mức cao.
Giản đồ thời thời gian hoạt động của cảm biến siêu âm HC-SH04 được
mô tả trong hình 2.6 dưới đây
11
Hình 2.6: Giản đồ thời gian của SRF04
2.3 ĐỘNG CƠ
2.3.1 Giới thiệu
Có nhiều loại động cơ được sử dụng rộng rãi hiện nay trong việc điều khiển
robot như động cơ DC, động cơ AC, động cơ bước, động cơ servo… Tuy nhiên trong
việc điều khiển mobile robot di chuyển bằng cơ cấu bánh xe thì động cơ DC được sử
dụng rộng rãi vì tính phổ biến, dễ tìm kiếm trên thị trường, giá thành rẻ với đa dạng
các loại động cơ có công suất nhỏ, có thể sử dụng trực tiếp nguồn điện DC được
cung cấp từ pin, tốc độ tương đối nhanh.
Hình 2.7 là hình ảnh của động cơ DC có hộp số được sử dụng rộng rãi cho các
mobile robot .
12
Hình 2.7: Động cơ DC có hộp số
2.3.1.1 Phương pháp điều chế độ rộng xung (PWM)
Phương pháp điều xung PWM (Pulse Width Modulation) là phương pháp
điều chỉnh điện áp ra tải, hay nói cách khác, là phương pháp điều chế dựa trên sự
thay đổi độ rộng của chuỗi xung vuông, từ đó dẫn đến sự thay đổi điện áp ra. Các
PWM khi biến đổi thì có cùng 1 tần số và khác nhau về độ rộng của sườn dương hay
sườn âm.
PWM thường được tạo ra bằng cách so sánh giữa tín hiệu răng cưa (saw
signal ) với tín hiệu DC (DC signal) từ đó với tạo ra những xung vuông có độ rộng

chu kì lớn nhỏ khác nhau. Các chu kì này phụ thuộc vào chu kì của tín hiệu sóng
răng cưa, còn tín hiệu DC có vai trò trong việc xác định mức công suất điều chế.
Phương pháp điều chế này thường được tạo ra bằng các IC chuyên dụng như
NE555.
Cách thức điều chế được biểu diễn như trong hình 2.8 dưới đây:
Hình 2.8: Phương pháp điều chế PWM
Đây là phương pháp được sử dụng rộng rãi trong việc điều khiển tốc độ động
cơ nhanh, chậm, thuận, nghịch và thường được sử dụng nhiều nhất với động cơ DC
có công suất nhỏ và vừa.
Hình 2.8 bên dưới mô tả các mức duty (độ rộng xung) khác nhau với mức
điện áp 12V
13
Hình 2.9: Giản đồ xung PWM
2.3.1.2 Nguyên lý mạch cầu H
Mạch cầu H có vai trò quan trọng trong việc điều khiển tốc độ và chiều quay
của động cơ, giúp cho robot có thể di chuyển tới lui, xoay trái phải một cách linh hoạt
hơn. Đồng thời, mạch cầu H có khả năng điều chỉnh tốc độ để từ đó có thể sử dụng
thuật toán PID trong việc hiệu chỉnh robot bám tường một cách tự động.
Nguyên lý hoạt động đơn giản nhất của mạch cầu H thường được biểu diễn
bằng sự đóng ngắt của các công tắc hoặc có thể được thay thế bằng các transistor để
tạo ra các chiều dòng điện đi theo 2 hướng khác nhau vào động cơ, từ đó làm động cơ
quay theo chiều thuận hay nghịch được mô tả như hình 2.10
14
Hình 2.10: Nguyên lý của cầu H
Với các mạch cầu H có công suất lớn thì người ta thường không sử dụng các
transistor để kích dẫn các chiều của dòng điện mà được thay thế bằng các mosfet và
các relay. Mosfet có nhiệm vụ nhận xung PWM từ bên ngoài từ đó điều chỉnh tốc độ
động cơ với chu kỳ duty mong muốn. Relay được sử dụng để đảo chiều động cơ thuận
nghịch.
Nguyên lý của mạch cầu H dùng Mosfet và relay như hình 2.11

15
Hình 2.11: Nguyên lý mạch cầu H dùng relay và mosfet
Cách thức của mạch hoạt động như sau. Ban đầu khi chưa cấp điện cho cuộn
dây relay thì xung PWM được đưa vào mosfet với một mức duty nào đó đồng thời
relay hoạt động ở trạng thái 7-5 và 2-4. Dòng điện từ nguồn đi qua 4, qua 2 của relay
tới vị trí 1 của động cơ, vào động cơ rồi về vị trị 2 của động cơ rồi về vị trí 7-5 của
relay rồi về nguồn => động cơ lúc này chạy thuận. Khi cấp điện cho relay hoạt động,
relay chuyển sang vị trí 7-6 và 2-3, nguồn lúc này đi qua vi trí 6-7 của relay tới vị trí 2
của động cơ vào động cơ rồi về 1 về 2-3 => động cơ lúc này chạy nghịch.
2.3.1.3 IC L298
L298 là một vi mạch tích hợp gồm 2 mạch cầu H bên trên trong được đóng gói
theo dạng vỏ chân cắm công suất Mutilwatt15 hay vỏ chân dán công suất PowerSo20.
Nó sử dụng mức diện áp logic theo chuẩn TTL. L298 có mức điện áp điều khiển tải
cho phép lên tới 46V và dòng ra tải là 4A, rất phù hợp cho các ứng dụng điều khiển tải
cảm động cơ DC, động cơ bước, rơ le… Các tính năng chính của L298 bao gồm:
 Có thể sử dụng điện áp cho tải hoạt động lên tới 46V
 Có thể dụng dòng diện cho tải hoạt động lên đến 4A
 Mức điện áp bão hòa thấp
 Cho phép bảo vệ quá nhiệt
 Khả năng chống nhiễu cao bằng cách biểu diễn mức logic 0 là 1,5V
16
Hình 2.12 dưới đây là hình ảnh thực tế của ic công suất có chứa 2 cầu H
Hình 2.12: IC L298
L298 gồm có 15 chân kết nối như hình 2.13.
Hình 2.13: Chân kết nối
Nguyên lý hoạt động:
Khi chân enable cho phép mức 1, nếu ngõ vào IN1 mức cao và IN2 mức thấp,
cầu H sẽ cho phép dòng diện chạy từ 1 sang 2, nếu ngõ vào IN1 mức thấp và IN2 mức
cao, cầu H sẽ cho dòng điện chạy theo chiều ngược lại từ 2 sang 1. Việc cho phép
dòng điện chạy theo chiều thuận hay nghịch sẽ làm cho đầu ra điều khiển động cơ

quay thuận hay quay nghịch.
17
Hình 2.14 bên dưới cho thấy nguyên lý bên trong của ic điều khiển động cơ
L298
Hình 2.14: Mạch nguyên lý L298
2.4 VI XỬ LÝ
Hiện nay trên thị trường có nhiều loại vi điều khiển như AVR, PIC, STM, Atmel,
ARM… Mỗi loại cũng được phân ra nhiều nhóm với những chức năng khác nhau và
tốc độ xử lý khác nhau tùy vào giá thành. Trong đó dòng vi điều khiển PIC của hãng
Microchip là dòng vi điều khiển có giá thành tương đối thấp, tốc độ xử lý trung bình
và đầy đủ những tính năng cần thiết của một vi điều khiển. Trong đồ án này nhóm sử
dụng vi điều khiển PIC16F887 như hình 2.15.

18
Hình 2.15: Vi điều khiển Pic 16F887
Vi điều khiển Pic 16f887 là dòng vi điều khiển thuộc họ 16f do hãng
Microchip sản xuất, đây là dòng vi điều khiển tầm trung có giá thành rẻ nhưng
đầy đủ các tính năng cần thiết cho người sử dụng. Pic 16f887 sử dụng mức điện
áp từ 2,5-5,5V, hỗ trợ 8Kbyte cho bộ nhớ flash và 256 byte cho bộ nhớ eeprom
nội, có khả năng sử dụng thạch anh tạo dao động lên đến 20Mhz, có nhiều
nguồn ngắt như ngắt ngoài, ngắt trạng thái portb và các tính năng khác như chế
độ ngủ tiết kiêm năng lượng, chế độ watchdog time, bảo vệ code, có 2 bộ modul
PWM dùng để điều chế độ rộng xung…
Ở trạng thái chờ, Pic tiêu tốn dòng 50nA, điện áp 5V.
Ở trạng thái hoạt động, Pic tiêu tốn dòng 220uA, điện áp 5V.
2.5 LCD
Để tương tác giữa người với vi điều khiển thì cần đến sự hiện thị cho phép con
người quan sát kết quả của robot cũng như diễn biến quá trình hoạt động của robot
một cách rõ ràng hơn từ đó có thể sửa chửa điều chỉnh robot theo như mong muốn.
Có nhiều phương pháp hiện thị như led đơn, led 7 đoạn, lcd, graphic lcd, led ma

trận Trong đó, lcd là phương pháp hiện thị đơn giản va trực quan hơn cả.
Trong đề xuất này, chúng em sử dụng character lcd 16x2, đây là loại lcd tinh thể
lỏng, có kích thước nhỏ gọn sử dụng chip HD44780U có khả năng hiện thị các ký tự
hoặc số trong bảng mã ASCII. Lcd này thường được chia thành các ô riêng biệt, mỗi
ô sẽ hiện thị được một ký tự bất kỳ. Cấu tạo của mỗi ô gồm 5x10 điểm, điều khiển ẩn
hiển các ô này sẽ tạo ra các ký tự như mong muốn.
Hình 2.16 là hình dạng thực tế của character LCD 16x2.
19
Hình 2.16: Character LCD 16x2
3 CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG
3.1 YÊU CẦU PHẦN CỨNG
Robot chạy với vận tốc trung bình. Robot có khả năng chuyển hướng sang trái
phải một cách linh hoạt đồng thời robot sử dụng LCD 16x2 để hiện thị một vài thông
số trong quá trình hoạt động. Thời gian làm việc liên tục của robot có thể đạt được là 4
tiếng. Robot sử dụng 5 cảm biến bao gồm 1 cảm biến phía trước và 2 cảm biến 2 bên
trái phải để đảm bảo có khả năng tránh vật cản từ nhiều hướng. Hai bánh xe sau to có
ruột rỗng giúp xe có khả năng di chuyển trên địa hình bằng phẳng một cách thuận lợi
hơn.
3.2 SƠ ĐỒ KẾT NỐI
Robot bao gồm một khối xử lý trung tâm có nhiệm vụ đọc các tín hiệu từ các
cảm biến dò khoảng cách từ đó xuất ngõ ra tương ứng điều khiển động cơ và hiện thị
lên LCD. Robot sử dụng nguồn cấp là 2 pin lithium-ion với mức điện áp mỗi pin là
4.2V-2200mAh. Sơ đồ khối của robot được thể hiện như hình 3.1.
20
Nguồn cung cấp
Khối công suất
điều khiển động

Khối đọc và xử lý
tín hiệu từ cảm

biến
Khối xử lý
trung tâm
Hình 3.1: Sơ đồ khối
Hình 3.2 dưới đây là sơ đồ kết nối của khối điều khiển trung tâm có nhiệm xử
lý toàn bộ tín hiệu đọc về từ cảm biến, điều chế PWM cho động cơ, sử dụng thuật toán
PID để điều khiển robot bám tường, tránh vật cản, khối này bao gồm vi điều khiển
PIC16F887, cổng nạp ICSP cho chip, mạch dao động dùng thạch anh 16Mhz, Khối
này còn sử dụng thêm nút nhấn nguồn và các led báo hiệu.
Hình 3.2: Khối xử lý trung tâm và nguồn
Hình 3.3 mô tả kết nối các cảm biến siêu âm với vi điểu khiển. Chân 1 của tất
cả cảm biến đều được kết nối lên nguồn 5V, chân 4 của tất cả cảm biến được nối với
GND 0v. Các chân trigger của cảm cảm biến được nối vào PORTA của vi điều khiển
từ A0 tới A5. Các chân echo được nối vào PORTB của vi điều khiển từ B0 tới B5. Đây
21
Khối hiện thị
ra LCD 16x2
cũng là PORT có chứa ngoại vi ngắt trạng thái từ bên ngoài được sử dụng đề ngắt đọc
cảm biến khi có xung phản hồi về.
Hình 3.4 là sơ đồ kết nối của L298 với vi điều khiển. Trong đó, các chân IN1,
IN2, IN3, IN4 dùng để đảo chiều quay động cơ được kết nối với các chân RD0, RD1,
RD2, RD3 của vi điều khiển, 2 chân ENA và ENB là 2 chân nhận xung PWM để điều
khiển tốc độ động cơ được kết nối RC2 và RC1 của vi điều khiển. Chân nguồn gồm có
2 loại là chân Vcc được nối với nguồn 5V để nuôi IC hoạt động và cũng để tạo ra các
mức logic 0 và 5v, chân nguồn Vs là chân nguồn cung cấp cho động cơ hoạt động
được nối trực tiếp với nguồn từ 2 pin lithium ion 8,2V. Các chân SENA, SENB dùng
để đo dòng thường được nối với GND. Các chân OUT1, OUT2, OUT3, OUT4 là các
chân tín hiệu ngõ ra để điều khiển động cơ. Trong đó OUT1, OUT2 dùng để điều
khiển động cơ bên trái và OUT3, OUT4 dùng để điều khiển động cơ bên phải.
Hình 3.3: Khối cảm biến

22
Hình 3.4: Khối điều khiển động cơ
4 CHƯƠNG 4: THIẾT KẾ PHẦN MỀM
4.1 YÊU CẦU PHẦN MỀM
Chương trình được thiết kế cho robot có thể bám tường dao động ở khoảng
cách 20cm. Robot có thể bám tường bên trái hoặc bên phải bằng cách tuy chỉnh chế
độ bằng nút nhấn. Khi có vật cản phía trước, robot sẽ kiểm tra vật cản 2 bên, bên
nào không có vật cản robot sẽ chuyển hướng về phía đó. Robot di chuyển trên địa
hình bằng phẳng và di chuyển với duty mặc định là 450. Đồng thời trong quá trình
hoạt động, LCD sẽ hiện thị các giá trị khoảng cách và tốc độ của robot.
4.2 GIẢI THUẬT
Chương trình chính bao gồm các quá trình như kích một xung ngắn lớn hơn
10us để các cảm biến hoạt động, quá trình đọc các giá trị từ cảm biến trả về sẽ được
xử lý trong chương trình ngắt, kiểm tra nút nhấn chuyển chế độ bám tường trái hay
bám tường phải. Khi chọn bám tường ở một trong hai chế độ, xe sẽ sử đụng khâu P
của bộ điều khiển PID chạy bám tường ở khoảng cách 20cm bằng cách so sánh sự
sai lệch giữa giá trị đặt trước Dset với giá trị thực tế đọc được từ cảm biến, từ đó
nếu robot có xu hướng đi vào trong giá trị sai số này sẽ được nhân lên với Kp (hằng
23
số tỷ lệ), sau đó nếu là bánh bên trái sẽ được cộng thêm vào và bánh bên phải sẽ
được trừ đi, ngược lại nếu robot có xu hướng di chuyển ra ngoài sai số này sẽ được
cộng vào giá trị điều khiển bánh xe bên phải và trừ cho giá trị điều khiển bánh xe
bên trái . Trong quá trình robot đang bám tường nếu có vật cản phía trước xe sẽ ưu
tiên chuyển hướng ngay lập tức sang trái. Lưu đồ của chương trình chính được biểu
diễn như hình 4.1.
Chương trình ngắt có nhiệm vụ kiểm tra các tín hiệu của chân echo đọc vào từ
PORTB của cảm biến. Khi tất cả cảm biến đều đã được phát sóng siêu âm ra ngoài
môi trường, bộ timer 1 của vi điều khiển sẽ được bật lên. Sau một khoảng thời gian
nhỏ hơn 30ms nếu có cảm biến nào xuống mức 0, vi điều khiển sẽ đọc giá trị timer
hiện tại và lưu vào một mảng một chiều đồng thời biến nhớ của cảm biến đó được

bật lên một để nhớ cảm biến này đã hoạt động xong, quá trình ngắt tiếp theo sẽ chỉ
xử lý những cảm biến khác.
Lưu đồ của chương trình ngắt được biểu diễn ở hình 4.2.
24
Chuyển hướng
sang trái
Tính sai số. Hiệu
chỉnh lại tốc độ
Chuyển hướng
sang phải
Tính sai số. Hiệu
chỉnh lại tốc độ
Phía trước có vật cản
Chọn bám bên phải
KT button
Trễ 30ms
Kích 6 cảm biến
Bắt đầu
Khởi tạo
Hình 4.1: Lưu đồ chương trình chính
25
Chọn bám bên trái
Phía trước có vật cản
Nạp giá trị tốc độ
điều khiển động cơ
Hiển thị các giá trị
lên LCD
Kết thúc
Xử lý ngắt

×