LỜI CAM ĐOAN Phương pháp đa thức được mở rộng vào không gian trạng thái để xây dựng bộ điều khiển còn rất mới nhưng đã cho thấy khả năng đáp ứng chính xác, nhanh và không có vọt lố.Vì vậ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
ĐIỀU KHIỂN CÂN BẰNG CON LẮC NGƯỢC
SỬ DỤNG PHƯƠNG PHÁP ĐA THỨC
TS Nguyễn Chánh Nghiệm Nguyễn Vủ Linh (MSSV: 1117912) ThS Trần Nhựt Thanh Ngành: KTĐK&TĐH – Khoá: 37
Tháng 5/2015
Trang 2NHẬN XÉT VÀ ĐÁNH GIÁ CỦA CÁN BỘ HƯỚNG DẪN
1 Cán bộ hướng dẫn: TS Nguyễn Chánh Nghiệm
2 Nội dung:
Cần Thơ, ngày …… tháng …… năm 20……
CÁN BỘ HƯỚNG DẪN
Trang 3NHẬN XÉT VÀ ĐÁNH GIÁ CỦA CÁN BỘ HỘI ĐỒNG PHẢN BIỆN
1 Cán bộ phản biện: ThS Nguyễn Huỳnh Anh Duy
2 Nội dung:
Cần Thơ, ngày …… tháng …… năm 20……
CÁN BỘ HỘI ĐỒNG PHẢN BIỆN
Trang 4NHẬN XÉT VÀ ĐÁNH GIÁ CỦA CÁN BỘ HỘI ĐỒNG PHẢN BIỆN
1 Cán bộ phản biện: ThS Nguyễn Văn Khanh
2 Nội dung:
Cần Thơ, ngày …… tháng …… năm 20……
CÁN BỘ HỘI ĐỒNG PHẢN BIỆN
Trang 5LỜI CAM ĐOAN
Phương pháp đa thức được mở rộng vào không gian trạng thái để xây dựng
bộ điều khiển còn rất mới nhưng đã cho thấy khả năng đáp ứng chính xác, nhanh và
không có vọt lố.Vì vậy để nghiên cứu sâu hơn về phương pháp này, tôi chọn đề tài
“Điều khiển cân bằng con lắc ngược sử dụng phương pháp đa thức” để làm
luận văn tốt nghiệp cho mình
Trong quá trình thực hiện đề tài, có thể còn nhiều thiếu sót do kiến thức hạn
chế nhưng những nội dung trình bày trong quyển báo cáo này là những hiểu biết và
thành quả của tôi đạt được dưới sự hướng dẫn của thầy Nguyễn Chánh Nghiệm và
thầy Trần Nhựt Thanh
Tôi xin cam đoan những số liệu đo đạc và những kết quả tính toán trong đề
tài nghiên cứu này do chính tôi thực hiện và chưa có bất kì công bố nào tương tự
trước đó
Sinh viên thực hiện
Nguyễn Vủ Linh
Trang 6LỜI CẢM ƠN
Để có thể hoàn thành chương trình bậc đại học cũng như đề tài nghiên cứu
này, ngoài cố gắng của bản thân, tôi cũng đã nhận được rất nhiều sự giúp đỡ
Trước tiên, xin gởi lời thành kính nhất đến với cha mẹ tôi Người đã sinh ra
và nuôi dạy tôi đến ngày trưởng thành Biết bao giọt mồ hôi, biết bao giọt nước mắt
và rất nhiều hy vọng đặt vào tôi Và từ giờ, cha mẹ sẽ nhận được những thành quả
mà cha mẹ xứng đáng có được Những dòng chữ này chính là bắt đầu cho sự hứa
hẹn đó!
Xin gửi lời cảm ơn tới Thầy Nguyễn Văn Khanh – Cố vấn học tập lớp và tất
cả các bạn trong lớp, đã hỗ trợ và giúp đỡ tôi trong quá trình học
Đặc biệt gửi lời cảm ơn đến Thầy Nguyễn Chánh Nghiệm và Thầy Trần
Nhựt Thanh Cảm ơn hai Thầy trong suốt thời gian qua đã nhiệt tình chỉ dẫn và rèn
luyện cho em Sau khi hoàn thành đề tài này, ngoài kiến thức chuyên môn, em đã
lĩnh hội được rất nhiều kiến thức thực tế khác từ hai Thầy
Xin gửi lời cảm ơn trân trọng nhất đến hội đồng phản biện Cảm ơn hội đồng
đã chỉ ra những điểm mạnh cũng như những hạn chế tôi gặp phải trong quá trình
thực hiện Đề tài
Xin cảm ơn thầy Nguyễn Văn Khanh, anh Nguyễn Ngô Phong và tất cả
những ai đã giúp đỡ tôi trong suốt thời gian qua mà tôi chưa nhắc đến trên đây, do
sơ xót của tôi hay do dung lượng trình bày hạn chế
Trân trọng
Sinh viên thực hiện
Trang 7MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC KÍ HIỆU v
DANH MỤC HÌNH vi
DANH MỤC BẢNG viii
TÓM TẮT ix
ABSTRACT ix
CHƯƠNG 1 1
TỔNG QUAN 1
1.1 GIỚI THIỆU ĐỀ TÀI VÀ LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1
1.2 MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI 2
1.2.1 Mục tiêu đề tài 2
1.2.2 Phạm vi đề tài 2
1.3 PHƯƠNG PHÁP NGHIÊN CỨU VÀ CẤU TRÚC BÀI BÁO CÁO 3
1.3.1 Phương pháp nghiên cứu 3
1.3.2 Cấu trúc bài báo cáo 3
CHƯƠNG 2 4
CƠ SỞ LÝ THUYẾT 4
2.1 TỔNG QUAN VỀ MÔ HÌNH CON LẮC NGƯỢC 4
2.1.1 Mô hình con lắc ngược 4
2.1.2 Mô hình toán học của con lắc ngược 4
2.1.3 Mô hình con lắc ngược trên MATLAB – Simulink 7
2.2 ĐA THỨC ĐẶC TRƯNG 8
2.3 MỞ RỘNG PHƯƠNG PHÁP ĐA THỨC VÀO KHÔNG GIAN TRẠNG THÁI 8
2.4 GIAO TIẾP DSP TMS320F28335 VÀ MATLAB – SIMULINK 10
CHƯƠNG 3 12
NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 12
Trang 83.1 SƠ ĐỒ KHỐI TỔNG QUÁT 12
3.2 THIẾT KẾ BỘ ĐIỀU KHIỂN BẰNG PHƯƠNG PHÁP ĐA THỨC 13
3.2 XÂY DỰNG VÀ MÔ PHỎNG BỘ ĐIỀU KHIỂN BẰNG PHƯƠNG PHÁP ĐA THỨC TRÊN SIMULINK 16
3.3 THỰC NGHIỆM KIỂM TRA GIẢI THUẬT ĐIỀU KHIỂN TRÊN MÔ HÌNH 20
3.3.1 Sơ đồ chương trình điều khiển 20
3.3.2 Chi tiết chương trình điều khiển 21
3.3.3 Kết quả thí nghiệm 34
CHƯƠNG 4 35
KẾT LUẬN VÀ ĐỀ NGHỊ 35
TÀI LIỆU THAM KHẢO 36
PHỤ LỤC A: TỔNG QUAN VỀ MẠCH ĐIỆN 37
PHỤ LỤC B: PHẦN LẬP TRÌNH 42
PHỤ LỤC C: MÔ HÌNH THỰC TẾ 51
Trang 9
DANH MỤC KÍ HIỆU
PID Proportional Integral Derivative
Trang 10DANH MỤC HÌNH
Hình 2.1 Mô hình con lắc ngược 4
Hình 2.2 Sơ đồ phân tích lực 5
Hình 2.3 Mô hình momen tác dụng lên con lắc 6
Hình 2.4 Mô hình con lắc ngược phi tuyến 7
Hình 2.5 Sơ đồ khối của bộ điều khiển hồi tiếp trạng thái 9
Hình 3.1: Sơ đồ khối tổng quát 12
Hình 3.2 Mô hình Simulink mô phỏng bộ điều khiển hồi tiếp trạng thái 16
Hình 3.3: Khối Subsystem 17
Hình 3.4: Thiết đặt cấu hình mô phỏng 17
Hình 3.5 Đáp ứng của vị trí xe với bộ điều khiển 18
Hình 3.7: Đáp ứng của điện áp điều khiển với bộ điều khiển 19
Hình 3.9: Sơ đồ chương trình điều khiển 20
Hình 3.10: Sơ đồ chương trình chính 21
Hình 3.11: Khối nhận xung từ Encoder vị trí xe 21
Hình 3.12: Cấu hình Tab General module eEQP 22
Hình 3.13: Cấu hình Tab Position Counter module eEQP 23
Hình 3.14: Cấu hình Tab Signal data types module eEQP 23
Hình 3.15: Khối nhận xung từ Encoder đo góc lệch 24
Hình 3.17: Cấu hình Tab Position Counter module eEQP1 25
Hình 3.18: Cấu hình Tab Signal data types module eEQP1 26
Hình 3.19: Sơ đồ chương trình bộ điều khiển 26
Hình 3.20: Khối cho phép gửi dữ liệu lên máy tính 27
Hình 3.21: Cấu trúc bên trong khối gửi dữ liệu lên máy tính 27
Hình 3.22: Khối chương trình chính 27
Hình 3.23: Cấu trúc bên trong khối chương trình chính 28
Hình 3.24: Khối tính toán giá trị xung từ Encoder 28
Hình 3.25: Cấu trúc bên trong khối tính toán giá trị xung từ Encoder 28
Hình 3.26: Khối chuyển đổi dữ liệu và feedback 29
Hình 3.27: Khối hiệu chỉnh giá trị điện áp 30
Hình 3.28: Khối cho phép gửi xung PWM 30
Hình 3.29: Khối hiệu chỉnh dữ liệu 31
Hình 3.30: Khối hiệu chỉnh dữ liệu số có dấu 31
Trang 11Hình 3.33: Cấu hình Tab General module ePWM 33
Hình 3.34: Cấu hình Tab Position Counter module ePWM 34
Hình A.1: Sơ đồ khối kết nối mạch điện 37
Hình A.2: Mạch điều khiển trung tâm 38
Hình A.3: USB Docking Station 39
Hình A.4: F28335 Delfino Family Control Card 39
Hình A.5: Vi điều khiển TMS320F28335 40
Hình A.6: Mạch chuyển mức logic 41
Hình A.7: Mạch công suất điều khiển động cơ 41
Hình B.1: Khởi động Simulink 42
Hình B.3: Giao diện cửa sổ Configuration Parameters 44
Hình B.4: Phím Run 45
Hình B.5: Cấu hình tab Coder Target 45
Hình B.6: Chọn phần cứng tương ứng 46
Hình B.7: Giao diện chính của CCSv5 47
Hình B.8: Cửa sổ Target Configuration 48
Hình B.9: Cửa sổ tạo file Target Configuration 48
Hình B.10: Cửa sổ cấu hình file Target Configuration 49
Hình B.12: Cửa sổ kết nối CCSv5 với board điều khiển 50
Hình C.1: Mô hình con lắc ngược thực tế 51
Trang 12DANH MỤC BẢNG
Bảng 3.1: Thông số mô hình con lắc ngược 15
Bảng 3.2: Thông số mô phỏng với bộ điều khiển hồi tiếp trạng thái 16
Bảng 3.3: Đáp ứng quá độ của hệ hồi tiếp 19
Bảng C.1: Các thông số của hệ thống con lắc ngược 51
Trang 13TÓM TẮT
Điều khiển cân bằng con lắc ngược là đề tài phổ biến trong lĩnh vực điều khiển Tuy nhiên đa số các phương pháp đề xuất thường cho đáp ứng có vọt lố Một phương pháp khá mới được áp dụng vào không gian trạng thái để cho đáp ứng không có vọt lố đó là phương pháp đa thức Vì vậy luận văn đề xuất thiết kế bộ điều khiển cho hệ con lắc ngược một bậc tự do trong không gian trạng thái sử dụng phương pháp đa thức Kết quả mô phỏng cho thấy, đáp ứng của hệ thống với bộ điều khiển được thiết kế có thời gian đáp ứng nhanh là 2 giây, không có độ vọt lố ở
vị trí và vị trí được giữ tại một vị trí xác định mà không có sai số Ngoài ra, góc lệch con lắc có vọt lố rất nhỏ (khoảng 0.03%), thời gian đáp ứng nhanh và sai số bị triệt tiêu Kết quả thực nghiệm trên mô hình cho đáp ứng chưa tốt, con lắc còn dao động và xe chưa được giữ tại một vị trí
Từ khoá: con lắc ngược, không gian trạng thái, phương pháp đa thức
ABSTRACT
Ballancing an inverted pendulum is a common topic in the field of control However most of the proposed methods experience an overshoot A new control method applied in the state space that has no overshoot is the polynomial method This thesis proposed polynomial method in the state space to design the controller for ballancing an inverted pendulum The simulation results showed that the time response of the controlled system has quick response is two seconds and without overshoot The controlled in vehicle position is held at a specified position without steady state error In addition, the pendulum angle has a very small overshoot (about 0.03 percent), quick response and the steady state error is suppressed Experimental results on the physical model was not so good as the simulation results The pendulum had some oscillation and the vehicle could not be maintained
in a certain position
Keyword: inverted pendulum, state space, polynomial method
Trang 14CHƯƠNG 1 TỔNG QUAN 1.1 GIỚI THIỆU ĐỀ TÀI VÀ LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Việc mở rộng áp dụng phương pháp đa thức vào thiết kế hệ thống điều khiển trong không gian trạng thái còn rất mới nhưng đã cho thấy sự thành công trong việc kết hợp phương pháp đa thức và phương pháp thiết kế bộ điều khiển trong không gian trạng thái lại với nhau để tạo nên bộ điều khiển điều khiển tốt một hệ thống phức tạp như hệ con lắc ngược hai bậc
Với việc sử dụng phương pháp đa thức thiết kế bộ điều khiển sẽ cho đáp ứng nhanh, không có vọt lố và sai số xác lập không đáng kể Đây là một phương pháp còn khá mới và chưa được biết đến rộng rãi nên việc nghiên cứu tìm hiểu là rất cần thiết
Bên cạnh đó, những bộ điều khiển như PID, LQR, Fuzzy đã được nghiên cứu trước đây có ưu điểm là không cần quan tâm đến mô hình toán của hệ thống, chỉ cần dùng phương pháp thử sai và hiệu chỉnh thông số của bộ điều khiển sẽ cho đáp ứng ngõ ra hệ thống, tuy nhiên, việc hiệu chỉnh thông số chính xác để cho đáp ứng tốt sẽ gây mất nhiều thời gian Các bộ điều khiển trên vẫn còn cho đáp ứng có vọt lố Một phương pháp được nghiên cứu là phương pháp giản đồ hệ số, với bộ điều khiển sử dụng phương pháp này sẽ cho ngõ ra đáp ứng hệ thống nhanh và không có vọt lố Tuy nhiên, với những hệ thống bậc cao như hệ thống con lắc ngược thì việc tìm các thông số cho bộ điều khiển rất khó khăn do phương pháp đa thức sử dụng hàm truyền Để giải quyết vấn đề khó khăn trên, phương pháp đa thức được mở rộng vào không gian trạng thái để thiết kế bộ điều khiển có đáp ứng ngõ ra không có vọt lố
Hệ thống con lắc ngược là một hệ thống phức tạp, không ổn định và có tính phi tuyến Việc điều khiển giữ con lắc cân bằng tại một vị trí xác định là vấn đề rất được quan tâm trong lĩnh vực điều khiển tự động Cho đến hiện nay đã có rất nhiều nhà nghiên cứu đã sử dụng các thuật toán khác nhau để điều khiển hệ thống con lắc ngược như thuật toán PID, điều khiển trượt, điều khiển tối ưu LQR, điều khiển mờ, điều khiển PD mờ và đã thu được những thành công đáng kể Một số nghiên cứu đã được thực hiện như nghiên cứu của J Yi, N Yubazaki tại Technology Research
Trang 15Center, Mycom, Inc., 12, S Shimobano, Saga Hirosawa, Ukyo, Kyoto 616-8303, Japan [1] sử dụng bộ điều khiển ổn định mờ để điều khiển hệ con lắc ngược cho kết quả vị trí xe và góc lệch con lắc vẫn còn vọt lố và thời gian đáp ứng chưa nhanh, nghiên cứu của Sudeep Sharma, Vijay Kumar, Raj Kumar [2] tại Electronics & Computer Engineering Department, IIT Roorkee, Roorkee, Hardwar sử dụng bộ điều khiển ADALINE Artificial Neural Network with Varying System Parameters and External Disturbance kết quả cho thấy hệ thống vẫn còn chưa ổn định Ở trường Đại Học Cần Thơ nhóm sinh viên Đặng Hải Đăng và Nguyễn Ngô Phong [3] đã thực hiện thành công việc điều khiển hệ thống con lắc ngược với kết quả khá tốt, con lắc được giữ cân bằng tại một vị trí, nghiên cứu của Nguyễn Văn Khanh, Nguyễn Vĩnh Hảo, Nguyễn Ngô Phong tại trường Đại Học Cần Thơ đã sử dụng bộ điều khiển cuốn chiếu, kết quả đáp ứng khá tốt Nhưng những nghiên cứu nêu trên kết quả đáp ứng vẫn còn vọt lố Thế nên luận văn thực hiện đề tài này nhằm thiết kế
bộ điều khiển điều khiển hệ thống cho đáp ứng không có vọt lố
Từ những nguyên nhân trên tôi quyết định chọn đề tài: “ĐIỀU KHIỂN CÂN BẰNG CON LẮC NGƯỢC SỬ DỤNG PHƯƠNG PHÁP ĐA THỨC”
nhằm nghiên cứu kỹ hơn về phương pháp đa thức và áp dụng phương pháp này để thiết kế bộ điều khiển điều khiển một hệ thống cụ thể
1.2 MỤC TIÊU VÀ PHẠM VI ĐỀ TÀI
1.2.1 Mục tiêu đề tài
Xây dựng bộ điều khiển sử dụng phương pháp đa thức trên Simulink,
kiểm nghiệm giải thuật với mô hình toán và mô phỏng giải thuật
Xây dựng chương trình điều khiển trên Simulink và nạp xuống board
DSP TMS320F28335 để điều khiển mô hình con lắc ngược sẳn có
1.2.2 Phạm vi đề tài
Mô phỏng hệ thống bằng phần mềm MATLAB – Simulink
Điều khiển cân bằng con lắc ngược một bậc tại một vị trí xác định bằng phương pháp đa thức
Trang 161.3 PHƯƠNG PHÁP NGHIÊN CỨU VÀ CẤU TRÚC BÀI BÁO CÁO
1.3.1 Phương pháp nghiên cứu
Phương pháp tổng hợp tài liệu
Nghiên cứu cơ sở lý thuyết về phương pháp đa thức và cách sử dụng phương pháp đa thức trong thiết kế bộ điều khiển cho hệ thống con lắc ngược một bậc
1.3.2 Cấu trúc bài báo cáo
Nội dung quyển báo cáo gồm 3 chương:
Chương 1, trình bày các nội dung cơ bản nhất về đề tài, đồng thời đưa ra mục tiêu, phạm vi đề tài và phương pháp thực hiện luận văn
Chương 2, trình bày lý thuyết để xây dựng bộ điều khiển trong không gian trạng thái dung phương pháp đa thức
Chương 3, trình bày thiết kế bộ điều khiển dùng phương pháp đa thức, xây dựng và mô phỏng hệ thống con lắc ngược trên Simulink và thực nghiệm đưa giải thuật điều khiển vào mô hình thực tế
Trang 17CHƯƠNG 2
CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ MÔ HÌNH CON LẮC NGƯỢC
2.1.1 Mô hình con lắc ngược
Xét hệ thống con lắc ngược như Hình 2.1 Hệ thống gồm một con lắc có trục quay tự do được gắn vào xe kéo bởi động cơ điện Chúng ta chỉ xét bài toán trong không gian hai chiều, nghĩa là con lắc chỉ di chuyển trong mặt phẳng Con lắc không ổn định vì nó luôn ngã xuống trừ khi có lực tác động thích hợp (lực điều
khiển F tác động vào xe) Yêu cầu của bài toán là điều khiển vị trí của xe và giữ con
lắc luôn thẳng đứng (luôn cân bằng)
Hình 2.1 Mô hình con lắc ngược [3]
Các thông số trong mô hình được mô tả trong Hình 2.1 gồm có:
l: khoảng cách từ tâm con lắc đến điểm gốc (m)
M: khối lượng xe (kg)
m: khối lượng con lắc (kg)
I: momen quán tính của con lắc (kg.m2)
𝜃: góc lệch giữa con lắc ngược và phương thẳng đứng (rad)
F: lực tác động vào xe (N)
2.1.2 Mô hình toán học của con lắc ngược [3]
Trang 18Mô hình toán học của hệ thống có thể đucợ thiết lập bằng phương pháp phân
𝐹 = 𝑀𝑑2𝑥
𝑑𝑡2 + 𝑚 𝑑2
𝑑𝑡2(𝑥 + 𝑙𝑠𝑖𝑛𝜃) + 𝑏𝑥̇ (2.3) Khai triển các đạo hàm của (2.3) và rút gọn, ta được:
𝐹 = 𝑥̈(𝑀 + 𝑚) + 𝑏𝑥̇ − 𝑚𝑙(𝑠𝑖𝑛𝜃)𝜃̇2+ 𝑚𝑙(𝑐𝑜𝑠𝜃)𝜃̈ (2.4) Mặt khác, áp dụng định luật II Newton cho chuyển động quay của con lắc
quanh trục, ta được:
Trang 19Hình 2.3 Mô hình momen tác dụng lên con lắc [3]
𝐹𝑥 = 𝑚 𝑑2
𝑑𝑡2𝑥𝐺 = 𝑚[𝑥̈ − 𝑙(𝑠𝑖𝑛𝜃)𝜃̇2+ 𝑙(𝑐𝑜𝑠𝜃)𝜃̈] (2.7)
𝐹𝑦 = 𝑚 𝑑2
𝑑𝑡2𝑦𝐺 = 𝑚[𝑙(𝑐𝑜𝑠𝜃)𝜃̇2+ 𝑙(𝑠𝑖𝑛𝜃)𝜃̈] (2.8) Thay (2.7) và (2.8) vào (2.6), ta được:
𝜃̈(𝐼 + 𝑚𝑙2) + 𝑚𝑔𝑙𝑠𝑖𝑛𝜃 = −𝑚𝑥̈(𝑐𝑜𝑠𝜃)𝑙 (2.9)
Từ hai phương trình (2.4) và (2.9), ta có hệ:
{𝐹 = 𝑥̈(𝑀 + 𝑚) + 𝑏𝑥̇ − 𝑚𝑙(𝑠𝑖𝑛𝜃)𝜃̇2+ 𝑚𝑙(𝑐𝑜𝑠𝜃)𝜃̈
𝜃̈(𝐼 + 𝑚𝑙2) − 𝑚𝑔𝑙𝑠𝑖𝑛𝜃 = −𝑚𝑥̈(𝑐𝑜𝑠𝜃)𝑙 (2.10) Với 𝐹 =𝐾𝑚 𝐾𝑔
𝑅𝑟 𝑉 −𝐾𝑚2𝐾𝑔2
𝑅𝑟 2 𝑥̇ (2.11) Các thông số trong (2.11) gồm có:
𝐾𝑚: hằng số momen động cơ (Nm/A)
𝐾𝑔: Hệ số giảm tốc R: điện trở phần ứng động cơ (Ohm) r: bán kính puly (m)
V: điện áp cấp cho động cơ (V)
Trang 20Bằng cách áp dụng định luật Newton ta có được hệ phương trình (2.10) mô
tả mô hình toán học của hệ con lắc ngược là cơ sở cho việc khảo sát các thuật toán điều khiển trên MATLAB – Simulink
2.1.3 Mô hình con lắc ngược trên MATLAB – Simulink
Từ hệ phương trình (2.10), ta có:
{𝑥̈ = [𝐹 − 𝑏𝑥̇ + 𝑚𝑙(𝑠𝑖𝑛𝜃)𝜃̇2− 𝑚𝑙(𝑐𝑜𝑠𝜃)𝜃̈]/(𝑀 + 𝑚)
𝜃̈ = [−𝑚𝑥̈(𝑐𝑜𝑠𝜃)𝑙 − 𝑚𝑔𝑙𝑠𝑖𝑛𝜃]/(𝐼 + 𝑚𝑙2) (2.12) Đặt:
Trang 212.2 ĐA THỨC ĐẶC TRƯNG
Cho hàm truyền vòng kín của hệ thống:
𝑎𝑛𝑠𝑛+ 𝑎𝑛−1𝑠𝑛−1+ ⋯ + 𝑎1𝑠 + 𝑎0 (2.14) Trong đó, 𝑎𝑖 (i=0,1,…,n) là hệ số của đa thức đặc trưng P(s),
𝑃(𝑠) = 𝑎𝑛𝑠𝑛+ 𝑎𝑛−1𝑠𝑛−1+ ⋯ + 𝑎1𝑠 + 𝑎0 (2.15) Trong phương pháp đa thức, chỉ số đặc trưng 𝛾𝑖 (i=1,…,n - 1) và hằng số thời gian 𝜏 được định nghĩa như sau:
và hằng số thời gian 𝜏 được dựa vào tiêu chuẩn ổn định của phương pháp giản đồ hệ
số (Coefficient Diagram Method)
Trong phương pháp giản đồ hệ số, chỉ số đặc trưng có thể được lựa chọn như sau:
𝑦1 = 2.5, 𝑦𝑖 = 2 𝑐ℎ𝑜 𝑖 = 2, … , 𝑛 − 1 (2.19)
Để có thể cho đáp ứng tốt và không có vọt lố xảy ra, ta có thể thay đổi chỉ số đặc trưng 𝛾𝑖 sao cho thỏa mãn điều kiện ổn định của tiêu chuẩn ổn định trong phương pháp giản đồ hệ số
2.3 MỞ RỘNG PHƯƠNG PHÁP ĐA THỨC VÀO KHÔNG GIAN TRẠNG THÁI [4] [6]
Ngoài việc sử dụng hàm truyền như (2.14), phương pháp đa thức có thể được
mở rộng vào thiết kế bộ điều khiển đa đầu vào đa đầu ra (MIMO) Phương trình không gian trạng thái mô tả hệ thống là:
Trang 22𝑋̇ = 𝐴𝑋 + 𝐵𝑈, (2.20)
𝑌 = 𝐶𝑋 + 𝐷𝑈,
Trong đó: 𝑋 ∈ ℝ𝑛, 𝑌 ∈ ℝ𝑞, 𝑈 ∈ ℝ𝑝 và A, B, C, D là các ma trận hệ số có
kích thước phù hợp X là vector trạng thái, Y là ngõ ra và U là lực tác động
Sơ đồ khối của bộ điều khiển hồi tiếp trạng thái (Hình 2.5) có thể được xây
dựng với luật điều khiển
𝑈 = 𝑅 − 𝐾𝑋, 𝐾 ∈ ℝ𝑝𝑥𝑛 (2.21) Với K là ma trận độ lợi của bộ điều khiển và R là ngõ vào tham khảo
Hình 2.5 Sơ đồ khối của bộ điều khiển hồi tiếp trạng thái
Mối quan hệ giữa ngõ vào và ngõ ra được thể hiện bởi:
𝑌 = (𝐶 − 𝐷𝐾)(𝑠𝐼 − 𝐴 + 𝐵𝐾)−1𝐵𝑅 + 𝐷𝑅 (2.22) Đặt:
𝑀 = 𝑠𝐼 − 𝐴 + 𝐵𝐾 (2.23) Ngõ ra Y ở (2.22) có thể được đơn giản hóa như sau:
𝑌 = 𝑎𝑑𝑗(𝑀)(𝐶 − 𝐷𝐾)𝐵 + det(𝑀) 𝐷
det(𝑀) 𝑅 (2.24) Với adj(M) là ma trận liên hợp của M và det(M) là định thức của M
Trong (2.24), A, B, C, D là các ma trận hệ số, và chỉ có ma trận M chứa toán
tử Laplace “s” Định thức của M là đa thức đặc trưng của hệ thống vòng kín
det(𝑀) = 𝑠𝑛+ 𝑎𝑛−1(𝐾)𝑠𝑛−1+ ⋯ + 𝑎1(𝐾)𝑠 + 𝑎0(𝐾) (2.25)
Ma trận độ lợi hồi tiếp K có thể được thiết kế bằng phương pháp đa thức
thông qua chỉ số đặc trưng và hằng số thời gian:
Trang 23𝛾𝑖 = 𝑎𝑖2(𝐾)
𝑎𝑖−1(𝐾)𝑎𝑖+1(𝐾), 𝜏 =
𝑎1(𝐾)
𝑎0(𝐾) (2.26) Trong hệ thống SIMO, đặc biệt là hệ thống MIMO, ma trận độ lợi K trong điều khiển hồi tiếp trạng thái có thể được xác định bởi công thức Ackermann thông qua chỉ số đặc trưng và hằng số thời gian,
𝐾 = 𝑒𝑛𝑆−1𝑃(𝐴) (2.27) Với 𝑒𝑛 vector đơn vị với kích thước n và S là ma trận điều khiển được,
𝑒𝑛 = [0 0 … 0 1] (2.28)
𝑆 = [𝐵 𝐴𝐵 𝐴2𝐵 … 𝐴𝑛−1𝐵] (2.29) P(A) trong (2.27) là đa thức của ma trận A có thể được viết dười dạng:
𝑃(𝐴) = 𝐴𝑛+ 𝑎𝑛−1𝐴𝑛−1+ 𝑎𝑛−2𝐴𝑛−2+ ⋯ + 𝑎1𝐴 + 𝑎0𝐼 (2.30) Với 𝑎𝑖 là hệ số của đa thức đặc trưng mục tiêu được thiết kế thông qua các công thức liên qua với chỉ số đặc trưng 𝛾𝑖 và hằng số thời gian 𝜏 I là ma trận đơn vị kích thước nxn Các hệ số 𝑎𝑖 trong (2.30) được định nghĩa như sau:
2.4 GIAO TIẾP DSP TMS320F28335 VÀ MATLAB – SIMULINK
TMS320F28335 thuộc dòng vi điều khiển 32 bits C2000 của hãng TI Dòng
vi điều khiển này cho phép người lập trình phát triển ứng dụng của mình dưới ngôn ngữ lập trình cấp cao với các thuật toán đòi hỏi quá trình tính toán nhanh lượng xử
lý dữ liệu lớn mà không cần thêm một vi xử lý khác hỗ trợ
Trong phần mềm MATLAB – Simulink có hỗ trợ thư viện Embedded Coder của dòng vi điều khiển TMS320F28335 Người lập trình có thể thiết kế xây dựng các bộ điều khiển mong muốn Sau khi xây dựng bộ điều khiển thành công, cần phải Build code thành file out
Trang 24Muốn nạp code xuống vi điều khiển TMS320F28335 cần phải sử dụng phần mềm hỗ trợ biên dịch Code Composer Studio (CCS) của hãng TI để biên dịch thành chương trình C và nạp vào vi điều khiển
Trang 25CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 3.1 SƠ ĐỒ KHỐI TỔNG QUÁT
Hình 3.1 mô tả sơ đồ tổng quát các khối chính liên kết với nhau gồm máy tính, Kit DSP TMS320F28335, mạch công suất, mạch chuyển mức logic và mô hình con lắc ngược
Hình 3.1: Sơ đồ khối tổng quát
Từ mô hình toán con lắc ngược, mô hình trên MATLAB – Simulink được xây dựng và sau đó được biên dịch thành chương trình C, rồi từ chương trình C dùng phần mềm CCSv5 biên dịch và nạp xuống Kit DSP TMS320F28335 Kit DSP TMS320F28335 nhận giá trị từ Encoder của mô hình, tính toán xử lí số liệu và xuất xung PWM sang board công suất, đồng thời truyền giá trị góc lệch, vị trí xe và điện
áp về máy tính Mạch công suất nhận xung PWM từ Kit DSP rồi khuếch đại điện áp cấp nguồn cho động cơ DC của mô hình con lắc ngược Mạch chuyển mức logic
MÁY TÍNH
DSP
MẠCH CÔNG SUẤT
MẠCH CHUYỂN MỨC LOGIC
MÔ HÌNH CON LẮC NGƯỢC
Trang 26chuyển đổi điện áp thích hợp của xung Encoder truyền vào Kit DSP Mô hình nhận
điện áp từ mạch công suất và thực thi, xuất giá trị xung Encoder
3.2 THIẾT KẾ BỘ ĐIỀU KHIỂN BẰNG PHƯƠNG PHÁP ĐA THỨC [4] [7]
Trong chương 2, ta đã tìm được mô hình toán học của hệ con lắc ngược:
{𝑢 = 𝑥̈(𝑀 + 𝑚) + 𝑏𝑥̇ − 𝑚𝑙(𝑠𝑖𝑛𝜃)𝜃̇2+ 𝑚𝑙(𝑐𝑜𝑠𝜃)𝜃̈
𝜃̈(𝐼 + 𝑚𝑙2) − 𝑚𝑔𝑙𝑠𝑖𝑛𝜃 = −𝑚𝑥̈(𝑐𝑜𝑠𝜃)𝑙 (3.1) Trong đó:
l: khoảng cách từ tâm con lắc đến điểm gốc (m)
M: khối lượng xe (kg)
m: khối lượng con lắc (kg)
I: momen quán tính của con lắc (kg.m2)
𝜃: góc lệch giữa con lắc ngược và phương thẳng đứng (rad)
u: là lực tác động (N)
Để có thể xây dựng bộ điều khiển hồi tiếp trạng thái bằng phương pháp đa
thức cho hệ thống, ta phải tiến hành tuyến tính hóa hệ phương trình (3.1) Giả sử
góc ∅ rất nhỏ là góc lệch khi con lắc gần đạt giá trị cân bằng, khi đó 𝜃 = 𝜋 − ∅ Do
∅ rất nhỏ nên ta có thể xấp xỉ: 𝑐𝑜𝑠𝜃 = cos(𝜋 − ∅) ≈ −1, 𝑠𝑖𝑛𝜃 = sin (π − ∅) ≈ ∅,
Trang 27Từ phương trình (3.2), các ma trận hệ số trong (3.6) được viết như sau:
𝐴 =[
0 −(𝐼 + 𝑚𝑙2)𝐼(𝑀 + 𝑚) + 𝑀𝑚𝑙2
𝐵 =[
] , 𝐶 = [1 00 0 0 01 0]
Trang 28Bảng 3.1: Thông số mô hình con lắc ngược [8]
]
Vector đơn vị 𝑒𝑛 với n=4:
𝑒𝑛 = [0 0 0 1] (3.10) Với mô hình con lắc ngược, bộ điều khiển hồi tiếp trạng thái được mô tả ở sơ
đồ khối Hình (2.5) có thể được thiết kế sử dụng Phương pháp đa thức
Xét luật điều khiển với R là ngõ vào tham khảo
𝑈 = 𝑅 − 𝐾𝑋 (3.11) Công thức Ackermann có thể sử dụng để tìm ma trận độ lợi K Từ mô hình
hệ con lắc ngược, đa thức ma trận P(A) trong công thức Ackermann có bậc là 4 (n=4) Việc lựa chọn chỉ số đặc trưng ảnh hưởng đến đáp ứng của hệ thống Lựa chỉ
Trang 29số đặc trưng lựa chọn theo tiêu chuẩn ổn định của Manabe là 𝛾𝑖 = [2.5 2.5 3.5] Đa thức ma trận P(A) được viết lại như sau:
3.2 XÂY DỰNG VÀ MÔ PHỎNG BỘ ĐIỀU KHIỂN BẰNG PHƯƠNG PHÁP
ĐA THỨC TRÊN SIMULINK
Bảng 3.2: Thông số mô phỏng với bộ điều khiển hồi tiếp trạng thái
Sử dụng công cụ Simulink trong MATLAB xây dựng mô hình con lắc ngược
và bộ điều khiển hồi tiếp trạng thái
Qua thực nghiệm cho thấy chọn 𝜏 = 0.6 cho đáp ứng tốt nhất Thế 𝜏 = 0.6 vào (3.12), ta có:
K = [−217.2820 − 134.2707 298.7416 53.9894]
Mô hình Simulink:
Hình 3.2 Mô hình Simulink mô phỏng bộ điều khiển hồi tiếp trạng thái
Trang 30Hình 3.2 mô tả mô hình Simulink mô phỏng với bộ điều khiển hồi tiếp trạng thái, khối Subsystem mô tả cho mô hình toán của hệ con lắc ngược sau khi tuyến tính hóa
Sơ đồ khối Subsystem:
Trang 31Thiết lập các thông số cho hệ con lắc ngược như Bảng 3.2 Ban đầu đặt con lắc lệch góc ∅ = 0.1 𝑟𝑎𝑑, giữ xe tại vị trí cách vị trí góc 0 m
Thực hiện mô phỏng ta được các kết quả sau:
Hình 3.5 Đáp ứng của vị trí xe với bộ điều khiển
Kết quả đáp ứng của vị trí xe với bộ điều khiển Hình 3.5 cho thấy thời gian đáp ứng khoảng 2.4s, đáp ứng không có vọt lố và không có sai số xác lập
Hình 3.6: Đáp ứng của góc lệch với bộ điều khiển
Trang 32Đáp ứng góc lệch Hình 3.6 cho thấy thời gian đáp ứng là 2.1s, độ vọt lố là 0.01 rad và không có sai số xác lập
Hình 3.7 thể hiện đáp ứng điện áp điều khiển với bô điều khiển hồi tiếp trạng thái, khi hệ thống ổn định điện áp ngõ vào xấp xỉ bằng 0
Hình 3.7: Đáp ứng của điện áp điều khiển với bộ điều khiển
Các kết quả mô phỏng được thể hiện trong Bảng 3.3:
Bảng 3.3: Đáp ứng quá độ của hệ hồi tiếp