ĐỒ Á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