Tài liệu Robot 2 bánh tự cân bằng thuật toán pid

  • Số trang: 53 |
  • Loại file: DOCX |
  • Lượt xem: 58 |
  • Lượt tải: 0
hoang

Tham gia: 04/11/2015

Mô tả:

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