- Điều khiển Hệ con lắc ngược trên xe trượt 3 bậc tự do bằng bộ điều khiển số sử dụng vi điều khiển STM32F407 Discovery thông qua môi trường Keil C 5.0.. Hệ Con lắc ngược hai bậc trên xe
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
MAI VĂN QUANG
ĐIỀU KHIỂN CÂN BẰNG VÀ BÁM HỆ CON LẮC ĐÔI BALANCE AND TRACKING CONTROL OF THE DOUBLE
INVERTED PENDULUM
Chuyên ngành : Kỹ thuật điều khiển và Tự động hóa
Mã số : 8520216
LUẬN VĂN THẠC SĨ
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : PGS.TS Huỳnh Thái Hoàng
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1 GS.TS Hồ Phạm Huy Ánh Chủ tịch hội đồng bảo vệ
2 TS Nguyễn Trọng Tài Thư ký hội đồng bảo vệ
3 TS Ngô Thanh Quyền Phản biện 1 hội đồng bảo vệ
4 TS Nguyễn Vĩnh Hảo Phản biện 2 hội đồng bảo vệ
5 PGS.TS Trương Đình Nhơn Ủy viên hội đồng bảo vệ
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên : Mai Văn Quang MSHV : 1870629
Ngày, tháng, năm sinh: 09/10/1985 Nơi sinh: Quy Nhơn, Bình Định Chuyên ngành:Kỹ thuật điều khiển và Tự động hóa Mã số : 8520216
I TÊN ĐỀ TÀI: Điều khiển cân bằng và bám hệ con lắc đôi (Balance and tracking
control of the double inverted pendulum)
II NHIỆM VỤ VÀ NỘI DUNG:
- Xây dựng bộ điều khiển LQR, LQR+Kalman filter điều khiển hệ Xe – Con lắc
đôi cân bằng tại vị trí hướng lên trên;
- Xây dựng bộ điều khiển Tracking điều khiển xe trượt của hệ Xe – Con lắc đôi
bám vị trí đặt, khi con lắc đôi đang cân bằng tại vị trí hướng lên trên
III NGÀY GIAO NHIỆM VỤ : 24/02/2020
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 21/06/2020
CÁN BỘ HƯỚNG DẪN: PGS.TS Huỳnh Thái Hoàng
Trang 4Khoảng thời gian học cao học tại Đại học Bách Khoa TP Hồ Chí Minh là lần thứ hai tôi trở lại học tập dưới mái trường này, được sự truyền đạt kiến thức và giúp đỡ tận tình từ quý thầy cô Giảng viên, tôi đã bổ sung cho mình những kiến thức quý báu nhất Tôi xin chân thành cảm ơn tất cả quý Thầy Cô, đặc biệt là quý Thầy Cô thuộc
Khoa Điện – Điện Tử trường Đại học Bách Khoa TP Hồ Chí Minh nơi tôi học tập
chính chuyên ngành của mình
Vì làm việc tại quê nhà, trong khoảng thời gian học tập, gia đình xảy ra nhiều khó khăn, nếu không nhận được sự giúp đỡ từ quý Thầy Cô, đặc biệt là sự động viên
và tạo điều kiện từ thầy Nguyễn Vĩnh Hảo, thì tôi đã không thể hoàn thành chương
trình học của mình “Em xin chân thành cám ơn Thầy!”
Cảm ơn các bạn học viên lớp cao học chuyên ngành Kỹ thuật Điều khiển và Tự Động Hóa khóa 2018 đã nhiệt tình giúp đỡ, trao đổi kiến thức, trong suốt quá trình học tập
Cuối cùng tôi xin gửi lời cảm ơn đến gia đình, bạn bè, đồng nghiệp luôn ở bên
và ủng hộ tôi
Vì kiến thức là vô tận, hiểu biết của bản thân còn hạn chế, trong quá trình thực hiện luận văn này, chắc chắn tôi sẽ không tránh khỏi những sai sót, kính mong nhận được những ý kiến đóng góp từ quý Thầy Cô
TP Hồ Chí Minh, tháng 9 năm 2020
Mai Văn Quang
Trang 5Các nội dung chính của luận văn này bao gồm:
- Nghiên cứu và xây dựng mô hình toán học cho Hệ con lắc ngược trên xe trượt 3 bậc tự do Xây dựng phương pháp điều khiển thích hợp cho hệ vừa tìm được, sau đó
mô phỏng các phương pháp này trên MATLAB để kiểm chứng tính hiệu quả của từng phương pháp
- Điều khiển Hệ con lắc ngược trên xe trượt 3 bậc tự do bằng bộ điều khiển số sử dụng vi điều khiển STM32F407 Discovery thông qua môi trường Keil C 5.0
- Thiết kế ứng dụng GUI (Giám sát hệ thống) trên máy tính bằng ngôn ngữ lập trình C#
Trang 6ABSTRACT
The inverted pendulum system is a classic problem for the automation industry The two degree inverted pendulum system is a much more complex problem, student have chosen this system to test the system response of the controllers: Full linear controller, full linear controller Gaussian Direction, Tracking Controller (PID and LQT)
The main contents of this thesis include:
- Research ad build a mathematical model for the system of inverted pendulum
on 3 degrees of freedom sled Build appropriate control methods for the newly found system, then simulate these methods on MATLAB to verify the effectiveness of each method
- Control the system of inverted pendulum on 3 degrees of freedom by digital controller using STM32F407 Discovery microcontroller through Keil C 5.0 environment
- Designing GUI application (System monitoring) on the computer using c# programming language
Trang 7LỜI CAM ĐOAN
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được hướng dẫn khoa học của PGS.TS Huỳnh Thái Hoàng; các nội dung nghiên cứu, kết quả trong đề tài này trung thực và chưa công bố bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ mô phỏng và thực nghiệm do chính bản thân thực hiện
Ngoài ra, trong luận văn này, tác giả có tham khảo một số tài liệu trong và ngoài nước, tất cả đều có ghi chú cụ thể
Nếu phát hiện có bất kỳ gian lận nào tôi xin chịu hoàn toàn trách nhiệm về nội dung luận văn của mình Trường Đại học Bách khoa thành phố Hồ Chí Minh
không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra và trong quá trình thực hiện (nếu có)
TP Hồ Chí Minh, ngày 1 tháng 8 năm 2020
Mai Văn Quang
Trang 8MỤC LỤC
LỜI CẢM ƠN i
TÓM TẮT LUẬN VĂN ii
ABSTRACT iii
LỜI CAM ĐOAN iv
DANH SÁCH HÌNH ẢNH vi
CÁC TỪ VIẾT TẮT viii
CHƯƠNG 1 TỔNG QUAN 1
1.1 Tổng quan về Con lắc ngược 1
1.2 Ứng dụng thực tiễn 1
1.3 Các công trình liên quan 3
1.3 Mục tiêu và phạm vi nghiên cứu 6
1.4 Cấu trúc luận văn 6
CHƯƠNG 2 MÔ HÌNH HÓA HỆ CON LẮC HAI BẬC TRÊN XE TRƯỢT 7
2.1 Xây dựng mô hình toán học cho hệ thống 7
2.2 Các bộ điều khiển áp dụng cho hệ thống 15
2.2.1 Bộ điều khiển tối ưu LQR 15
2.2.2 Bộ ước lượng Kalman Filter 16
2.2.3 Bộ điều khiển toàn phương Gaussian (LQG) 17
2.2.4 Điều khiển bám 18
2.3 Thông số mô hình thực tế 20
CHƯƠNG 3 MÔ PHỎNG ĐIỀU KHIỂN HỆ THỐNG 21
3.1 Bộ điều khiển LQR liên tục 21
3.2 Bộ điều khiển rời rạc 24
3.2.1 Bộ điều khiển LQR rời rạc 24
3.2.2 Bộ điều khiển LQG rời rạc 27
CHƯƠNG 4 THIẾT KẾ VÀ CHẾ TẠO PHẦN CỨNG 30
4.1 Phần cơ khí 30
4.1.1 Thiết kế mô hình cơ khí 30
4.1.2 Gia công mô hình cơ khí 31
4.2 Phần mạch điện 34
4.1.1 Thiết kế mạch điện 34
4.1.2 Gia công mạch điện 36
CHƯƠNG 5 LẬP TRÌNH ĐIỀU KHIỂN VÀ GIÁM SÁT 38
5.1 Lập trình điều khiển 38
5.1.1 Cấu hình 38
5.1.2 Lập trình 41
5.2 Lập trình giám sát bằng máy tính 44
CHƯƠNG 6 THỰC NGHIỆM 46
6.1 Bộ điều khiển LQR + PID Tracking 46
6.2 Bộ điều khiển LQG 52
CHƯƠNG 7 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 59
7.1 Kết quả đạt được và hạn chế 59
Trang 97.2 Hướng phát triển 60
Tài liệu tham khảo 61
DANH SÁCH HÌNH ẢNH Hình 1.1 Xe hai bánh tự cân bằng Segway 2
Hình 1.2 Tòa nhà cao tầng Burj Khalifa ở Dubai 2
Hình 1.3 Giàn PV DRILLING II 2
Hình 1.4 Hệ Xe – Con lắc ngược hai bậc trên xe 3
Hình 1.5 Xệ Xe – Con lắc 2 bậc tại Đại học Tabriz - Iran 3
Hình 1.6 Hệ Xe – Con lắc ngược hai bậc tại Khoa Kỹ thuật Cơ khí và Công nghiệp, Đại học Concordia, Montreal 4
Hình 1.7 Hệ Xe – Con lắc ngược hai bậc tại Viện công nghệ Blekinge, Karlskrona, Thụy Điển 4
Hình 1.8 Double pendulum robot 5
Hình 2.1 Bộ điều khiển Tracking 16
Hình 2.2 Bộ điều khiển PID 16
Hình 2.3 Sơ đồ hệ con lắc hai bậc trên xe 20
Hình 2.4 Sơ đồ tổng hệ thống điều khiển Con lắc 2 bậc trên xe trượt 27
Hình 2.5 Mô hình hóa động cơ DC 28
Hình 3.1 Hệ Xe-Con lắc hai bậc với bộ điều khiển LQR (Liên tục) 21
Hình 3.2 Các ma trận của phương trình biến trạng thái (Liên tục) 21
Hình 3.3 Ma trận trọng số Q, R (Liên tục) 22
Hình 3.4 Vector độ lợi K (Liên tục) 22
Hình 3.5 Khai báo tham số cho hệ thống 1 22
Hình 3.6 Phương sai nhiễu đo 23
Hình 3.7 Đáp ứng ngõ ra của hệ thống 1 23
Hình 3.8 Hệ Xe-Con lắc hai bậc với bộ điều khiển LQR (Rời rạc) 24
Hình 3.9 Các ma trận của hệ phương trình biến trạng thái (Rời rạc) 24
Hình 3.10 Ma trận trọng số Q, R (Rời rạc) 25
Hình 3.11 Vector độ lợi K (Rời rạc) 25
Hình 3.12 Khai báo tham số cho hệ thống 2 25
Hình 3.13 Đáp ứng vị trí xe và góc lệch hai con lắc của hệ thống 2 26
Hình 3.14 Đáp ứng vận tốc xe và vận tốc góc hai con lắc của hệ thống 2 26
Hình 3.15 Mô hình Simulink của hệ Con lắc hai bậc trên xe trượt với bộ điều khiển LQG (Rời rạc) 27
Hình 3.16 Cập nhật thông số cho bộ Kalman mở rộng 27
Hình 3.17 Độ lợi của bộ ước lượng Kalman filter 28
Hình 3.18 Đáp ứng vị trí xe và góc lệch hai con lắc của hệ thống 3 28
Hình 3.19 Đáp ứng vận tốc xe và vận tốc góc hai con lắc của hệ thống 3 29
Hình 4.1 Mô hình hệ thống được thiết kế bằng Solidworks 30
Hình 4.2 Động cơ Tamagawa DC Servo encoder 31
Hình 4.3 Thông số động cơ 31
Hình 4.4 Bộ truyền động 32
Hình 4.5 Khớp xoay trợ lực cho trục encoder 32
Trang 10Hình 4.6 Kết cấu khớp xoay trợ lực cho trục encoder 33
Hình 4.7 Encoder đọc góc lệch con lắc 33
Hình 4.8 Mô hình cơ khí hệ con lắc hai bậc trên xe trượt 33
Hình 4.9 Board STM32F407 Discovery 34
Hình 4.10 Mạch công suất 35
Hình 4.11 Sơ đồ đấu encoder kiểu Line Driver Output 35
Hình 4.12 Mạch xử lý tín hiệu encoder 36
Hình 4.13 Mạch điện tổng 36
Hình 4.14 Mô hình thực tế của hệ thống 37
Hình 5.1 Cấu hình cho Timer 1 38
Hình 5.2 Cấu hình cho Timer 2 38
Hình 5.3 Cấu hình cho Timer 3 39
Hình 5.4 Cấu hình cho Timer 4 39
Hình 5.5 Cấu hình cho Timer 8 40
Hình 5.6 Cấu hình cho cổng giao tiếp USB 40
Hình 5.7 Giải thuật chương trình tổng quát 41
Hình 5.8 Giải thuật Tracking 41
Hình 5.9 Giải thuật LQR 42
Hình 5.10 Giao diện giám sát hệ thống trên máy tính viết bằng C# 45
Hình 5.11 Giao diện giám sát hệ thống bằng STMStudio 45
Hình 6 1 Hệ Xe – Con lắc 3 bậc tự do đang hoạt động 46
Hình 6.2 Bộ tiền xử lý tín hiệu đặt 47
Hình 6.3 Đáp ứng vị trí của xe trượt (LQR) 47
Hình 6.4 Đáp ứng vị trí của xe trượt trong khoảng thời gian 27.5s đến 67.5s 48
Hình 6.5 Đáp ứng góc lệch 2 con lắc (LQR) 48
Hình 6.6 Đáp ứng góc lệch 2 con lắc trong khoảng thời gian 27.5s đến 67.5s 49
Hình 6.7 Đáp ứng vận tốc góc 2 con lắc (LQR) 49
Hình 6.8 Đáp ứng vận tốc góc 2 con lắc trong khoảng thời gian 27.5s đến 67.5s 50
Hình 6.9 Đáp ứng vận tốc xe trượt (LQR) 50
Hình 6.10 Đáp ứng vận tốc xe trượt trong khoảng thời gian 27.5s đến 67.5s 51
Hình 6.11 Điện áp điều khiển trong khoảng thời gian 27.5s đến 67.5s 51
Hình 6.12 Ma trận phương sai nhiễu hệ thống 52
Hình 6.13 Ma trận phương sai nhiễu đo lường 52
Hình 6.14 Độ lợi của bộ lọc Kalman 52
Hình 6.15 Đáp ứng vị trí của xe trượt (LQG) 53
Hình 6.16 Đáp ứng góc lệch 2 con lắc (LQG) 53
Hình 6.17 Đáp ứng vận tốc góc 2 con lắc (LQG) 54
Hình 6.18 Đáp ứng vận tốc xe trượt (LQG) 54
Hình 6.19 Đáp ứng của điện áp điều khiển (LQG) 55
Trang 11Linear Quadratic Regulator
Linear Quadratic Gaussian
Linear Quadratic Tracking
Proportional–Integral–Derivative
Pulse-width modulation
Trang 12CHƯƠNG 1 TỔNG QUAN
Phần tổng quan sẽ trình bày khái quát toàn bộ luận văn, về ý nghĩa, mục tiêu và cấu trúc các phần của luận văn Chủ đề của luận văn này là điều khiển cân bằng và bám cho hệ thống xe con lắc 3 bậc tự do
1.1 Tổng quan về Con lắc ngược
Các phương pháp điều khiển tối ưu ra đời từ rất lâu, nhưng hầu hết các bộ điều khiển tuyến tính này đều giải quyết được các bài toán ổn định với chất lượng cao tại điểm làm việc của hệ thống Kết hợp với bộ Kalman filter, trở thành bộ điều khiển toàn phương Gaussian, có khả năng ước lượng, lọc nhiễu, giúp hệ thống ổn định tốt hơn Hệ Con lắc ngược hai bậc trên xe trượt là hệ thống SIMO, nó là hệ có độ bất ổn định cao và là cơ sở để tạo ra các hệ thống tự cân bằng như: Giàn khoan, Công trình biển, Xe hai bánh tự cân bằng… Đây là đối tượng thường được các nhà nghiên cứu lựa chọn để kiểm chứng những thuật toán điều Điều khiển hệ con lắc ngược hai bậc trên
xe trượt là vấn đề khó, đòi hỏi phải có bộ điều khiển thích hợp với tốc độ đáp ứng nhanh Ở nước ta, việc điều khiển trên mô hình thực của hệ con lắc ngược hai bậc trên
xe trượt vẫn còn là một vấn đề tương đối khó, khi có rất ít công trình nghiên cứu thành công trong việc gia công chế tạo và điều khiển mô hình hệ này
Hệ con lắc ngược hai bậc trên xe trượt được phát triển dựa trên hệ con lắc ngược một bậc trên xe trượt cổ điển, bao gồm một xe trượt có khả năng di chuyển theo phương ngang trên một thanh ray, với cơ cấu truyền động bằng đai để đáp ứng nhanh
và chính xác hơn so với cơ cấu Bánh răng - Thanh rang, Vít me – Đai ốc Con lắc được gắn trên xe trượt, có khả năng quay tự do trong mặt phẳng thẳng đứng vuông góc với trục quay
1.2 Ứng dụng thực tiễn
Con lắc ngược là cơ sở thực nghiệm để tạo ra các hệ thống tự cân bằng như: xe hai bánh tự cân bằng, cân bằng robot người, tháp vô tuyến, giàn khoan, các công trình biển, các tòa nhà cao tầng…
- Trong kỹ thuật giao thông: Xe hai bánh di chuyển tự cân bằng như: Segway, Balancing scooter… Để di chuyển hướng đến trước hay lùi về sau, người điều khiển
Trang 13chỉ việc nghiên người về phía trước hay ngả người về phía sau; nếu muốn rẽ trái hay rẽ phải thì người điều khiển sử dụng tay lái
Hình 1.1 Xe hai bánh tự cân bằng Segway
- Trong kỹ thuật xây dựng: ứng dụng bộ điều khiển mô hình con lắc ngược cho các toà nhà cao tầng tại những nơi có kết cấu địa chất không ổn định, hay thường xuyên chịu gió bão
Hình 1.2 Tòa nhà cao tầng Burj Khalifa ở Dubai
- Trong lĩnh vực dầu khí: Các dàn khoan nhiều tầng trên biển, cũng có thể ứng dụng mô hình con lắc ngược để ổn định khi có các tác động bên ngoài như: sóng biển, gió bão…
Hình 1.3 Giàn PV DRILLING II
Trang 14- Trong nghiên cứu: Hệ con lắc 2 bậc trên xe trượt thường được ứng dụng để kiểm chứng các bộ điều khiển
Hình 1.4 Hệ Xe – Con lắc ngược hai bậc trên xe 1.3 Các công trình liên quan
Nhóm nghiên cứu của các tác giả: Hassanzadeh thuộc Đại học Tabriz - Iran, A.Nejadfard thuộc Đại học Tehran - Iran, và M Zadi thuộc Tarbiat Modares - Iran đã phân tích thiết kế bộ điều khiển tối ưu LQR, LQG, Model Reference Adaptive System (MRAS) để mô phỏng diều khiển hệ Xe – Con lắc 2 bậc
Hình 1.5 Xệ Xe – Con lắc 2 bậc tại Đại học Tabriz - Iran
Nhóm nghiên cứu của các tác giả: Naghmehm.Bandari, Amir Hooshiar, Masoudrazban, Javaddargahi, Chun-Yi Su thuộc Đại học Concordia, Montreal đã phân
Trang 15tích thiết kế bộ điều khiển tối ưu LQR để mô phỏng và điều khiển mô hình, so sánh kết quả của bộ điều khiển giữa mô phỏng và thực tế
Hình 1.6 Hệ Xe – Con lắc ngược hai bậc tại Khoa Kỹ thuật Cơ khí và Công
nghiệp, Đại học Concordia, Montreal
Nhóm tác giả: Dareini Ali & Dabrlexau Teerapong - Viện công nghệ Blekinge, Karlskrona, Thụy Điển, năm 2015; đã nghiên cứu hệ thống con lắc đôi ngược Trong nghiên cứu này, họ đã giải quyết vấn đề nhiễu do dây cảm biến gắn trên trục của con lắc thứ 2, bằng việc sử dụng camera xử lý ảnh để thu về vị trí của con lắc thứ 2
Hình 1.7 Hệ Xe – Con lắc ngược hai bậc tại Viện công nghệ Blekinge,
Karlskrona, Thụy Điển
Nhóm nghiên cứu của các tác giả: Yuanhong Dan, Peng Xu, Zhi Tan, Zushu Li thuộc Đại học Công nghệ Trùng Khánh, Trùng Khánh, Trung Quốc đã phân tích thiết
kế, chế tạo, mô phỏng và điều khiển thực tế một “Double pendulum robot”
Trang 16Hình 1.8 Double pendulum robot
Trong luận văn thạc sĩ “Thiết kế, chế tạo mô hình điều khiển cân bằng con lắc ngược hai bậc tự do” của tác giả Đỗ Minh Tiến, trường Đại Học Đà Nẵng 2013, hệ thống con lắc ngược hai bậc tự do trên xe cũng đã được thiết kế, chế tạo, mô phỏng và điều khiển Các kết quả mô phỏng cho thấy hệ thống đáp ứng khá tốt, nhưng việc điều khiển trên mô hình thực thì chưa điều khiển cân bằng được Điều đó cho thấy, việc điều khiển cân bằng hệ con lắc ngược hai bậc trên xe trượt trên mô hình thực tế để kiểm chứng các bộ điều khiển hiện đại vẫn là một khó khăn với các nghiên cứu trong nước ta hiện nay
Trong luận văn thạc sĩ “Điều khiển con lắc ngược hai bậc tự do dùng Fuzzy logic” của tác giả Trần Vi Đô, trường Đại Học Sư phạm Kỹ thuật thành phố Hồ Chí Minh 2014, hệ thống con lắc ngược hai bậc tự do trên xe cũng đã được thiết kế, chế tạo, mô phỏng và điều khiển thực tế Kết quả thu được từ đề tài này còn hạn chế, khi thời gian con lắc giữ cân bằng tại vị trí hướng lên chỉ trong khoảng 3 giây
Trong Hội nghị toàn quốc lần thứ 7 về Cơ Điện tử - VCM 2014, bài báo “Một số phương pháp điều khiển cân bằng con lắc ngược hai bậc tự do”, của nhóm tác giả: Trần Vi Đô, Nguyễn Minh Tâm, Ngô Văn Thuyên, Nguyễn Văn Đông Hải thuộc trường Đại Học Sư phạm kỹ thuật TP.HCM; bộ điều khiển mờ (Fuzzy) và bộ điều khiển tối ưu (LQR) để cân bằng hệ con lắc ngược hai bậc tự do được trình bày Hệ thống và bộ điều khiển được mô phỏng bằng công cụ Matlab/Simulink Ngoài ra, hai
bộ điều khiển trên cũng được áp dụng vào điều khiển mô hình thật nhằm đánh giá chất lượng của bộ điều khiển Kết quả điều khiển thực tế trên mô hình cho thấy với cả hai
bộ điều khiển, con lắc ngược hai bậc thực tế có khả năng duy trì ở vị trí cân bằng hướng lên
Trang 171.3 Mục tiêu và phạm vi nghiên cứu
Qua việc tìm hiểu các bài báo, các nghiên cứu, đề tài trong và ngoài nước hệ con lắc hai bậc trên xe trượt, luận văn này mục tiêu sẽ là điều khiển cân bằng và bám cho
hệ thống Xe trượt – Con lắc ngược 3 bậc tự do, cụ thể như sau:
- Xây dựng mô hình hệ con lắc 2 bậc trên xe trượt liên tục và rời rạc bằng Matlab Mô phỏng bộ điều khiển LQR + Tracking và bộ điều khiển LQG + Tracking,
so sánh kết quả đạt được
- Lắp ráp mô hình cơ khí hệ thống Xe trượt – Con lắc ngược 3 bậc tự do
- Lập trình vi điều khiển hai bộ điều khiển LQR + Tracking và bộ điều khiển LQG + Tracking để điều khiển mô hình cơ khí
1.4 Cấu trúc luận văn
Trong luận văn này, học viên sẽ tìm hiểu về bộ điều khiển tối ưu, kết hợp với bộ Kalman filter ước lượng các biến trạng thái không đo lường được, để điều khiển hệ Con lắc hai bậc trên xe trượt Học viên sẽ mô phỏng để kiểm chứng bộ điều khiển bằng matlab Simulink; sau đó sẽ dùng vi điều khiển STM32F407 Discovery lập trình nhúng các bộ điều khiển tối ưu để điều khiển mô hình thực tế hệ Con lắc hai bậc trên
xe trượt
Bố cục của luận văn
Cấu trúc của luận văn gồm có bốn chương:
- Chương 1: Tổng quan
- Chương 2: Mô hình hóa hệ Con lắc hai bậc trên xe trượt
- Chương 3: Mô phỏng điều khiển hệ thống
- Chương 4: Thiết kế và gia công phần cứng
- Chương 5: Lập trình điều khiển và giám sát
- Chương 6: Thực nghiệm
- Chương 7: Kết luận và hướng phát triển
Trang 18CHƯƠNG 2 MÔ HÌNH HÓA HỆ CON LẮC HAI BẬC TRÊN XE TRƯỢT
Xây dựng mô hình toán học cho hệ thống đóng vai trò mấu chốt trong quá trình thực hiện đề tài, đòi hỏi sự cẩn thận, tỉ mỉ trong tính toán, tránh sai sót Học viên đã sử dụng công cụ Matlab, để mô phỏng và kiểm tra tính đúng đắn của mô hình toán
2.1 Xây dựng mô hình toán học cho hệ thống
Hình 2.1 Sơ đồ hệ con lắc hai bậc trên xe
Hình 2.2 Sơ đồ tổng hệ thống điều khiển Con lắc 2 bậc trên xe trượt
Các thông số đối tượng điều khiển:
m1, m2 Trọng lượng con lắc 1, 2 Kg
Trang 19Ký hiệu Ý nghĩa Đơn vị
( )( )
2P x + 2P q + 2P q + P cos q x q + P cos q x q + P cosq - q q q
Trang 20- Áp dụng phương trình Euler-Lagrange cho xe trượt:
¶
++
l x
x l
Trang 212 2
-úú
1 2 2
1 1
Trang 22Chúng ta thấy đây là một hệ phi tuyến Do đó để thiết kế bộ điều khiển với mục tiêu ổn định các thông số trong hệ thống trong miền giá trị cân bằng, chúng ta tuyến tính hóa hệ với giả thiết các góc đủ nhỏ Khi đó ta có được:
2
2
2 1
2
1
2 2
2
2 3
4 5 3
2 1 1 3 2 2
1 2
1 2
( )
0( )
-& &
&
- Mô hình toán học động cơ:
Theo cấu trúc thật, ta chia động cơ thành 2 phần: điện và cơ như hình sau:
Hình 2.3 Mô hình hóa động cơ DC
Để điều khiển, ngõ vào của bộ điều khiển phải là lực tác động lên xe trượt Tuy nhiên lực này khó đạt được trong việc điều chỉnh động cơ thực tế Điều khiển động cơ
ta thường quy về điều khiển điệp áp cung cấp Do vậy, học viên tìm cách quy đổi lực F tác động lên xe trượt thành phương trình phụ thuộc điện áp cung cấp cho động cơ DC Cần các thông số động cơ để học viên có thể tiến hành mô hình hóa trong Matlab
Trang 23Bằng phương pháp nhận dạng đối với các động cơ bị mất thông số, hoặc tra tài liệu từ nhà sản xuất đối với các động cơ có nguồn gốc rõ ràng, chúng ta có thể xác định được các thông số cơ bản của động cơ Quan sát bảng thông số động cơ bên dưới:
Trang 24Biến đổi Laplace cho 2 phương trình phần điện và phần cơ, ta được:
Hệ thống động cơ có ngõ vào là điện áp cấp vào động cơ, ngõ ra tốc độ động
cơ Điện áp cấp vào tạo ra dòng điện chạy trong động cơ, tạo ra mômen điện Tốc độ động cơ phụ thuộc vào điện áp cấp vào và mômen cản tác động lên động cơ
Bỏ qua tải và moment cản, ta có:
Trang 251 2
5 6
2 2 1 1 2 2
1 2 1
2 1
3 1
Trang 26Tuyến tính hóa hệ thống quanh điểm làm việc tĩnh:
3 1
5
0 0 0
x x x
ìïï ïï íï ïï ïî
f u f u f u B f u f u f u
é¶ ù
ê¶ ú ú
ê¶ ú ú
ê¶ ú ú
ê¶ ú û
2.2 Các bộ điều khiển áp dụng cho hệ thống
2.2.1 Bộ điều khiển tối ưu LQR
Giải thuật toàn phương tuyến tính LQR đã được nhiều tác giả sử dụng để điều khiển mô hình Con lắc hai bậc trên xe Giải thuật LQR tính luật điều khiển dựa trên
mô hình tuyến tính cho trước Đối với mô hình Con lắc hai bậc trên xe, đây là mô hình phi tuyến, để áp dụng giải thuật LQR, ta phải tuyến tính hoá nó
Ta sẽ tuyến tính hóa đối tượng tại điểm làm việc:
Trang 272.2.2. Bộ ước lượng Kalman Filter
Trong bộ điều khiển, thực tế, ta rất khó bố trí đầy đủ các cảm biến để đo đạc tất
cả các biến trạng thái của hệ thống Đối với mô hình Hệ con lắc hai bậc trên xe trượt thực nghiệm, ta đọc giá trị encoder để suy ra vị trí, còn vận tốc không đo được trực tiếp hoặc khi đo qua phương pháp đạo hàm gây ra sai số lớn khi lấy mẫu tần số cao Trong trường hợp đó, ta phải ước lượng các biến trạng thái của hệ thống thông qua các giá trị vào và ra
Hệ thống với biểu diễn trạng thái:
Trang 28Trong đó K f được xác định sao cho E{x T x} cực tiểu:
2.2.3. Bộ điều khiển toàn phương Gaussian (LQG)
Bộ điều chỉnh toàn phương tuyến tính (LQR) và bộ Kalman filter được sử dụng với nhau để thiết kế bộ điều chỉnh động Thủ tục này được gọi là thiết kế bộ tuyến tính toàn phương Gaussian (LQG)
Điều thuận lợi quan trọng của việc thiết kế LQG là cấu trúc của bộ điều khiển được cho bởi thủ tục Điều này làm cho các bộ LQG được thiết kế rất có ích cho việc điều khiển các hệ thống hiện đại (ví dụ như điều khiển không gian và hàng không) khi cấu trúc bộ điều khiển không biết trước được
Giả sử phương trình đo lường ngõ ra được cho bởi:
với , là bộ điều khiển ngõ vào, là nhiễu quá trình, và là nhiễu đo Giả sử phương trình hồi tiếp trạng thái đầy đủ:
đã được thiết kế, với là ngõ vào chuẩn Độ lợi trạng thái hồi tiếp là được chọn bởi kỹ thuật LQR Thay vào thì hệ thống điều khiển vòng kín được tìm thấy như sau:
Thiết kế hồi tiếp trạng thái đầy đủ rất được quan tâm nếu các điều kiện được giữ thì hệ thống vòng kín đảm bảo ổn định Với bộ lọc Kalman ta tìm được độ lợi , khi đó tất cả các trạng thái không thể đo trong thực tế, được ước lượng hồi tiếp thay thế các trạng thái thực , luật điều khiển hồi tiếp là:
Nếu được chọn sử dụng phương trình Riccati LQR và được chọn bởi sử dụng phương trình Riccati của bộ lọc Kalman Phương pháp này được gọi là thiết kế LQG
LQG = LQR + Kalman
Trang 29r
x A x
r r
r r r
Ta có thể có thể chuyển bài toán điều khiển bám về bài toán ổn định hóa như sau: Xác định luật điều khiển hồi tiếp trạng thái để ổn định hóa hệ thống sao cho J cực tiểu
J =
0
T
) e
( e u T Ru dt; với R là ma trận đối xứng xác định dương
Hình 2.4 Bộ điều khiển Tracking
Trang 30- Bộ điều khiển PID:
Một bộ điều khiển vi tích phân tỉ lệ (bộ điều khiển PID - Proportional Integral Derivative) là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quát được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điều khiển PID là bộ điều khiển được sử dụng nhiều nhất trong các bộ điều khiển phản hồi Bộ điều khiển PID sẽ tính toán giá trị "sai số" là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặt mong muốn Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào Trong trường hợp không có kiến thức cơ bản (mô hình toán học)
về hệ thống điều khiển thì bộ điều khiển PID là sẽ bộ điều khiển tốt nhất Tuy nhiên,
để đạt được kết quả tốt nhất, các thông số PID sử dụng trong tính toán phải điều chỉnh theo tính chất của hệ thống-trong khi kiểu điều khiển là giống nhau, các thông số phải
phụ thuộc vào đặc thù của hệ thống
Giải thuật tính toán bộ điều khiển PID bao gồm 3 thông số riêng biệt, do đó đôi khi nó còn được gọi là điều khiển ba khâu: các giá trị tỉ lệ, tích phân và đạo hàm, viết tắt là P, I, và D Giá trị tỉ lệ xác định tác động của sai số hiện tại, giá trị tích phân xác định tác động của tổng các sai số quá khứ, và giá trị vi phân xác định tác động của tốc
độ biến đổi sai số
Bằng cách điều chỉnh 3 hằng số trong giải thuật của bộ điều khiển PID, bộ điều khiển có thể dùng trong những thiết kế có yêu cầu đặc biệt Đáp ứng của bộ điều khiển
có thể được mô tả dưới dạng độ nhạy sai số của bộ điều khiển, giá trị mà bộ điều khiển vọt lố điểm đặt và giá trị dao động của hệ thống Lưu ý là công dụng của giải thuật PID trong điều khiển không đảm bảo tính tối ưu hoặc ổn định cho hệ thống
Hình 2.5 Bộ điều khiển PID
Vài ứng dụng có thể yêu cầu chỉ sử dụng một hoặc hai khâu tùy theo hệ thống Điều này đạt được bằng cách thiết đặt đội lợi của các đầu ra không mong muốn về 0 Một bộ điều khiển PID sẽ được gọi là bộ điều khiển PI, PD, P hoặc I nếu vắng mặt các
Trang 31tác động bị khuyết Bộ điều khiển PI khá phổ biến, do đáp ứng vi phân khá nhạy đối với các nhiễu đo lường, trái lại nếu thiếu giá trị tích phân có thể khiến hệ thống không đạt được giá trị mong muốn
4 b0 Hệ số ma sát giữa thanh ray - xe trượt 𝑏0 0.03
5 b1, b2 Hệ số ma sát của con lắc thứ nhất và con
Trang 32CHƯƠNG 3 MÔ PHỎNG ĐIỀU KHIỂN HỆ THỐNG
Trong chương này, học viên sử dụng công cụ Matlab-Simulink để mô phỏng các bộ điều khiển cho hệ thống Xe – Con lắc 3 bậc tự do
3.1 Bộ điều khiển LQR liên tục
Mô hình Simulink của hệ Con lắc hai bậc trên xe trượt (Liên tục):
Hình 3.1 Hệ Xe-Con lắc hai bậc với bộ điều khiển LQR (Liên tục)
Các ma trận A, B, C của phương trình biến trạng thái hệ liên tục như sau:
Hình 3.2 Các ma trận của phương trình biến trạng thái (Liên tục)
Trang 33Chọn các ma trận trọng số Q, R để đáp ứng của các thông số hệ thống quan tâm tốt nhất, học viên chọn thông số 2 ma trận đó như sau:
Hình 3.3 Ma trận trọng số Q, R (Liên tục)
Từ các thông số trên, sử dụng Matlab học viên tính được giá trị của vector độ lợi K như sau:
Hình 3.4 Vector độ lợi K (Liên tục)
Thông số ban đầu của hệ thống:
Ta chọn sơ kiện chung cho tất cả các trường hợp là 0 0, 0, , 0, , 0
Trang 34Phương sai nhiễu đo vị trí xe trượt và 2 góc con lắc được chọn lần lượt là Vx=0.005, Vt1=0.005 và Vt2=0.005
Hình 3.6 Phương sai nhiễu đo
Kết quả đáp ứng của hệ thống liên tục với bộ điều khiển tối ưu LQR:
Hình 3.7 Đáp ứng ngõ ra của hệ thống 1
Nhận xét:
Với bộ điều khiển LQR cho mô hình liên tục của hệ con lắc ngược hai bậc trên
xe trượt, ta thấy kết quả đáp ứng tốt kể cả khi có nhiễu đo tương đối lớn với phương sai 0.05
Trang 35Để kết quả mô phỏng có thể gần nhất với kết quả khi chúng ta điều khiển trên
mô hình thực tế, tiến hành rời rạc hóa hệ thống với thời gian lấy mẫu phù hợp
3.2 Bộ điều khiển rời rạc
3.2.1 Bộ điều khiển LQR rời rạc
Mô hình Simulink của hệ Con lắc hai bậc trên xe trượt (Rời rạc):
Hình 3.8 Hệ Xe-Con lắc hai bậc với bộ điều khiển LQR (Rời rạc)
Các ma trận A, B, C của phương trình biến trạng thái hệ rời rạc như sau:
Hình 3.9 Các ma trận của hệ phương trình biến trạng thái (Rời rạc)
Trang 36Chọn các ma trận trọng số Q, R để đáp ứng của các thông số hệ thống quan tâm tốt nhất, học viên chọn thông số 2 ma trận đó như sau:
Hình 3.10 Ma trận trọng số Q, R (Rời rạc)
Từ các thông số trên, sử dụng Matlab học viên tính được giá trị của vector độ lợi K như sau:
Hình 3.11 Vector độ lợi K (Rời rạc)
Ta chọn sơ kiện chung cho tất cả các trường hợp là 0 0,0, ,0, ,0
T
dễ dàng so sánh Thời gian lấy mẫu là Ts=0.001s và mô phỏng trong vòng 100 giây
Hình 3.12 Khai báo tham số cho hệ thống 2