ĐỒ Á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
LỜI CẢM ƠN......................................................................................................ii
MỤC LỤC..........................................................................................................iii
DANH MỤC CÁC TỪ VIẾT TẮT......................................................................v
MỤC LỤC HÌNH ẢNH......................................................................................vi
MỤC LỤC BẢNG.............................................................................................vii
CHƯƠNG 1. TỔNG QUAN VỀ XE HAI BÁNH TỰ CÂN BẰNG.................1
1.1
Yêu cầu của đề tài..................................................................................1
1.2
Giới thiệu...............................................................................................1
1.3
Mục tiêu đề tài.......................................................................................2
1.4
Hướng thực hiện đề tài..........................................................................2
1.5
Mục đích nghiên cứu.............................................................................3
1.6
Tình hình nghiên cứu trong nước và trên thế giới..................................3
1.6.1
Trong nước......................................................................................3
1.6.2
Nước ngoài......................................................................................3
CHƯƠNG 2. THIẾT KẾ HỆ THỐNG..............................................................7
2.1
Thiết kế hệ thống...................................................................................7
2.1.1
Sơ đồ khối tổng quát của hệ thống..................................................7
2.1.2
Chức năng của từng khối................................................................8
2.2
Thiết kế phần cứng................................................................................9
2.2.1
Sơ đồ mạch điện..............................................................................9
2.2.2
Nguyên lý hoạt động của toàn hệ thống..........................................9
2.2.3
Thông số kỹ thuật của từng thiết bị...............................................10
2.3
Thiết kế phần mềm..............................................................................18
2.3.1
Giới thiệu về 6 trục trong chuyển động.........................................18
2.3.2
Mạch cầu H...................................................................................19
2.4
Thuật toán điều khiển..........................................................................23
2.5
Thuật toán điều khiển PID...................................................................23
2.5.1
.Giới thiệu về thuật toán PID.........................................................23
2.5.2
Lựa chọn bộ thông số PID............................................................27
2.5.3
Giới thiệu về Arduino IDE............................................................30
2.5.4
Khởi tạo một chương trình............................................................31
2.5.5
Cấu trúc của một chương trình trong phần mềm Arduino IDE.....33
CHƯƠNG 3. THỬ NGHIỆM VÀ THẢO LUẬN...........................................34
3.1
Môi trường thử nghiệm........................................................................35
3.2
Kịch bản..............................................................................................35
3.3
Kết quả thử nghiệm.............................................................................36
3.4
Xét tính ổn định của 3 thông số đã chọn..............................................37
3.4.1
Trong phòng..................................................................................37
3.4.2
Ngoài trời......................................................................................38
3.4.3
Tác động nhẹ bên ngoài................................................................39
3.4.4
Nhận xét........................................................................................40
3.5
Giải thích kết quả.................................................................................40
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..........................................................41
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
Hình 1.1:Mô hình xe 2 bánh tự cân bằng.............................................................2
Hình 1.2:Mô hình robot hai bánh cân bằng..........................................................3
Hình 1.3:Robot nBot............................................................................................4
Hình 1.4: Robot EquipoiseBot.............................................................................4
Hình 1.5 Robot EquipoiseBot..............................................................................5
Hình 1.6:Robot hai bánh cân bằng WobblyBot....................................................5
Hình 1.7: Robot hai bánh cân bằng tiltOne..........................................................6
Hình 1.8: Robot hai bánh của hãng TOYOTA.....................................................6
Hình 2.1:Sơ đồ khối của hệ thống........................................................................7
Hình 2.2: Sơ đồ mạch điện...................................................................................9
Hình 2.3: Sơ đồ chân của Arduino Nano............................................................10
Hình 2.4:Module cảm biến gia tốc MPU6050....................................................11
Hình 2.5:Sơ đồ chân IC L298.............................................................................12
Hình 2.6:Sơ đồ chân LM7805............................................................................13
Hình 2.7: Động cơ DC.......................................................................................13
Hình 2.8: kích thước động cơ DC.......................................................................14
Hình 2.9: PIN Li-Ion Panasonic NCR18650A...................................................15
Hình 2.10: Hình 3D mô phỏng (1).....................................................................16
Hình 2.11: Hình 3D mô phỏng (2)....................................................................16
Hình 2.12: Bản vẻ kích thước Mô hình..............................................................17
Hình 2.13:Hình miêu tả 6 trục............................................................................18
Hình 2.14:Mạch cầu H.......................................................................................19
Hình 2.15: Mạch cầu H khi đảo chiều................................................................20
Hình 2.16:Mạch cầu H sử dụng transistor BJT...................................................20
Hình 2.17:Mạch cầu H.......................................................................................21
Hình 2.18: Mạch cầu H......................................................................................22
Hình 2.19: Thuật toán điều khiển.......................................................................23
Hình 2.20: Tác động của hệ số tỉ lệ tới đầu ra của hệ thống...............................25
Hình 2.21: Tác động của hệ số tích phân tới đầu ra của hệ thống......................26
Hình 2.22: Tác động của hệ số vi phân tới đầu ra của hệ thống.........................27
Hình 2.23: Sơ đồ khối của bộ điều khiển PID....................................................27
Hình 2.24: Logo và giao diện chính của Arduino IDE.......................................30
Hình 2.25: Chức năng các Menu chính..............................................................31
Hình 2.26:Mở chương trình mẫu trong Arduino................................................32
Hình 2.27:Cấu trúc một chương trình trong Arduino IDE..................................33
Hình 3.1:Mô hình thực tế...................................................................................34
Hình 3.2: Hiển thị trạng thái của MPU6050 trên IDE........................................35
Hình 3.3: Mô hình xe đã cân bằng.....................................................................36
MỤC LỤC BẢNG
Bảng 1: Bảng thống kê kết quả thử nghiệm trong nhà........................................37
Bảng 2: Bảng thống kê kết quả thử nghiệm ngoài trời.......................................38
Bảng 3: Bảng thống kê kết quả thử nghiệm tác động nhẹ..................................39
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.
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
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
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
đượ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
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í.
Hình 1.8: Robot hai bánh của hãng TOYOTA
CHƯƠNG 2. THIẾT KẾ HỆ THỐNG
2.1 Thiết kế hệ thống
2.1.1 Sơ đồ khối tổng quát của hệ thống
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)
Khốối Điềồu Khiển
(Arduino Nano,
Module driver
L298N)
Hình 2.9:Sơ đồ khối của hệ thống
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 .
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
độ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.1
Vi đ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)
2.2.3.2
Module 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.
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.3
IC 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.4
IC ổ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
- Xem thêm -