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

ROBOT 2 BÁNH TỰ CÂN BẰNG THUẬT TOÁN PID

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.83 MB, 50 trang )

ĐỒ ÁN TỐT NGHIỆP

ĐIỀU KHIỂN XE
HAI BÁNH TỰ CÂN
BẰNG
LỜI CẢM ƠN

Qua đồ án này em xin chân thành cảm ơn thầy giáo hướng dẫn T.S Hà Đắc Bình
đã tận tình giúp đỡ em thực hiện đồ án, đồng thời em cũng xin cảm ơn các thầy cô
trong khoa Điện - Điện tử đã luôn tạo điều kiện thuận lợi cho em học tập để thực
hiện đồ án này một cách tốt nhất.

MỤC LỤC

1


DANH MỤC CÁC TỪ VIẾT TẮT
AMS

Advanced Monolithic Systems

AT

Atmel

DC

Direct Current

GND



Ground

GPS

Global Positioning System

IC

Integrated Circuit

I2C

Inter-Integrated Circuit

IDE

Integrated Development Environment

LED

Light Emitting Diode

MCU

Micro Control Unit

MPU

Motion Processing Unit


PID

Propotional Integral Derivative

PWM

Pulse Width Modulation

TTL

Transistor-Transistor Logic

VCC

Voltage Common Collector

MỤC LỤC HÌNH ẢNH

MỤC LỤC BẢNG
2


3


CHƯƠNG 1.

TỔNG


QUAN VỀ XE HAI BÁNH
TỰ CÂN BẰNG
1.1 Yêu cầu của đề tài
• Tìm hiểu nguyên lý hoạt động của xe 2 bánh tự cân bằng và thuật toán
PID.
• Thiết kế và thi công xe 2 bánh.
• Thực hiện thuật toán PID để giữ cân bằng.
• Thử nghiệm ở môi trường phòng thí nghiệm và đánh giá kết quả.
1.2 Giới thiệu
Xe hai bánh tự cân bằng là một trong những dự án có rất nhiều ứng dụng trong
cuộc sống hiện nay, nó có nhiều ưu điểm và được sử dụng với nhiều mục đích khác
nhau như: phục vụ nhu cầu giải trí, tham gia các cuộc thi về xe tự hành và có thể
ứng dụng trong quân sự, mặt khác nó vẫn còn tồn tại một số khuyết điểm như: chi
phí cao, giới hạn về các địa hình di chuyển.
Xe hai bánh tự cân bằng là mô hình xe được thiết kế dựa trên sự hoạt động của mô
hình con lắc ngược, là một đối tượng phi tuyến với các tham số bất định. Đặc điểm
nổi bật nhất của xe hai bánh tự cân bằng là có thể tự cân bằng, giúp cho xe luôn ở
trạng thái cân bằng đứng yên dù xe chỉ có hai bánh và một trục chuyển động.
Hiện nay có rất nhiều công trình nghiên cứu về các mô hình robot tự cân bằng nói
chung và mô hình xe hai bánh tự cân bằng nói riêng, có rất nhiều nghiên cứu về giải
thuật điều khiển xe hai bánh tự cân bằng như: Điều khiển xe hai bánh tự cân
bằng sử dụng giải thuật cuốn chiếu (backstepping control), sử dụng giải thuật điều
khiển trượt (sliding mode control), giải thuật điều khiển LQR, giải thuật điều khiển
thông minh fuzzy, noron, và giải điều khiển PID.

4


Trong số các giải thuật điều khiển trên thì giải thuật điều khiển bằng PID cho thấy
được sự đơn giản và dễ sử dụng nhất nên trong đề tài này tôi đã sử dụng giải thuật

điều khiển PID để điều khiển xe hai bánh tự cân bằng của mình, nghĩa là khi xe bị
ngã về phía trước thì cả hai động cơ sẽ cùng chạy tới để đỡ cho xe đứng lên, khi độ
nghiêng của xe càng lớn thì tốc độ của động cơ cũng sẽ càng tăng và ngược lại khi
xe bị ngã về phía sau thì cả hai động cơ sẽ lùi lại để đỡ cho xe đứng lên.

Hình 1.1:Mô hình xe 2 bánh tự cân bằng

1.3

Mục tiêu đề tài

Tự thiết kế được mô hình xe hai bánh tự cân bằng hoàn chỉnh, hiểu về các phần
mềm lập trình cho vi điều khiển và hiểu được các phương pháp lập trình cho vi điều
khiển, hiểu được nguyên lý hoạt động của Module cảm biến gia tốc 6 bậc tự do
MPU6050 và cách ứng dụng của cảm biến gia tốc vào trong đề tài và hiểu được
phương pháp điều khiển động cơ DC thông qua Module driver L298N để hoàn
thành yêu cầu đề tài đặt ra.
1.4

Hướng thực hiện đề tài

5


Tìm hiểu nguyên lý hoạt động của Module cảm biến gia tốc 6 bậc tự do MPU6050
cùng với cấu tạo của cảm biến gia tốc 6 bậc tự do MPU6050, tìm hiểu nguyên lý
hoạt động của Module driver L298N để điều khiển động cơ, tìm hiểu về vi điều
khiển Arduino Nano cũng như phần mềm viết chương trình cho vi điều khiển, tìm
hiểu về kết cấu phần cứng của xe và cách lắp ráp để được một mô hình xe hoàn
chỉnh.

1.5

Mục đích nghiên cứu

Mục đích của việc nghiên cứu về xe hai bánh tự cân bằng là nghiên cứu về các ứng
dụng của các Module cảm biến cùng với các linh kiện điện tử khác nhằm đáp ứng
nhu cầu cuộc sống của con người trong xã hội ngày càng phát triển mạnh về tự động
hóa. Qua việc nghiên cứu, sinh viên đã có điều kiện ôn lại các kiến thức đã học
được tại Trường Đại Duy Tân, từ các kiến thức đã học được sinh viên có thể áp
dụng được trong thực tế cũng như nâng cao kiến thức về chuyên môn cho mình.
1.6

Tình hình nghiên cứu trong nước và trên thế giới

1.6.1 Trong nước
Mô hình robot hai bánh tự cân bằng luận văn thạc sĩ của tác giả Nguyễn Gia
Minh Thảo, trường Đại học Bách Khoa TP Hồ Chí Minh.

Hình 1.2:Mô hình robot hai bánh cân bằng
6


1.6.2 Nước ngoài
Một số kỹ thuật viên và sinh viên ngành Cơ điện tử, Tự động hóa đã nghiên
cứu cho ra đời nhiều dạng robot hai bánh cân bằng. Sau đây là một số thông tin
về các mô hình robot hai bánh tự cân bằng.
1.6.2.1nBot
nBot do ông Anderson sáng chế. nBot lấy ý tưởng cân bằng là các bánh xe sẽ
phải chạy theo hướng mà phần trên robot sắp ngã. Nếu bánh xe có thể di
chuyển để trọng tâm robot luôn rơi vào chính giữa thì robot sẽ giữ được cân

bằng.

Hình 1.3:Robot nBot

1.6.2.2EquipoiseBot
EquipoiseBot sử dụng hai cảm biến là cảm biến gia tốc và cảm biến con quay
hồi chuyển. Góc nghiêng của robot được tính toán từ hai giá trị khác nhau. Một
từ cảm biến gia tốc bằng cách sử dụng thuật toán Tangens-Funktion và một từ
cảm biến con quay hồi chuyển sử dụng phương pháp tích phân. Hai giá trị này

7


được kết hợp trong một bộ lọc để cho ra một giá trị mới và được sử dụng cho
đầu vào bộ PID để điều khiển các động cơ, giữ cho robot cân bằng.

Hình 1.4: Robot EquipoiseBot

Hình 1.5 Robot EquipoiseBot
1.6.2.3WobblyBot
WobblyBot thực chất là mô hình sử dụng con lắc ngược, được gắn dưới phần
thân ở giữa hai bánh xe. WobblyBot được thiết kế với phần dưới của robot
nặng hơn nhiều so với phần trên giúp robot có khả giữ cân bằng tốt nhất.

Hình 1.6:Robot hai bánh cân bằng WobblyBot

8


1.6.2.4TiltOne

tiltOne là một robot hai bánh cân bằng với chiều cao 90 cm và có khả năng chở
tải trọng lên tới 50 kg. Nguyên lý hoạt động cũng giống như các robot hai bánh
có kích thước nhỏ hơn, sử dụng hai cảm biến là cảm biến gia tốc và cảm biến
con quay hồi chuyển và thuật toán PID để điều khiển robot cân bằng.

Hình 1.7: Robot hai bánh cân bằng tiltOne
1.6.2.5Robot kiểu rolling của hãng TOYOTA
Đây là robot có công dụng phục vụ con người do hãng TOYOTA thiết kế. Mẫu
robot này có khả năng di chuyển nhanh và ít chiếm không gian. Đồng thời đôi
tay của robot có thể làm nhiều công việc khác nhau, chủ yếu được sử dụng với
mục đích giải trí.

9


Hình 1.8: Robot hai bánh của hãng TOYOTA

10


CHƯƠNG 2.

THIẾT KẾ HỆ THỐNG

2.1 Thiết kế hệ thống

11


Khối Nguồn (pin)


Khối Động cơ (motor, bánh xe)

Khối Cảm biến (cảm biến gia tốc)

Hình 2.9:Sơ
đồ khối
củaKhiển
hệ thống
Khối
Điều

(Arduino Nano,
Module driver L298N)

2.1.1

Sơ đồ khối tổng quát của hệ thống

12


2.1.2

Chức năng của từng khối

Khối nguồn: Khối nguồn có chức năng cấp nguồn cho toàn bộ hệ thống hoạt động,
ở đề tài này chúng ta sẽ sử dụng Pin để cấp nguồn cho hệ thống.
Khối cảm biến: Có chức năng thu thập dữ liệu, thu thập các thông số về góc
nghiêng của xe thông qua Module cảm biến gia tốc 6 bậc tự do MPU6050 sau đó nó

sẽ tự xử lý và tính toán rồi gửi dữ liệu về khối điều khiển
Khối điều khiển: Chúng ta sẽ sử dụng vi điều khiển Arduino Nano bởi vì nó dễ lập
trình, giá thành rẻ và thiết kế phần cứng cũng khá đơn giản. Đây là khối trung tâm
xử lý và điều khiển mọi hoạt động của xe, khối điều khiển có chức năng nhận dữ
liệu từ khối cảm biến, sau đó nó sẽ xử lý và xuất tín hiệu điều khiển ra các Port để
điều khiển động cơ thông qua Module driver L298N.
Khối động cơ: Khối động cơ sẽ nhận các tín hiệu điều khiển từ khối điều khiển sau
đó nó sẽ di chuyển theo yêu cầu của khối điều khiển để giữ cho xe luôn ở trạng thái
cân bằng .

13


2.2 Thiết kế phần cứng
2.2.1

Sơ đồ mạch điện

Hình 2.10: Sơ đồ mạch điện

2.2.2

Nguyên lý hoạt động của toàn hệ thống

Đầu tiên Module cảm biến gia tốc MPU6050 sẽ thu thập dữ liệu, các thông số về
góc nghiêng của xe và sau đó nó sẽ gửi dữ liệu và update dữ liệu liên tục về trung
tâm xử lý là vi điều khiển Arduino Nano, từ đó vi điều khiển sẽ xử lý dữ liệu và gửi
tín hiệu điều khiển về khối động cơ thông qua Module driver L298N để điều khiển
14



động cơ di chuyển theo yêu cầu của trung tâm điều khiển sao cho xe luôn giữ được
trạng thái cân bằng.
2.2.3

Thông số kỹ thuật của từng thiết bị

2.2.3.1Vi điều khiển Arduio Nano

Hình 2.11: Sơ đồ chân của Arduino Nano
Thông số kỹ thuật:












Vi điều khiển: ATmega328P
Điện áp hoạt động: 5V
Tần số hoạt động: 16 MHz
Điện áp đầu vào khuyên : 7V - 12V DC
Điện áp vào giới hạn : 6-20V DC
Số chân Digital I/O : 14 (6 chân hardware PWM)
Số chân Analog : 8

Bộ nhớ flash 32 KB (ATmega328) với 2KB dùng bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Kích thước board : 0,73 x 1,70 (Inch)

15


2.2.3.2Module cảm biến gia tốc 6 bậc tự do MPU6050
Cảm biến gia tốc 6 bậc tự do MPU6050 là loại cảm biến gia tốc phổ biến nhất trên
thị trường hiện nay, nó được dùng trong mạch với chức năng dùng để đo góc
nghiêng và gia tốc cho xe, để xe nhận biết được góc nghiêng và tự cân bằng, ưu
điểm của cảm biến này là quay với góc chính xác, ít phụ thuộc vào yếu tố bên
ngoài, giá thành rất thấp, chuẩn giao tiếp I2C nên lập trình cũng khá đơn giản, ngoài
ra thì nó cũng có nhược điểm là dễ bị trôi điểm gốc.
Hình 2.12:Module cảm biến gia tốc
MPU6050

Thông số kỹ thuật
• Điện áp cung cấp: 3V đến 5V.
• 3 góc con quay hồi chuyển với độ nhạy 131 LSBs/sps với các độ: ±250,
±500, ±1000 và ±2000 degree/sec.
• 3 góc gia tốc kế với độ nhạy trong khoảng: ±2g, ±4g, ±8g và ±16g.
• 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 cảm biến đã tính toán xong.
• Nhiệt độ hoạt động: -40 đến +85 độ C.
Sơ đồ chân






VCC: Là chân nối nguồn từ 3V đến 5V.
GND: Là chân nối GND.
SCL: Là chân có chức năng tạo xung lock đồng bộ.
SDA: Là chân có chức năng truyền nhận dữ liệu.
16


• XCL: Là chân xung clock khi có 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.
2.2.3.3IC L298
Ic L298 dùng để điểu khiển tốc độ và đảo chiều 2 động cơ bánh xe

Hình 2.13:Sơ đồ chân IC L298
Thông số kỹ thuật:







Điện áp điều khiển: +5 V ~ +35 V
Dòng tối đa cho mỗi cầu H: 2A
Điện áp tín hiệu điều khiển: +5 V ~ +7 V
Dòng tín hiệu điều khiển: 0 ~ 36mA
Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃)
Nhiệt độ vận hành: -25 ℃ ~ +130 ℃

2.2.3.4IC ổn áp LM7805

Dùng để ổn áp lại dòng điện của pin với mức đầu ra là 5V để cung cấp cho
Arduino Nano, cảm biến góc nghiêng MPU6050 và IC L298

17


Hình 2.14:Sơ đồ chân LM7805

Thông số kỹ thuật:





Điện áp đầu vào: 7 ~25V
Điệp áp đầu ra: 4.8~5.2V
Dòng đầu ra: 1.5A
Dãi nhiệt độ 0~125 độ
2.2.3.5Động cơ DC giảm tốc GA25-371

Động cơ DC giảm tốc là một bộ phận quan trọng trên mô hình xe, động cơ có chức
năng làm xe chuyển động, chạy tới, rẽ trái, rẽ phải, chạy lùi, hoặc theo một phương
hướng nào đó tùy theo yêu cầu của trung tâm điều khiển.

Hình 2.15: Động cơ DC

Thông số kỹ thuật:
18











Điện áp làm việc : 3-12V
Dòng không tải: 120mA ( 12V)
Công suất: 2W
Moment xoắn: 1.2 kg.cm
Dòng điện định mức: 3.5A
Tải trọng: 8kg
Tốc độ: 320 rpm/min

Hình 2.16: kích thước động cơ DC

2.2.3.6Nguồn Pin
Pin là một loại linh kiện không thể thiếu trong mô hình xe, trong mô hình này dùng
2 pin để nối tiếp thành 7.5 đủ để cung cấp cho 2 motor và ic LM7805

Hình 2.17: PIN Li-Ion Panasonic NCR18650A
19


Thông số kỹ thuật:










Li-Ion Panasonic NCR18650A 6800mAh 3.7V - SH1933
Loại SP : Pin sạc Lithium Ion (Li-Ion)
Mã SP: Panasonic NCR18650A
Dung lượng : 6800mAh
Dòng xả : 10A
Size : 18650
Kích thước khoảng : 18mmx65mm/ viên
Điện thế : 3.7V, khi sạc đầy có thể đạt đến 4.2v
2.2.3.7Khung xe

Khung Robot đóng vai trò vô cùng quan trọng trong việc làm tăng khả năng hoạt
động ổn định của Robot, đặc biệt là đối với các loại Robot cân bằng. Yêu cầu cơ bản
nhất cho phần đế Robot là độ cứ vững và độ đồng phẳng “ tương đối “ trên địa hình
di chuyển, tất nhiên không phải địa hình di chuyển nào cũng giống nhau về nhiều
yếu tố như độ phẳng,độ ma sát trên bánh xe.
Hai mặt phẳng để đặt pin và các linh kiện cũng như mạch in được làm bằng mựa
mica.

20


Hình 2.18: Hình 3D mô phỏng (1)


21


Hình 2.19: Hình 3D mô phỏng (2)

Bản vẻ thiết kế

22


Hình 2.20: Bản vẻ kích thước Mô hình

23


2.3 Thiết kế phần mềm
2.3.1

Giới thiệu về 6 trục trong chuyển động

Hình 2.21:Hình miêu tả 6 trục
• Roll (liệng) - Yaw (hướng) - Pitch (chúc ngóc)
• Một máy bay có thể thực hiện 3 kiểu chuyển động. Nó có thể pitch, roll
và yaw.

24


• Pitch là kiểu chuyển động khi mũi của máy bay chúc lên trên hoặc chúi

xuống dưới. Chuyển động pitch diễn ra xung quanh trục ngang của máy
bay.
• Roll là kiểu chuyển động khi một trong hai cánh của máy bay liệng xuống
còn cánh còn lại thì liệng lên. Ví dụ, nếu máy bay đang roll sang bên trái
thì cánh trái sẽ liệng xuống còn cánh phải thì liệng lên. Chuyển động roll
diễn ra xung quanh trục dọc thân máy bay.
• Yaw là kiểu chuyển động khi mũi của máy bay di chuyển qua phải hoặc
qua trái. Chuyển động yaw diễn ra xung quanh trục thẳng đứng, vuông
góc với thân máy bay.
2.3.2

Mạch cầu H

Xét một cách tổng quát, mạch cầu H là một mạch gồm 4 "công tắc" được mắc
theo hình chữ H.

Hình 2.22:Mạch cầu H
Bằng cách điều khiển 4 "công tắc" này đóng mở, ta có thể điều khiển được dòng
điện qua động cơ cũng như các thiết bị điện tương tự.

25


×