1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo thực hành điều khiển tự động nâng cao (0+1)

14 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Điều khiển LQR (Tối ưu) cho hệ Pendubot
Tác giả Nguyễn Đình Khánh Hoàn
Người hướng dẫn Th.s Nguyễn Văn Bình
Trường học Trường Đại học Thủ Dầu Một
Chuyên ngành Điều khiển tự động nâng cao
Thể loại Báo cáo thực hành
Năm xuất bản 2024
Thành phố Bình Dương
Định dạng
Số trang 14
Dung lượng 579,93 KB

Nội dung

Khối Constant : thường được sử dụng để biểu diễn một giá trị cố định như là một đầu vàohoặc thông số cho một phần của mô hình hoặc thuật toán.2.. Khối Controlled Heat Flow Rate Source :

Trang 1

UBND TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT – CÔNG NGHỆ

BÁO CÁO THỰC HÀNH ĐIỀU KHIỂN TỰ ĐỘNG NÂNG CAO (0+1)

GIẢNG VIÊN GIẢNG DẠY: Th.s Nguyễn Văn Bình

SINH VIÊN: Nguyễn Đình Khánh Hoàn

MSSV: 2025202160120

Buổi 3, ngày 8 tháng 03 năm 2024

Trang 2

ĐIỀU KHIỂN LQR (TỐI ƯU) CHO HỆ PENDUBOT

1.Nhập thông số

g=9.81;

l1=0.3;

l2=0.4;

lc1=0.17;

lc2=0.21;

m1=0.1;

m2=0.08;

I1=0.04;

I2=0.06;

q1_init=pi/2+0.001;

q1_dot_init=0.002;

q2_init=0.003;

q2_dot_init=0.004;

teta1=m1*lc1^2+m2*l1^2+I1;

teta2=m2*lc2^2+I2;

teta3=m2*l1*lc2;

teta4=m1*lc1+m2*l1;

teta5=m2*lc2;

2.Tìm A B ( Top )

syms x1x2x3x4to1

M1=1/(teta1*teta2- teta3^2*(cos(x3))^2)*(teta2*teta3*sin(x3)*(x2+x4)^2+teta3^2*cos(x3)*sin(x3)*x3^2-teta2*teta4*g*cos(x1+pi/2)+teta3*teta5*g*cos(x3)*cos(x1+pi/2+x3)+teta2*to1)

M2=1/(teta1*teta2-teta3^2*(cos(x3))^2)*(-

teta3*(teta2+teta3*cos(x3))*sin(x3)*(x2+x4)^2-(teta1+teta3*cos(x3))*teta3*sin(x3)*(x2)^2+(teta2+teta3*cos(x3))*(teta4*g*cos(x1+pi/ 2)-to1)-(teta1+teta3*cos(x3))*teta5*g*cos(x1+pi/2+x3))

A=[0 1 0 0;

diff(M1,x1) diff(M1,x2) diff(M1,x3) diff(M1,x4);

0 0 0 1;

diff(M2,x1) diff(M2,x2) diff(M2,x3) diff(M2,x4)]

B=[0;diff(M1,to1);0;diff(M2,to1)]

Trang 3

3.Tìm K ( Top )

x1=0;x2=0;x3=0;x4=0;to1=0;

A=[

0,

1,

0,

0; -((7364746379999305*sin(pi/2 + x1))/288230376151711744 - (239413466037369*sin(pi/2 + x1 + x3)*cos(x3))/288230376151711744)/((7497229028203849*cos(x3)^2)/29514790517935 2825856 - 7337463437988417/2305843009213693952),

-(5906299177873687*sin(x3)*(2*x2 + 2*x4))/(18446744073709551616*((7497229028203849*cos(x3)^2)/2951479051793528 25856 - 7337463437988417/2305843009213693952)),

- ((7497229028203849*x3^2*cos(x3)^2)/295147905179352825856 - (7497229028203849*x3^2*sin(x3)^2)/295147905179352825856 - (239413466037369*cos(pi/2 + x1 + x3)*sin(x3))/288230376151711744 - (239413466037369*sin(pi/2 + x1 + x3)*cos(x3))/288230376151711744 + (5906299177873687*cos(x3)*(x2 + x4)^2)/18446744073709551616 + (7497229028203849*x3*cos(x3)*sin(x3))/147573952589676412928)/((7497229028203 849*cos(x3)^2)/295147905179352825856 - 7337463437988417/2305843009213693952) - (7497229028203849*cos(x3)*sin(x3)*((2288837417020743*to1)/36028797018963968 -(7364746379999305*cos(pi/2 + x1))/288230376151711744 + (239413466037369*cos(pi/2 + x1 + x3)*cos(x3))/288230376151711744 + (5906299177873687*sin(x3)*(x2 + x4)^2)/18446744073709551616 + (7497229028203849*x3^2*cos(x3)*sin(x3))/295147905179352825856))/(14757395258 9676412928*((7497229028203849*cos(x3)^2)/295147905179352825856 - 7337463437988417/2305843009213693952)^2),

-(5906299177873687*sin(x3)*(2*x2 + 2*x4))/(18446744073709551616*((7497229028203849*cos(x3)^2)/2951479051793528 25856 - 7337463437988417/2305843009213693952));

0,

0,

0, 1;

((40221*sin(pi/2 + x1)*((63*cos(x3))/12500 +

2288837417020743/36028797018963968))/100000 - sin(pi/2 + x1 +

x3)*((1297863*cos(x3))/1562500000 +

103190409/12500000000))/((7497229028203849*cos(x3)^2)/295147905179352825856

Trang 4

- 7337463437988417/2305843009213693952),

(2*x2*sin(x3)*((3969*cos(x3))/156250000 + 315567/1250000000) + sin(x3)*(2*x2 + 2*x4)*((3969*cos(x3))/156250000 + 144196757272306809/450359962737049600000))/ ((7497229028203849*cos(x3)^2)/295147905179352825856 -

7337463437988417/2305843009213693952),

(7497229028203849*cos(x3)*sin(x3)*(((63*cos(x3))/12500 +

2288837417020743/36028797018963968)*(to1 - (40221*cos(pi/2 + x1))/100000) + cos(pi/2 + x1 + x3)*((1297863*cos(x3))/1562500000 + 103190409/12500000000) + x2^2*sin(x3)*((3969*cos(x3))/156250000 + 315567/1250000000) + sin(x3)*(x2 + x4)^2*((3969*cos(x3))/156250000 +

144196757272306809/450359962737049600000)))/(147573952589676412928*((74972 29028203849*cos(x3)^2)/295147905179352825856 -

7337463437988417/2305843009213693952)^2) - ((3969*sin(x3)^2*(x2 +

x4)^2)/156250000 + (63*sin(x3)*(to1 - (40221*cos(pi/2 + x1))/100000))/12500 +

(3969*x2^2*sin(x3)^2)/156250000 + (1297863*cos(pi/2 + x1 +

x3)*sin(x3))/1562500000 + sin(pi/2 + x1 + x3)*((1297863*cos(x3))/1562500000 + 103190409/12500000000) - x2^2*cos(x3)*((3969*cos(x3))/156250000 +

315567/1250000000) - cos(x3)*(x2 + x4)^2*((3969*cos(x3))/156250000 +

144196757272306809/450359962737049600000))/((7497229028203849*cos(x3)^2)/

295147905179352825856 - 7337463437988417/2305843009213693952), (sin(x3)*(2*x2 + 2*x4)*((3969*cos(x3))/156250000 +

144196757272306809/450359962737049600000))/((7497229028203849*cos(x3)^2)/

295147905179352825856 - 7337463437988417/2305843009213693952)];

B=[ 0;

-2288837417020743/(36028797018963968*((7497229028203849*cos(x3)^2)/

295147905179352825856 - 7337463437988417/2305843009213693952));

0;((63*cos(x3))/12500 +

2288837417020743/36028797018963968)/((7497229028203849*cos(x3)^2)/

295147905179352825856 - 7337463437988417/2305843009213693952)];

Q=[1 0 0 0;0 1 0 0;0 0 1 0; 0 0 0 1];

R=1;

[Ad,Bd]=c2d(A,B,0.01);

K=dlqr(Ad,Bd,Q,R);

%K=lqr(A,B,Q,R)

4.Chạy mô phỏng Simulink

Trang 6

Buổi 06, ngày 15/03/2024

- Mạch đo nhiệt độ

CHỨC NĂNG:

1 Khối Constant : thường được sử dụng để biểu diễn một giá trị cố định như là một đầu vào

hoặc thông số cho một phần của mô hình hoặc thuật toán.

2 Khối Controlled Heat Flow Rate Source : có thể là một khối (block) được sử dụng để mô

phỏng hoặc điều khiển tốc độ dòng chảy nhiệt độ trong một hệ thống

3. Khối Thermal Mass : Khối này mô hình lưu trữ năng lượng bên trong trong một mạng lưới nhiệt Tốc độ tăng nhiệt độ tỷ lệ thuận với tốc độ dòng nhiệt vào vật liệu và nghịch đảo Tỷ lệ thuận với khối lượng và nhiệt độ riêng của vật liệu

4. Khối Temperature Sensor :khối đo nhiệt độ của anh ấy là một mạng lưới nhiệt Không có dòng nhiệt đi qua cảm biến Cổng tín hiệu vật lý T báo cáo sự chênh lệch nhiệt độ trên cảm biến Phép đo dương khi nhiệt độ ở cổng A lớn hơn nhiệt độ ở cổng B.

Trang 7

Chạy với chu kỳ là 10 ( T = 10 )

Trang 9

Chạy với chu kỳ là 1800 ( T = 1800 )

Thay đổi thông số đầu vào lên 1000

Trang 10

CHỨC NĂNG:

5 Khối Constant : thường được sử dụng để biểu diễn một giá trị cố định như là một đầu vào

hoặc thông số cho một phần của mô hình hoặc thuật toán.

6 Khối Controlled Heat Flow Rate Source : có thể là một khối (block) được sử dụng để mô

phỏng hoặc điều khiển tốc độ dòng chảy nhiệt độ trong một hệ thống

7. Khối Thermal Mass : Khối này mô hình lưu trữ năng lượng bên trong trong một mạng lưới nhiệt Tốc độ tăng nhiệt độ tỷ lệ thuận với tốc độ dòng nhiệt vào vật liệu và nghịch đảo Tỷ lệ thuận với khối lượng và nhiệt độ riêng của vật liệu

8. Khối Temperature Sensor :khối đo nhiệt độ của anh ấy là một mạng lưới nhiệt Không có dòng nhiệt đi qua cảm biến Cổng tín hiệu vật lý T báo cáo sự chênh lệch nhiệt độ trên cảm biến Phép đo dương khi nhiệt độ ở cổng A lớn hơn nhiệt độ ở cổng B.

9 Khối PID :Mục tiêu của PID Controller là điều chỉnh một biến đầu ra (output) sao cho nó đạt được giá trị mong muốn (setpoint) bằng cách điều chỉnh một biến điều khiển (control input

Trang 11

Thay đổi thông số đầu vào lên 500

Trang 12

Tăng chu kỳ lên 36000

Trang 13

Thêm khôi ADD và khối PID vào ngõ vào , đồng thời thay đổi thông số đầu vào thành 30

Kết Quả :

Trang 14

Kết Quả chạy PID:

Ngày đăng: 21/03/2024, 09:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w