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

SỬ DỤNG ARDUINO CHO BÀI TOÁN ĐIỀU KHIỂN DẪN ĐƯỜNG ROBOT DI ĐỘNG

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 (4.36 MB, 63 trang )

TRƯỜNG ĐẠI HỌC DUY TÂN
KHOA ĐIỆN- ĐIỆN TỬ

NGUYỄN VIẾT KHÁNH

SỬ DỤNG ARDUINO CHO BÀI TOÁN ĐIỀU KHIỂN
DẪN ĐƯỜNG ROBOT DI ĐỘNG

ĐỒ ÁN TỐT NGHIỆP

Đà Nẵng, 2022


TRƯỜNG ĐẠI HỌC DUY TÂN
KHOA ĐIỆN- ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP

SỬ DỤNG ARDUINO CHO BÀI TOÁN ĐIỀU KHIỂN
DẪN ĐƯỜNG ROBOT DI ĐỘNG

CHUYÊN NGÀNH: ĐIỆN TỰ ĐỘNG

GVHD : T.S TRẦN THUẬN HOÀNG
SVTH : NGUYỄN VIẾT KHÁNH
LỚP

: K23 EDT 1

MSSV : 2321175118


Đà Nẵng, 2022


LỜI CẢM ƠN
Qua bốn năm phấn đấu và học hỏi khơng ngừng, cuối cùng em cũng đã hồn
thành đồ án tốt nghiệp. Để đạt được thành quả này, phải kể đến cơng lao to lớn của
tồn thể thầy cơ, bạn bè đã tận tình dạy dỗ và giúp đỡ em trong suốt quá trình học tập
từ khi em mới bước vào trường còn nhiều bỡ ngỡ. Qua đây em xin gửi lời cảm ơn
chân thành đến toàn thể các thầy giáo, cô giáo trường Đại học Duy Tân, đặc biệt là
thầy T.S Trần Thuận Hồng – Người đã ln ln giúp đỡ, hướng dẫn tận tình em
trong suốt quá trình làm đồ án. Em đã học hỏi được ở thầy phương pháp làm việc
khoa học, tính kiên trì, sáng tạo trong nghiên cứu và nhiều kiến thức bổ ích.
Em cũng xin gửi lời cảm ơn chân thành đến các thầy cô trung tâm Điện-Điện
Tử CEE Trường Đại Học Duy Tân. Các thầy cô đã truyền đạt và hướng dẫn chúng
em những kiến thức nền tảng quan trọng của ngành học giúp chúng em vận dụng phát
huy vào thực tế đồ án.
Em xin cảm ơn các anh, chị công tác tại trung tâm Điện-Điện Tử CEE đã tạo
điều kiện, giúp đỡ và truyền đạt nhiều kinh nghiệm quý giúp em hoàn thành tốt đồ án
này.
Em xin kính chúc các thầy giáo, cô giáo, các anh chị và các bạn luôn mạnh khỏe,
hạnh phúc và thành công trong cuộc sống !


LỜI CAM ĐOAN
Tác giả xin cam đoan:
Bản khóa luận này là tồn bộ cơng sức tác giả bỏ ra nghiên cứu nghiêm túc,
thực sự dưới sự hướng dẫn tận tình của thầy TS. Trần Thuận Hồng.
Nội dung của khóa luận có tham khảo và sử dụng các tài liệu, thơng tin trên
internet đã được xác nhận theo danh mục tài liệu tham khảo ở cuối quyển khóa luận
này.

Một lần nữa tác giả xin khẳng định về sự trung thực của lời cam kết.
Đà Nẵng, Ngày 17 tháng 12 năm 2022
Người cam đoan

Nguyễn Viết Khánh


MỤC LỤC
MỞ ĐẦU ................................................................................................... 1
1. Tính cấp thiết của đề tài ...............................................................................1
2. Ý nghĩa khoa học và thực tiễn .....................................................................1
3. Đối tượng .......................................................................................................2
4. Phương pháp nghiên cứu .............................................................................2
5. Nội dung nghiên cứu ....................................................................................2

CHƯƠNG 1: TỔNG QUAN VỀ ROBOT VÀ ROBOT DI ĐỘNG ........ 3
1.1 Robot ............................................................................................................3
1.2.1 Cấu trúc ........................................................................................................................... 5
1.2.2 Một số ứng dụng của robot di động ............................................................................... 6

CHƯƠNG 2: THIẾT KẾ VÀ TÌM HIỂU LINH KIỆN ........................... 7
2.1 Giải pháp thiết kế .......................................................................................7
2.1.1 Sơ đồ khối........................................................................................................................ 7
2.1.2 Phân tích chức năng các khối .......................................................................................... 8
2.1.3 Nguyên lý hoạt động của hệ thống ................................................................................ 8

2.2 Lựa chọn thiết bị .........................................................................................8
2.2.1 Giới thiệu chung Ardiuno ................................................................................................ 8
2.2.2 Bo mạch Arduino Uno R3 ................................................................................................ 9
2.2.3 Vi điều khiển.................................................................................................................. 10

2.2.4. Mạch điều khiển động cơ............................................................................................. 12
2.2.5 Động cơ DC.................................................................................................................... 14
2.2.5 Cảm biến encoder(cảm biến lập mã trục quay) ............................................................ 14
2.2.6 Bánh xe thụ động trong khung xe robot ...................................................................... 15
2.2.7 Ắc quy YT5A................................................................................................................... 16
2.2.8 Màn hình LCD 16X2 và mạch giao tiếp I2C ................................................................... 18

CHƯƠNG 3: PHÂN TÍCH THUẬT TỐN ODOMETRY VÀ ỨNG
DỤNG TRONG ĐỊNH VỊ ROBOT................................................................ 21
3.1 Sử dụng encoder để đo quãng đường đi được .......................................21
3.2 Định vị robot bằng odometry ..................................................................22
3.3 Giới thiệu phần mềm Arduino IDE ........................................................27
3.3.1 Giao diện ....................................................................................................................... 27
3.3.2 Vùng lệnh ..................................................................................................................... 27


CHƯƠNG 4: THIẾT KẾ VÀ CHẾ TẠO ROBOT................................. 29
4.1 Thiết kế phần cứng ...................................................................................29
4.1.1 Thiết kế khung robot ..................................................................................................... 29
4.1.2 Khung robot hoàn chỉnh thực tế ................................................................................... 29

4.2 Thiết kế hệ thống điều khiển robot .........................................................30
4.2.1 Truyền dữ liệu qua Serial Monitor ................................................................................ 30
4.2.2 Chương trình trên vi điều khiển .................................................................................... 33

4.3 kết quả thực nghiệm trên mơ hình robot ...............................................35
4.3.1 Môi trường thực nghiệm .............................................................................................. 35
4.3.2 Các kịch bản thực nghiệm ............................................................................................. 36
4.3.3 Mô tả thông số đo:........................................................................................................ 36
4.3.4 Kết quả thực nghiệm và thảo luận................................................................................ 37


PHẦN KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN ................ 44
TÀI LIỆU THAM KHẢO....................................................................... 54


DANH MỤC HÌNH ẢNH
Hình 1.1 Ba bộ phận của một robot....................................................................4
Hình 1.2 Sơ đồ khối cấu trúc của robot di động .................................................5

Hình 2.1 Sơ đồ khối dẫn đường robot....................................................... 7
Hình 2.2 Vi điều khiển Atmega 328 ....................................................... 10
Hình 2.3 Sơ đồ chân của Atmega 328 .................................................... 12
Hình 2.4 Module điều khiển động cơ VNH2SP30 ................................. 13
Hình 2.5 Sơ đồ nguyên lý module VNH2SP30 ...................................... 13
Hình 2.6 Động cơ DC Servo SE38BE27-001 24.................................... 14
Hình 2.7 Cảm biến lập mã quang............................................................ 15
Hình 2.8 Bánh xe thụ động ..................................................................... 16
Hình 2.9 Bình ắc quy 12V-5Ah/10Hr ..................................................... 16
Hình 3.2 Hệ toạ độ khơng gian trong phịng........................................... 23
Hình 3.3 Đo đường rơ-bốt di động và các biến liên quan của nó ........... 24
Hình 3.1 Lưu đồ thuật tốn ..................................................................... 26
Hình 3.4 Giao diện phần mềm Arduino IDE .......................................... 27
Hình 3.5 Các nút lệnh trong Arduino IDE .............................................. 27
Hình 4.1 Bản vẽ khung robot .......................................................................... 29
Hình 4.2 Mặt dưới đáy của khung robot thực tế ..............................................29
Hình 4.3 Mặt cạnh bên của khung robot thực tế ..............................................30
Hình 4.4 Mặt trên của robot. ............................................................................30
Hình 4.5 Sơ đồ đấu dây phần điều khiển..........................................................33
Hình 4.6 Mơi trường thử nghiệm .....................................................................35
Hình 4.7 Thơng số hiển thị trên LCD ...............................................................36

Hình 4.8 Điểm xuất phát ..................................................................................37
Hình 4.9 Vị trí sau 5 giây di chuyển của robot ................................................38
Hình 4.10 Điểm xuất phát ................................................................................39
Hình 4.11 Vị trí đi về phía trước sau 5 giây .....................................................39
Hình 4.12 Vị trí robot sau khi quay trái và đi thẳng 3 giây..............................40


Hình 4.13 Vị trí bắt đầu ....................................................................................41
Hình 4.14 Vị trí robot sau khi quay trái và đi thẳng 3 giây..............................41
Hình 4.15 Vị trí robot sau khi quay trái và đi thẳng 3 giây..............................42
Hình 4.16 Vị trí robot sau khi quay trái và đi thẳng 5 giây..............................42


DANH MỤC BẢNG
Bảng 4.1 Kết quả đo được ở kịch bản 1 ....................................................................37
Bảng 4.2 Kết quả đo được ở kịch bản 2 ....................................................................38
Bảng 4.3 Kết quả đo được ở kịch bản 3 ....................................................................40


1

MỞ ĐẦU
1. Tính cấp thiết của đề tài
Robot đang là một xu hướng nghiên cứu và phát triển của nhiều nước trên thế
giới hiện nay. Rất nhiều loại robot tân tiến đã được ra đời như robot chăm sóc người
nhà, robot nội chợ, robot bệnh viện, robot hướng dẫn sân bay. Một đặc điểm chung
giữa những robot này là môi trường hoạt động chủ yếu ở trong nhà. Một robot di
chuyển thơng minh là robot có khả năng tự động di chuyển linh hoạt trong mơi trường
có nhiều chướng ngại vật mà không xảy ra hiện tượng, cụ thể là các vật dụng nhiều
hình dạng như bàn, ghế, tủ. Trên thế giới hiện nay đã có rất nhiều nghiên cứu giới với

các thuật giải và phương pháp khác nhau cho dẫn đường rô bốt trong các môi trường
trong nhà. Những nghiên cứu rất đa dạng, sử dụng nhiều loại cảm biến khác nhau và
phục vụ nhiều mục đích khác nhau. Tuy nhiên, các hệ thống phổ biến thường có tính
đặc thù cho từng loại robot có hình dạng, kiểu dáng nhất định do đặc tính của cảm
biến sử dụng. Vì vậy, tính mở rộng của hệ thống đang là bài tốn rất được quan tâm.
Gần dây, có nhiều sản phầm cảm biến công nghệ cao đã được ra đời nhằm nâng cao
tính mở rộng của hệ thống, nhưng đổi lại giá thành rất cao.
2. Ý nghĩa khoa học và thực tiễn
Những tiến bộ trong công nghệ trong lĩnh vực robot đã có những đóng góp to
lớn trong nhiều lĩnh vực công nghiệp và xã hội trong thời gian gần đây. Ngày nay,
nhiều ứng dụng của hệ thống robot có thể được tìm thấy trong tự động hóa nhà máy,
hệ thống giám sát, hệ thống kiểm soát chất lượng, AGV (phương tiện tự động dẫn
đường), chống thảm họa, hỗ trợ y tế, v.v... Ngày càng có nhiều ứng dụng robot nhằm
mục đích cải thiện cuộc sống hàng ngày của chúng ta và robot hiện bị bắt gặp thường
xuyên hơn bao giờ hết trước khi thực hiện các nhiệm vụ khác nhau . Đối với nhiều
ứng dụng như vậy, khả năng di chuyển tự động của robot là một vấn đề quan trọng
bắt buộc. Robot di động tự động là những robot có thể thực hiện nhiệm vụ trong mơi
trường có cấu trúc hoặc khơng có cấu trúc mà khơng có sự hướng dẫn liên tục của
con người. Robot di động hoàn tồn tự động có khả năng: Thu thập thơng tin về môi
trường. Làm việc trong thời gian dài mà không có sự can thiệp của con người. Di
chuyển tồn bộ hoặc một phần trong mơi trường hoạt động của nó mà không cần sự
hỗ trợ của con người. Tránh các tình huống có hại cho con người, tài sản hoặc bản
thân, trừ khi đó là một phần của thơng số kỹ thuật thiết kế. Robot di động tự động


2
cũng có thể học hoặc đạt được các khả năng mới như điều chỉnh các chiến lược để
hoàn thành nhiệm vụ của nó hoặc thích ứng với sự thay đổi của môi trường xung
quanh.
3. Đối tượng

Đối tượng nghiên cứu ở đây là robot di động có thể hoạt động hồn tồn tự
động. Robot được điều khiển code lập trình trước lưu trong arduino.
4. Phương pháp nghiên cứu
Thiết kế một robot di động có gắn cảm biến encoder để minh họa cho các
chương trình đã phát triển.
Phát triển các chương trình nhúng trên vi điều khiển và chương trình trên máy
tính.
Kết nối các thành phần cứng với nhau và nạp chương trình nhúng vào vi điều
khiển.
Kiểm tra, chạy thử, đánh giá chương trình và đưa ra hướng phát triển mới.
5. Nội dung nghiên cứu
Nội dung khóa luận gồm 4 chương:
• Chương 1: Tổng quan về robot và robot di động;
• Chương 2: Thiết kế và tìm hiểu linh kiện;
• Chương 3: Phân tích giải pháp odometry và ứng dụng trong định vị robot;
• Chương 4: Thiết kế và chế tạo robot.


3

CHƯƠNG 1: TỔNG QUAN VỀ ROBOT VÀ ROBOT DI ĐỘNG
1.1 Robot
Robot xuất hiện lần đầu tiên ở New York vào 09/10/1922 trong vở kịch
“Rossum’s Universal Robot” của nhà soạn kịch người Tiệp Khắc là Karen Chapek,
còn từ robot là một cách gọi khác của từ Robota – theo tiếng Tiệp có nghĩa là cơng
việc lao dịch. Khi đó Karen Chapek cho rằng Robot là những người máy có khả năng
làm việc nhưng khơng có khả năng suy nghĩ.
Ngày nay đã có rất nhiều nhà khoa học đưa ra các định nghĩa khác nhau về
robot nhưng chung quy lại: robot là một tác tử nhân tạo, trong thực tế là một hệ thống
cơ – điện tử, truyền tải một thông tin cảm nhận có mục đích qua sự hiện diện hoặc

chuyển động của nó trong mơi trường xung quanh. Nói như vậy thì robot gồm ba bộ
phận cơ bản: Bộ cảm nhận, bộ điều khiển và bộ chấp hành.
+ Bộ cảm nhận: Có nhiệm vụ thu thập thơng tin từ mơi trường. Mơi trường ở
đây có thể được biết trước hoặc khơng biết trước. Trong một số trường hợp, trạng
thái chính của robot (như số vòng quay của bánh xe di động cho thân robot) cũng
được coi là biến môi trường;
+ Bộ điều khiển: Thông tin từ bộ cảm nhận được đưa vào bộ điều khiển để
xử lý và xuất ra các lệnh thích hợp quyết định hành vi của hệ thống. Người ta coi bộ
điều khiển là “bộ não” của robot. Thường bộ phận này là các máy tính hay các bộ xử
lý chuyên dụng và các bộ nhớ cùng các giao diện ghép nối vào/ra;
+ Bộ chấp hành: Thực hiện các lệnh ra từ bộ điều khiển để tác động trở lại
mơi trường hay chính robot.
Với một hệ thống như vậy thì cấu trúc của robot có liên quan chặt chẽ tới sự
phát triển của các công nghệ về điện – điện tử, cơ khí và phần mềm máy tính.


4

Hình 1.1 Ba bộ phận của một robot

Những năm gần đây, nhu cầu phát triển các robot di động cùng với việc
thơng minh hóa robot đã dẫn đến sự bùng nổ trong nghiên cứu phát triển các hệ thống
robot di động tự trị (autonomous mobile robot) trên thế giới. Robot tự trị có chương
trình điều khiển được nạp sẵn trong bộ nhớ của nó, được lưu trữ theo kiểu khơng bay
hơi (non-volatile) để cho phép một khi được khởi động robort có thể hoạt động độc
lập mà khơng cần các tác nhân điều khiển nào khác. Có nghĩa là robot có thể tự thích
nghi với sự thay đổi của mơi trường để tiếp tục đạt tới một mục đích nào đó. Điều
này khác hẳn với các robot cơng nghiệp thơng thường thực ra chỉ là những máy tự
động được lập trình lặp đi lặp lại.
Sự thơng minh của robot là khả năng cảm nhận và thích ứng với mơi trường

chưa biết rõ. Những robot di động đơn giản tránh được vật cản bất ngờ trên đường đi
theo một chiến lược nào đó, những robot có thể nhận ra vật thể theo màu sắc, hình
dạng để lựa chọn sản phẩm, nhận dạng theo ngôn ngữ tự nhiên đến các máy chơi cờ
tự động, có thể thắng được cả nhà vơ địch thế giới.


5
1.2.1 Cấu trúc

Hình 1.2 Sơ đồ khối cấu trúc của robot di động

Hệ thống cảm nhận trong robot di động: Cảm biến (sensor) là linh kiện chính
của bộ phận cảm nhận trong robot. Cảm biến biến đổi tín hiệu lối vào, thường là các
đại lượng phi điện (như âm thanh, ánh sáng, nhiệt độ, v.v…), thành các đại lượng
điện lối ra. Cảm biến thường được phân thành 2 loại: thụ động và tích cực.
Một số cảm biến dùng trong robot di động thông minh như: cảm biến lazer, cảm
biến ảnh, các cảm biến chi hướng, cảm biến phát hiện vật thể gần…
Các cơ cấu chấp hành: Các cơ cấu dịch chuyển giúp robot di chuyển hiện nay
rất phong phú. Ngoài cơ cấu chuyển dịch bằng bánh xe thông dụng ra còn nhiều dạng
dịch chuyển nữa như di chuyển bằng chân như các robot dạng người, di chuyển bằng
cánh quạt trên không hay dưới nước, v.v…Các cơ cấu này thường sử dụng các động
cơ, như động cơ điện, làm nguồn chuyển động. Các động cơ điện có thể quay liên tục
(với cổ góp điện có chổi than hoặc khơng có chổi than) hay động cơ bước.
Thường thì mạch điện cơng suất điều khiển động cơ cũng được xem như một
bộ phận của cơ cấu chấp hành.
Khối dự đoán và điều khiển: Phần cứng của bộ điều khiển robot di động hiện
nay chủ yếu dựa vào các mạch ứng dụng vi xử lý. Thường đó là các máy vi tính , các
mạch vi điều khiển.
Phần mềm với các đường chương trình xử lý, điều khiển đặc trưng cho mức độ
thông minh của robot di động.



6
Khối dẫn đường: Dẫn đường robot là việc tạo cho nó có khả năng đi tới đích
theo một cách nào đó. Các robot kiểu phản ứng có được hành vi chuyển động trong
thế giới mà không bị va chạm nhưng khả năng dẫn đường liên quan đến mọi vấn đề
thuộc robot có trí tuệ nhân tạo như: cảm nhận, hành động, lập kế hoạch, kiến trúc,
phần cứng, hiệu suất tính toán, v.v…
Tổng quan lại: Robot di động là một hệ thống phức tạp gồm các cấu kiện cơ khí,
điện và chương trình phần mềm tương tác với nhau. Hệ thống điều khiển trong robot
phải tích hợp được các phần tử này sao cho robot có thể đạt được mục đích mong
muốn.
1.2.2 Một số ứng dụng của robot di động
Khả năng di động giúp cho robot có nhiều ứng dụng và đòi hỏi phải giải quyết
nhiều vấn đề mới. Một trong những vấn đề chung cần nghiên cứu ở các loại robot di
chuyển là khả năng xác định phương hướng (navigation) của robot. Ba loại robot di
động chính hiện này bao gồm: xe tự hành trên mặt đất AGV, robot tự hành dưới nước
AUV, máy bay không người lái UAV.


7

CHƯƠNG 2: THIẾT KẾ VÀ TÌM HIỂU LINH KIỆN
2.1 Giải pháp thiết kế
2.1.1 Sơ đồ khối

NGUỒN

ĐỘNG CƠ


KHỐI CẢM BIẾN

KHỐI ĐIỀU KHIỂN
TRUNG TÂM

KHỐI ĐIỀU KHIỂN
ĐỘNG CƠ

TRÁI

Hình 2.1 Sơ đồ khối dẫn đường robot

PHẢI


8
2.1.2 Phân tích chức năng các khối
- Các chức năng trong robot dẫn đường:
+Khối nguồn: Khối cấp nguồn 5VDC cung cấp cho các khối hoạt động được
Khối cấp nguồn 12VDC có chức năng cấp nguồn 12V cho khối điều khiển động
cơ có thể hoạt động được.
+ Khối cảm biển: Sử dụng cẩm biến encoder để đếm số vòng quay rồi gửi về
khối so sánh.
+ Khối điều khiển trung tân: Sử dụng Arduino uno R3, nhận số liệu từ khối cảm
biến encoder rồi tính tốn để xác định trạng thái robot đang di chuyển và xuất ra tính
hiệu xung để chuyển qua khối điều khiển động cơ.
+ Khối điều khiển động cơ: Sử dụng module VNH2SP30 điều khiển 2 động cơ
30A để nhận tính hiệu từ khối điều khiển trung tâm rồi xử lý tính hiệu để điều hướng
xe di chuyển đúng.
2.1.3 Nguyên lý hoạt động của hệ thống

Tính hiệu từ cảm biến encoder được đưa vào khối điều khiển trung tâm bằng
dạng tính hiệu xung. Dựa vào tính hiệu xung từ khối cảm biến , khối điều khiển trung
tâm sẽ tính tốn để xác định trạng thái robot và xuất ra tính hiện xung PWM để điều
khiển các động cơ thông qua mạch điều khiển động cơ sử dụng module VHN2SP30.
Việc đó giúp robot di chuyển theo quỹ đạo xác định trước.
Điều này giúp cho robot có khả năng di chuyển 1 cách chính xác và hiệu quả.
Hiện nay, thị trường có rất nhiều loại cảm biến khác nhau. Chúng giúp cho robot
có khả năng dị đường một cách chính xác và hiệu quả như, cảm biến la bàn điện từ,
cảm biến tiếp xúc, cảm biến quang, bộ giải mã encoder, hệ thống định vị toàn cầu
GPS, camera quan sát kết hợp công nghệ xử lý ảnh… Trong phạm vi bài báo này, tác
giả sử dụng bộ giải mã encoder vì robot sử dụng bộ đếm để định vị và đo quảng
đường đi được.
2.2 Lựa chọn thiết bị
2.2.1 Giới thiệu chung Ardiuno
Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng
tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong
cộng đồng nguồn mở (open- source). Tuy nhiên tại Việt Nam Arduino vẫn còn chưa
được biết đến nhiều.


9
Arduino cơ bản là một nền tảng mẫu mở về điện tử (open-source electronic
sprototyping platform) được tạo thành từ phần cứng lẫn phần mềm. Về mặt kỹ thuật
có thể coi Arduino là 1 bộ điều khiển logic có thể lập trình được. Đơn giản hơn,
Arduino là một thiết bị có thể tương tác với ngoại cảnh thông qua các cảm biến và
hành vi được lập trình sẵn. Với thiết bị này, việc lắp ráp và điều khiển các thiết bị
điện tử sẽ dễ dàng hơn bao giờ hết. Arduino được phát triển nhằm đơn giản hóa việc
thiết kế, lắp ráp linh kiện điện tử cũng như lập trình trên vi xử lí và mọi người có thể
tiếp cận dễ dàng hơn với thiết bị điện tử mà không cần nhiều về kiến thức điện tử và
thời gian. Sau đây là nhưng thế mạnh của Arduino so với các nền tảng vi điều khiển

khác:
- Chạy trên đa nền tảng: Việc lập trình Arduino có thể thể thực hiện trên các hệ
điều hành khác nhau như Windows, Mac Os, Linux trên Desktop, Androi trên di
động.
- Ngơn ngữ lập trình dễ hiểu.
- Nền tảng mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm chạy
trên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau.
- Mở rộng phần cứng: Aduino được thiết kế và sử dụng theo dạng module nên
việc mở rộng phần cứng cũng rất dễ dàng hơn.
- Đơn giản mà nhanh: Rất dễ dàng lắp ráp, lập trình và sử dụng thiết bị.
- Dễ dàng chia sẽ: Mọi người dễ dàng chia sẽ mã nguồn với nhau mà không lo
lắng về ngôn ngữ hay hệ điều hành mình đang sử dụng.
Arduino có rất nhiều module, mỗi module được phát triển cho một ứng dụng.
Về mặt chức năng, các board mạch Arduino được chia thành hai loại, loại board mạch
chính có chip Atmega và loại mở rộng thêm chức năng cho board mạch chính. Các
board mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình
cũng như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số
board có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth. Các board
mở rộng chủ yếu mở rộng thêm một số tính năng cho board mạch chính. Ví dụ như
tính năng kết nối Ethernet, Wireless, điều khiển động cơ.
2.2.2 Bo mạch Arduino Uno R3
Sử dụng chip AVR Atmega328 của Atmel. Mạch arduino được lắp ráp từ các
linh kiện dễ tìm và hướng đến đối tượng người dùng đa dạng.


10
Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là Atmega8,
Atmega168, Atmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều
khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo
nhiệt độ, độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác.

Arduino UNO có thể được cấp nguồn 5V thơng qua cổng USB hoặc cấp nguồn
ngồ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 vng 9V là hợp lí nhất nếu 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, sẽ làm hỏng.
2.2.3 Vi điều khiển
+ Thông số vi điều khiển arduino uno R3
Arduino UNO dùng vi điều khiển họ 8bit AVR Atmega328. 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.

Hình 2.2 Vi điều khiển Atmega 328

Chức năng từng chân:
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi 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ó ln là 5V. Mặc dù vậy 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.


11
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với
việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
Các cổng vào/ra: Arduino UNO có 14 chân digital dùng để đọc hoặc 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/ra tối đa trên mỗi chân

là 40mA. Ở mỗi chân đều có các điện trở pull-up 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).
Chân giao tiếp SPI: 10 (SS), 11 (MOSI). Ngoài các 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.
ED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút Reset,
sẽ thấy đèn này nhấp nháy để báo hiệu.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit
(0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên
board, có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu
cấp điện áp 2.5V vào chân này thì có thể 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à 10bit.
Đặc biệt, Arduino UNO 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.
Atmega328 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc họ
MegaAVR có sức mạnh hơn hẳn Atmega8. Atmega 328 là một bộ vi điều khiển 8 bít
dựa trên kiến trúc RISC bộ nhớ chương trình 32KB ISP flash có thể ghi xóa hàng
nghìn lần, 1KB EEPROM, một bộ nhớ RAM vơ cùng lớn trong thế giới vi xử lý 8 bít
(2KB SRAM).
+ Atmega 328 có 2 nhiệm vụ chính :
1.

Nhận tín hiệu điều khiển từ máy tính thơng qua cổng giao thức UART

2.

Điều khiển mạch điều khiển động cơ => Điều khiển chiều quay và tốc

độ của động cơ => Điều khiển hướng đi và tốc độ di chuyển của Robot
+ Các đặc điểm cơ bản của Atmega 328
Bộ nhớ flash : 32Kbytes với 0.5KB dùng bởi bootloader

EEPROM : 1Kbytes
SRAM:

2Kbytes

Tần số hoạt động : 16 MHz
Điện áp : 7 V - 12V


12
+ Sơ đồ chân của vi điều khiển

Hình 2.3 Sơ đồ chân của Atmega 328

♦ Digital: Các chân I/O digital (chân số 2 – 13 ) được sử dụng làm chân nhập,
xuất tín hiệu số thơng qua các hàm chính : pinMode(), digitalWrite(), digitalRead().
Điện áp hoạt động là 5V, dòng điện qua các chân này ở chế độ bình thường là 20mA,
cấp dòng quá 40mA sẽ phá hỏng vi điều khiển.
♦ Analog :Uno có 6 chân Input analog (A0 – A5), độ phân giải mỗi chân là 10
bit (0 – 1023 ). Các chân này dùng để đọc tín hiệu điện áp 0 – 5V (mặc định) tương
ứng với 1024 giá trị, sử dụng hàm analogRead().
♦ PWM : các chân được đánh số 3, 5, 6, 9, 10, 11; có chức năng cấp xung PWM
(8 bit) thông qua hàm analogWrite().
♦ UART: Atmega328P cho phép truyền dữ liệu thông qua hai chân 0
2.2.4. Mạch điều khiển động cơ
Trong khóa luận tơi sử dụng module Motor Shield VNH2SP30 2 cầu H Motor
Shield VNH2SP30 30A là sản phẩm mạch điều khiển động cơ sử dụng IC
VNH2SP30 cho dòng ngõ ra lên đến 30A. Mạch được thiết kế phù hợp với Arduino
Uno nên có thể cắm trực tiếp để sử dụng mà không cần dây cắm bên ngồi, rất tiện
lợi và thẩm mĩ. Có thể chịu được dịng lớn tới 30 A thích hợp cho các động cơ có

dịng tiêu thụ lớn như 775, 550 hay các loại khác.


13

Hình 2.4 Module điều khiển động cơ VNH2SP30

THƠNG SỐ KỸ THUẬT


Dải điện áp: 5.5v-16v



Dịng tối đa: 30A



Dịng liên tục: 14A



Trở kháng nội MOSFET: 19mΩ (mỗi chân)



Tần số PWM tối đa: 20khz




Có chân current sensor (có thể kết nối với chân analog để đo dịng)



Bảo vệ q dịng và q áp

Hình 2.5 Sơ đồ nguyên lý module VNH2SP30


14
2.2.5 Động cơ DC

Hình 2.6 Động cơ DC Servo SE38BE27-001 24

THƠNG SỐ SẢN PHẨM
- Điện áp: 24VDC
- Dịng khơng tải: 0.2A
- Tốc độ: 4400RPM
- Type: DC Servo
- Đường kính trục: 5mm
- Đường kính motor: 38mm
- Chiều dài tổng thể: 130mm
2.2.5 Cảm biến encoder(cảm biến lập mã trục quay)
Encoder hay còn gọi là Bộ mã hoá quay hoặc bộ mã hoá trục, là một thiết bị cơ
điện chuyển đổi vị trí góc hoặc chuyển động của trục thành tính hiệu đầu ra analog
hoặc kỹ thuật số. Encoder để được dùng phát hiện vị trí, hướng di chuyển, tốc độ,..
của động cơ bằng cách đếm số vòng quay được của trục.
Encoder cấu tạo chính gồm :
+ Đĩa quay trịn có rảnh nhỏ quay quanh trục: trên đĩa được đục lỗ(rãnh), khi
đĩa quay và chiếu đèn led trên mặt đĩa thì sẽ có sự ngắt quảng sảy ra. Các rảnh đĩa

chia vòng tròn thành 360° thành các góc bằng nhau. Và một đĩa có thể có nhiều dãy
rãnh tính từ tâm trịn.
+ bộ cảm biến thu(photosensor)
+ Nguồn sáng(Light source)
Cảm biến được gắn trực tiếp với trục quay motor, dùng để đo vận tốc 2 bánh xe
robot. Bộ lập mã trục quay như trình bày trên hình 3.6 về cơ bản là một đĩa quay làm


15
đóng-ngắt chùm tia sáng đi qua các khe. Cùng bộ phận điện tử chuyển đổi quangđiện (optron), cơ cấu này phát ra số xung điện lối ra tương ứng với một vịng quay
của trục motor. Nếu đường kính của bánh xe và tỷ số truyền lực (tỷ số truyền bánh
răng từ trục motor ra bánh xe robot) đã biết thì vị trí góc và tốc độ quay của bánh xe
có thể xác định được bằng việc đếm số xung ánh sáng chiếu qua các khe hẹp của đĩa
lập mã. Việc xác định vị trí của robot bằng bộ lập mã này là phương pháp phổ biến
trên thế giới có tên gọi là phương pháp Odometry . Phương pháp này có ưu điểm đơn
giản dễ sử dụng để đo vận tốc của bánh xe. Tuy nhiên nó có nhược điểm là mắc phải
sai số tích lũy, gây nên sự bất định của vị trí ước tính bởi hệ thống odometry tăng
theo thời gian trong khi robot di chuyển. Thường phải triệt sai số tích lũy này một
cách định kỳ bằng hỗ trợ bởi một cảm biến khác. Trong hệ thống của chúng tơi đĩa
lập mã quang có 100 khe sáng/1 đĩa.

Hình 2.7 Cảm biến lập mã quang

2.2.6 Bánh xe thụ động trong khung xe robot
Bánh thụ động có kích thước nhỏ gọn thường được sử dụng như bánh cân bằng
của Robot, bánh có chất lượng tốt, chuyển hướng nhanh và rất êm, phù hợp với nhiều
loại thiết kế robot khác nhau.


16


Hình 2.8 Bánh xe thụ động

Thơng số kỹ thuật:
• Màu sắc: Trắng
• Mạ kền (Xi): Kẽm
• Chất liệu: Nhựa PP- Thép
• Đường kính bánh xe: 25mm
• Chiều cao:34mm
2.2.7 Ắc quy YT5A

Hình 2.9 Bình ắc quy 12V-5Ah/10Hr

Dùng bình ắc quy cấp nguồn cho động cơ và dùng mạch ổn áp cấp nguồn cho
Arduino.


×