INCLUDEPICTURE "h琀琀ps://mailccsf-my.sharepoint.com/personal/amail_mail_ccsf_edu/Documents/Bai giang dien tu/BGDT 8_6_2020/TLHD BTL/Matlab Tutors Ini琀椀al/ctms/examples/pend/invpen.gif" \*
Trang 1ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
TRƯỜNG CƠ KHÍ - Ô TÔ
BÁO CÁO BÀI TẬP LỚN
Môn: Cơ sở hệ thống tự động
Đề tài :
Mô hình hóa và khảo sát chất lượng, và thiết kế bộ điều khiển của hệ thống
Giáo viên hướng dẫn: TS Bùi Thanh Lâm Tên lớp: ME6159.3
Sinh viên thực hiện:
1 Nguyễn Văn Tình MSV: 2022605667
2 Nguyễn Nhân Tố MSV: 2022601614
3 Nguyễn Quý Toàn MSV: 2022604760
Hà Nội – 2023
Trang 2PHIẾU GIAO ĐỒ ÁN
I Thông tin chung
1 Tên lớp: ME6159.3 Khóa: 17
2 Tên nhóm: 18
Họ và tên thành viên: 1 Nguyễn Văn Tình MSV: 2022605667
2 Nguyễn Nhân Tố MSV: 2022601614
3 Nguyễn Quý Toàn MSV: 2022604760
II Nội dung học tập
1 Tên chủ đề: Mô hình hóa và khảo sát chất lượng, và thiết kế bộ điều khiển của hệ thống.
INCLUDEPICTURE "h琀琀ps://mailccsf-my.sharepoint.com/personal/amail_mail_ccsf_edu/Documents/ Bai giang dien tu/BGDT 8_6_2020/TLHD BTL/Matlab Tutors Ini琀椀al/ctms/examples/pend/invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE "D:\\Giang dạy của bố\\Bài giảng Thơ\\Môn CSHTTD\\Đánh giá\\ Matlab Tutors Ini琀椀al\\ctms\\examples\\pend\\invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE "D:\\ Giang dạy của bố\\Bài giảng Thơ\\Môn CSHTTD\\Đánh giá\\Matlab Tutors Ini琀椀al\\ctms\\examples\\pend\\ invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE "D:\\Giang dạy của bố\\Bài giảng Thơ\\Môn CSHTTD\\ Đánh giá\\Matlab Tutors Ini琀椀al\\ctms\\examples\\pend\\invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE
"D:\\Giang dạy của bố\\Bài giảng Thơ\\Môn CSHTTD\\Đánh giá\\Matlab Tutors Ini琀椀al\\ctms\\examples\\ pend\\invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE "D:\\Giang dạy của bố\\Bài giảng Thơ\\Môn CSHTTD\\Đánh giá\\Matlab Tutors Ini琀椀al\\ctms\\examples\\pend\\invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE "D:\\Giang dạy của bố\\Bài giảng Thơ\\Môn CSHTTD\\Đánh giá\\Matlab Tutors Ini琀椀al\\ ctms\\examples\\pend\\invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE "D:\\Giang dạy của bố\\Bài giảng Thơ\\Môn CSHTTD\\Đánh giá\\Matlab Tutors Ini琀椀al\\ctms\\examples\\pend\\invpen.gif" \*
MERGEFORMATINET INCLUDEPICTURE
"h琀琀ps://vnueduvn-my.sharepoint.com/personal/vnuuet201_vnu_edu_vn/Documents/MON HOC/LTDK/DE CUONG ONG TAP_DE THI/Matlab Tutors Ini琀椀al/ctms/examples/pend/invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE "h琀琀ps://vnueduvn-my.sharepoint.com/personal/vnuuet201_vnu_edu_vn/Documents/MON HOC/LTDK/DE CUONG ONG TAP_DE THI/Matlab Tutors Ini琀椀al/ctms/examples/pend/invpen.gif" \* MERGEFORMATINET INCLUDEPICTURE " / / / /Documents/Zalo%20Received%20Files/Matlab%20Tutors
%20Ini琀椀al/ctms/examples/pend/invpen.gif" \* MERGEFORMAT INCLUDEPICTURE " / / / /Documents/Zalo
%20Received%20Files/Matlab%20Tutors%20Ini琀椀al/ctms/examples/pend/invpen.gif" \* MERGEFORMAT
Trang 3INCLUDEPICTURE " / / / /Documents/Zalo%20Received%20Files/Matlab%20Tutors%20Ini琀椀al/ctms/
examples/pend/invpen.gif" \* MERGEFORMAT
Trong đó: - Khối lượng xe (M) = 0,5 kg
- Khối lượng con lắc (m) = 0,2 kg
- Hệ số ma sát của xe (b) = 0,1Nm/s
- Chiều dài con lắc (l) = 0,6 m
- Mô men quán tính con lắc (I) = 0,006kg.m2
- Lực tác dụng lên xe: F
- Tọa độ vị trí xe x
- Góc nghiêng cần lắc theo phương thẳng đứng: theta
2 Hoạt động của sinh viên
- Nội dung 1: Mục tiêu/chuẩn đầu ra: L1
+ Mô hình hóa hệ thống + Xác định tính ổn định của hệ thống
+ Tìm đáp ứng của hệ thống theo thời gian
- Nội dung 2: Mục tiêu/chuẩn đầu ra: L2
+ Khảo sát sự ảnh hưởng của M, m lên chất lượng hệ thống + Khảo sát sự ảnh hưởng của l lên chất lượng hệ thống
- Nội dung 3: Mục tiêu/chuẩn đầu ra: L3
+ Thiết lập bộ điều khiển PID và phân tích ảnh hưởng của các thành phần P,I,D lên chất lượng hệ thống
+ Chọn tham số bộ điều khiển PID để tối ưu chất lượng hệ thống
3 Sản phẩm nghiên cứu: Bài thu hoạch và các chương trình mô phỏng
trên Matlab.
III Nhiệm vụ học tập
Trang 41 Hoàn thành tiểu luận, bài tập lớn, đồ án/dự án theo đúng thời gian quy định (từ ngày /11/2023 đến ngày /12/2023)
2 Báo cáo sản phẩm nghiên cứu theo chủ đề được giao trước giảng viên
và những sinh viên khác
IV Học liệu thực hiện tiểu luận, bài tập lớn, đồ án/dự án
1 Tài liệu học tập: Sách Cơ sở hệ thống tự động, tài liệu Matlab
2 Phương tiện, nguyên liệu thực hiện tiểu luận, bài tập lớn, đồ án/dự án (nếu có): Máy tính.
TS Phan Đình Hiếu TS Bùi Thanh Lâm
Trang 5Mở Đầu
Các khái niệm về điều khiển.
- Định nghĩa: Điều khiển là quá trình thu thập thông tin, xử lý thông tin và tác động lên hệ thống để đáp ứng của hệ thống “gần” với mục đích định trước Điều khiển tự động là quá trình điều khiển không cần sự tác động của con người
* Có một số lý do chúng ta cần điều khiển tự động trong các hệ thống:
+ Con người không thỏa mãn với đáp ứng của hệ thống hay muốn hệ thống hoạt động tăng độ chính xác, tăng năng suất, tăng hiệu quả kinh tế
+ Hiệu suất tốt hơn
Tiết kiệm thời gian và công sức
Kiểm soát và đáp ứng nhanh chóng
Giảm nguy cơ sai sót con người
Các thành phần cơ bản của hệ thống điều khiển:
- Điều khiển san bằng sai lệch : Bộ điều khiển quan sát tín hiệu ra c(t), so sánh với tín hiệu vào mong muốn r(t) để tính toán tín hiệu điều khiển u(t) Nguyên tắc điều khiển này điều chỉnh linh hoạt, loại sai lệch, thử nghiệm và sửa sai Đây là nguyên tắc cơ bản trong điều khiển
Sơ đồ khối hệ thống điều khiển san bằng sai lệch
Điều khiển phối hợp các hệ thống điều khiển chất lượng cao thường phối hợp sơ
đồ điều khiển bù nhiễu và sơ đồ điều khiển săn bằng sai lệch
Sơ đồ khối hệ thống điều khiển phối hợp
Trang 6Một hệ thống điều khiển như hình trên thì bắt buộc phải có những thành phần cơ bản như: thiết bị đo lường, bộ điều khiển và đối tượng để điều khiển
PHÂN LOẠI ĐIỀU KHIỂN
Có nhiều cách phân loại hệ thống điều khiển tùy theo mục đích của sự phân loại Ví dụ nếu căn cứ vào phương pháp phân tích và thiết kế có thể phân hệ thống điều khiển thành các loại tuyến tính và phi tuyến, biến đổi theo thời gian và bất biến theo thời gian; nếu căn cứ vào dạng tín hiệu trong hệ thống ta có hệ thống liên tục
và hệ thống rời rạc; nếu căn cứ vào mục đích điều khiển ta có hệ thống điều khiển
ổn định hóa, điều khiển theo chương, điều khiển theo dõi,
Phân loại theo phương pháp phân tích và thiết kế
Hệ thống tuyến tính - Hệ thống phi tuyến
Hệ thống tuyến tính không tồn tại trong thực tế, vì tất cả các hệ thống vật lý đều là phi tuyến Hệ thống điều khiển tuyến tính là mô hình lý tưởng để đơn giản hóa quá trình phân tích và thiết kế hệ thống Khi giá trị của tín hiệu nhập vào hệ thống còn nằm trong giới hạn mà các phần tử còn hoạt động tuyến tính (áp dụng được nguyên lý xếp chồng), thì hệ thống còn là tuyến tính
Hệ thống bất biến - hệ thống biến đổi theo thời gian
Khi các thông số của HTĐK không đổi trong suốt thời gian hoạt động của hệ thống, thì hệ thống được gọi là hệ thống bất biến theo thời gian Thực tế, hầu hết các
hệ thống vật lý đều có các phần tử trôi hay biến đổi theo thời gian Ví dụ như điện trở dây quấn động cơ bị thay đổi khi mới bị kích hay nhiệt độ tăng Một ví dụ khác
về HTĐK biến đổi theo thời gian là hệ điều khiển tên lửa, trong đó khối lượng của tên lửa bị giảm trong quá trình bay Mặc dù hệ thống biến đổi theo thời gian không
có đặc tính phi tuyến, vẫn được coi là hệ tuyến tính, nhưng việc phân tích và thiết kế loại hệ thống này phức tạp hơn nhiều so với hệ tuyến tính bất biến theo thời gian
NỘI DUNG
TỔNG QUAN VỀ HỆ CON LẮC NGƯỢC
Giới thiệu mô hình hệ thống con lắc ngược
Mô hình con lắc ngược là một mô hình kinh điển và là một mô hình phức tạp
có độ phi tuyến cao trong lĩnh vực điều khiển tự động hóa Để xây dựng và điều khiển hệ con lắc ngược tự cân bằng đòi hỏi người điều khiển phải có nhiều kiến thức về cơ khí lẫn điều khiển hệ thống Với mô hình này sẽ giúp người điều khiển kiểm chứng được nhiều cơ sở lý thuyết và các thuật toán khác nhau trong điều khiển
tự động Hệ thống con lắc ngược đang được nghiên cứu hiện nay gồm một số loại như sau: con lắc ngược đơn, con lắc ngược quay, hệ xe con lắc ngược, con lắc ngược 2, 3 bậc tự do,…
Trang 7Một số mô hình phần cứng con lắc ngược
* Nội dung đề tài chủ yếu tập trung nghiên cứu và xây dựng mô hình hệ thống con lắc ngược đơn bao gồm 3 thành phần chính sau:
- Phần cơ khí: 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
- Điện tử: gồm cảm biến đo vị trí xe và góc con lắc, mạch khuếch đại công suất (cầu H) và mạch điều khiển trung tâm Cảm biến được sử dụng trong đề tài là encoder quay có độ phân giải cao Tín hiệu từ encoder sẽ được truyền về bộ điều khiển thông qua khối eQEP (Enhanced Quadrature Encorder Pulse) của card DSP (bộ điều khiển trung tâm) Tùy thuộc vào tín hiệu đọc được từ các encoder mà DSP được lập trình
để xuất tín hiệu ngõ ra điều khiển động cơ DC qua một mạch khuếch đại công suất (mạch cầu H)
- Chương trình: chương trình điều khiển hệ con lắc ngược được viết trên phần mềm Matlab/Simulink thông qua CCS (Code Composer Studio) Tốc độ điều khiển hệ thống thực phụ thuộc rất nhiều vào tốc độ xử lí và tần số lấy mẫu của bộ điều khiển trung tâm
Mô hình toán hệ con lắc ngược
Trang 8Sơ đồ lực tác dụng vào hệ thống con lắc ngược
Trang 9Tiế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 đượ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à: l = L/2;
Từ phương trình (1.2) ta thay vào phương trình (1.1) được:
Tổng hợp các lực vuông góc với thanh con lắc:
Để 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:
Thay phương trình 1.4 vào phương trình 1.5 ta được:
Từ hai phương trình (1.3) và (1.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 (1.7) và (1.8) như sau:
x
F bx ml cos ml2
sin
M m
mlx cos m lg sin
(1.10)
Trang 10Thay các phương trình (1.9) và (1.10) vào các phương trình (1.7) và (1.8) ta được phương trình toán của hệ con lắc ngược phi tuyến:
x
( J ml2 )( F bx ml2 sin cos ) m2 l2 g sin
cos
( J ml2 )( M m ) m2 l2 cos2
ml (bx cos F cos ml2 sin cos (M m) g sin
) (
J ml2 )( M m ) m2 l2 cos2
(1.11) (1.12)
Trang 11Để đơ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:
x
F ml sin
M m mcos2
Fcos M m gsin ml sin cos
2
(1.14)
mlcos 2 M m l
Để tuyến tính hóa hệ con lắc ngược ta giả sử góc θ nhỏ để có thể xấp xỉ:
sinθ ≈ θ; cosθ ≈ 1; 2 0
Ta được phương trình tuyến tính hóa hệ thống như sau:
x
mg
(1.15)
F
M m
Biến đổi laplace thu được:
Từ đó ta có hàm truyền:
Ta có: Tín hiệu đầu vào là lực tác động F : U(s)
Tín hiệu ra 1 là góc quay :
Tín hiệu ra 2 là vị trí X : X(s)
Hàm truyền góc quay con lắc ngược:
Hàm truyền vị trí con lắc ngược:
với q= [(M+m)(I +ml2) -(ml)2]
Trang 12Tìm đáp ứng của hệ thống theo thời gian
Ứng dụng matlab đánh giá đáp ứng hệ thống theo thời gian: đáp ứng góc lệch theta theo thời gian
Tạo m file có dòng code :
Biểu diễn hàm truyền G(s):
M=0.5;
m=0.2;
b=0.1;
l=0.6;
i=0.006;
g=9.8;
l=0.6;
q=(M+m)*(i+m*l^2)-(m*l)^2; num=[m*l/q 0];
den=[1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G=tf(num,den)
Tín hiệu đầu ra sẽ: có hàm truyền:
G =
2.985 s
s^3 + 0.194 s^2 - 20.48 s - 2.925
Continuous-time transfer function.
Chạy code ta thu được hàm truyền trên màn hình
Trang 13Code Matlab:
+ Ta thu được đồ thị đáp ứng hệ thống theo thời gian như hình vẽ:
Trang 14+ Để xác định các thông số ta kích chuột phải vào biểu đồ và chọn characteristic :
Ear response: độ vọt lố
Settling time: thời gian xác lập
Rise time: thời gian lên
Steady state: sai số xác lập
Khảo sát sự ảnh hưởng của M, m lên chất lượng hệ thống
Khảo sát sự phụ thuộc của đáp ứng hệ thống theo khối lượng cần lắc thay đổi từ 0.1 đến 1.0 kg và khối lượng xe giữ nguyên Khi khối lượng cần lắc thay đổi sẽ dẫn đến
sự thay đổi của hệ thống và đáp ứng đầu ra của hệ thống Do vậy ta cần khảo sát sự phụ thuộc của đáp ứng hệ thống theo sự thay đổi của khối lượng cần lắc Từ đó đưa
ra giá trị khối lượng cần lắc phù hợp nhất
Để khảo sát ta tạo một m-file mới là ………… Trong m-file này, ta sẽ nhập code để khảo sát sự thay đổi của đáp ứng đầu ra khi khối lượng của cần lắc thay đổi Thay giá trị m = 0.1; 0.2; 0.3; 0.4; 0.5; 0.6; 0.7; 0.8; 0.9; 1.0 kg
Trang 15b=0.1;
i=0.006;
g=9.8;
t=0:0.01:1;
m=0.1;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,' <r');
grid on
hold on
m=0.2;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q]; G1 =tf(num,den);
step(G1,t,' *b');
m=0.3;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,' g');
m=0.4;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,' r');
m=0.5;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,' y');
m=0.6;
q=(M+m)*(i+m*l^2)-(m*l)^2
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,' b');
m=0.7;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,'g');
Trang 16m=0.8;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,'r');
m=0.9;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,'y');
m=1.0;
q=(M+m)*(i+m*l^2)-(m*l)^2;
num = [m*l/q 0];
den = [1 b*(i+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q];
G1 = tf(num,den);
step(G1,t,'b');
legend('m = 0.1','m = 0.2','m = 0.3','m = 0.4','m = 0.5','m = 0.6','m = 0.7','m =
0.8','m = 0.9','m = 1.0')
title ( 'do thi cua dap ung he thong khi khoi luong can lac thay doi' )
Ta thu được kết quả :
Nhận xét : Từ đồ thị ta thấy khi thay đổi giá trị khối lượng của cần lắc từ 0.1 đến 1.0
kg thì thì đáp ứng đầu ra của hệ thống cũng thay đổi Khi khối lượng cần lắc càng tăng thì hệ thống càng nhanh mất đi tính ổn định
Khảo sát sự ảnh hưởng của l lên chất lượng hệ thống
Trang 17nhập code để khảo sát sự thay đổi của đáp ứng đầu ra khi chiều dài của cần lắc thay đổi Thay giá trị l=0.1; 0.2; 0.3; 0.4; 0.5; 0.6; 0.7; 0.8; 0.9; 1
Code trong matlab
Kết quả ta thu được như sau :
Nhận xét: Từ đồ thị ta thấy khi thay đổi giá trị chiều dài của cần lắc từ 0.1 đến 1m thì đáp ứng đầu ra của hệ thống cũng thay đổi Khi chiều dài cần lắc càng tăng thì hệ thống càng nhanh mất đi tính ổn