Nghiên cứu, thiết kế hệ xe hai bánh tự cân bằng

61 516 9
Nghiên cứu, thiết kế hệ xe hai bánh tự cân bằng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu, thiết kế hệ xe hai bánh tự cân bằng

TRƯỜNG ĐẠI HỌC SƯ PHẠM KĨ THUẬT THÀNH PHỐ HỒ CHÍ MINH  KHOA ĐIỆN ĐIỆN TỬ BỘ MƠN ĐIỀU KHIỂN TỰ ĐỘNG ĐỒ ÁN 1: NGHIÊN CỨU, THIẾT KẾ HỆ XE HAI BÁNH TỰ CÂN BẰNG Ngành: Công nghệ kĩ thuật điều khiển tự động hóa GVHD: ThS Tạ Văn Phương Ho Chi Minh City, 2018 Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương LỜI CẢM ƠN Chúng em chân thành cảm ơn, quý thầy cô trường Đại Học Sư Phạm kỹ Thuật TP.HCM nói chung q thầy mơn Điều khiển tự động nói riêng, trang bị kiến thức giúp đỡ chúng em, giải khó khăn trình làm đồ án vi xử lý Đặc biệt chúng em xin chân thành cảm ơn Thầy hướng dẫn ThS Tạ Văn Phương tận tình giúp đỡ trình lựa chọn đề tài hỗ trợ sinh viên trình thực Sau nhóm xin cảm ơn bạn bè giúp đỡ để đồ án Vi xử lý hoàn thành tốt đẹp Tuy nhiên lần thiết kế đề tài “Hệ xe hai bánh tự cân bằng” làm quen với giải thuật điều khiển mới, chun mơn hạn chế, nên khơng tránh khỏi sai sót Chúng em mong nhận thơng cảm, góp ý hướng dẫn q thầy cô bạn Xin chúc quý thầy cô nhiều sức khoẻ thành cơng q trình cơng tác học tập Chúng em xin chân thành cảm ơn Tp Hồ Chí Minh, ngày 29 tháng 04 năm 2018 Sinh viên thực Page Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương TÓM TẮT Đề tài “Hệ xe hai bánh tự cân bằng” nhóm thực dựa lý thuyết mơ hình lắc ngược Nhóm định phát triển đề tài từ hệ thống xe hai bánh tự cân dùng giải thuật PID sang sử dụng giải thuật LQR( Linear Quadratic Regulator) để điều khiển tiến hành mô Matlab để nghiên cứu giải thuật LQR ứng dụng điều khiển robot hai bánh cân Với đề tài “Hệ xe hai bánh tự cân bằng” nhóm thực so sánh lí thuyết điều khiển kinh điển PID so với giải thuật điều khiển LQR nhằm tối ưu ưu nhược điểm cho đưa đến hệ xe ổn định có thể, nhóm kiểm nghiệm điểm giống khác hai điều khiển nhờ vào nghiên cứu giải thuật Matlab Simulink Đồ án trình bày bao gồm phần cứng bao gồm: Arduino Uno R3, cảm biến góc nghiêng MPU 6050, mạch cầu H L298N, động DC … cách thức hoạt động Vi điều khiển, cảm biến gia tốc góc nghiêng với Board băm xung cấp điện áp L298N Page Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương MỤC LỤC LỜI CẢM ƠN TÓM TẮT MỤC LỤC DANH SÁCH HÌNH DANH SÁCH BẢNG PHẦN 1: LỜI NÓI ĐẦU PHẦN 2: NỘI DUNG CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI 1.1 Lý chọn đề tài 1.2 Tầm nhìn đề tài 1.3 Mục tiêu đề tài 1.4 Giới hạn đề tài CHƯƠNG 2: LÝ THUYẾT ĐIỀU KHIỂN 2.1 Bộ điều khiển PID 2.2 Bộ điều khiển LQR CHƯƠNG 3: THIẾT KẾ HỆ THỐNG CHƯƠNG 4:VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN LQR CHƯƠNG 5: KẾT QUẢ CHƯƠNG 6: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO PHỤ LỤC Page Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương PHẦN 1: LỜI NĨI ĐẦU Ngày q trình đại hóa, cơng nghiệp hóa diễn ngày nhanh khơng ngừng đẩy nhanh tiến độ phát triển khoa học công nghệ theo hướng đại quốc gia nói chung Việt Nam nói riêng, lĩnh vực điện- điện tử nhiều số lĩnh vực có lượng nghiên cứu khoa học lớn lĩnh vực nằm top lĩnh vực tiên phong khoa học công nghệ, nghiên cứu ngồi nước góp phần khơng vào giải pháp thông minh sỡ nghiên cứu, cơng ty , nhà máy, xí nghiệp… Robot cụm từ không xa lạ với thời đại cách mạng công nghiệp nay, Robot chiếm giữ nhiều vị trí thay quan trọng nhà máy xí nghiệp, cơng ty chuyên sản xuất trang thiết bị, công ty chuyên thiết kế thi công sản phẩm thị trường Với Robot phần coi xử lí trung tâm gọi “Vi điều khiển”, Robot khác có vi điều khiển xử lí khác nhau, tùy vào mức độ tạp giá thành phù hợp với loại robot mà người thiết kế chọn lựa cho phù hợp Nhằm để hiểu rỏ trình thực điều khiển Robot nhờ vi điều khiển đề tài nhóm thực nghiên cứu “Hệ xe hai bánh tự cân bằng” để có nhìn trực diện lĩnh vực Robot nói chung vi điều khiển nói riêng Trong đề tài “đồ án 1” vi xử lý hướng dẫn ThS Tạ Văn Phương nhóm chúng em lựa chọn đề tài “Hệ xe hai bánh tự cân bằng” Với đề tài đòi hỏi cần có lượng kiến thức định lập trình Vi điều khiển, giải thuật điều khiển nâng cao nhằm phát triển sáng tạo đề tài theo xu hướng đại Với xuất phát điểm nêu trên, nhóm mong ôn lại kiến thức học từ môn ứng dụng vào thiết kế, lập trình tạo hệ thống cụ thể nhằm trang bị cho kiến thức cần thiết làm tiền đề để tiếp tục với dự án lớn bao hàm nhiều kiến thức rộng Page Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương PHẦN 2: NỘI DUNG CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI 1.1 TỔNG QUAN ĐỀ TÀI Robot hai bánh tự cân dựa mô hình lắc ngược đối tượng phi tuyến với tham số bất định khó điều khiển với biến trạng thái Đặc điểm bật Robot hai bánh tự cân chế tự cân bằng, giúp cho xe dù chỉ có trục chuyển động với hai bánh ở trạng thái cân Có nhiều cơng trình nghiên cứu xe hai bánh tự cân bằng, nghiên cứu điều khiển xe hai bánh tự cân dùng giải thuật PID, LQR, giải thuật chiếu (backstepping control), giải thuật điều khiển trượt (sliding mode control), phương pháp điều khiển thông minh Fuzzy, Fuzzy Noron cho thấy khả thích nghi hiệu giải pháp điều khiển vào hệ xe cân Trong phạm vi cho phép, nhóm xin thực đề tài sữ dụng hai phương pháp điều khiển PID (Proportional Integral Derivative) LQR(Linear Quadratic Regulator- Điều khiển tối ưu) 1.2 LÝ DO CHỌN ĐỀ TÀI Hiện đề tài “Hệ xe hai bánh tự cân bằng” nhiều sinh viên nghiên cứu triển khai thực việc phát triển giải thuật mới, tính dựa lí thuyết điều khiển lắc ngược, nguồn cớ sỡ liệu liên quan nhiều dễ dàng việc tìm kiếm nghiên cứu thực Một đặc thù mơn điều khiển tự động giải thuật điều khiển, với giải thuật điều khiển tối ưu đòi hỏi người học cần phải am hiểu cấu trúc, mô phỏng, phải vững nguyên lí hoạt động giải thuật Với đề tài “Hệ xe hai bánh tự cân bằng” đề tài điều khiển liên quan đến động DC đối tượng điều khiển tương đối kinh điển nghiên cứu thời Thông thường mơ hình dùng để nghiên cứu thuyết điều khiển có giá trị tương đối cao, mơ hình lắc ngược, hệ xe lắc ngược, ball and beam… Tuy nhiên nhận thấy đề tài “Hệ xe hai bánh tự cân bằng” đề tài có phần cứng Page Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương tương đối dễ thi công thực hiện, với thiết bị phổ thơng có mệnh giá rẻ, thể rỏ giải thuật ứng dụng vào Với đề tài “Hệ xe hai bánh tự cân bằng” sữ dụng Vi điều khiển phổ cập thời để điều khiển, ở nhóm muốn nhắm tới Vi Điều Khiển Arduino Uno R3, Board Vi Điều Khiển ứng dụng rộng rãi thị trường Từ điều nhóm chúng em định lựa chọn đề tài “Hệ xe hai bánh tự cân bằng” để thực đồ án “Vi xử lý” hướng dẫn thầy ThS Tạ Văn Phương 1.3 TẦM NHÌN CỦA ĐỀ TÀI Với đề tài nhóm hướng đến khía cạnh nơi, lĩnh vực ứng dụng đề tài vào: Xây dựng phương tiện vận chuyển khu vực chật hẹp di chuyển chung cư tòa nhà cao tầng, dùng trợ giúp di chuyển cho người già, trẻ em vận chuyển Làm phương tiện vận chuyển hàng hóa đến nơi lập trình sẵn ở tòa nhà, phòng làm việc, khơng gian chật hẹp, khó xoay trở Thậm chí kết hợp Human Robot, kết hợp với Robot Camera, Robot dò đường, Robot lái mặt đường hiệu công dụng cụ thể linh hoạt 1.4 MỤC TIÊU CỦA ĐỀ TÀI: Đề tài tập trung vào vài mục tiêu sau đây:  Nghiên cứu lý thuyết điều khiển cho hệ lắc ngược  Nghiên cứu lý thuyết điều khiển giải thuật PID LQR dùng điểu khiển hệ xe tự cân  Thực mô Matlab Simulink để kiểm nghiệm tìm số phù hợp cho hệ xe ứng với giải thuật  Nghiên cứu lập trình vi điều khiển, hoạt động cảm biến, động cơ, cổng giao tiếp sử dụng cho hệ xe cân  Sử dụng lọc Kalman lọc nhiễu tín hiệu trả từ cảm biến gia tốc MPU 6050  Xây dựng Board mạch điều khiển cho hệ xe  Phác thảo mơ hình SolidWork Page Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương 1.5 GIỚI HẠN CỦA ĐỀ TÀI Trong q trình thực đề tài có giới hạn định mà nhóm chưa thể thực cụ thể sau: - Với lượng kiến thức hạn hẹp, nhóm chỉ nghiên cứu tìm hiểu kĩ giải thuật điều khiển kinh điển PID nghiên cứu sang ứng dụng sữ dụng giải thuật LQR Với giải thuật đại Fuzzy, Noron nhóm chưa có đủ thời gian để tìm hiểu thực cho hệ xe cân Quá trình để điều chỉnh xác định số tối ưu giúp cho hệ xe đạt ngưỡng cân tốn nhiều thời gian, nhóm chỉ tập trung vào hoàn thiện số điều khiển cho hệ xe Trong thời gian tới nhóm tiếp tục thêm phần điều khiển sữ dụng module Bluetooth HC-05 vào hệ xe Mạch nhóm sữ dụng ở tương đối đơn giản, nên nhóm nối dây trực tiếp từ linh kiện mà khơng thiết kế Board mạch Với mục đích nghiên cứu giải thuật điều khiển nên phần khung Robot nhóm chỉ thực mang tính tạm thời, chưa thẩm mỹ - Page Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương CHƯƠNG 2: LÝ THUYẾT ĐIỀU KHIỂN 2.1.NGUYÊN LÍ CÂN BẰNG CỦA ROBOT: Một robot có khả trì cân di chuyển hai bánh xe biết đến với tên gọi robot hai bánh tự cân Quá trình cân trình điều khiển hai động bánh xe cho đưa về giá trị cân mà ta thiết lập từ trước đó, cách khác ta nói trì ổn định cho hệ thống Hai bánh xe đối tượng điều khiển giúp cho xe tiến, lùi để đạt ngưỡng cân ổn định Hình 2.1: Nguyên lý hoạt động hệ xe cân Hình bên phía trái trạng thái hệ xe cân Khi hệ xe có xu hướng ngã phía trước lúc hệ thống tác động vào hai động cơ, đưa cho hệ xe trở vị trí cân bằng, hình ở hệ xe có xu hướng ngã phía bên tay trái, lúc hệ thống cấp xung hợp lí vào động điều khiển động chạy hướng phía bị nghiêng cân Tương tự cho hình bên phía tay phải Dạng Robot tạo cho người nghiên cứu nhiều thử thách điều kiện làm việc không ổn định đòi hỏi người làm phải lựa chọn giải thuật, đưa thơng số hợp lí Lý thuyết trì ổn định dựa lý thuyết điều khiển lắc ngược, đối tượng điều khiển phi tuyến kinh điển, mơ hình xe cân dựa từ mà phát triển lên, có nhiều điểm chung hai mơ hình, nhiên hai hướng tới trì cân ổn định cho hệ thống Mục đích nguyên lý lắc ngược để giữ cho bánh xe bên trung tâm khối lượng khung gầm robot Nếu khung nghiêng phía trước, hai bánh xe di chuyển Page Thiết kế hệ xe hai bánh tự cân GVHD: ThS Tạ Văn Phương phía trước cho góc nghiêng khơng robot trì cân Mặt khác, khung nghiêng nghiêng phía sau, hai bánh xe di chuyển phía sau 2.2.ĐỘNG LỰC HỌC HỆ THỐNG: Xây dựng phương trình trạng thái mơ tả hệ xe tự cân bằng: Hình 2.2: Mơ hình hệ xe cân Page Ở nhóm chúng em sữ dụng phần mềm Fritzing mô mạch dây cho hệ thống sau: Hình 3.8.Sơ đồ dây hệ thống Ngoài phần mềm dây khơng kèm theo Encoder động đó: Chân Vcc GND Encoder nối vào 5VDC GND Board Arduino , chân tín hiệu Encoder nối sau: chân A vào chân Arduino( để sữ dụng hàm ngắt Arduino) chân B vào chân Encoder có chân A vào chân Arduino chân B vào số Arduino CHƯƠNG 4: CHƯƠNG TRÌNH ĐIỀU KHIỂN DÙNG GIẢI THUẬT LQR 4.1 Chương trình điều khiển sữ dụng trình IDE Arduino cung cấp #include // Cung cấp thư viện I2C #include // Thư viện lọc Kalman #define ToRad PI/180 // định nghĩa chuyển đổi giá trị độ sang Radian #define ToDeg 180/PI // định nghĩa chuyển đổi giá trị Radian sang Độ Kalman kalman ; // Khởi tạo Kalman dùng để gọi lệnh thư viện Kalman uint32_t timerloop, timerold; // Tạo thời gian lặp để lấy mẫu // Chân điều khiển cho Motor // #define leftpwm // Điều khiển PWM cho động #define leftdir_t // Điều khiển chiều #define leftdir_n 11 #define rightpwm 10 // Điều khiển PWM cho động #define rightdir_t 12 // Điều khiển chiều #define rightdir_n volatile long leftencoder; // Đọc lưu giá trị encoder trái ( volatile kiểu khai báo dành cho giá trị biến thay đổi cách không xác định.) volatile long rightencoder; // Đọc lưu giá trị encoder phải #define leftencoder_a // đọc trạng thái kênh A, LOW or HIGH #define leftencoder_b // đọc trạng thái kênh B, LOW or HIGH #define rightencoder_a #define rightencoder_b // liệu MPU6050 // float mpudata; // Biến xác định góc thời float AcY, AcZ; // giá trị Gyroscope theo trục Y Z float Gyro; // giá trị vận tốc góc quay tính theo trục X uint32_t timer; // cập nhật tính tốn thời gian lấy mẫu, đọc thời gian lấy mẫu liệu từ MPU, thời gian cho lọc Kalmal tính góc psi uint8_t i2cData[14]; // Lưu giá trị đọc từ cảm biến MPU // Dữ liệu LQR // long PWML, PWMR; // Giá trị xung PWM cho cầu H float k1, k2, k3, k4, k5, k6; // thông số ma trận K bool falldown; // Chạy = true; Dừng = false, định nghĩa để điều khiển ĐC float theta, psi, phi; // Góc float thetadot, psidot, phidot; // Giá trị vận tốc góc tương ứng float thetaold, psiold, phiold; // Giá trị trước góc float leftvolt; // Điện áp Motor trái LQR float rightvolt; // Điện áp Motor phải LQR float addtheta; // lưu lại giá trị đặt để động di chuyển bám theo float addphi; // lưu lại giá trị đặt để động di chuyển bám theo int ForwardBack; // -> Tới; -1 -> Lùi; //////////////////////////////////////////////////// ////////////////// SERIAL BEGIN //////////////////// //////////////////////////////////////////////////// void setup() { // Set up ngỏ vào cho hệ xe // pinMode(leftpwm, OUTPUT); pinMode(leftdir_t, OUTPUT); pinMode(leftdir_n, OUTPUT); -> Ngừng cân pinMode(rightpwm, OUTPUT); pinMode(rightdir_t, OUTPUT); pinMode(rightdir_n, OUTPUT); // Ngỏ vào encoder // pinMode(leftencoder_a, INPUT_PULLUP); // mặc định nhận giá trị HIGH pinMode(rightencoder_a, INPUT_PULLUP); pinMode(leftencoder_b, INPUT_PULLUP); pinMode(rightencoder_b, INPUT_PULLUP); Serial.begin(115200); // Khởi tạo chuẩn giao tiếp bandte Arduino máy tính // Dữ liệu MPU6050 // Wire.begin(); // Khởi tạo thư viện cho MPU hoạt động i2cData[0] = 7; // Set the sample rate to 1000Hz - 8kHz/(7+1) = 1000Hz i2cData[1] = 0x00;// Disale FSYNC and set 260Hz Accelerator filtering, 256 Hz Gyro filtering, 8Khz sampling i2cData[2] = 0x00;// Set Gyro full scale range to +/-250deg/s i2cData[3] = 0x00;// Set Gyro full scale range to +/-2g while (i2cWrite(0x19, i2cData, 4, false));// Write to all four registers at the same time while (i2cWrite(0x6B, 0x01, true));// PLL with X Axis Gyroscope reference and disable sleep mode while (i2cRead(0x75, i2cData, 1)); if (i2cData[0] != 0x68) { Serial.print(F("Error reading sensor")); while(true); } delay(100); // Chờ cảm biến ổn định while (i2cRead(0x3B, i2cData, 6)); AcY = (int16_t)((i2cData[2]

Ngày đăng: 14/01/2019, 12:20

Từ khóa liên quan

Mục lục

  • LỜI CẢM ƠN

  • TÓM TẮT

  • MỤC LỤC

    • 1.1. TỔNG QUAN ĐỀ TÀI

    • Robot hai bánh tự cân bằng dựa trên 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 khó điều khiển với 6 biến trạng thái. Đặc điểm nổi bật của Robot hai bánh tự cân bằng là cơ chế tự cân bằng, giúp cho xe dù chỉ có một trục chuyển động với hai bánh nhưng luôn ở trạng thái cân bằng.

    • Có rất nhiều công trình nghiên cứu về xe hai bánh tự cân bằng, nghiên cứu điều khiển xe hai bánh tự cân bằng dùng giải thuật PID, LQR, giải thuật cuốn chiếu (backstepping control), giải thuật điều khiển trượt (sliding mode control), phương pháp điều khiển thông minh Fuzzy, Fuzzy Noron cho thấy khả năng thích nghi và hiệu quả của những giải pháp điều khiển vào hệ xe cân bằng. Trong phạm vi cho phép, nhóm xin được thực hiện đề tài sữ dụng hai phương pháp điều khiển PID (Proportional Integral Derivative) và LQR(Linear Quadratic Regulator- Điều khiển tối ưu).

    • 1.2. LÝ DO CHỌN ĐỀ TÀI

    • 1.3. TẦM NHÌN CỦA ĐỀ TÀI

    • 1.4. MỤC TIÊU CỦA ĐỀ TÀI:

    • 1.5. GIỚI HẠN CỦA ĐỀ TÀI

    • CHƯƠNG 2: LÝ THUYẾT ĐIỀU KHIỂN

      • 2.1.NGUYÊN LÍ CÂN BẰNG CỦA ROBOT:

      • 2.2.ĐỘNG LỰC HỌC HỆ THỐNG:

      • 2.3. BỘ ĐIỀU KHIỂN PID (Proportional Integral Derivative)

        • 2.3.2. Khâu tích phân

        • 2.4. BỘ ĐIỀU KHIỂN TỐI ƯU LQR

          • 2.4.1. BỘ ĐỊNH THỜI LIÊN TỤC LQR

          • 2.5.2. BỘ ĐỊNH THỜI RỜI RẠC LQR

          • 3.1. SƠ ĐỒ KHỐI

            • 3.1.2 Chức năng từng khối

            • CHƯƠNG 4: CHƯƠNG TRÌNH ĐIỀU KHIỂN DÙNG GIẢI THUẬT LQR

            • CHƯƠNG 5: KẾT QUẢ

            • CHƯƠNG 6: KẾT LUẬN

Tài liệu cùng người dùng

Tài liệu liên quan