BÀI THÍ NGHIỆM 5 ĐIỀU KHIỂN HỒI TIẾP BIẾN TRẠNG THÁI I.. Sau đó sẽ xây dựng bộ điều khiển hồi tiếp biến trạng thái để điều khiển vị trí của xe 1 hoặc vị trí của xe 2 theo giá trị đặt mo
Trang 1BÀI THÍ NGHIỆM 5
ĐIỀU KHIỂN HỒI TIẾP BIẾN TRẠNG THÁI
I MỤC ĐÍCH
Hệ thống xe – lò xo bao gồm 2 xe và 2 lò xo liên kết nối tiếp nhau Trong bài thí nghiệm này sinh viên sẽ xây dựng phương trình biến trạng thái mô tả hệ thống xe – lò
xo Sau đó sẽ xây dựng bộ điều khiển hồi tiếp biến trạng thái để điều khiển vị trí của
xe 1 hoặc vị trí của xe 2 theo giá trị đặt mong muốn
Dựa vào các kết quả thu thập được từ đáp ứng thời gian, sinh viên sẽ tìm được các thông số của mô hình xe – lò xo như: độ cứng của lò xo, hệ số ma sát Sau khi tìm được các thông số này, sinh viên sẽ xây dựng được phương trình biến trạng thái mô tả
hệ thống xe – lò xo
Ngoài ra, bài thí nghiệm còn giúp sinh viên hiểu rõ ảnh hưởng của bộ điều khiển hồi tiếp biến trạng thái lên chất lượng hệ thống điều khiển
Mục tiêu sau khi hoàn thành bài thí nghiệm này:
Biết cách xây dựng và mô phỏng mô hình điều khiển hệ thống xe – lò xo dùng phương pháp điều khiển hồi tiếp biến trạng thái
Biết cách thu thập dữ liệu và nhận dạng mô hình đối tượng xe – lò xo
Đánh giá được chất lượng điều khiển dùng phương pháp điều khiển hồi tiếp biến trạng thái
II CƠ SỞ LÝ THUYẾT
2.1 Mô tả toán học hệ xe – lò xo
Mô hình hệ xe – lò xo được mô tả như ở Hình 1 Hệ thống bao gồm 2 xe với trọng lượng m1, m2 liên kết với 2 lò xo có độ cứng k1, k2 Lực F tác động vào xe m2 để điều khiển vị trí xe 2 đến vị trí x2 mong muốn hoặc điều khiển vị trí xe 1 đến vị trí x1
mong muốn
Hình 1 Mô hình hệ xe – lò xo
Phương trình vi phân mô tả hệ thống như sau:
m x k x x b x k x
trong đó b1 là hệ số ma sát của xe 1 và b2 là hệ số ma sát của xe 2
Trang 2Trong mô hình thí nghiệm hệ xe – lò xo, lực tác động F được cung cấp bởi động
cơ ĐC Nếu bỏ qua phần cảm ứng ta có thể xấp xỉ lực tác động F tỉ lệ thuận với điện
áp cung cấp:
trong đó, u là điện áp cung cấp cho động cơ ĐC, K là hệ số tỉ lệ Phương trình biến
trạng thái mô tả hệ thống (1) được viết lại:
2
0
0
0
u
K
m
2.2 Tìm thông số của hệ xe – lò xo bằng thực nghiệm
Trong phần này, chúng ta sẽ xây dựng công thức tìm các thông số chưa biết của
hệ xe – lò xo: độ cứng k1, k2 của lò xo; hệ số ma sát b1, b2 của xe; và hệ số tỉ lệ K
2.2.1 Xây dựng công thức tìm k 1 , b 1
Gọi T là chu kỳ lấy mẫu tín hiệu, đạo hàm bậc 1 và đạo hàm bậc 2 của tín hiệu
( )
x t tại thời điểm kT được tính như sau:
1
T
hay viết tắt: x k( ) 1x k( ) x k( 1)
T
2
1
T
hay viết tắt: x k( ) 12x k( 1) 2 ( )x k x k( 1)
T
Giả sử độ cứng của 2 lò xo là giống nhau và có giá trị k1 k2 k12, phương trình thứ nhất của (1) được viết lại:
2
Nếu khối lượng xe m biết trước thì phương trình (6) còn 2 ẩn cần tìm là 1 k và 12
1
b Tại mỗi thời điểm lấy mẫu kT ta sẽ có 1 phương trình (6), thu thập N mẫu dữ liệu
ta có (N - 2) phương trình như sau:
Trang 3Trong đó
2
2
2
12 1
k b
,
Giải phương trình (7) ta tìm được k và 12 b : 1
T 1 T
2.2.2 Xây dựng công thức tìm K, b 2
Khai triển tương tự như ở Mục 2.2.1, phương trình thứ 2 của (1) được viết lại như sau:
2
2
T Ku k b T x k x k
Nếu khối lượng xe m2 biết trước và độ cứng lò xo k12 đã tìm được ở (8) thì phương trình (9) còn 2 ẩn cần tìm là K và b2 Tại mỗi thời điểm lấy mẫu kT ta sẽ có
1 phương trình (9), thu thập N mẫu dữ liệu ta có (N - 2) phương trình như sau:
Trong đó
2
2
2
,
2
K b
2
2
2
Trang 4Giải phương trình (10) ta tìm được K và b : 2
T 1 T
2.3 Điều khiển hồi tiếp biến trạng thái
Hình 2 Cấu trúc bộ điều khiển hồi tiếp biến trạng thái
Sơ đồ bộ điều khiển hồi tiếp biến trạng thái được mô tả như ở Hình 2 Đối với
hệ xe – lò xo chúng ta sẽ điều khiển hồi tiếp 4 tín hiệu trạng thái: vị trí xe 1, vận tốc xe
1, vị trí xe 2, vận tốc xe 2 Hệ số hồi tiếp cho 4 trạng thái là:
Phương trình biến trạng thái của hệ vòng kín sẽ là:
y Cx
(13) Trong đó:
1 2
2
0
0
x
x
K
m
(14)
Trang 5III MÔ TẢ THÍ NGHIỆM
3.1 Phần cứng
Sơ đồ khối phần cứng được mô tả như ở Hình 3 Trong đó, bo mạch PC104CARD là phần cứng trung tâm trong bài thí nghiệm Bo mạch PC104CARD xây dựng trên nền tảng FPGA của Altera có khả năng giao tiếp với máy tính thông qua phần mềm Matlab/ Simulink/ Real-time Windows Target với các tính năng sau:
Điều rộng xung (PWM): 4 kênh độ phân giải 0.1% (~ 10bit)
Encoder: 4 kênh encoder x4
Giao tiếp với máy tính thông qua cổng máy in theo chuẩn EPP
Động cơ DC sử dụng trong bài thí nghiệm có điện áp định mức 24VDC và
encoder gắn trên xe có độ phân giải 2048 xung/vòng Tín hiệu điều rộng xung Pulse
và hướng Dir sẽ điều khiển động cơ chạy với tốc độ và chiều quay mong muốn:
Điện áp cấp cho động cơ sau khi qua Motor Driver sẽ bằng
* 24 /1000
PWM
T (V), trong đó T PWM là giá trị điều rộng xung từ (0 – 1000) tương ứng với độ phân giải 0.1%
Vị trí (đơn vị: mm) và tốc độ (đơn vị: mm/s) của xe được tính theo phương pháp đo số xung trong một chu kỳ lấy mẫu T = 2ms
Hình 3 Sơ đồ phần cứng bài thí nghiệm
3.2 Phần mềm
Phần mềm sử dụng trong các bài thí nghiệm này là bộ phần mềm Matlab/ Simulink/ Real-time Windows Target Công cụ Real-time Windows Target cho phép
mô hình Simulink có khả năng kết nối với phần cứng bên ngoài và chạy theo thời gian thực Để biên dịch và chạy mô hình Simulink liên kết với phần cứng sinh viên phải thực hiện trình tự các bước sau:
Trang 6 Tạo hoặc mở một file simulink như ở Hình 4
Vào menu Simulation -> Configuration, chọn mục Solver để cài đặt các thông số về thời gian mô phỏng (Simulation time) và phương pháp mô phỏng (Solver Options) như ở Hình 5
Vào menu Tool -> Real-Time Workshop -> Build Model (hoặc nhấn chuột trái vào biểu tượng Incremental Build) để biên dịch mô hình
Sau khi mô hình biên dịch thành công, vào menu Simulation -> Connect
To Target (hoặc nhấn chuột trái vào biểu tượng Connect To Target) để kết nối mô hình Simulink tới phần cứng
Vào menu Simulation -> Run (hoặc biểu tượng Run) để tiến hành chạy
mô hình
Hình 4 Mô hình Simulink kết nối phần cứng
Connect To Target Incremental Build Run
Trang 7Hình 5 Cài đặt các thông số mô phỏng
IV CHUẨN BỊ TRƯỚC THÍ NGHIỆM
4.1 Xây dựng mô hình hệ xe – lò xo
Để thực hiện tốt thí nghiệm trên lớp, sinh viên cần chuẩn bị trước phần lý thuyết và thực hiện mô phỏng trên máy tính
Xây dựng mô hình Simulink để khảo sát đáp ứng ngõ ra của hệ xe – lò xo như
ở Hình 6 Trong đó, khối “Mass-Spring Damper” chứa mô hình hệ xe – lò xo được xây dựng từ phương trình vi phân (1) và mô tả như ở Hình 7 với bảng thông số:
Hình 6 Mô hình khảo sát đáp ứng ngõ ra của hệ xe – lò xo
Trang 8Hình 7 Mô hình hệ xe – lò xo
a) Tạo file mô hình simulink như ở Hình 6
b) Cài đặt giá trị Force = 10 (N)
c) Chạy mô phỏng
d) Mở scope để xem đáp ứng, xác định khoảng cách di chuyển của xe 1, xe 2 và ghi lại các kết quả vào Bảng 1
e) Lặp lại bước b) đến d) với các giá trị Force còn còn lại như trong Bảng 1 Vẽ
đồ thị biểu diễn x1 theo Force và x2 theo Force Nhận xét kết quả đồ thị
Bảng 1 Khoảng cách di chuyển theo lực tác động
Lần chạy Force (N) x (mm)1 x2 (mm)
4.2 Điều khiển hồi tiếp biến trạng thái hệ xe – lò xo
Xây dựng bộ điều khiển hồi tiếp biến trạng thái để điều khiển vị trí của xe 2 như ở Hình 8 Trong đó:
Khối “Gain1” và “Gain2” có giá trị bằng 1000 để chuyển từ đơn vị meter sang milimeter
Trang 9 Khối “Gain3” có giá trị bằng 0; 0; 1; 0 để lựa chọn tín hiệu đặt là vị trí x2.
(Nếu tín hiệu đặt là là vị trí x1 thì “Gain3” có giá trị bằng 1; 0; 0; 0)
Hệ số hồi tiếp K f K f1 K f2 K f3 K f4 tương ứng cho 4 tín hiệu trạng
T
x x x x x
Hình 8 Sơ đồ điều khiển hồi tiếp biến trạng thái
a) Tạo file mô hình simulink như ở Hình 8
b) K f 0 0 0.1 0 Cài đặt giá trị đặt cho xe 2 là 30mm
c) Chạy mô phỏng
d) Mở scope để xem đáp ứng, xác định độ vọt lố, thời gian quá độ và sai số xác lập của vị trí xe 2
e) Lặp lại bước b) đến d) với các giá trị K còn còn lại như trong Bảng 2 Nhận f
xét kết quả mô phỏng khi tăng hệ số hồi tiếp K f
Bảng 2 Bảng giá trị K f
Trang 102 0 0 1 0
V THỰC HIỆN THÍ NGHIỆM
5.1 Tìm thông số của hệ xe –lò xo
Trong phần này, sinh viên sẽ thu thập tín hiệu đầu vào và đầu ra của hệ thống và
áp dụng công thức ở Mục 2.2 để tìm các thông số chưa biết của hệ xe – lò xo: độ cứng
k1, k2 của lò xo; hệ số ma sát b1, b2 của xe; và hệ số tỉ lệ K
5.1.1 Tìm k 1 , b 1
Các bước thí nghiệm:
a) Mở file recti_ident.m và chạy để khởi tạo các thông số thời gian lấy mẫu T và thời gian mô phỏng Tstop Sinh viên không cần cài đặt lại phần thiết lập trong
Simulink-Configuration
Lưu ý: Khi chạy file này lần đầu tiên chương trình sẽ báo lỗi nhưng vẫn khởi tạo được giá trị bình thường
b) Biên dịch và chạy file recti_response.mdl để thu thập số liệu (xem hướng dẫn ở
Mục 3.2)
c) Chạy lại file recti_ident.m để tìm thông số k1, b1
d) Lặp lại bước b) và c) với 5 lần chạy và ghi kết quả vào Bảng 3 Sau đó, tính giá trị trung bình của thông số k1, b1
Bảng 3 Giá trị k , 1 b1
Lần chạy k (N/m)1 b1 (N.s/m)
1
2
3
4
5
Trung bình
Trang 115.1.2 Tìm K , b 2
Các bước thí nghiệm:
a) Mở file recti_ident.m và viết đoạn chương trình để tính K, b2 theo (9) - (11)
Hướng dẫn: Sinh viên tham khảo đoạn chương trình tính k1, b1 theo (6) - (8)
và dựa vào đó để viết thêm vào phần dưới như sau:
% Tim thong so cua he thong:
% Do cung k cua lo xo: k1_hat
% He so ma sat tren m1: b1_hat
a1 = T*T*(2*x1(2:N-1) - x2(2:N-1));
a2 = T*(x1(2:N-1) - x1(1:N-2));
PHI = [a1 a2];
lamda = (2*x1(2:N-1) - x1(1:N-2) - x1(3:N))*m1;
theta = inv(PHI'*PHI)*PHI'*lamda;
k1_hat = theta(1)
b1_hat = theta(2)
% Sinh vien tham khao doan code o tren
% de tim thong so cua he thong:
% He so khuech dai U = K.F: K_hat
% He so ma sat tren m2: b2_hat
a1 =
a2 =
PHI =
lamda =
theta = inv(PHI'*PHI)*PHI'*lamda;
K_hat = theta(1)
b2_hat = theta(2)
b) Biên dịch và chạy file recti_response.mdl để thu thập số liệu
c) Chạy lại file recti_ident.m sau khi đã viết chương trình để tìm thông số K, b2 e) Lặp lại bước b) và c) với 5 lần chạy và ghi kết quả vào Bảng 4 Sau đó, tính giá trị trung bình của thông số K, b2
Bảng 4 Giá trị K , b 2
1
2
3
4
5
Trung bình
Trang 125.2 Điều khiển vị trí xe 2
Các bước thí nghiệm:
a) Mở file recti_feedback_ctrl2.mdl
b) K f 0 0 0.1 0 Cài đặt giá trị đặt cho xe 2 là 30mm
c) Biên dịch và chạy chương trình (xem hướng dẫn ở Mục 2.3)
d) Mở scope để xem đáp ứng, xác định độ vọt lố, thời gian quá độ và sai số xác lập của vị trí xe 2
e) Lặp lại bước b) đến d) với các giá trị K f còn còn lại như trong Bảng 5 Nhận xét ảnh hưởng của từng hệ số K f3 và K f4 lên chất lượng hệ thống
Bảng 5 Bảng giá trị K f
5.3 Điều khiển vị trí xe 1
Các bước thí nghiệm:
a) Mở file recti_feedback_ctrl1.mdl
b) K f 0.2 0 0 0 Cài đặt giá trị đặt cho xe 1 là 15mm
c) Biên dịch và chạy chương trình
d) Mở scope để xem đáp ứng, xác định độ vọt lố, thời gian quá độ và sai số xác lập của vị trí xe 2
e) Lặp lại bước b) đến d) với các giá trị K f còn còn lại như trong Bảng 6 Nhận xét ảnh hưởng của từng hệ số K f1, K f2 và K f4 lên chất lượng hệ thống
Trang 13Bảng 6 Bảng giá trị K f
Trang 14Báo cáo thí nghiệm
Họ và tên: Nhóm: Ngày:
1 Từ bảng số liệu ở Bảng 3 và Bảng 4, viết phương trình biến trạng thái hệ xe – lò
xo theo (3)?
2 Dựa vào kết quả thí nghiệm ở Mục 5.2, nhận xét ảnh hưởng của từng hệ số K f3, 4 f K lên chất lượng hệ thống?
3 Dựa vào kết quả thí nghiệm ở Mục 5.3, nhận xét ảnh hưởng của từng hệ số K f1, 2 f K và K f4 lên chất lượng hệ thống?