Tải bản đầy đủ (.docx) (16 trang)

Bài tập lớn cơ sở hệ thống treo xe bus

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (406.01 KB, 16 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

BỘ CÔNG THƯƠNG

<b>TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI</b>

<b>Báo cáo bài tập lớn</b>

<b>Học phần: Cơ sở hệ thống tự động</b>

<i><b>Chủ đề</b></i>

<b>MƠ HÌNH HĨA VÀ KHẢO SÁT CHẤT LƯỢNG, VÀ</b>

<i><b>THIẾT KẾ BỘ ĐIỀU KHIỂN CỦA HỆ THỐNG.</b></i>

<b>CBHD: Sinh viên: Mã sinh viên: </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

I. Mơ hình hóa hệ thống và tìm đáp ứng của hệ thống theo thời gian...3

1. Mô tả hệ thống bằng phương trình vi phân...3

2. Mơ hình hóa hệ thống và tìm đáp ứng hệ thống theo thời gian...5

2.1 Mơ hình hóa hệ thống...5

2.2 Khảo sát đáp ứng hệ thống:...6

II. Khảo sát sự phụ thuộc của đáp ứng hệ thống theo độ cứng k1...6

1. Mô phỏng đáp ứng hệ thống trong matlab...6

1.1 Sử dụng matlab vẽ đáp ứng đầu ra với đầu vào dao động W(s) = 0.1....6

1.2 Sử dụng matlab vẽ đáp ứng đầu ra với đầu vào dao động U(s) = 1...7

III. Khảo sát đáp ứng hệ thống theo các tham số của bộ điều khiển PID...8

1. Cơ sở lý thuyết...8

2. Khảo sát chất lượng hệ thống theo tham số của bộ điều khiển...9

3. Thiết kế bộ điều khiển PID...13

IV. Tổng kết...15

TÀI LIỆU THAM KHẢO...16

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>I. Mơ hình hóa hệ thống và tìm đáp ứng của hệ thống theo thời gian</b>

<b>1. Mô tả hệ thống bằng phương trình vi phân</b>

 Khối lượng thân xe (M1) = 2500kg

 Khối lượng vật treo (M2) = 320kg

 Độ cứng của hệ thống treo (K1) = 80000N/m

 Độ cứng của bánh (K2) = 500000N/m

 Hệ số cản của hệ thống treo (b1) = 350Ns/m

 Hệ số cản của bánh (b2) = 15020Ns/m

 Lực điều khiển (u) = Lực từ bộ điều khiển được thiết kế

Theo định luật 2 Newton ta có hệ phương trình sau:

{

<i><small>M 1 ´X 1+b 1</small></i>(<i><small>X 1− ´</small></i><small>´</small> <i><small>X 2</small></i>)<small>+</small><i><small>K 1( X 1− X 2)=U</small></i>

<i><small>M 2 ´X 2=b 1</small></i>(<i><small>X 1− ´</small></i><small>´</small> <i><small>X 2</small></i>)<small>+</small><i><small>K 1 ( X 1−X 2)+b 2</small></i>(<i><small>W − ´</small></i><small>´</small> <i><small>X 2</small></i>)<small>+</small><i><small>K 2 (W −X 2)−U</small></i><sup> </sup>(1)Biến đổi Laplace 2 vế của hệ phương trình:

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<i><small>X 2 (s)=</small></i><sup>(−</sup><i><sup>M 1 s</sup></i>

<small>2)</small><i><small>U (s )∆</small></i>

 X1(s) – X2(s) = <small>¿ ¿</small><i><small>U (s )</small></i> <sup>¿</sup><i><small>∆</small></i>

<i><small>X 2( s)=</small></i><sup>(</sup><i><sup>M 1 b 2 s</sup></i>

<small>+(</small><i><small>M 1 K 2+b 1b 2) s</small></i><sup>2</sup><small>+(</small><i><small>b 1 K 2+b 2 K 1) s+K 1 K 2)W (s)∆</small></i>

Hàm truyền của hệ thống là

G2(s) =

<i><sup>X 1(s) – X 2(s)</sup><sub>W (s )</sub></i>

=

<small>−</small><i><small>M 1 b 2 s</small></i><sup>3</sup><small>−</small><i><small>M 1 K 2 s</small></i><sup>2</sup><i><small>∆</small></i>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>2. Mơ hình hóa hệ thống và tìm đáp ứng hệ thống theo thời gian</b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>1. Mô phỏng đáp ứng hệ thống trong matlab</b>

<b>1.1 Sử dụng matlab vẽ đáp ứng đầu ra với đầu vào dao động W(s) = 0.1</b>

<small>for i=10000:2000:20000 k1=i;</small>

<small>t1=0:0.1:10;step(0.1*Gs,t1);hold on;</small>

<small>legend('k1=10000','k1=12000','k1=14000','k1=16000','k1=18000','k1=20000')</small>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

Kết quả

Khi giá trị độ cứng của hệ thống treo K1 tăng từ 10000 lên đến 20000 N/m thì biên độ dao động của hệ thống cũng tăng lên theo. Thời gian quá độ của hệ thống cũng tăng theo, thời gian xác lập vì thế cũng khá lớn. Hệ thống dao động tắt dần với biên độ khá lớn và thời gian dao động dài.

<b>1.2 Sử dụng matlab vẽ đáp ứng đầu ra với đầu vào dao động U(s) = 1</b>

<small>for i=10000:2000:20000 k1=i;</small>

<small>t1=0:0.1:10;step(0.1*Gs,t1);hold on;</small>

<small>legend('k1=10000','k1=12000','k1=14000','k1=16000','k1=18000','k1=20000')</small>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

Kết quả:

Nhận xét: Giá trị của K1 tăng từ 10000 đến 20000 N/m làm cho biên độ dao động của hệ thống giảm dần, từ đó làm giảm thời gian quá độ, độ vọt lố giảm, hệ thống đi vào trạng thái ổn định nhanh hơn. Tuy nhiên, ảnh hưởng do lực điều khiển U(s) tác động lên đáp ứng hệ thống rất nhỏ, gần như khôngđáng kể nên sau đây chỉ xét ảnh hưởng của nhiễu W(s) lên đáp ứng quá độ của hệ thống.

<b>III. Khảo sát đáp ứng hệ thống theo các tham số củabộ điều khiển PID</b>

<b>1. Cơ sở lý thuyết</b>

PID (Proportional Integral Derivative) là một cơ chế phản hồi vòng điều khiển được sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp. Bộ điều khiểnPID được sử dụng nhiều nhất trong các hệ thống điều khiển vịng kín (có tín hiệu phản hồi). Bộ điều khiển PID sẽ tính tốn giá trị sai số là hiệu số giữa giá trị đo thông số biến đổi và giá trị đặt mong muốn. Bộ điều khiển sẽ thực hiện giảm tối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào. Để đạt được

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

kết quả tốt nhất, các thông số PID sử dụng trong tính tốn phải điều chỉnh theo tính chất của hệ thống-trong khi kiểu điều khiển là giống nhau, các thông số phải phụ thuộc vào đặc thù của hệ thống.

D (Derivative): là vi phân của sai lệch. Điều khiển vi phân tạo ra tín hiệu điều chỉnh sao cho tỉ lệ với tốc độ thay đổi sai lệch đầu vào. Thời gian càng lớn thì phạm vi điều chỉnh vi phân càng mạnh, tương ứng với bộ điều chỉnh đáp ứng với thay đổi đầu vào càng nhanh.

Hàm truyền của bộ điều khiển PID như sau:PID(s) = <i><small>K</small><sub>P</sub></i><small>+</small><i><small>KI</small></i>

<i><small>s</small></i> <sup>+</sup><i><sup>K</sup><small>Ds=</small><sup>K</sup><sup>D</sup><sup>S</sup></i>

<b>2. Khảo sát chất lượng hệ thống theo tham số của bộ điềukhiển</b>

Sơ đồ của hệ thống vịng kín như sau:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

 Khảo sát với thông số Kp = Ki = Kd = 10 với đầu vào nhiễu W(s) = 0.1

<small>m1=2500;m2=320;k1=80000;k2=500000;b1 =350;b2 =15020;</small>

<small>num1=[(m1+m2) b2 k2];</small>

<small>den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>num2=[-(m1*b2) -(m1*k2) 0 0];</small>

<small>den2=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>PID=tf([KD KP KI],[1 0]);system=F*feedback(F*G1,PID);t=0:0.1:5;</small>

<small>step(0.1*system,t);hold on</small>

Kết quả:

Nhận xét: Hệ thống mất kiểm soát

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

 Khảo sát với thông số Kp = Ki = Kd = 1000 với đầu vào nhiễu W(s) = 0.1

<small>m1=2500;m2=320;k1=80000;k2=500000;b1 =350;b2 =15020;</small>

<small>num1=[(m1+m2) b2 k2];</small>

<small>den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>num2=[-(m1*b2) -(m1*k2) 0 0];</small>

<small>den2=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>PID=tf([KD KP KI],[1 0]);system=F*feedback(F*G1,PID);t=0:0.1:5;</small>

<small>step(0.1*system,t);hold on</small>

Kết quả:

Nhận xét: Hệ thống đã ổn định, thời gian xác lập khá nhanh tuy nhiên độ vọt lố rất lớn

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

 Khảo sát với thông số Kp = Kd = Ki = 100000 với đầu vào nhiễu W(s) = 0.1

<small>m1=2500;m2=320;k1=80000;k2=500000;b1 =350;b2 =15020;</small>

<small>num1=[(m1+m2) b2 k2];</small>

<small>den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>num2=[-(m1*b2) -(m1*k2) 0 0];</small>

<small>den2=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>PID=tf([KD KP KI],[1 0]);system=F*feedback(F*G1,PID);t=0:0.1:5;</small>

<small>step(0.1*system,t);hold on</small>

Kết quả:

Nhận xét: Hệ thống đã ổn định, độ vọt lố nhỏ ( POT < 20% ) nhưng thời gian xác lập t<small>xl </small>= 2s nên vẫn chưa đạt yêu cầu điều khiển.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>3. Thiết kế bộ điều khiển PID</b>

Yêu cầu đặt ra là thiết kế một bộ điều khiển phản hồi để khi nhiễu loạn trên đường ( W(s) = 0.1 ) là 10cm được mô phỏng bằng đầu vào bước đơn vị, đầu ra ( X1-X2 ) có thời gian lắng nhỏ hơn 5 giây, thời gian xác lập dưới 0.5s và độ vọt lố nhỏ hơn 10%.

Sử dụng bộ điều khiển với Kp = 200000; Ki = 500000; Kd = 300000

<small>m1=2500;m2=320;k1=80000;k2=500000;b1 =350;b2 =15020;</small>

<small>num1=[(m1+m2) b2 k2];</small>

<small>den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>num2=[-(m1*b2) -(m1*k2) 0 0];</small>

<small>den2=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>PID=tf([KD KP KI],[1 0]);system=F*feedback(F*G1,PID);t=0:0.1:10;</small>

<small>step(0.1*system,t);</small>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Có thể thấy rằng, độ vọt lố đã ở mức cho phép ( POT < 10% ), thời gian lắng nhỏ hơn 5s. Tuy nhiên thời gian xác lập vẫn chưa đạt yêu cầu ( t<small>xl </small> < 1s )Vì vậy ta có thể tăng Kp hoặc Kd để giảm thời gian xác lập

Sử dụng bộ điều khiển với Kp = 800000; Ki = 500000; Kd = 500000

<small>m1=2500;m2=320;k1=80000;k2=500000;b1 =350;b2 =15020;</small>

<small>num1=[(m1+m2) b2 k2];</small>

<small>den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>num2=[-(m1*b2) -(m1*k2) 0 0];</small>

<small>den2=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];</small>

<small>PID=tf([KD KP KI],[1 0]);system=F*feedback(F*G1,PID);t=0:0.001:10;</small>

<small>step(0.1*system,t);</small>

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Lúc này, thời gian xác lập đã đạt yêu cầu ( t<small>xl </small> < 0.5s ) với sai số xác lập < 2% = 0.002

<b>IV. Tổng kết</b>

Thiết kế bộ điều khiển hệ thống giảm chấn xe buýt là một đề tài thú vị và có tính thực tế cao. Là cơ sở cho việc điều khiển, kiểm sốt máy móc, nền tảng chophát triển những mơ hình tự động hóa sau này.

Qua q trình thực hiện bài tập lớn đã có thể hiểu cách thức mơ hình hóa một hệthống thực tế. Biết cách sử dụng phần mềm mô phỏng Matlab. Bài tập lớn đã tạo điều kiện thực hành việc thiết kế bộ điều khiển và chạy thử trên máy. Khảo sát và đưa ra thông số bộ điều khiển, điều chỉnh đáp ứng hệ thống theo ý muốn.Nhờ có sự giúp đỡ hỗ trợ nhiệt tình từ giáo viên, nguồn tài liệu dồi dào. Thời gian tìm hiểu và nghiên cứu dài cùng với sự tích lũy kiến thức trong suốt quá trình học tập trên lớp giúp việc hồn thành bài tập lớn rút ngắn được thời gian.Tuy nhiên, trong quá trình làm bài khơng thể tránh khỏi những sai sót. Vì vậy, với mục tiêu giúp bài tập lớn trở lên hồn thiện, mọi nhận xét, đóng góp của thầy cô đều mang lại giá trị to lớn.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>TÀI LIỆU THAM KHẢO</b>

<b>1.Giáo trình </b>

Sách Lý thuyết điều khiển tự động ( NXB Hà Nội 2018 )

Nguyễn Phùng Quang (2008), Matlab & Simulink dành cho kỹ sư điều khiển tự động, NXB Khoa học kỹ thuật.

Nhóm tác giả bộ môn Cơ điện tử (2013), Bài giảng lý thuyết điều khiển, ĐHCNHN

<b>2.Tài liệu</b>


×