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

Đồ Án Tốt Nghiệp robot xe hai bánh tự cân bằ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 (1.69 MB, 66 trang )

Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ VIỄN THÔNG

THIẾT KẾ, CHẾ TẠO
ROBOT HAI BÁNH TỰ CÂN BẰNG

GIẢNG VIÊN HƯỚNG DẪN

: THS. TRẦN TRỌNG THẮNG

Hà SINH VIÊN THỰC HIỆN

: TRẦN ĐÌNH PHÚ
: BÙI ĐỨC CƯỜNG

CHUYÊN NGÀNH

: ĐIỆN TỬ VIỄN THÔNG

LỚP

: Đ6-ĐTVT2

KHÓA

: 2011-2016


Nội, năm 2016

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ VIỄN THÔNG

Hà Nội, năm 2016

LỜI CẢM ƠN
Trong thời gian hiện đề tài nghiên cứu khoa học đó là một trong những bước ngoặt
cuối cùng đánh dấu sự trưởng thành của một sinh viên ở giảng đường đại học.Để trở
GVHD : ThS Trần Trọng Thắng

Page 1


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

thành một cử nhân hay một kỹ sư đóng góp những gì mình đã học được cho sự phát triển
đất nước.
Lời đầu tiên chúng em xin chân thành cảm ơn sự hướng dẫn tận tình của thầy
ThS. Trần Trọng Thắng, khoa Điện tử-Viễn thông, trường Đại học Điện lực. Trong suốt
thời gian thực hiện đề tài, thầy đã dành nhiều thời gian để hướng dẫn chúng em thực hiện
đề tài. Thầy đã hướng dẫn chúng em tìm hiểu những kiến thức cần thiết để thực hiện đề
tài. Bên cạnh đó chúng em cũng xin gởi lời cảm ơn chân thành đến thầy
ThS. Hoàng Xuân Đông, thầy luôn nhiệt tình hướng dẫn, sẵn sàng giúp đỡ khi chúng em
gặp khó khăn trong việc lập trình, chế tạo robot. Em cũng xin chân thành cảm ơn các thầy
cô trong khoa Điện tử-Viễn thông, cũng như các thầy cô trong trường đã giảng dạy, giúp

đỡ chúng em trong suốt bốn năm học qua. Chính các thầy cô đã xây dựng cho chúng em
những kiến thức nền tảng và những kiến thức chuyên môn để em có thể hoàn thành đề tài
này.

Hà nội, ngày 7 tháng 1 năm 2016
SINH VIÊN THỰC HIỆN
Trần Đình Phú
Bùi Đức Cường

MỤC LỤC

GVHD : ThS Trần Trọng Thắng

Page 2


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

Danh mục hình ảnh

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ự
GVHD : ThS Trần Trọng Thắng

Page 3


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

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à hoàn toà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 toà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 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.

GVHD : ThS Trần Trọng Thắng

Page 4


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

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 đuô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 đuô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
GVHD : ThS Trần Trọng Thắng

Page 5



Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

dễ bị ngã, còn nếu đặt nhiều vào bánh đuô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 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 3 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 3 bánh đi xuống

GVHD : ThS Trần Trọng Thắng

Page 6


Khoa: Điện tử viễn thông
robot cân bằng


SVTH : Nhóm

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
ngoài vùng đỡ của các bánh xe để có thể gây ra sự lật úp.

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).

GVHD : ThS Trần Trọng Thắng

Page 7


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm


• 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 toá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ơ.
• 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.

GVHD : ThS Trần Trọng Thắng

Page 8


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm


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

Cảm biến MPU6050
2.1.

i2c

Arduino UNO
R3I2C

Mạch điều khiển

PWM động cơ DC

2.2.

Khối nguồn
Hình 2.1: Sơ đồ khối của hệ thống của robot
GVHD : ThS Trần Trọng Thắng

Page 9


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm


2.2 Thiết kế phần cứng
Đồ án sử dụng Arduino Uno R3 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.

Hình 2.2: Mô hình robot sau khi lắp ráp

2.3 Mạch điện tử
2.3.1 Nguồn điện

GVHD : ThS Trần Trọng Thắng

Page 10


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

Nguồn điện sủ dụng 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 Arduino Uno R3
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

GVHD : ThS Trần Trọng Thắng

Page 11


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

ứ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.

Hình 2.4: Arduino UNO R3
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.

GVHD : ThS Trần Trọng Thắng

Page 12


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

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 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
GVHD : ThS Trần Trọng Thắng

Page 13


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

2.3.2.2 Cấu trúc phần cứng và chức năng
Arduino Uno là một bo mạch vi điều khiển dựa trên chip Atemaga
328. Nó có 14 chân vào bằng tín hiệu số, trong đó có 6 chân có thể sử
dụng để điều chế độ rộng xung. Có 6 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 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 ngoà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
GVHD : ThS Trần Trọng Thắng

Page 14


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm


• 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ó 32Kb (với 0,5Kb sử dụng cho bootloader). Nó còn có
2Kb SRAM và 1 Kb EFPROM.
c) Chân vào ra

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.

GVHD : ThS Trần Trọng Thắng

Page 15


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

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. Ngoài ra có một số
chân có chức năng đặc 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 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:
GVHD : ThS Trần Trọng Thắng

Page 16



Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

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
GVHD : ThS Trần Trọng Thắng

Page 17


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

Save: Lưu tập tin mã nguồn

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.

GVHD : ThS Trần Trọng Thắng

Page 18


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm


Hình 2.7: Mạch điều hiển động cơ robo shield
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ơ
+ ngoà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
GVHD : ThS Trần Trọng Thắng

Page 19


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

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.
• Con quay hồi chuyển 3 trục (3-axis MEMS gyroscope)
• Cảm biến gia tốc 3 chiều (3-axis MEMS accelerometer)
• Một tính năng của chip này là bộ xử lý chuyển động kỹ thuật số
(DMP). Trong lý thuyết này có thể được sử dụng để sản xuất trực
tiếp các góc Euler, quaternions, hoặc một hướng cosin ma trận,
và thậm chí thực hiện lọc cùng với việc tích hợp dữ liệu từ một la
bàn I2C bên ngoài.
• MPU6050 có thể kết hợp với cảm biến từ trường (bên ngoài) để
tạo thành bộ cảm biến 9 góc đầy đủ thông qua giao tiếp I2C.
• Hơn nữa, MPU6050 có sẵn bộ đệm dữ liệu 1024 byte cho phép vi
điều khiển phát lệnh cho cảm biến, và nhận về dữ liệu sau khi
MPU-6050 tính toán xong.

GVHD : ThS Trần Trọng Thắng

Page 20



Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

2.3.4.2 Các chân giao tiếp

Hình 2.8: Chân giao tiếp mpu6050

2.3.5

VCC

5V/3V3

GND

0V

SCL

Chân SCL trong giao tiếp I2C

SDA

Chân SDA trong giao tiếp I2C

XDA

Chân dữ liệu (kết nối với cảm

biến khác)

XCL

Chân xung (kết nối với cảm biến
khác)

AD0

Bit 0 của địa chỉ I2C

INT

Chân ngắt

Động cơ Encoder 334 Xung + Giảm Tốc RP201

Động cơ 334 xung+ giảm tốc RP201 mạnh mẽ có kèm hộp số với
nhiều loại tỷ số truyền khác nhau. Động cơ có thể sử dụng làm các loại
xe robot cần các momen xoắn cao.
*Thông số kỹ thuật:
• Tỉ số : 1:21
• Điện áp DC3-12V
• Trục 4MM
• Tốc độ không tải:201 rpm/m
• Tốc độ tải : 250 ma
GVHD : ThS Trần Trọng Thắng

Page 21



Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

• -Công suất định mức:1.25w
Với kích thước nhỏ gọn dễ dang lắp đặt vào mô hình robot

Hình 2.9: Động cơ Encoder

2.4 Các phương thức giao tiếp
2.4.1 Điều chế độ rộng xung PWM
Có ba cách để điều khiển tốc độ động cơ DC servo trong kỹ thuật:
Phương pháp điều áp (Linear Power Amplification), phương pháp điều
độ tần số xung (PFM) và phương pháp điều độ rộng xung (PWM). Đề tài
này

áp

dụng

kỹ

thuật

điều

độ


rộng

xung (PWM). Trong đề tài này ta sử dụng phương pháp điều chế độ
rộng xung.
* Nguyên lý:
Nhìn trên hình vẽ, TON và TOFF lần lượt là khoảng thời gian kích
(trạng

thái

HIGH) và ngắt tín hiệu (trạng thái LOW) trong một chu kỳ. Việc làm này
GVHD : ThS Trần Trọng Thắng

Page 22


Khoa: Điện tử viễn thông
robot cân bằng
sẽ

SVTH : Nhóm

tạo

ra

một mức điện áp trung bình VTB cấp cho động cơ tương ứng với một
mức

tốc


độ

động cơ.

Hình 2.10: Điều chế độ rộng xung

Như vậy, với hai tín hiệu S1 và S2 có cùng chu kỳ, nhưng chỉ có tỉ
lệ

TON/TOFF

giữa hai tín hiệu là khác nhau. Lúc này tương ứng hai điện áp trung
bình

khác

nhau

sẽ được thu và cho hai tốc độ khác nhau. Phương pháp này được gọi là
điều

rộng

xung, cho phép điều khiển tốc độ động cơ như mong muốn. Cũng cần
chú ý rằng vì đây là điện áp trung bình của động cơ tương ứng với một
tỉ lệ TON/TOFF nào đó, nên mối quan hệ giữa vận tốc động cơ và điện
áp trung bình này là không tuyến tính.

GVHD : ThS Trần Trọng Thắng


Page 23


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

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

Điều này dễ hiểu bởi điện áp trung bình được tính bằng tích phân
trong một chu kỳ của điện áp ngõ vào, cũng chính là trong khoảng
TON.
Chu kỳ của một tín hiệu ra PWM là khoảng thời gian mà sau đó
mẫu

tín

hiệu

được lặp lại.
• Tần số PWM = 1/chu kỳ.
• Hệ số duty là tỉ lệ bề rộng của mức ‘1’ so với bề rộng chu kỳ.
• Độ phân giải (resolution) tín hiệu PWM là phần mịn nhất là hệ số
duty có thể được điều chế.
Có hai cách tạo ra xung PWM:
• Mạch tương tự (analog): có giá trị thay đổi liên tục và có độ phân
giải vô hạn cả về thời gian và biên độ, có thể được dùng để điều

khiển trực tiếp nhiều thứ, như độ lớn âm được phát ra từ một
radio, tốc độ của động cơ. Tuy nhiên, việc xây dựng và thiết kế
mạch tương tự thường tốn kém. Có thể tạo ra một mạch PWM

GVHD : ThS Trần Trọng Thắng

Page 24


Khoa: Điện tử viễn thông
robot cân bằng

SVTH : Nhóm

nhưng độ chính xác thường không cao và dễ điều khiển như
mạch số.
Mạch số: bằng cách điều khiển các tín hiệu analog một cách số



hóa, giá thành hệ thống và tiêu hao năng lượng hệ thống có thể
giảm một cách đáng kể. Hơn nữa, nhiều vi điều khiển và DSPs
hiện nay có thêm các bộ điều khiển PWM tích hợp, đưa đến việc
điều khiển trở nên đơn giản hơn rất nhiều. Thông qua một bộ
đếm có độ phân giải cao, hệ số duty của một sóng vuông được
mã hóa thành một mức tín hiệu analog đặc trưng. Tín hiệu PWM
vẫn là tín hiệu số vì tại một thời điểm bất kỳ, nguồn DC qua tải
là mở hết hoặc ngắt hết.
*Cài đặt PWM trong các bộ vi điều khiển:
Đối với điều khiển PWM bằng phần cứng từ các vi điều khiển có

tích

hợp

bộ

PWM trong các Timer, để bắt đầu PWM thì phần mềm của chip phải
thực

hiện

các

nhiệm vụ sau:






Đặt chu kỳ của timer/counter điều chế xung vuông.
Đặt thời gian của thanh ghi điều khiển PWM.
Đặt hướng ra của tín hiệu PWM, tín hiệu có đảo hay không đảo.
Khởi động timer.
Mở khả năng của bộ điều khiển PWM.

* Ưu diểm:
Một trong những ưu điểm của PWM là khả năng chống nhiễu giá trị
từ


bộ

xử



đến hệ thống điều khiển, do tín hiệu bản chất vẫn là tín hiệu số nên
nhiễu

chỉ

xảy

ra

nếu nó đủ mạnh hơn mức tín hiệu số để đổi logic từ 1 thành 0 hoặc
ngược lại.
GVHD : ThS Trần Trọng Thắng

Page 25


×