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.
Trang 1ĐỒ ÁN TỐT NGHIỆP
ĐIỀU KHIỂN XE
HAI BÁNH TỰ CÂN
BẰNG
Trang 2LỜ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.
Trang 3MỤ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
Trang 42.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
Trang 5I2C Inter-Integrated Circuit
IDE Integrated Development EnvironmentLED 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
Trang 6MỤ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
Trang 7Hì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
Trang 8CHƯƠ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ánPID
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 trongcuộ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ácnhau 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ư: chiphí 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 xeluô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óichung 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ảithuậ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ânbằng sử dụng giải thuật cuốn chiếu (backstepping control), sử dụng giải thuật điềukhiển trượt (sliding mode control), giải thuật điều khiển LQR, giải thuật điều khiểnthô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
Trang 9đ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ầnmề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ềukhiển, hiểu được nguyên lý hoạt động của Module cảm biến gia tốc 6 bậc tự doMPU6050 và cách ứng dụng của cảm biến gia tốc vào trong đề tài và hiểu đượcphương pháp điều khiển động cơ DC thông qua Module driver L298N để hoànthà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 MPU6050cù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
Trang 10khiển Arduino Nano cũng như phần mềm viết chương trình cho vi điều khiển, tìmhiể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ànchỉ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 ứngdụ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 ứngnhu 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ự độnghó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ể ápdụ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
Trang 11Hình 1.3:Robot nBot
Trang 12WobblyBot thực chất là mô hình sử dụng con lắc ngược, được gắn dưới phầnthân ở giữa hai bánh xe WobblyBot được thiết kế với phần dưới của robotnặ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.4: Robot EquipoiseBot
Hình 1.5 Robot EquipoiseBot
Hình 1.6:Robot hai bánh cân bằng WobblyBot
Trang 131.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ẫurobot này có khả năng di chuyển nhanh và ít chiếm không gian Đồng thời đôitay của robot có thể làm nhiều công việc khác nhau, chủ yếu được sử dụng vớimục đích giải trí
Hình 1.7: Robot hai bánh cân bằng tiltOne
Trang 14Hình 1.8: Robot hai bánh của hãng TOYOTA
Trang 15CHƯƠ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
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áicân bằng
Khối Nguồn
(pin)
Khối Điều Khiển
(Arduino Nano, Module driver L298N)
Trang 162.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ề trungtâ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ửitín hiệu điều khiển về khối động cơ thông qua Module driver L298N để điều khiển
Trang 17độ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ữ đượctrạ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)
Trang 182.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ênthị trường hiện nay, nó được dùng trong mạch với chức năng dùng để đo gócnghiê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
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ệnhcho cảm biến, và nhận về dữ liệu sau khi cảm biến đã tính toán xong
Trang 19 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
Đ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 choArduino Nano, cảm biến góc nghiêng MPU6050 và IC L298
Trang 20Hì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ứcnă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ươnghướ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:
Trang 21Pin 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
Trang 22Hình 2.17: PIN Li-Ion Panasonic NCR18650A
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 địahì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ựamica
Trang 23Hình 2.18: Hình 3D mô phỏng (1)
Hình 2.19: Hình 3D mô phỏng (2)
Trang 24Bản vẻ thiết kế
Hình 2.20: Bản vẻ kích thước Mô hình
Trang 252.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
Trang 26 Pitch là kiểu chuyển động khi mũi của máy bay chúc lên trên hoặc chúixuống dưới Chuyển động pitch diễn ra xung quanh trục ngang của máybay.
Roll là kiểu chuyển động khi một trong hai cánh của máy bay liệng xuốngcò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áithì cánh trái sẽ liệng xuống còn cánh phải thì liệng lên Chuyển động rolldiễ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ặcqua trái Chuyển động yaw diễn ra xung quanh trục thẳng đứng, vuônggóc với thân máy bay
Trang 27Hình 2.23: Mạch cầu H khi đảo chiều
4 "công tắc" này thường là Transistor BJT, MOSFET hay relay Tùy vào yêu cầuđiều khiển khác nhau mà người ta lựa chọn các loại "công tắc" khác nhau
2 Mạch cầu H dùng transistor BJT
Mạch cầu H dùng transistor BJT là loại mạch được sử dụng khá thông dụng choviệc điều khiển các loại động cơ công suất thấp Lí do đơn giản là vì transistorBJT thường có công suất thấp hơn các loại MOSFET (relay thì không phải bànrồi), đồng đời cũng rẻ và dễ tìm mua, sử dụng đơn giản
Đây là sơ đồ tổng quát của một mạch cầu H sử dụng transistor BJT
Hình 2.24:Mạch cầu H sử dụng transistor BJT
Trang 28Trong sơ đồ này, A và B là 2 cực điều khiển 4 diode có nhiệm vụ triệt tiêu dòngđiện cảm ứng sinh ra trong quá trình động cơ làm việc Nếu không có diode bảo
vệ, dòng điện cảm ứng trong mạch có thể làm hỏng các transistor
Transistor BJT được sử dụng nên là loại có công suất lớn và hệ số khếch đại lớn
3 Nguyên lí hoạt động của mạch cầu H
Theo như sơ đồ trên, ta có A và B là 2 cực điều khiển được mắc nối tiếp với 2điện trở hạn dòng, Tùy vào loại transistor bạn đang dùng mà trị số điện trở nàykhác nhau Phải đảm bảo rằng dòng điện qua cực Base của các transistor khôngquá lớn để làm hỏng chúng Trung bình thì dùng điện trở 1k Ohm
Ta điều khiển 2 cực này bằng các mức tín hiệu HIGH, LOW tương ứng là 12V
và 0V
Nhớ lại rằng:
Transistor BJT loại NPN mở hoàn toàn khi điện áp ở cực Base bằng điện áp ởcực Collector, trong mạch đang xét hiện tại là 12V
Transistor BJT loại PNP mở hoàn toàn khi điện áp ở cực Base bằng 0V
Với 2 cực điều khiển và 2 mức tín hiệu HIGH/LOW tương ứng 12V/0V cho mỗicực, có 4 trường hợp xảy ra như sau:
A ở mức LOW và B ở mức HIGH
Ở phía A, transistor Q1 mở, Q3 đóng Ở phía B, transistor Q2 đóng, Q 4 mở Dó
đó, dòng điện trong mạch có thể chạy từ nguồn 12V đến Q1, qua động cơ đếnQ4 để về GND Lúc này, động cơ quay theo chiều thuận Bạn để ý các cực (+)
và (-) của động cơ là sẽ thấy
Bạn có thể hình dung dòng điện trong mạch nó như thế này
Hình 2.25:Mạch cầu H