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

THIẾT KẾ, CHẾ TẠO VÀ ĐIỀU KHIỂN ROBOT NHỆ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 (8.14 MB, 62 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH

Bùi Việt Nam
Võ Hiền Quân

THIẾT KẾ, CHẾ TẠO VÀ ĐIỀU KHIỂN
ROBOT NHỆN
Khóa luận được đệ trình để đáp ứng yêu cầu để cấp bằng Kỹ sư cơ khí
chuyên ngành Cơ Điện Tử

Giáo viên hướng dẫn:
Th.S Nguyễn Đăng Khoa

Tháng 06/2016

1


LỜI CẢM ƠN
Chúng em xin trân trọng cám ơn tất cả quý Thầy, Cô trường Đại học Nông Lâm
Tp. Hồ Chí Minh và quý Thầy, Cô khoa Cơ khí – Công Nghệ đã trang bị cho chúng
em những kiến thức quý báu trong quá trình học tập tại trường.
Chúng em xin chân thành cám ơn các Thầy, Cô bộ môn Cơ điện tử đã hướng
dẫn, giúp đỡ chúng em rất tận tình trong quá trình chúng em làm đề tài.
Chúng em cũng xin bày tỏ lòng biết ơn sâu sắc tới thầy ThS Nguyễn Đăng
Khoa, người đã tận tâm hướng dẫn, chỉ bảo và tạo điều kiện thuận lợi cho chúng em
hoàn thành bài luận văn này.
Đặc biệt, chúng em xin cảm ơn quý Thầy, Cô trong Hội đồng đã dành thời gian
nhận xét, góp ý để luận văn của chúng em được hoàn thiện hơn.
Cuối cùng, chúng em xin gửi lời cám ơn đến những người thân cũng như bạn bè


đã động viên, ủng hộ và luôn tạo cho chúng tôi những điều kiện thuận lợi trong quá
trình hoàn thành luận văn tốt nghiệp.
Mặc dù đã rất cố gắng thực hiện đề tài một cách hoàn chỉnh nhất. Nhưng do
chưa được làm quen nhiều với công tác nghiên cứu khoa học, tiếp xúc thực tế với các
thiết bị, cũng như những hạn chế về kiến thức và kinh nghiệm nên không thể tránh
khỏi những thiếu sót. Chúng em rất mong nhận được sự góp ý của quý Thầy - Cô và
các bạn để khóa luận được hoàn chỉnh hơn.
Chúng em xin chân thành cám ơn!
Thành Phố Hồ Chí Minh, tháng 06 năm 2016
Sinh viên thực hiện:

Bùi Việt Nam
Võ Hiền Quân

2


TÓM TẮT
Đề tài “thiết kế, chế tạo và điều khiển robot nhện” được thực hiện từ tháng
2/2016 đến tháng 5/2016 tại Trường Đại học Nông Lâm Tp. Hồ Chí Minh. Mục đích là
thiết kế và chế tạo một loại robot di chuyển bằng sáu chân một cách linh hoạt, robot
được điều khiển bằng vi điều khiển là board mạch Arduino Uno R3 và sử dụng 18
động cơ RC servo để truyền động. Các chân robot được điều khiển và hoạt động độc
lập, nhưng chúng phối hợp cùng với nhau tạo ra sự chuyển động cho robot. Robot
được chế tạo di chuyển tự động tránh vật cản nhờ cảm biến siêu âm SRF05, ngoài ra ta
còn có thể được điều khiển thông qua bluetooth của điện thoại hoặc máy tính. Robot
nhện di chuyển dựa trên giải thuật chuyển động thẳng bằng phương pháp cách đi tam
giác thay đổi. Robot được lập trình để di chuyển tiến, tới, lùi, sang trái, sang phải,
dừng. Tiềm năng ứng dụng của robot rất lớn trong nhiều lĩnh vực như giải trí, dân
dụng và thám hiểm…

Sơ lược nội dung chính của đề tài bao gồm:
Tính toán, thiết kế phần cơ của robot
Tính toán thiết kế chế tạo phần khung.
Tính toán chọn động cơ cho cơ cấu di chuyển.
Tính toán, thiết kế bộ phận điều khiển robot nhện.
Tính toán chọn mạch nguồn cần sử dụng.
Viết chương trình giao tiếp giữa vi điều khiển và các module được sử dụng
trong đề tài mạch cần cho robot di chuyển.
Khảo nghiệm sơ bộ robot để đánh giá khả năng hoạt động của nó.

3


MỤC LỤC
LỜI CẢM ƠN...............................................................................................................ii
TÓM TẮT.................................................................................................................... iii
MỤC LỤC.................................................................................................................... iv
DANH SÁCH CÁC BẢNG..........................................................................................vi
DANH SÁCH CÁC HÌNH..........................................................................................vii
Chương 1: MỞ ĐẦU.....................................................................................................1
1.1 Đặt vấn đề............................................................................................................. 1
1.2 Mục đích, yêu cầu.................................................................................................2
Chương 2: TỔNG QUAN..............................................................................................3
2.1 Giới thiệu tổng quan thiết bị về robot nhện..........................................................3
2.2.1 Mạch vi điều khiển Arduino Uno R3..............................................................4
2.2.2 Cảm biến khoảng cách SRF-05......................................................................8
2.2.3 Module bluetooth HC-05..............................................................................10
2.2.4 Board mạch điều khiển 16 RC-Servo: Module USC-16...............................12
2.2.5 Động cơ RC Servo.......................................................................................15
4.2.6 Chế độ điều khiển thông qua Bluetooth.......................................................17

Chương 3: NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU...................................19
3.1 Thời gian và địa điểm.........................................................................................19
3.2 Nội dung nghiên cứu..........................................................................................19
3.2.1 Phương pháp thiết kế phần khung robot nhện..............................................19
Chương 4: KẾT QUẢ VÀ THẢO LUẬN....................................................................20
4.1 Tính toán, thiết kế, chế tạo phần khung robot nhện............................................21
4.1.1 Thiết kế chân robot.......................................................................................21
4.1.2 Thiết kế thân robot.......................................................................................24
4.1.3 Chọn động cơ cho cơ cấu chân robot...........................................................25
4.2 Tính toán thiết kế mạch điều khiển robot nhện...................................................26
4.2.1 Mạch nguồn..................................................................................................26
4.2.2 Sơ đồ nguyên lý mạch giao tiếp giữa vi điều khiển và cảm biến khoảng cách
HC-05...................................................................................................................28

4


4.2.3 Sơ đồ nguyên lí mạch giao tiếp giữa vi điều khiển và module bluetooth
HC05..................................................................................................................... 30
4.2.4 Sơ đồ mạch giao tiếp giữa vi điều khiển và mạch điều khiển động cơ
USC-16.................................................................................................................31
4.2.5 Sơ đồ mạch giao tiếp giữa Arduino và động cơ RC Servo...........................32
4.2.6 Giao tiếp giữa động cơ servo với mạch điều khiển động cơ USC-16...........33
4.3 Sơ đồ điều khiển robot nhện...............................................................................35
4.4 Lưu đồ giải thuật điều khiển robot nhện.............................................................36
4.4.1 Giải thuật di chuyển tiến hoặc lùi cho robot.................................................39
4.4.2 Giải thuật di chuyển sang trái hoặc sang phải cho robot..............................40
4.4.3 Lưu đồ giải thuật điều khiển bằng tay qua điện thoại thông minh................41
4.4.4 Lưu đồ giải thuật điều khiển tự động của robot nhện...................................44
4.5 Khảo nghiệm sơ bộ vận hành robot nhện............................................................45

Chương 5 KẾT LUẬN VÀ ĐỀ NGHỊ.........................................................................46
5.1 Kết luận..............................................................................................................46
5.2 Đề nghị...............................................................................................................46
TÀI LIỆU THAM KHẢO...........................................................................................47

5


DANH SÁCH CÁC BẢNG
Bảng 2.1 Thông số kỹ thuật của Arduino Uno R3 .........................................................6
Bảng 2.2 Cấu trúc lệnh điều khển servo trong board mạch USC-16............................14
Bảng 4.1 Chức năng các chân ra của mạch nguồn.......................................................27
Bảng 4.2 Sơ đồ giao tiếp giữa SRF05 và vi điều khiển................................................29
Bảng 4.3 Chức năng từng chân của HC05...................................................................30
Bảng 4.4 Bảng giao tiếp giữa vi điều khiển và USC-16...............................................32
Bảng 4.5 Giao tiếp giữa động cơ RC servo và mạch điều khiển USC-16....................34

6


DANH SÁCH CÁC HÌNH
Hình 2.1 Robot nhện......................................................................................................4
Hình 2.2 Sơ đồ chân Arduino........................................................................................4
Hình 2.3 Sơ đồ nguyên lý mạch Arduino Uno R3.........................................................5
Hình 2.4 Cảm biến khoảng cách SRF-05.......................................................................8
Hình 2.5 Module bluetooth HC-05..............................................................................10
Hình 2.6 Board mạch USC-16.....................................................................................12
Hình 2.7 Động cơ Servo...............................................................................................15
Hình 2.8 Độ rộng xung quy định góc quay của động cơ RC Servo..............................17
Hình 2.9 Giao diện điều khiển qua phần mềm Torobot................................................17

Hình 2.10 Giao diện phần mềm bluetooth RC Controller điều khiển robot nhện........18
Hình 4.1 Sơ đồ cấu tạo của robot nhện........................................................................20
Hình 4.2 Cơ cấu chân 2 bậc tự do................................................................................22
Hình 4.3 Cơ cấu chân 3 bậc tự do................................................................................23
Hình 4.4 Chân 3 bậc tự do ..........................................................................................24
Hình 4.5 Thân dạng hình lục giác đều..........................................................................24
Hình 4.6 Động cơ RC Servo........................................................................................25
Hình 4.7 Thiết kế chế tạo hoàn thiện phần khung của robot nhện................................26
Hình 4.8 Mạch nguồn cung cấp cho động cơ RC servo...............................................27
Hình 4.9 Sơ đồ mạch nguyên lý ổn áp nguồn 5V dùng IC 7805..................................28
Hình 4.10 Sơ đồ mạch nguyên lý khối nguồn 5V........................................................28
Hình 4.11 Sơ đồ mạch nguyên lý giao tiếp giữa vi điều khiển và cảm biến khoảng cách
SRF-05......................................................................................................................... 29
Hình 4.12 Sơ đồ mạch nguyên lý module bluetooth HC-05.........................................30
Hình 4.13 Sơ đồ mạch nguyên lý giao tiếp giữa module bluetooth HC-05 và vi điều
khiển............................................................................................................................ 31
Hình 4.14 Sơ đồ nguyên lí giao tiếp giữa Arduino và động cơ RC servo.....................33
Hình 4.15 Giao tiếp giữa module USC-16 và động cơ RC servo.................................34
Hình 4.16 Hoàn thiện mạch điều khiển robot nhện......................................................35
Hình 4.17 Sơ đồ của mạch điều khiển robot nhện........................................................35

7


Hình 4.18 Sơ đồ khối của mạch điều khiển robot nhện...............................................36
Hình 4.19 Cách đi tam giác thay đổi............................................................................38
Hình 4.20 Thứ tự các chân để điều khiển chuyển động tiến về phía trước...................39
Hình 4.21 Thứ tự các chân để diều khiển lùi về phía sau.............................................40
Hình 4.22 Giải thuật chuyển động sang phải...............................................................41
Hình 4.23 Lưu đồ giải thuật phần mềm điều khiển......................................................42

Hình 4.24 Lưu đồ giải thuật của vi điều khiển.............................................................43
Hình 4.25 Lưu đồ giải thuật điều khiển tự động...........................................................44
Hình 4.26 Robot nhện hoàn thành................................................................................45

8


Chương 1
MỞ ĐẦU
1.1 Đặt vấn đề
Trong thời kì công nghiệp hóa, hiện đại hóa đất nước, trong xu hướng hội nhập
và phát triển cùng với sự phát triển mạnh mẽ toàn diện của con người trên mọi mặt
lĩnh vực. Những phát minh sáng chế khoa học kỹ thuật nâng lên tầm cao mới, hệ thống
cơ điện tử được đẩy mạnh sử dụng linh hoạt trong mọi ngành. Nhu cầu con người ngày
càng cao, tiềm năng ứng dụng robot thay thế ngày càng mở rộng. Để đáp ứng nhu cầu
con người cũng như bắt kịp xu hướng phát triển của khoa học, kỹ thuật thế giới. Các
trường đại học đã được nhà nước đầu tư nhiều thiết bị dạy và học để theo kịp khoa
học, công nghệ tiên tiến. Nhiều trường đã tạo điều kiện cho các bạn sinh viên tiếp cận,
trực tiếp tham nghiên cứu khoa học công nghệ trong nhiều lĩnh vực.
Ngay từ khi ra đời robot được áp dụng rộng rãi để thay thế sức lực của con
người trong việc bốc xếp, vận chuyển vật liệu… trong các dây chuyền sản xuất tự
động. Nói về những ưu điểm của robot di động nó là một lĩnh vực tiềm năng, nhiều
ứng dụng trong thực tiễn. Chẳng hạn như thám hiểm những nơi con người không thể
đến: các hang động, các khu vực nhiễm phóng xạ. Trong công tác kiểm tra các bồn
chứa trong công nghiệp. Trong đời sống robot di động được ứng dụng để tiếp cận các
con thú dữ để bắn thuốc gây mê. Trong nghiên cứu robot có thể đổ bộ trên các vùng
núi đá trên các hành tinh xa xôi… Cho đến nay, nhiều thế hệ robot di chuyển được
nghiên cứu và phát triển ngày càng hoàn thiện hơn. Đặc biệt trong thập kỉ vừa qua,
robot đã có những cải tiến vượt bậc và dần dần giống con người hơn. Nên việc nghiên
cứu và chế tạo robot là một việc rất cần thiết và là một lĩnh vực không thể thiếu trong

nghiên cứu khoa học để có thể áp dụng rộng rãi thành tựu khoa học vào đời sống con
người. Từ những yếu tố trên và tình hình thực tế của Việt Nam hiện nay chúng em đã
chọn và bắt tay vào nghiên cứu “Thiết kế, chế tạo và điều khiển robot nhện” sáu
chân.
1


1.2 Mục đích, yêu cầu
Mục đích chung
Thiết kế, chế tạo và điều khiển chuyển động của robot bằng điện thoại thông
minh thông qua module bluetooth HC05. Giao tiếp giữa vi điều khiển Arduino Uno
R3, module USC-16 với động cơ RC Servo, có dùng cảm biến siêu âm SRF05.
Mục đích cụ thể
Phần cơ khí:
Thiết kế, chế tạo phần cơ khí bao gồm: thân robot nhện, cơ cấu di chuyển bao
gồm 6 chân của robot, mỗi chân có ba bậc tự do. Tiến hành ghép nối các động cơ và
các thiết bị cần thiết bằng mối ghép bu lông, đai ốc, để điều khiển robot.
Phần điều khiển:
Nghiên cứu giao tiếp giữa vi điều khiển Arduino với mạch điều khiển động cơ
USC-16.
Nghiên cứu viết chương trình giao tiếp truyền và nhận dữ liệu giữa Arduino và
module bluetooth HC05.
Nghiên cứu viết chương trình giao tiếp truyền và nhận dữ liệu giữa vi điều
khiển và cảm biến khoảng cách SRF05.
Nghiên cứu viết chương trình giao tiếp giữa vi điều khiển với động cơ rc servo
để điều khiển hoạt động của robot nhện.
Điều khiển robot nhện thông qua phần mềm Torobot.
Điều khiển robot nhện thông qua chiếc điện thoại smartphone.
Điều khiển cho robot chạy tự động thông qua kiểm soát của cảm biến khoảng
cách SRF05.

Yêu cầu:
Vẽ và gia công phần cơ khí.
Nắm vững về lập trình cho vi điều khiển
Hiểu được hoạt động của mạch điều khiển động cơ USC-16.
Biết sử dụng phần mềm điều khiển trên điện thoại thông minh.

2


Chương 2
TỔNG QUAN
2.1 Giới thiệu tổng quan thiết bị về robot nhện
Robot nhện sử dụng các động cơ rc servo, di chuyển linh hoạt bằng khớp nối
giúp chúng có thể vượt qua được nhiều kiểu địa hình khác nhau. Mô phỏng theo cách
di chuyển của loài nhện. Robot nhện có 6 chân, mỗi chân có 3 bậc tự do tương ứng với
3 động cơ RC servo, như vậy robot nhện có tất cả 18 động cơ giúp nó bước đi dễ dàng,
uyển chuyển. Toàn bộ robot được chế tạo từ vật liệu mica, đây là một loại vật liệu khá
phổ biến và quen thuộc trong thị trường. Phần cứng robot nhện được thi công bằng
phương pháp cắt laser. Robot sử dụng mạch điều khiển động cơ USC-16 và board
mạch vi điều khiển Arduino Uno R3 để lập trình điều khiển. Robot nhện sử dụng
module bluetooth HC05 để truyền và nhận dữ liệu, sử dụng cảm biến khoảng cách để
định vị khoảng cách tránh vật cản trên đường di chuyển của nó.

3


Hình 2.1 Robot nhện
2.2 Giới thiệu các linh kiện được sử dụng trong đề tài
2.2.1 Mạch vi điều khiển Arduino Uno R3
Tổng quan về Arduino Uno R3


1. Nút reset
2. Ổ cấm usb

3. Giắt cấm nguồn
5. Các chân digital
4. Nguồn điện
6. Các chân analog
Hình 2.2 Sơ đồ chân Arduino
Sơ đồ nguyên lý Arduino Uno

4


Hình 2.3 Sơ đồ nguyên lý mạch Arduino Uno R3

5


Arduino là một board mạch vi xử lý, 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 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.
Arduino có thể tương tác với môi trường xung quanh, nó có thể kết nối với:
Hệ thống cảm biến đa dạng về chủng loại: cảm biến nhiệt độ, gia tốc, vận tốc,
cường độ ánh sáng, màu sắc vật thể, lưu lượng nước, phát hiện chuyển động, phát hiện
kim loại,…
Các thiết bị hiển thị: màn hình LCD, đèn Led,…
Các module chức năng (shield) hỗ trợ kết nối có dây với các thiết bị khác hặc
các kết nối không dây thông dụng như: 3G, GPRS, Wifi, Bluetooth, 315/433MHz,
2.4GHz,…

Kết nối với các module khác như module điều khiển động cơ L298…..
Arduino Uno R3 là 1 board mạch thiết kế với bộ xử lý trung tâm là vi điểu
khiển AVR Atmega328P.
Một số thông số của Arduino Uno R3:
Bảng 2.1 Thông số kỹ thuật của Arduino Uno R3

Vi điều khiển

ATmega328P họ 8 bit

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

5V DC (Chỉ cấp qua cổng USB)

Tàn số hoạt động

16 Mhz

Dòng tiêu thụ

Khoảng 30 mA

Điện áp vào khuyên dùng

7-12V DC

Điện áp vào giới hạn

6-20V DC


Số chân digital I/O

6 (chân hardware PWM)

Số chân Analog

6 (độ phân giải 10 bit)

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

30mA

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

500mA

Dòng ra tối đa (3.3V)

50mA

Bộ nhớ flash

32 KB (ATmega328P) với 0.5 dùng bởi
bootloader

SRAM
EEPROM

2 KB (ATmega328P)
1 KB (ATmega328P)


6


Chiều dài board

68.6 mm

Chiều rộng board
Khối lượng

53.4 mm
25 g

Sơ đồ chân của Arduino Uno R3
Cổng kết nối usb:
Arduino sử dụng cáp USB để giao tiếp với máy tính. Thông qua cáp USB ta có
thể Upload chương trình cho Arduino hoạt động, ngoài ra USB còn là nguồn cho
Arduino.
Các chân năng lượng:
GND (Ground): Cực âm của nguồn điện cấp cho Arduino Uno R3. Khi chúng ta
sử dụng những nguồn riêng biệt thì những chân này đượ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 5V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
Vin: Để cấp nguồn ngoài cho Arduino Uno R3, ta 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.
Các cổng vào và ra
Arduino có 14 chân digital dùng để đọc và xuất tín hiệu. Chúng chỉ có 2 mức
điện áp là 0V và 5V với dòng vào hoặc ra tối đa trên mỗi chân là 40mA. Ở đây mỗi
chân đều có các điện trở từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc

định thì các điện trở này không được kết nối).
Một số chân có các chức năng đặc biệt sau:
Có 2 chân Serial 0 (RX) và 1 (TX): dùng để gửi và nhận dữ liệu TTL serial.
Arduino Uno R3 có thể giao tiếp với các thiết bị linh kiện khác thông qua 2 chân này.
Kết nối bluetooth thường thấy đó chính là kiểu kết nối Serial không dây. Nếu không
cần giao tiếp serial thì chúng ta không nên sử dụng 2 chân này nếu không cần thiết.
Chân PWM (~): 3, 5, 6, 7, 9, 10, và 11: cho phép xuất ra xung PWM với độ
phân giải 8 bit bằng hàm analogWrite(). Chúng ta có thể điều chỉnh điện áp ra ở chân
này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài chức
năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với
các thiết bị khác.
Ardunio Uno có 6 chân analog (A0-A5) cung cấp độ phân giải tín hiệu 10bit để
đọc giá trị điện áp trong khoảng 0V-5V. Với chân AREF trên board, chúng ta có thể

7


đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu chúng ta cấp điện
áp 2.5V vào chân này thì chúng ta có thể sử dụng các chân analog để đo điện áp trong
khoảng từ 0V - 2.5V với độ phân giải vẫn là 10 bit.
Đặc biệt, Arduino Uno R3 có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.
2.2.2 Cảm biến khoảng cách SRF-05

Hình 2.4 Cảm biến khoảng cách SRF-05
Sóng siêu âm là những dao động đàn hồi truyền trong các môi trường vật chất
đàn hồi như: rắn, lỏng, khí, không truyền trong chân không. Nói cách khác, sóng siêu
âm là âm thanh có tần số cao hơn tần số tối đa mà con người nghe thấy được. Tuy
nhiên thì có thể thấy được sự hiện diện của sóng siêu âm ở khắp mọi nơi trong tự

nhiên. Có thể bắt gặp một số loài động vật dùng sóng siêu âm để truyền tín hiệu nhận
biết cho nhau hay săn mồi như cá voi, dơi…
Dựa vào kỹ thuật công nghệ và khoa học hiện đại thấy được ứng dụng trong
cuộc sống của sóng siêu âm rất nhiều, có thể kể đến như thiết bị định vị dưới biển của
tàu ngầm, thiết bị ra-đa, các thiết bị đo khoảng cách của môi trường…
Cấu tạo cảm biến khoảng cách SRF05 gồm có: 2 loa thu và phát cùng với 5
chân để kết nối với Arduino. Theo thông số tài liệu của nhà sản xuất thì tầm hoạt động
tối đa của cảm biến này tầm khoảng 2-300 cm.
Thông số kĩ thuật của cảm biến khoảng cách SRF-05
Điện áp hoạt động: 5VDC
Dòng cấp: <200mA
Góc quét: <150

8


Phát hiện vật cản trong khoảng: 2-300cm
Kích thước: L43mm * W20mm * H17mm
Chức năng của các chân này như sau:
VCC: cấp nguồn cho cảm biến.
Trigger: kích hoạt quá trình phát sóng siêu âm. Quá trình kích hoạt khi một chu
kì điện cao hoặc thấp diễn ra.
Echo: bình thường sẽ ở trạng thái 0V, được kích hoạt lên ngay 5V ngay có tín
hiệu trở về, sau đó trả về 0V.
GND: Cấp mass của mạch.
OUT: Không sử dụng.
Nguyên lí hoạt động của cảm biến khoảng cách SRF05:
Để đo khoảng cách sẽ phát ra 1 xung rất ngắn từ chân Trigger. Sau đó, cảm biến
sẽ tạo ra một xung HIGH ở chân Echo cho đến khi nhận được sóng phản xạ từ chân
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.
Tốc độ âm thanh trong không khí là 340 m/s tương đương với 29,412 ms/cm
(106/(340*100)). Khi đã tính thời gian, ta sẽ chia cho 29,412 để nhận được khoảng
cách.
Lắp đặt cảm biến ta tiến hành lắp đặt cảm biến như sau:
VCC: Nối với nguồn 5V của Arduino.
GND: Nối với chân GND.
Trigger: Nối với chân số 8 của Arduino Uno R3.
Echo: Nối với chân số 7 của Arduino Uno R3.
2.2.3 Module bluetooth HC-05

Hình 2.5 Module bluetooth HC-05

9


Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảng cách
ngắn. Chuẩn truyền thông này sử dụng sóng radio ngắn (UHF radio) trong dải tần số
ISM (2.4 – 2.485 GHz). Khoảng cách truyền của module bluetooth HC-05 tầm khoảng
10m.
Module HC05 dùng để thiết lập kết nối Serial giữa 2 thiết bị bằng sóng
bluetooth, được thiết kế dựa trên IC BC417, con IC này sử dụng bộ nhớ flash ngoài
8bit.
Sơ đồ chân HC05 gồm có:
KEY: Chân này để chọn chế độ hoạt động AT Mode hoặc DATA Mode.
VCC: Chân này có thể cấp nguồn từ 3.6V – 6V, bên trong module đã có một IC
nguồn để truyền điện áp về 3.3V và cấp cho IC BC417.
GND: Nối với chân nguồn GND.
TXD, RXD: Là hai chân UART để giao tiếp module hoạt động ở mức 3.3V.
Các chế độ hoạt động:

Module HC-05 hoạt động ở hai chế độ là Command Mode và Data Mode. Ở
chế độ Command Mode ta có thể giao tiếp với Module thông qua cổng serial trên
module bằng tập lệnh AT. Ở chế độ Data Mode module có thể truyền nhận dữ liệu tới
module bluetooth khác. Chân KEY dùng để chuyển đổi qua lại giữa 2 chế độ này. Có
hai cách chuyển module hoạt động trong chế độ Data Mode:
Nếu đưa chân này lên mức logic cao trước khi cấp nguồn module sẽ đưa vào
chế độ Command Mode với baudrate mặc định 38400. Chế độ này khá hữu ích khi
chúng ta không biết baudrate trong module được thiết lập ở tốc độ bao nhiêu. Khi
chuyển sang chế độ này đèn LED trên module sẽ nhát chậm (khoảng 2s) và ngược lại
khi chân KEY nối ở mức logic thấp trước khi cấp nguồn module sẽ hoạt động chế độ
Data Mode.
Nếu module đang hoạt dộng ở chế độ Data Mode để có thể đưa vào hoạt động ở
chế độ Command Mode thì chúng ta cần đưa chân KEY lên mức cao. Lúc này module
sẽ vào chế độ Command Mode nhưng với tốc độ Baud Rate được chúng ta thiết lập lần
cuối cùng. Vì vậy chúng ta cần biết Baudrate hiện tại của thiết bị để có thể tương tác
với nó.
Nếu chưa thiết lập lại lần nào thì mặc định như sau:
Baud Rate 9600, data 8 Bits, stop bits 1, parity: none, handshake: none.
Passkey: 1234.

10


Device Name: HC-05.
Chế độ Data Mode HC-05 có thể hoạt động như một Master hoặc Slave tùy vào
việc cấu hình:
Ở chế độ SLAVE: Chúng ta cần thiết lập kết nối từ smartphone, laptop, usb
bluetooth để dò tìm module sau đó kết nối với mã PIN là 1234. Sau khi kết nối, có 1
cổng serial từ xa hoạt động ở Baud Rate là 9600.
Ở chế độ MASTER: Module sẽ tự động dò tìm thiết bị bluetooth khác (1

module bluetooth khác, usb bluetooth, bluetooth của laptop…) và tiến hành kết nối
chủ động mà không cần thiết lập gì từ máy tính hoặc smartphone.
Tập lệnh AT thường dùng:
AT: lệnh test, nó sẽ trả về OK nếu module đã hoạt động ở chế độ Command
Mode.
AT + VERSION: Trả về Firmware hiện tại của module.
AT + UART = 9600, 0, 0: Thiết lập baudrate (9600, 1 bit stop, no parity).
Các lệnh ở chế độ Master:
AT + RMAAD: Ngắt kết nối với các thiết bị đã ghép.
AT + ROLE = 1: Đặt module ở chế độ Master.
AT + RESET: Khởi động lại thiết bị.
AT + CMODE = 0: Cho phép kết nối với bất kì địa chỉ nào.
AT + INQM = 0, 5, 5: Dừng tìm kiếm thết bị khi đã tìm được 5 thiết bị hoặc sau
5 giây.
At + PSWD = 1234: Set Pin cho thiết bị.
AT + INQ: Bắt đầu tìm kiếm thiết bị để thay đổi ghép nối. Sau lệnh này một
loạt các thiết bị tìm thấy được hiển thị. Định kết quả ra sau lệnh này như sau:
INQ: address, type, signal.
Phần địa chỉ sẽ có định dạng như sau: 0123:4:567890. Để sử dụng địa chỉ này
trong các lệnh tiếp theo ta phải thay dấu “:” thành dấu “,”, ví dụ như: 0123:4:567890 –
0123, 4, 567890.
AT + PAIR = <address>, <timeout>: đặt time out (s) khi kết nối với một địa chỉ
SLAVE.
AT + LINK = <address>: kết nối với SLAVE.
Các lệnh ở chế độ Slave:
AT + ORGL: Khởi động lại cài đặt mặc định.
AT + RMAAD: Xóa mọi thiết bị đã ghép nối.
AT + ROLE = 0: Đặt là chế độ SLAVE.
AT + ADDR: Hiển thị địa chỉ của SLAVE.


11


2.2.4 Board mạch điều khiển 16 RC-Servo: Module USC-16

Hình 2.6
Để động cơ

Board mạch USC-16
Servo hoạt động thì

cần cung cấp 2
Cung
cấp

nguồn điện chính:
điện cho động



Servo.
Cung cấp điện cho USC.
Servo power supply (+) VS: Chân cấp nguồn cho động cơ RC servo.
Servo power supply (-) GND: Chân nối mass cho động cơ RC servo.
Chip power supply (+) VSS: Chân cấp nguồn cho chip.
Chip power supply (-) GND: Chân nối mass cho chip.
Kết nối servo để điều khiển servo:
Điều khiển một động cơ RC-servo bằng board mạch USC-16:
Đầu tiên chúng ta chạy chương trình RIOS_USC.exe chọn cổng COM kết nối
và tốc độ truyền dữ liệu.

Sử dụng chuột để kéo các thanh trượt trong bảng điều khiển servo.
Điều khiển nhiều động cơ RC-Servo: Sau nhiều servo được điều khiển theo thứ
tự bằng cách làm theo các bước ở trên, đặt thời gian. Sau đó bấm vào nút "thêm" ở
phần dưới của phần mềm. Phần mềm này sẽ sản xuất một lệnh ở phần dưới của phần
mềm mà có thể thực hiện kiểm soát đồng thời trên tất cả các servo được kiểm soát
trước đó (nếu 10 servo được kiểm soát trước đó, các lệnh có thể kiểm soát những 10
servo đồng thời).
Cấu trúc lệnh điều khiển:

12


Bảng 2.2 Cấu trúc lệnh điều khển servo trong board mạch USC-16
Tên
Điều khiển

Lệnh

Chú thích

#1P1500T100\r\n

Dữ liệu “1” đề cập đến các kênh

một servo

servo
Số liệu năm 1500 đề cập đến vị trí,
trong phạm vi 500-2500.Dữ liệu 100
đề cập đến thời gian thực hiện và đại

diện cho tốc độ, trong khoảng 100-

Điều khiển

#1P600#2P900#8P2500T100\r\

9999
Dữ liệu “1”, “2”, và “8” kênh tham

nhiều động

n

khảo của servo,dữ liệu “600”, “900”,

cơ servo

và “2500” tham khảo các vị trí của
servo tương ứng với ba kênh dữ liệu
“100” đề cập đến thời gian thực hiện
và đại diện cho tốc độ của ba servo.
Bất kể số của servo, chỉ có một thời
gian, hoặc 1 T
Các lệnh được thực thi cùng một lúc,
nghĩa là, tất cả các servo hoạt động

Điều khiển

đồng thời.
Dữ liệu “1” đề cập đến số nối tiếp


#1GC2\r\n

một nhóm

của các nhóm hành động,dữ liệu “2”

servo

đề cập đến số lượng các chu kỳ

13


Điều khiển

#1G#3G#1GC2\r\n

Thực hiện các nhóm đầu tiên, thứ ba

nhiều nhóm

và lần đầu tiên, số chu kỳ là 2.

servo đồng

Một nhóm có thể xuất hiện nhiều

thời


lần.
Chỉ có thể có một số chu kỳ hoặc
“C”. Các lệnh được thực thi theo thứ
tự; đó là các nhóm được thực hiện
theo thứ tự.

2.2.5 Động cơ RC Servo
Động cơ RC servo loại động cơ được điều khiển bằng sự điều biến độ rộng
xung (PWM) tức là kiểm soát hành trình mà chân robot đã di chuyển được. Với loại
này thì khối lượng nhẹ hơn và có thể dễ dàng chọn loại động cơ mong muốn.

1. Trục bánh răng

4. Dây nối mass

7. Mâm xoay

2. Điện kế thế

5. Dây tín hiệu

8. Mạch điện tử

3. Chip tích hợp

6. Dây nguồn

9. Vỏ hộp

10. Động cơ DC


Hình 2.7 Động cơ Servo
Hoạt động của động cơ servo:
Một động cơ RC Servo được cấu tạo làm ba phần: Một động cơ DC nhỏ, một
hộp số giảm tốc và bộ điều khiển góc quay. Động cơ và vôn kế nối với mạch điều

14


khiển tạo thành một mạch hồi tiếp vòng kín. Cả mạch điều khiển và động cơ điều được
cấp nguồn DC (thường 4.8 – 7.2V).
Để quay động cơ, tín hiệu số được gửi tới mạch điều khiển. Tín hiệu này khởi
động động cơ, thông qua chuỗi bánh răng, nối với vôn kế. Vị trí của trục vôn kế cho
biết vị trí trục ra của servo. Khi vôn kế đạt được vị trí như mong muốn, mạch điều
khiển sẽ tắt động cơ.
Động cơ RC Servo S3003 được sử dụng trong đề tài gồm có 3 dây và có màu
như sau:
Chân GND (màu nâu): Chân cấp mass.
Chân VCC (màu đỏ): Chân cấp nguồn (3.5 V - 8.4 V).
Chân tín hiệu (màu vàng – màu trắng): Chân điều khiển góc của động cơ.
Hoạt động của RC Servo dựa trên nguyên lý nhận xung PWM và cho ra góc
quay. Trục của động cơ servo R/C được định vị nhờ vào kỹ thuật gọi là điều biến độ
rộng xung PWM (Pulse Width Modulation). 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, dẫn đến sự
thay đổi điện áp ra. Trong hệ thống này, servo là đáp ứng của một dãy các xung số ổn
định. Cụ thể hơn, mạch điều khiển là đáp ứng của một tín hiệu số có các xung biến đổi
từ 1 – 2ms. Các xung này được gửi đi 50 lần/giây. Chú ý rằng không phải số xung
trong một giây điều khiển servo mà là độ rộng của các xung điều khiển động cơ. Servo
đòi hỏi khoảng 30 – 60 xung/giây. Nếu số này quá thấp thì độ chính xác và công suất

để duy trì servo sẽ giảm. Với độ dài xung 1ms, servo được điều khiển quay một chiều:
Góc quay của động cơ được xác định bằng độ rộng của xung PWM cấp đến
động cơ: Độ rộng xung dao động từ 1ms đến 2ms, với độ rộng 1ms động cơ sẽ quay
tới vị trí cực tiểu, với độ rộng 2ms động cơ sẽ quay tới vị trí cực đại. Khoảng dao động
từ 1ms đến 2ms sẽ khiến động cơ quay các góc trong khoảng cực tiểu tới cực đại.
Với thời gian 1ms mức cao, góc quay của servo là 0 º, 1.5ms góc quay 90º và
2ms góc quay là 180º. Các góc khác từ 0º - 180º được xác định trong khoảng thời gian
1-2ms.

15


Hình 2.8 Độ rộng xung quy định góc quay của động cơ RC Servo
Ứng dụng.
Động cơ Servo được ứng khá rộng rãi trong cuộc sống. Động cơ servo có nhiều
kiểu và ứng dụng từ các mô hình sản xuất, máy tiện đến mô hình robot, máy bay và xe
hơi… Các động cơ servo điều khiển bằng liên lạc vô tuyến gọi là động cơ servo R/C.
4.2.6 Chế độ điều khiển thông qua Bluetooth:
Điều khiển qua phần mềm Torobot

Hình 2.9 Giao diện điều khiển qua phần mềm Torobot
Để điều khiển robot nhện qua phần mềm Torobot đầu tiên lắp mạch đầy đủ,
chọn cổng COM sử dụng, kết nối bluetooth HC05 với máy tính, sau đó chọn nút
“Online”. Để lập trình cho động hoạt động, chúng ta có thể nhập góc; nhập tọa độ hoặc

16


viết các câu lệnh điều khiển bằng cách kéo thả các biểu tượng servo trên chương trình,
tiếp tục chọn nút “Add” để lưu lệnh vừa lập trình, thực hiện điều khiển sau khi viết

lệnh xong bằng nút “Run”. Muốn kết hợp các câu lệnh thành một chuỗi hành động
chọn “Download” sẽ tạo ra một nhóm hành động. Chọn “Read” để gọi các nhóm và
nhấn “Execution” để thực thi các nhóm hành động.
Điều khiển thông qua điện thoại thông minh
Trong mô hình robot nhện, module HC05 sẽ hoạt đông ở chế độ kết nối tự động
(không kết nối với chân 34 KEY). Để giao tiếp đầu tiên, mở bluetooth điện thoại và
mở chương trình điều khiển, tiếp theo tìm kiếm và kết nối với bluetooth HC05, nhập
mật khẩu của HC05 để có thể kết nối với module, mặc định mật khẩu đầu tiên của
HC05 là “1234” (có thể đặt lại mật khẩu cho module bluetooth HC05 bằng lệnh AT).
Chọn các nút trên giao diện phần mềm: lên, xuống, trái, phải, dừng. Các nút này
truyền dữ liệu xuống Arduino là “F”, “B”, “L”, “R”, “S”. Arduino nhận dữ liệu và thực
hiện tương ứng với các chương trình con đã được nạp sẵn là tiến, lùi, trái, phải, dừng.

Hình 2.10 Giao diện phần mềm bluetooth RC Controller điều khiển robot nhện

17


×