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

Điều khiển xe tự cân bằng sử dụng arduino đồ án tốt nghiệp khoa công nghệ điệ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.06 MB, 61 trang )

ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ ĐIỆN

ĐỒ ÁN TỐT NGHIỆP
ĐIỀU KHIỂN XE CÂN BẰNG SỬ DỤNG
ARDUINO

SINH VIÊN

: BÙI DUY TIN

MSSV

: 14064861

LỚP

: DHDKTD10B

GVHD
TUẤN

:THS. NGUYỄN NGỌC ANH


Đồ án tốt nghiệp
TP. HCM, NĂM 2018

2



PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP
1. Họ và tên sinh viên/nhóm sinh viên đƣợc giao đề tài
Bùi Duy Tin, MSSV: 14064861
2. Tên đề tài
ĐIỀU KHIỂN XE CÂN BẰNG SỬ DỤNG ARDUINO
3. Nội dung
Mục tiêu của đồ án là xây dựng được robot có khả năng di chuyển trên hai
bánh,làm phương tiện di chuyển hiệu quả linh động, dễ dàng xoay trở trong
khơng gian chật hẹp.
4. Kết quả
Ơn lại và tìm hiểu thêm về những kiến thức điện tử, động lực học cơ bản
Sử dụng thành công bộ lọc kalman trong mơ hình robot để tính tốn góc
Xây dựng thành cơng giải thuật cân bằng bám theo vị trí ban đầu dựa trên
thuật toán PID

Giảng viên hướng dẫn

Tp. HCM, ngày

tháng

Sinh viên

i

năm 20..


NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN


-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ii


MỤC LỤC

MỤC LỤC .............................................................................................................. iii
DANH SÁCH HÌNH VẼ ........................................................................................v
DANH SÁCH BẢNG BIỂU ................................................................................ vii
CHƢƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH TỰ CÂN BẰNG ..........1
1.1 Giới thiệu chung ............................................................................................1
1.2 Thế nào là robot hai bánh tự cân bằng .......................................................1
1.3 Tại sao phải thiết kế robot hai bánh tự cân bằng ......................................2
1.4 Mục tiêu của đồ án ........................................................................................4
1.5 Phƣơng pháp nghiên cứu .............................................................................4
1.6 Giới hạn của đồ án ........................................................................................5
CHƢƠNG 2: THIẾT KẾ CHẾ TẠO ....................................................................6
2.1 Sơ đồ khối ......................................................................................................6
2.2 Thiết kế phần cứng ......................................................................................6
2.3 Mạch điện tử ..................................................................................................8
2.3.1 Nguồn điện .............................................................................................8
2.3.2 Bộ điều khiển trung tâm Aduino Mega 2560 ......................................8
2.3.3 Mạch điều khiển động cơ robo shield ................................................15
2.3.4 Cảm biến MPU6050 .............................................................................16
2.3.5 Động cơ Encoder 334 Xung + Giảm tốc RP201 ................................18
2.4 Cách phƣơng thức giao tiếp .......................................................................18
2.4.1 Điều chế độ rộng xung PWM ..............................................................19
2.4.2 Giao thức I2C .......................................................................................21
2.4.3 Giao tiếp UART....................................................................................23

2.5 Giải thuật lập trình .....................................................................................24
iii


2.5.1 Nguyên lý điều khiển cân bằng ...........................................................24
2.5.2 Bộ lọc Kalman ......................................................................................25
2.5.3 Giải thuật điều khiển PID ...................................................................36
2.5.4 Nguyên lý hoạt động ............................................................................40
CHƢƠNG 3: THỬ NGHIỆM VÀ KẾT LUẬN .................................................41
3.1 Thử nghiệm..................................................................................................41
3.2 Kết quả .........................................................................................................41
3.3 Hƣớng phát triển.........................................................................................41
TÀI LIỆU THAM KHẢO ....................................................................................42
PHỤ LỤC ...............................................................................................................43
LỜI CẢM ƠN ........................................................................................................52

iv


DANH SÁCH HÌNH VẼ
Hình 1. 1 Mơ tả ngun lý cân bằng .........................................................................1
Hình 1. 2 Mơ tả cách di chuyển ...............................................................................2
Hình 1. 3 Xe ba bánh trên mặt phẳng .......................................................................2
Hình 1. 4 Xe ba bánh đi lên ......................................................................................3
Hình 1. 5 Xe ba bánh đi xuống .................................................................................3
Hình 1. 6 Hai bánh lên và xuống linh động ..............................................................4

Hình 2. 1 Sơ đồ khối của hệ thống robot ..................................................................6
Hình 2. 2 Mơ hình robot sau khi lắp ráp ..................................................................7
Hình 2. 3 Pin .............................................................................................................8

Hình 2. 4 Arduino Mega 2560 ..................................................................................9
Hình 2. 5 Sơ đồ chân Arduino.................................................................................12
Hình 2. 6 Trình biên dịch IDE ................................................................................14
Hình 2. 7 Mạch điều khiển động cơ robo shield .....................................................15
Hình 2. 8 Chân giao tiếp MPU6050 .......................................................................17
Hình 2. 9 Động cơ Encoder ....................................................................................18
Hình 2. 10 Điều chỉnh độ rộng xung.......................................................................19
Hình 2. 11 Quan hệ giữa vận tốc không tải của động cơ DC và chu kỳ PWM cho
động cơ DC Hitachi ...........................................................................................................20
Hình 2. 12 Kết nối giữa Master và các Slave .........................................................21
Hình 2. 13 Trạng thái lấy mẫu 1bit dữ liệu SDA ....................................................22
Hình 2. 14 Sơ đồ kết nối giữa Arduino với cảm biến MPU6050 theo giao thức I2C
............................................................................................................................................23
Hình 2. 15 Ngun lý điều khiển .............................................................................24
Hình 2. 16 Mơ hình bộ lọc ......................................................................................26
Hình 2. 17 Tín hiệu chưa được lọc .........................................................................26
Hình 2. 18 Tín hiệu đã qua bộ lọc Kalman .............................................................27
Hình 2. 19 Quy trình bộ lọc Kalman.......................................................................29
Hình 2. 20 Quy trình hồn chỉnh bọ lọc Kalman....................................................30
Hình 2. 21 Hệ thống điều khiển vịng kín................................................................36
v


Hình 2. 22 Đồ thị biêu diễn hệ số PID theo thời gian ............................................38
Hình 2. 23 Sơ đồ giải thuật xe tự cân bằng ............................................................40

vi


DANH SÁCH BẢNG BIỂU

Bảng 2. 1 Chi tiết 4 cổng Serial ..............................................................................13
Bảng 2. 2 Chức năng các chân MPU6050 .............................................................18
Bảng 2. 3 Ảnh hưởng của các hệ số PID ................................................................37
Bảng 2. 4 Độ lợi từng hệ số PID.............................................................................39

vii


Đồ án tốt nghiệp

SV: Bùi Duy Tin

CHƢƠNG 1: TỔNG QUAN VỀ ROBOT HAI BÁNH TỰ
CÂN BẰNG
1.1 Giới thiệu chung
Cùng với sự phát triển của khoa học kỹ thuật, ngày nay robot có khả năng thay thế
con người làm việc trong những môi trường độc hại, trong sản xuất hoặc bắt chước
con người về hình thức, hành vi và cả suy nghĩ... Hiện nay lĩnh vực robot đang phát
triển nhanh nhờ vào sự phát triển liên tục của công nghệ, robot đã và đang được chế
tạo để phục vụ cho nhiều mục đích khác nhau. Với ý tưởng sử dụng robot thay thế con
người thì “Robot hai bánh tự cân bằng” cũng là đề tài hiện đang được nhiều tác giả
quan tâm vì mơ hình robot này có khả năng di chuyển linh hoạt nhưng lại không chiếm
nhiều không gian.
1.2 Thế nào là robot hai bánh tự cân bằng

Hình 1. 1 Mô tả nguyên lý cân bằng

Đối với các xe hay robot ba hay bốn bánh, việc thăng bằng và ổn định của chúng
là nhờ trọng tâm của chúng nằm trong bề mặt chân đế do các bánh xe tạo ra. Đối với
các xe 2 bánh có cấu trúc như xe đạp, việc thăng bằng khi khơng di chuyển là hồn

tồn khơng thể, vì việc thăng bằng của xe dựa trên tính chất con quay hồi chuyển ở hai
bánh xe khi đang quay. Còn đối với xe hay robot hai bánh tự cân bằng, là loại chỉ có
hai bánh với trục của hai bánh xe trùng nhau, để cho robot cân bằng, trọng tâm của nó
cần được giữ nằm ngay giữa các bánh xe. Điều này giống như ta giữ một cây gậy dựng
thẳng đứng cân bằng trong lòng bàn tay. Thực ra, trọng tâm của tồn bộ robot khơng
được biết nằm ở vị trí nào, cũng khơng có cách nào tìm ra nó. Do vậy, thay vì tìm cách
1


Đồ án tốt nghiệp

SV: Bùi Duy Tin

xác định trọng tâm nằm giữa các bánh xe ta cho xe di chuyển nhằm triệt tiêu góc
nghiêng của xe.

Hình 1. 2 Mơ tả cách di chuyển

1.3 Tại sao phải thiết kế robot hai bánh tự cân bằng
Việc thiết kế robot hai bánh tự cân bằng là nền tảng để phát triển xe hai bánh tự
cân bằng sau này vì vậy ta cần so sánh xe hai bánh tự cân bằng với các thể loại ba
bánh hay bốn bánh hiện nay.
Những mobile robot xây dựng hầu hết robot là những robot di chuyển bằng ba
bánh xe, với hai bánh lái được lắp ráp đồng trục, và một bánh đi nhỏ. Có nhiều kiểu
khác nhau, nhưng đây là kiểu thơng dụng nhất. Cịn đối với các xe 4 bánh, thường một
đầu xe có hai bánh truyền động và đầu xe còn lại được gắn một hoặc hai bánh lái.

Hình 1. 3 Xe ba bánh trên mặt phẳng

Việc thiết kế ba hay bốn bánh làm cho xe/mobile robot được thăng bằng ổn

định nhờ trọng lượng của nó được chia cho hai bánh lái chính và bánh đi, hay bất kỳ
cái gì khác để đỡ trọng lượng của xe. Nếu trọng lượng được đặt nhiều vào bánh lái thì
xe/robot sẽ khơng ổn định dễ bị ngã, cịn nếu đặt nhiều vào bánh đi thì hai bánh
chính sẽ mất khả năng bám. Nhiều thiết kế xe/robot có thể di chuyển tốt trên địa hình
phẳng, nhưng khơng thể di chuyển lên xuống trên địa hình lồi lõm (mặt phẳng
nghiêng). Khi di chuyển xuống đồi, trọng lượng xe/robot dồn vào đầu xe làm bánh lái
2


Đồ án tốt nghiệp

SV: Bùi Duy Tin

mất khả năng bám và trượt ngã, đối với những bậc thang, thậm chí nó dừng hoạt động
và chỉ quay trịn bánh xe.

Hình 1. 4 Xe ba bánh đi lên

Khi di chuyển lên đồi, sự việc còn tệ hơn, trọng tâm thay đổi về phía sau và thậm
chí làm xe/robot bị lật úp khi di chuyển trên bậc thang.Việc bố trí bốn bánh xe, giống
như xe hơi đồ chơi hay các loại xe bốn bánh hiện đang sử dụng trong giao thông
không gặp vấn đề nhưng điều này sẽ làm các xe/robot khơng gọn.

Hình 1. 5 Xe ba bánh đi xuống

Ngược lại, các xe dạng hai bánh đồng trục lại thăng bằng rất linh động khi di
chuyển trên địa hình dốc, mặc dù bản thân là một hệ thống khơng ổn định. Khi nó leo
sườn dốc, nó tự động nghiêng ra trước và giữ cho trọng lượng dồn về hai bánh lái
chính. Tương tự vậy, khi bước xuống dốc, nó nghiêng ra sau và giữ trọng tâm rơi vào
các bánh lái. Chính vì vậy, khơng bao giờ có hiện tượng trọng tâm của xe rơi ra ngồi

vùng đỡ của các bánh xe để có thể gây ra sự lật úp.

3


Đồ án tốt nghiệp

SV: Bùi Duy Tin

Hình 1. 6 Hai bánh lên và xuống linh động

1.4 Mục tiêu của đồ án
Mục tiêu của đồ án là xây dựng được robot có khả năng di chuyển trên hai
bánh,làm phương tiện di chuyển hiệu quả linh động, dễ dàng xoay trở trong không
gian chật hẹp.Trong khuôn khổ 3 tháng thực hiện luận văn tốt nghiệp, những mục tiêu
được đề ra như sau:
 Tìm hiểu về các loại robot cân bằng, nguyên lý cơ bản về cân bằng.
 Thiết kế mạch điện tử kết hợp các cảm biến thực hiện chức năng đo góc
(phần cứng).
 Giải thuật cho vi điều khiển kết hợp và bù trừ các cảm biến để có được giá
trị đo góc chính xác.
 Xây dựng thuật tốn điều khiển cho động cơ, giữ thăng bằng
 Lập trình điều khiển.
1.5 Phƣơng pháp nghiên cứu
Đề tài được tiếp cận dựa trên các phương pháp sau:
 Phương pháp khảo sát tài liệu, tìm hiểu các tài liệu liên quan đến đến đề
tài như: cấu trúc robot hai bánh tự cân bằng, cảm biến MPU6050, mạch
điều khiển động cơ.

4



Đồ án tốt nghiệp

SV: Bùi Duy Tin

 Phương pháp khảo sát các thuật toán và lọc nhiễu cho cảm biến như: bộ
lọc Kalman và thuật toán điều khiển PID.
 Phương pháp thực nghiệm tiến hành xây dựng các thuật toán trên mơ hình
1.6 Giới hạn của đồ án
Đề tài tập trung vào việc xây dựng mơ hình phần cứng robot như: kết cấu mơ
hình, mạch điều khiển động cơ, các thuật toán trên vi điều khiển như bộ lọc Kalman
giải thuật cân bằng PID. Robot có thể cân bằng có khả năng điều khiển để di chuyển
nhưng chưa có nhiều ứng dụng.

5


Đồ án tốt nghiệp

SV: Bùi Duy Tin

CHƢƠNG 2: THIẾT KẾ CHẾ TẠO
2.1 Sơ đồ khối

Hình 2. 1 Sơ đồ khối của hệ thống robot

2.2 Thiết kế phần cứng
Đồ án sử dụng Arduino Mega 2560 là bộ điều khiển trung tâm. Khung robot dc
chế tạo từ những miếng nhựa cứng liên kết với nhau bằng những vít đồng. với hai

động cơ được đặt đồng trục cho phép robot có thể di chuyển theo hai hướng trước sau.
Hai động cơ được điều khiển bởi robo shield, sử dụng cảm biến MPU6050 gián vào
mặt phẳng khung nhựa để xác định góc nghiêng của robot. Hai bánh xe được bao bọc
bởi cao su có nhiều rãnh để ăng độ bám cao, giúp robot có thể điều khiển cân bằng tốt
hơn.

6


Đồ án tốt nghiệp

SV: Bùi Duy Tin

Hình 2. 2 Mơ hình robot sau khi lắp ráp

7


Đồ án tốt nghiệp

SV: Bùi Duy Tin

2.3 Mạch điện tử
2.3.1 Nguồn điện
Nguồn điện sủ dụng 3 pin 12v, mỗi PIN có dung lượng khoảng 3000mAh được
đấu nối tiếp với nhau giúp robot có đủ nguồn điển hoạt động trong một thời gian dài.

Hình 2. 3 Pin

2.3.2 Bộ điều khiển trung tâm Aduino Mega 2560

2.3.2.1 Giới thiệu chung
Ardunio thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các
thiệt bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật
của arduino là môi trường phát triển ứng dụng dễ sử dụng, với ngơn ngữ lập trình có
thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình.

8


Đồ án tốt nghiệp

SV: Bùi Duy Tin

Hình 2. 4 Arduino Mega 2560

Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt tên theo một vị vua
vào thế kỉ thứ 9 là King Arduino. Arduino chính thức được đưa ra giới thiệu vào năm
2005 như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo
Banzi, một trong những người phát triển Arduino, tại trường Interaction Design Ivrea
(IDII). Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vẫn lan truyền
với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người dùng đầu
tiên.
Arduino đã và đang được sử dụng rất rộng rãi trên toàn thế giới và ngày càng
chứng tỏ được sức mạnh của chúng thông qua một số ứng dụng độc đáo của người
dùng trong cộng đồng nguồn mở. Tuy nhiên tại Việt Nam Arduino vẫn còn chưa được
biết đến nhiều.
Arduino cơ bản là một nền tảng tạo bởi mẫu mở về điện tử được tạo thành từ các
phần cứng lẫn phần mềm. Về mặt kỹ thuật Arduino có thể cọi 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 hơn bao giờ hết.
Hiện tại có nhiều loại vi điều khiển và đa số được lập trình bằng ngơn ngữ C/C++
hoặc Assembly nên rất khó khăn cho những người có ít kiến thức sâu về lập trình và
điện tử. Nó là trở ngại cho mọi người muốn tạo riêng cho mình một món đồ mang tính
9


Đồ án tốt nghiệp

SV: Bùi Duy Tin

công nghệ. Do vậy 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 vi xử lý và moị người có thể tiếp cận dễ dàng hơn
với thiết bị điện tử không cần nhiều kiến thức điện tử và thời gian. Sau đây là một số
thế mạnh của Arduino so với 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ực hiện trên các hệ
điều hành khác nhau như Windowns, Mac Os, Linux trên Desktop ,
Android trên di động.
 Ngơn ngữ lập trình đơn giản, 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à các nền tảng khác
nhau.
 Mở rộng phần cứng: Arduino đượ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 dễ dàng hơn.
 Đơn giản và 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
2.3.2.2 Cấu trúc phần cứng và chức năng
Arduino Mega 2560 là một bo mạch vi điều khiển dựa trên chip Atemaga 2560.
Nó có 54 chân vào bằng tín hiệu số, trong đó có 15 chân có thể sử dụng để điều chế độ

rộng xung. Có 16 chân đầu vào tín hiệu tương tự cho phép chúng ta kết nối với các bộ
cảm biến bên ngoài để thu thập số liệu, sử dụng một dao động thạch anh tần số dao
động 16MHz, có một cổng kết nối bằng chuẩn USB để chúng ta nạp chương trình vào
bo mạch và một chân cấp nguồn cho mạch, một ICSP header, một nút reset. Nó chứa
tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, nguôn cung cấp cho Arduino có thể
là máy tính thơng qua cổng USB hoặc là từ bộ lọc nguồn chuyên dụng được biến đổi
từ xoay chiều sang một chiều hoặc lấy nguồn từ pin.
a) Khối nguồn
Arduino có thể hỗ trợ thơng qua kết nối USB hoặc với một nguồn cung cấp điện
bên ngoài. Các nguồn năng lượng được lựa chọn tự động. Hệ thống vi điều khiển có
thể hoạt động bằng nguồn cung cấp bên ngoài từ 6V hoặc 20V. Tuy nhiên, nếu cung
10


Đồ án tốt nghiệp

SV: Bùi Duy Tin

cấp ít hơn 7V, chân 5V có thể cung cấp ít hơn 5V và hệ thống vi điều khiển có thể
khơng ổn định. Nếu cấp nhiều hơn 12V, hoặc chỉnh điện áp có thể quá nó và gây nguy
hiểm cho bo mạch. Phạm vi khuyến nghị là 7V đến 12V.
 Chân Vin: điện áp đầu vào Arduino khi chúng ta dùng nguồn điện bên
ngoài (khác với nguồn 5V lấy từ USB hoặc thông qua jack cắm ngồi
riêng). Chúng ta có thể cung cấp nguồn thông qua chân này.
 Chân 5V: cung cấp nguồn vi điều khiển và các bộ phận khác trên bo mạch
và cung cấp cho các thiết bị ngoại vi khi kết nối tới bo mạch.
 Chân 3,3V : cung cấp nguồn cho các thiết bị cảm biến
 Chân GND: chân nối đất
 Chân Aref: tham chiếu điện áp đầu vào analog
 Chân IOREF: cung cấp điện áp cho các vi điều khiển hoạt động.

Một shield được cấu hình đúng có thể đọc điện áp IOREF và lựa chọn nguồn tích
hợp hoặc kích hoạt bộ chuyển đổi điện áp để làm việc ở mức 5V hoặc 3,3V
b) Bộ nhớ
Chip Atmega có 256Kb (với 8Kb sử dụng cho bootloader). Nó cịn có 8Kb
SRAM và 4Kb EFPROM.
c) Chân vào ra

11


Đồ án tốt nghiệp

SV: Bùi Duy Tin

Hình 2. 5 Sơ đồ chân Arduino

Arduino Uno có 14 chân digital (chân 0-13) và 6 chân analog ( chân A0-A5)
Các chân digital chúng ta có thể cấu hình để làm chân nhận dữ liệu vào từ các
thiết bị ngoại vi hoặc làm chân để truyền tín hiệu ra các thiết bị ngoại vi.
Bằng cách sử dụng các hàm pinMode(), digitalWrite() và digitalRead(). Mỗi
chân có thể cung cấp hoặc nhận một dịng điện tối đa 40mA và có một điện trở kéo nối
20 -50 kOhms.
 54 chân digital (trong đó có 15 chân có thể được sủ dụng như những chân
PWM là từ chân số 2 → 13 và chân 44 45 46).
 6 ngắt ngoài: chân 2 (interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt
5), chân 19 (interrupt 4), chân 20 (interrupt 3), and chân 21 (interrupt 2).
 16 chân vào analog (từ A0 đến A15).
 4 cổng Serial giao tiếp với phần cứng:
Cổng Serial


Chân RX

Chân TX

Cổng 0

0

1

Cổng 1

19

18

12


Đồ án tốt nghiệp

SV: Bùi Duy Tin
Cổng 2

17

16

Cổng 3


15

14

Bảng 2. 1 Chi tiết 4 cổng Serial

 1 thạch anh với tần số dao động 16 MHz.
 1 cổng kết nối USB.
 1 jack cắm điện.
 1 đầu ICSP.
 1 nút reset.
Ngồi ra cịn có một số chân có chức năng đặt biệt:
 Chân 0 (Rx): chân được dùng để nhận dữ liệu nối tiếp.
 Chân 1 (Tx): chân được dùng để truyền dữ liệu nối tiếp.


Chân 2 và 3: chân ngắt ngoài.



Chân 2, 5, 6, 9, 10, 11: chân vào/ra hoặc có thể điều chỉnh độ rộng xung

 Chân 13 được nối tiếp với 1 LED đơn, sáng tắt tương ứng với mức logic của
chân này


Chân 10(ss) 11(MOSI), 12(MISO), 13 (SCK): chuẩn giao tiếp SPI.

 Các chân analog có độ phân giải 10bit (tương ứng với 1024 mức giá trị khác
nhau) ứng với từ 0-5V. Ngoài ra một số chân có chức năng đặc biệt:

 Chân A4(SDA) và A5(SCL): hỗ trợ truyền thơng TWI.
2.3.2.3 Mơi trƣờng phát triển ( Trình biên dịch IDE)
Môi trường phát triển Arduino được phát triển dựa trên ngơn ngữ lập trình
Processing và dự án Wiring. Được thiết kế cho những người không biết nhiều về lập
trình, bao gồm trình soạn thảo có chứ năng đánh dấu cú pháp, tự động đóng mở các
cặp ngoặc nhọn, tự động thụt cách đầu dịng. Kèm theo đó là khả năng biên dịch và
nạp chương trình vào chip vi điều khiển. Một chương trình viết bằng Arduino gọi là
một “sketch”. Như đã nói ở trên, Arduino là một dự án mã nguồn mở, do đó có thể
download mọi thứ miễn phí, bao gồm cả IDE từ trang chủ của Arduino. IDE này
13


Đồ án tốt nghiệp

SV: Bùi Duy Tin

không cần phải cài đặt, chỉ cần download một tập tin nén về từ trang chủ, giải nén và
chạy tập tin arduino.exe. Khi đó, trên màn hình sẽ xuất hiện cửa sổ như sau:

Hình 2. 6 Trình biên dịch IDE

*Các nút cơ bản trên thanh cơng cụ:
Verify: Kiểm tra mã nguồn có khớp với chương trình trên bo Arduino hay
khơng
Upload: Biên dịch và tải mã nguồn lên Arduino
New: Tạo tập tin mã nguồn mới
Open: Mở tập tin mã nguồn
Save: Lưu tập tin mã nguồn

14



Đồ án tốt nghiệp

SV: Bùi Duy Tin

Serial Monitor: Màn hình giao tiếp nối tiếp, dùng để xem dữ liệu được gửi
từ Arduino

Ở giữa là không gian soạn thảo mã nguồn. Ở dưới là cửa số Output, nơi hiển thị
các thông báo khi biên dịch và upload chương trình lên bo Arduino.
Để sử dụng Arduino, đầu tiên là cắm bo Arduino vào bằng cáp USB. Cài driver
cho bo Arduino. Mở chương trình lập trình Arduino lên và thực hiện việc lập trình.
2.3.3 Mạch điều khiển động cơ robo shield
Robo Shield là sản phẩm chuyên dùng cho việc điều khiển robot. Trên Shield
thành phần chính là IC L298 dán, cho phép điều khiển 02 động cơ DC, hoặc một động
cơ bước. Shield được tích hợp các khe cắm cho module ESP8266 - một module wifi
mạnh mẽ, Bluetooth HC06, Module RF PT2272 nhằm ứng dụng cho việc nhận tín hiệu
điều khiển khơng dây từ xa. Robo Shield tương thích với Arduino Uno, Arduino Mega
hoặc có thể cắm dây với các board arduino khác.

Hình 2. 7 Mạch điều khiển động cơ robo shield

15


Đồ án tốt nghiệp

SV: Bùi Duy Tin


Cấu trúc và chức năng:
Robo shield có thể hoạt động nhờ vào nguồn cung cấp từ 6v đến 46v.
 Chân 5V: cung cấp nguồn điều khiển và các bộ phận khác trên bo mạch và
cung cấp cho các thiết bị ngoại vi khi kết nối tới bo mạch.
 Chân 3,3V : cung cấp nguồn cho các thiết bị cảm biến
 Chân GND: chân nối đất
 OUT1, OUT2, OUT3, OUT4: là chân cung cấp nguồn cho động cơ
 Ngồi ra cịn một số chân có chức năng tương ứng với các chân của
Arduino.
2.3.4 Cảm biến MPU6050
2.3.4.1 Giới thiệu cảm biến MPU6050
MPU6050 là cảm biến của hãng InvenSense. MPU6050 là một trong những giải
pháp cảm biến chuyển động đầu tiên trên thế giới có tới 6 (mở rộng tới 9) trục cảm
biến tích hợp trong 1 chip duy nhất.
MPU6050 sử dụng công nghệ độc quyền MotionFusion của InvenSense có thể
chạy trên các thiết bị di động, tay điều khiển… Nó được điều hành ra một nguồn cung
cấp 3.3V/5V, và giao tiếp thông qua I2C với tốc độ tối đa 400kHz. Chip này cũng có
sẵn trong một gói SPI được gọi là MPU6000 cho tốc độ giao tiếp lên tới 10Mbs.
Thơng số chuyển động:
 Có thể lựa chọn + -2/4 / 8 / 16g phạm vi gia tốc.
 Có thể lựa chọn + -250 / 500/1000/2000 độ/s phạm vi con quay hồi
chuyển16 bit đầu ra.
 Con quay nhạy cảm của gia tốc tuyến tính 0.1 độ/s, một cải tiến lớn so với
con quay hồi chuyển của các công ty khác. Tiếng ồn thấp trên cả hai kết
quả đầu ra, xem thông số kỹ thuật.Tỷ lệ sản lượng dữ liệu lên đến
1000Hz, mặc dù được xây dựng bằng kỹ thuật số thấp vượt qua bộ lọc có
tần số góc tối đa là 256Hz.
16



×