ỔN ĐỊNH CON LẮC NGƯỢC
Tìm hàm truyền của đối tượng
1.1.1 Giới thiệu về đối tượng
Gồm 1 cây kim loại (thanh con lắc) quay quanh 1 trục thẳng đứng Thanh con lắc được gắn gián tiếp vào một xe (xe con lắc) thông qua một encoder để đo góc Trên chiếc xe có 1 encoder khác để xác định vị trí chiếc xe đang di chuyển Do trong quá trình vận hành chiếc xe sẽ chạy tới lui với tốc độ cao để lấy mẫu nên phần cơ khí cần phải được tính toán thiết kế chính xác, chắc chắn nhằm tránh gây nhiễu và hư hỏng trong quá trình vận hành.
1.1.2 Mô hình toán hệ con lắc ngược
Hình 1 Mô hình hệ động lực học hệ con lắc ngược.
m: Khối lượng con lắc (kg)
F: Lực tác động vào xe (N)
x: vị trí xe con lắc (m)
θ: góc lệch giữa con lắc và phương thẳng đứng (rad) Việc mô tả các chuyển động của động lực học con lắc ngược dựa vào định luật của Newton về chuyển động Các hệ thống cơ khí có hai trục: chuyển động của xe con lắc ở trên trục X và chuyển động quay của thanh con lắc trên mặt phẳng XY Phân tích sơ đồ của hệ thống con lắc ngược ta có được sơ đồ lực tác động vào xe con lắc và thanh con lắc theo hình 2.
Downloaded by BACH VAN (bachvan12@gmail.com)
Hình 2 Sơ đồ lực tác dụng vào hệ thống con lắc ngược
Tiến hành tổng hợp các lực tác động vào xe con lắc theo phương ngang ta đuợc các phương trình về chuyển động:
Chúng ta có thể tổng hợp các lực theo ph ơngƣ thẳng đứng nh ngƣ không hữu ích vì chuyển động của hệ thống con lắc ngược không chuyển động theo hướng này và trọng lực của Trái Đất cân bằng với tất cả lực thẳng đứng.
Tổng hợp lực của thanh con lắc theo chiều ngang ta được:
Trong đó là chiều dài từ tâm con lắc tới điểm gốc là:
Từ phương trình (2) ta thay vào phương trình (1) được:
(M m x )b x ml cos m lsin F(3) Tổng hợp các lực vuông góc với thanh con lắc: sin cos sin cos (4)
P N mg ml m x Để làm triệt tiêu hai điều kiện P và N ta tiến hành tổng hợp moment tại trọng tâm thanh con lắc: sin cos (5)
Thay phương trình 1.4 vào phương trình 1.5 ta được:
Từ hai phương trình (3) và (6) ta có hệ phương trình mô tả đặc tính động học phi tuyến của hệ thống con lắc ngược:
Ta biến đổi (7) và (8) như sau:
F b x ml cos ml sin x M m mlxcos mlgsin
Thay các phương trình (9) và (10) vào các phương trình (7) và (8) ta được phương trình toán của hệ con lắc ngược phi tuyến:
(12 x J ml F b x ml sin cos m l gsin cos
J ml M m m l cos ml b x cos Fcos ml sin cos M m gsin
Để đơn giản hóa hệ thống ta bỏ qua khối lượng cần lắc, mô hình toán phi tuyến của hệ con lắc ngược được xác định như sau:
Fcos M m gsin ml sin cos m M x lcos m l
Để tuyến tính hóa hệ con lắc ngược, chúng ta áp dụng xấp xỉ góc nhỏ: sinθ ≈ θ; cosθ ≈ 1; 0 Thu được phương trình tuyến tính hóa của hệ như sau:
Lấy Laplace 2 vế phương trình (16) ta được:
Hàm truyền của hệ thống:
Downloaded by BACH VAN (bachvan12@gmail.com)
Tìm hàm truyền và vẽ QĐNS
Ký hiệu Mô tả Giá trị Đơn vị m Khối lượng con lắc 0,1 kg
M Khối lượng xe con lắc 0,9 kg l Chiều dài con lắc 0,6 m g Gia tốc trọng trường 9,81 m/
Bảng 1 Thông số mô phỏng hệ thống con lắc ngược bỏ qua thông số động cơ
1.2.1 Vẽ QĐNS trên phần mềm Matlab
Tìm K để hệ thống ổn định
- Thay thông số thực tế vào hàm truyền:
- Hàm truyền của hê ̣ thống, từ phương trình (17) ta có:
- Phương trình đă ̣c trưng của hê ̣ thống
Điều kiện để hệ thống ổn định K>0
Vẽ QĐNS trên phần mềm Matlab:
>> hamtruyen=tf(num,den) : Xuất phương trình hàm truyền
>> axis([-10 10 -15 15]) : Độ dài trục X và trục Y
>> rlocus(hamtruyen) : Xuất quỹ đạo nghiệm số
>> grid on : Hiển thị các đường tọa độ trục
Downloaded by BACH VAN (bachvan12@gmail.com)
1.2.2 Tìm K để hệ thống ổn định
Phương trình đặc trưng của hệ thống
Tìm Kgh theo tiêu chuẩn Hurwitz:
Vì tất cả các định thức con chứa đường chéo của ma trận Huwitz đều bằng 0 nên hệ thống không ổn định.
Xác định giá trị của k,Wc trên Matlab:
>> hamtruyen=tf(num,den) : Xuất phương trình hàm truyền
>> axis([-10 10 -15 15]) : Độ dài trục X và trục Y
>> rlocus(hamtruyen) : Xuất quỹ đạo nghiệm số
>> grid on : Hiển thị các đường tọa độ trục
Downloaded by BACH VAN (bachvan12@gmail.com)
- Đáp ứng bước của hệ thống:
-Từ biểu đồ ta có thể thấy hê ̣ thống đạt setpoint ở giây 9.3 và tiếp tục tăng tuyến tính Hê ̣ thống chưa ổn định Do đó ta cần thiết kế thêm bô ̣ điều khiển để hê ̣ thống ổn định
Downloaded by BACH VAN (bachvan12@gmail.com)
Thiết kế BĐK mờ, PID cho biết kết quả trước khi thiết kế, sau khi thiết kế và kết quả đạt được tốt nhất sau khi hiệu chỉnh
Bộ điều khiển mờ
Ta chọn bốn biến vào ra là góc lệch của con lắc, vận tốc góc của con lắc, ví trí xe và vận tốc của xe Biến ra là lực tác động lên xe Ta chọn các tập cơ sở của các biến như sau:
1.3.2 Chuẩn hóa các biến đầu ra và đầu vào
Chuẩn hóa các biến về miền [-1;1] nên ta chọn các hệ số tiền xử lý và hậu xử lý như sau:
Hệ số tiền xử lý: 1 2 3 4
Hệ số hậu xử lý:K 5 40
1.3.3 Định nghĩa các tập mờ
Chọn 3 tập mờ cho mỗi biến ngõ vào, các tập mờ này phân hoạch trên tập cơ sở chuẩn hóa [-1;1] và hàm liên thuộc có dạng hình bậc thang Số tập mờ ở biến ngõ ra được chọn bằng 7 và hàm liên thuộc có dạng vạch được chọn bằng 7 và hàm liên thuộc có dạng vạch.
Hình 3 Định nghĩa các hàm liên thuộc ngõ vào.
Downloaded by BACH VAN (bachvan12@gmail.com)
Hình 4 Định nghĩa các hàm liên thuộc ngõ ra.
1.3.4 Lựa chọn quy tắc mờ
Với ba tập mờ ngõ vào cho mỗi biến và dựa vào phương pháp thử sai, kinh nghiệm ta có thể liệt kê ra 81 quy tắc mờ như bảng dưới đây:
1 NE NE NE NE NB
2 NE NE NE ZE NB
3 NE NE NE PO NM
4 NE NE ZE NE NB
5 NE NE ZE ZE NM
6 NE NE ZE PO NE
7 NE NE PO NE NM
8 NE NE PO ZE NE
9 NE NE PO PO ZE
10 NE ZE NE NE NB
11 NE ZE NE ZE NM
12 NE ZE NE PO NE
13 NE ZE ZE NE NM
14 NE ZE ZE ZE NE
15 NE ZE ZE PO ZE
16 NE ZE PO NE NE
17 NE ZE PO ZE ZE
18 NE ZE PO PO PO
19 NE PO NE NE NM
20 NE PO NE ZE NE
21 NE PO NE PO ZE
22 NE PO ZE NE NE
23 NE PO ZE ZE ZE
24 NE PO ZE PO PO
25 NE PO PO NE ZE
26 NE PO PO ZE PO
27 NE PO PO PO PM
28 ZE NE NE NE NB
29 ZE NE NE ZE NM
30 ZE NE NE PO NE
31 ZE NE ZE NE NM
32 ZE NE ZE ZE NE
33 ZE NE ZE PO ZE
34 ZE NE PO NE NE
35 ZE NE PO ZE ZE
36 ZE NE PO PO PO
37 ZE ZE NE NE NM
38 ZE ZE NE ZE NE
39 ZE ZE NE PO ZE
40 ZE ZE ZE NE NE
41 ZE ZE ZE ZE ZE
42 ZE ZE ZE PO PS
43 ZE ZE PO NE ZE
44 ZE ZE PO ZE PS
45 ZE ZE PO PO PS
46 ZE PO NE NE PM
47 ZE PO NE ZE NS
48 ZE PO NE PO PS
49 ZE PO ZE NE ZE
50 ZE PO ZE ZE PS
51 ZE PO ZE PO PM
52 ZE PO PO NE PS
53 ZE PO PO ZE PM
54 ZE PO PO PO PB
55 PO NE NE NE NM
56 PO NE NE ZE NS
57 PO NE NE PO ZE
Downloaded by BACH VAN (bachvan12@gmail.com)
58 PO NE ZE NE NS
59 PO NE ZE ZE ZE
60 PO NE ZE PO PS
61 PO NE PO NE ZE
62 PO NE PO ZE PS
63 PO NE PO PO PM
64 PO ZE NE NE NS
65 PO ZE NE ZE ZE
66 PO ZE NE PO PS
67 PO ZE ZE NE ZE
68 PO ZE ZE ZE PS
69 PO ZE ZE PO PM
70 PO ZE PO NE PS
71 PO ZE PO ZE PM
72 PO ZE PO PO PB
73 PO PO NE NE ZE
74 PO PO NE ZE PS
75 PO PO NE PO PM
76 PO PO ZE NE PS
77 PO PO ZE ZE PM
78 PO PO ZE PO PB
79 PO PO PO NE PM
80 PO PO PO ZE PB
81 PO PO PO PO PB
Bảng 3 Bảng quy tắc mờ.
1.3.5 Chọn phương pháp suy diễn
Ta chọn phương pháp suy diễn MAX – MIN (hoặc có thể là MAX – PROD).
1.3.6 Chọn phương pháp giải mờ
Vì ta ứng dụng hệ quy tắc mờ trong điều khiển và khối hậu xử lý không có khâu tích phân nên chọn phương pháp giải mờ trọng tâm (COA).
Hình 5 Sơ đồ mô phỏng hệ thống khi sử dụng bộ điều khiển mờ.
Hình 6 Đáp ứng hệ thống khi sử dụng bộ điều khiển mờ.
Bộ điều khiển PID mờ
Ta chọn 2 biến đầu vào là góc lệch và tốc độ thay đổi góc lệch của con lắc và 3 bến đầu ra là các hệ số Kp, Ki, Kd Tập cơ sở của các biến ta chọn như sau:
- Tốc độ thay đổi góc lệch: [-2; 2] (rad/s)
1.4.2 Chuẩn hóa các biến đầu ra và đầu vào
Chuẩn hóa các biến về miền [-1;1] nên ta chọn các hệ số tiền xử lý và hậu xử lý như sau:
Hệ số tiền xử lý: K11 ;
Downloaded by BACH VAN (bachvan12@gmail.com)
Hệ số hậu xử lý: K3= 270; K4= 730; K5= 28.
1.4.3 Định nghĩa các tập mờ
Chọn 5 tập mờ cho mỗi biến ngõ vào, các tập mờ này phân hoạch trên tập cơ sở chuẩn hóa [-1;1] và hàm liên thuộc có dạng hình tam giác Số tập mờ ở biến ngõ ra được chọn bằng 5 và hàm liên thuộc có dạng tam giác
Hình 7 Định dạng các tập mờ cho các ngõ vào ra.
Downloaded by BACH VAN (bachvan12@gmail.com)
Hình 8 Định nghĩa các hàm hàm liên thuộc.
1.4.4 Lựa chọn quy tắc mờ
Với ba tập mờ ngõ vào cho mỗi biến và dựa vào phương pháp thử sai, kinh nghiệm ta có thể liệt kê ra các quy tắc mờ cho từng ngõ ra như bảng dưới đây:
Bảng 4 Bảng luật mờ cho hệ số Kp: e e
Kp NB NS ZE PS PB
NB PB PB PB PS ZE
NS PB PB PS ZE ZE
ZE PB PS ZE NS NB
PS ZE ZE NS NB NB
PB ZE NS NB NB NB
Bảng 5 Bảng luật mờ cho hệ số Ki: e e
Ki NB NS ZE PS PB
NB PB PB PS PS PS
NS PB PB PB PS PS
ZE PS PS ZE ZE ZE
PS PS PS PS ZE ZE
Bảng 6 Bảng luật mờ cho hệ số Kd: e e
Kd NB NS ZE PS PB
NB ZE ZE PS PS PS
NS ZE ZE ZE ZE PS
ZE ZE ZE ZE PS PB
PS PS PS PS PB ZE
PB ZE ZE ZE PB PB
1.4.5 Chọn phương pháp suy diễn
Ta chọn phương pháp suy diễn MAX – MIN.
1.4.6 Chọn phương pháp giải mờ
Ta chọn phương pháp giải mờ trọng tâm (COA).
Downloaded by BACH VAN (bachvan12@gmail.com)
Thiết kế bộ điều khiển PID
Hàm truyền của hệ thống:
l: chiều dài con lắc ngược (m)
m: khối lượng con lắc (kg)
- Áp dụng phương pháp Ziegler-Nichols:
Mô ̣t số phương pháp cổ điển nhưng đơn giản và hiê ̣u quả để chỉnh định 3 thông số Kp, KI và KD của bô ̣ điều khiển PID là phương pháp Ziegler- Nichols (Ziegler Nicholer Tuning Method) Thủ tục chỉ định như sau : Chỉ điều khiển hê ̣ thống bằng bô ̣ điều khiển tỉ lê ̣ P (đă ̣t KI,
Tăng KP đến giá trị KC mà ở đó hê ̣ thống bắt đầu bất ổn (bắt đầu xuất hiê ̣n sự dao đô ̣ng – điểm cực của hàm truyền kín nằm trên trục ảo jω) Xác định tần số ωc của dao đô ̣ng vừa đạt.
Từ giá trị KC và ωC vừa đạt, các thông số Kp, KI và KD được xác định như bảng sau:
Bộ điều khiển KP KI KD
PI (tích phân tỉ lệ) 0,45*KC 0,191*KPωc -
PID (vi tích phân tỉ lệ) 0,6*KC 0,318*KPωc 0,785*KP/ωc
Tinh chỉnh lại 3 thông số này để đạt được đáp ứng như mong muốn:
Thiết kế hệ thống bằng bộ điều khiển tỉ lệ Khâu P
- Giao diê ̣n thiết kế trên Simulink:
Downloaded by BACH VAN (bachvan12@gmail.com)
- Nhận xét: Từ biểu đồ ta có thấy rõ ràng ta có thể thấy hê ̣ thống đạt setpoint ở giây
1.2 và tiếp tục tăng Đến giây thứ 1.8 thì bắt đầu giảm xuống để đáp ứng hê ̣ thống. Đô ̣ vọt lố là quá cao => Hê ̣ thống chưa ổn định Do đó ta cần tăng Kp đồng thời thêm hê ̣ số Ki vào để triê ̣t tiêu số xác lâ ̣p làm cho đường đă ̣c tuyến gần đường setpoint.
Thử đáp ứng của hê ̣ thống Sử dụng các thông số KP = 150; KI = 150; KD = 10.
Đồ thị cho thấy hệ thống đã ổn định sau 3,5 giây Song, độ vọt lố vẫn còn cao Muốn tối ưu hóa hệ thống, cần cân nhắc việc điều chỉnh lại giá trị các hệ số Kp, Ki, Kd.
+Kp: giảm thời gian đáp ứng.
+Ki: triê ̣t tiêu số xác lâ ̣p làm cho đường đă ̣c tuyến gần đường setpoint.
+Kd: Làm giảm đô ̣ vọt lố.
Ngoài các yếu tố trên ta có thể xem thêm trong bảng sau:
Tinh chỉnh thông số các khâu.
Thử đáp ứng của hê ̣ thống Sử dụng các thông số KP = 700; KI = 2100; KD = 60.
Downloaded by BACH VAN (bachvan12@gmail.com)
Thử đáp ứng của hê ̣ thống Sử dụng các thông số KP = 700; KI = 2100; KD = 60.
- Nhận xét: Sau quá trình tăng giảm các thông số ở các khâu cho phù hợp ta được 1 bô ̣ điều khiển PID đạt yêu cầu như trên:
+ Thời gian xác lâ ̣p là 1.5s
ĐÁNH GIÁ CHẤT LƯỢNG HỆ THỐNG
Đáp ứng vòng hở của hệ thống mô phỏng trên Simulink
Hàm truyền của đối tượng:
Downloaded by BACH VAN (bachvan12@gmail.com)
Hình 3-1 Mô phỏng bằng khối simulink.
Hình 3-2 Kết quả mô phỏng của hệ thống
Các tiêu chí đánh giá chất lượng của hệ thống:
- Giá trị xác lập ngõ ra:
+ Từ đáp ứng ngõ ra ta xác định được cxl: cxl 10
cxl : Là giá trị xác lập
Thời gian xác lập: tqd 4,455(s)
Thời gian xác lập: tqd 0,01s
Độ vọt lố nhỏ hơn 2%.
2.3 Đánh giá chất lượng của hệ thống
- Đáp ứng của động cơ đã tương đối ổn định Tuy nhiên giá trị đáp ứng khi hàm ổn định lại rất nhỏ và thời gian xác lập vẫn chưa đạt được như mong muốn.
- Vì chất lượng hệ thống chưa đạt nên yêu cầu phải thiết kế bộ điều khiển.
- Yêu cầu thiết kế bộ điều khiển là làm cho hệ thống giảm thời gian xác lập xuống dưới 0,01 giây, độ vọt lố nằm trong khoảng cho phép
Downloaded by BACH VAN (bachvan12@gmail.com)
Đánh giá chất lượng của hệ thống
- Đáp ứng của động cơ đã tương đối ổn định Tuy nhiên giá trị đáp ứng khi hàm ổn định lại rất nhỏ và thời gian xác lập vẫn chưa đạt được như mong muốn.
- Vì chất lượng hệ thống chưa đạt nên yêu cầu phải thiết kế bộ điều khiển.
- Yêu cầu thiết kế bộ điều khiển là làm cho hệ thống giảm thời gian xác lập xuống dưới 0,01 giây, độ vọt lố nằm trong khoảng cho phép
Downloaded by BACH VAN (bachvan12@gmail.com)
THIẾT KẾ BỘ ĐIỀU KHIỂN HTTT, PD
Tính điều khiển được và quan sát được
Code matlab: clear all clc
=> Kết luận: Hệ thống điều khiển được.
Kết luận: Hệ thống quan sát được.
Bộ điều khiển hồi tiếp trạng thái
% Chuyển sang biểu diễn trạng thái sys = ss(G);
% Tính véc tơ điều khiển F
Downloaded by BACH VAN (bachvan12@gmail.com)
- Kết quả mô phỏng simulink:
Nhận xét: Tuy độ vọt lố đã thỏa mãn, nhưng thời gian quá độ lại vượt quá Bộ điều khiển P chưa đạt yêu cầu nên ta sử dụng công cụ trên simulink để thiết kế.
Code matlab để hiệu chỉnh K: t = 0.01; % Thời gian quá độ mong muốn e = -log(0.02)/sqrt(pi^2+log(0.02)^2); % Hệ số giảm sốc mong muốn wn = 4/(e*t); % Tần số tự nhiên mong muốn pdes = roots([1 2*e*wn wn^2]); % Pole mong muốn
- Kết quả mô phỏng Simulink khi tự hiệu chỉnh:
Nhận xét: Nhìn đồ thị ta thấy hê ̣ thống đã đạt yêu cầu Thời gian hê ̣ thống ổn định là 0,01 giây, đô ̣ vọt lố Hê ̣ thống chưa
Downloaded by BACH VAN (bachvan12@gmail.com)
- Kết quả mô phỏng Simulink khi tự hiệu chỉnh:
Nhận xét: Nhìn đồ thị ta thấy hê ̣ thống đã ổn định Thời gian hê ̣ thống ổn định là 0,01 giây, đô ̣ vọt lố đã đạt yêu cầu
Kết luận: Sau khi thiết kế bằng 2 phương pháp thì cả 2 phương pháp đều có độ vọt lố và thời gian xác lập đạt yêu cầu Nhưng khi nhìn khối Scope thì bộ điều khiển PD đáp ứng nhỉnh hơn một xíu và độ chính xác cao hơn.