1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thực tập điều khiển tự động bài số 1 khảo sát bộ điều khiển pid cho hệ thí nghiệm động cơ dc

31 0 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

Nội dung

Trang 1

111Equation Chapter 1 Section 1

BỘ GIÁO DỤC & ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINHKHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

-⸙∆⸙ -BÁO CÁO THỰC TẬPĐIỀU KHIỂN TỰ ĐỘNG

GVHD: TS Trần Đức ThiệnSVTH:

Trần Trọng Nguyên 21151294

-Võ Trọng Kha - 21151198

Trang 2

Ngày 25, tháng 3 năm 2024

Trang 3

MỤC LỤC

MỤC LỤC 2

DANH MỤC HÌNH ẢNH 3

DANH SÁCH BẢNG 4

Bài số 1 Khảo sát bộ điều khiển PID cho hệ thí nghiệm động cơ DC 5

1.1Tổng quan hệ thí nghiệm động cơ DC : 5

1.2Yêu cầu chuẩn bị : 5

1.3.5 Thực hiện kiểm tra hoạt động của động cơ DC : 12

1.3.6 Xây dựng bộ điều khiển vòng hở có tín hiệu đọc về từ Encoder : 14

1.4Khảo sát bộ điều khiển PID : 16

1.4.1 Khảo sát đáp ứng ngõ ra của hệ thống với Ki=0, Kd=0, thay đổi Kp : 16

1.4.2 Khảo sát đáp ứng ngõ ra của hệ thống với Kp=4, Kd=0, thay đổi Ki : 19

1.4.3 Khảo sát đáp ứng ngõ ra của hệ thống với Kp=4, Ki=0.2, thay đổi Kd : 22

1.5Thiết kế bộ điều khiển PID : 25

1.5.1 Trường hợp 1 : 25

1.5.2 Trường hợp 2 : 27

TÀI LIỆU THAM KHẢO 28

3

Trang 4

Hình 1.9 : Sơ đồ nối dây mô hình động cơ DC 9

Hình 1.10: Mô hình điều khiển động cơ DC thực tế 10

Hình 1.11 : Cổng kết nối với Arduino 10

Hình 1.12 : Cửa sổ Add-On Explorer 11

Hình 1.13 : Package for Arduino Hardware 11

Hình 1.14 Cài đặt Simulink support package for arduino hardware 12

Hình 1.15: Thư viện Device Drivers 12

Hình 1.16 : Kiểm tra động cơ với đầu vào là khối Constant 13

Hình 1.17 : Dạng sóng ngõ ra khối Constant = 200 13

Hình 1.18 : Tín hiệu đầu vào là sóng Sine 14

Hình 1.19 : Dạng sóng sine đầu vào 14

Hình 1.20 : Sơ đồ bộ điều khiển vòng hở với đầu vào là khối Constant = 200 14

Hình 1.21 : Dạng sóng đầu ra khi tín hiệu đầu vào là khối Constant = 200 15

Hình 1.22 : Sơ đồ bộ điều khiển vòng hở với đầu vào là sóng Sine có biên độ = 200 15

Hình 1.23 : Dạng sóng đầu ra khi tín hiệu đầu vào là sóng Sine với biên độ = 200 16

Hình 1.24 : Sơ đồ khối bộ điều khiển vòng kín PID 16

Hình 1.25 : Đáp ứng ngõ ra khi Ki=0, Kd=0, thay đổi Kp 17

Hình 1.26 : Sai số ngõ ra khi Ki=0, Kd=0, thay đổi Kp 18

Hình 1.27 : Tín hiệu điều khiển khi Ki=0, Kd=0, thay đổi Kp 19

Hình 1.28 : Đáp ứng ngõ ra khi Kp=4, Kd=0, thay đổi Ki 20

Hình 1.29 : Sai số ngõ ra khi Kp=4, Kd=0, thay đổi Ki 21

Hình 1.30 : Tín hiệu điều khiển khi Kp=4, Kd=0, thay đổi Ki 22

Hình 1.31 : Đáp ứng ngõ ra khi Kp=4, Ki=0.2, thay đổi Kd 23

Hình 1.32 : Sai số ngõ ra khi Kp=4, Ki=0.2, thay đổi Kd 24

Hình 1.33 : Tín hiệu điều khiển khi Kp=4, Ki=0.2, thay đổi Kd 25

Bảng 2 : Thông số chất lượng bộ điều khiển khi Ki thay đổi 18

Bảng 3 : Thông số chất lượng bộ điều khiển khi Kd thay đổi 21

Trang 5

Bài số 1.Khảo sát bộ điều khiển PID cho hệ thínghiệm động cơ DC

1.1 Tổng quan hệ thí nghiệm động cơ DC :

Bài thí nghiệm tập trung vào tìm hiểu nguyên lý hoạt động của cácthiết bị trong mô hình thí nghiệm động cơ một chiều; Thiết lập cácchương trình điều khiển vòng hở không quan sát, có quan sát và hồi tiếpâm; Tìm hiểu chương trình nhúng giải thuật điều khiển PID cho mô hìnhđộng cơ; Khảo sát sự ảnh hưởng của các thông số bộ điều khiển PID lênchất

lượng điều khiển của hệ thống.

1.2 Yêu cầu chuẩn bị :

a) Tìm hiểu về Encoder :

- Encoder hay còn gọi là Bộ mã hóa quay hoặc bộ mã hóa trục, là một thiết bị cơ điệnchuyển đổi vị trí góc hoặc chuyển động của trục thành tín hiệu đầu ra analog hoặc kỹ thuậtsố Encoder được dùng để phát hiện vị trí, hướng di chuyển, tốc độ… của động cơ bằngcách đếm số vòng quay được của trục.

- Có 2 loại encoder : Incremental encoder (Tương đối) và Absolute encoder (Tuyệtđối)

 Incremental encoder (Tương đối): Tương ứng đĩa 2bit, cho ngõ ra dạng xung vuôngpha AB, hoặc ABZ hoặc ABZA|B|Z| (đọc là A đảo, B đảo, Z đảo) Loại Encoder có2 tín hiệu xung A và B là phổ biến nhất Tín hiệu khe Z là tín hiệu để xác định độngcơ quay được một vòng.

 Absolute encoder (Tuyệt đối): Tương ứng đĩa quay 8bit hay 8 dãy rãnh, cho ngõ radạng mã kỹ thuật số(BCD), Binary (nhị phân), Gray code

Xác định chiều quay của Encoder :

Để xác định chiều quay của Encoder, Ta dựa vào xung(pha) A và B theo như hình vẽ sau:

Hình 1.1 Cấu trúc 2 kênh A,B của Encoder

Trang 6

Người ta sẽ quy định, nếu xung A xuất tín hiệu trước xung B là quay theo chiều kimđồng hồ CW(Clockwise) Tức là, khi ta quay trục Encoder theo chiều kim đồng hồ thìxung A sẽ lệch pha với xung B một góc 90 độ Ngược lại, nếu ta quay trục Encoder ngượcchiều kim đồng hồ CCW( Couter Clockwise), thì xung B sẽ xuất tín hiệu trước xung A.Lúc này, xung B sẽ lệch pha xung A góc 90 độ

Dựa vào cách xác định Xung nào xuất tín hiệu trước, ta xác định chiều quay của

Encoder

Chế độ x1, x2, x4 trong Encoder :

Ta có thể sử dụng ba loại mã hóa: x1, x2 và x4 Sự khác biệt giữa các loại mã hóanày là số lượng cạnh xung được tính trong quá trình di chuyển Chế độ mã hóa khác nhaudẫn đến độ phân giải của bộ mã hóa có hiệu suất khác nhau.

 Với chế độ X1, cạnh tăng (còn gọi là dẫn đầu) hoặc cạnh giảm (còn gọi là theo sau)của kênh A đều được tính Nếu kênh A dẫn kênh B, cạnh tăng sẽ được tính và chuyểnđộng tiến về phía trước hoặc theo chiều kim đồng hồ Ngược lại, nếu kênh B dẫntrước kênh A thì cạnh rơi sẽ được tính và chuyển động lùi hoặc ngược chiều kimđồng hồ.

Hình 1.2 : Chế độ mã hóa x1

 Khi sử dụng chế độ x2, cả cạnh lên và cạnh xuống của kênh A đều được tính Điềunày nhân đôi số lượng xung được tính cho mỗi vòng quay hoặc khoảng cách tuyếntính, từ đó tăng gấp đôi độ phân giải của bộ mã hóa.

212\* MERGEFORMAT (.)Với  là góc xoay, Pulseread là số xung đọc được, Pulseround là số xung mỗi vòng của

động cơ sau khi qua hộp số.Trong đó :

mod

Trang 7

Với Pulse là số xung mỗi vòng của động cơ khi chưa có hộp số, n là tỉ số truyền giữatrục động cơ và hộp số, modread là chế độ đọc

c) Tìm hiểu về mạch cầu H :

Nguyên lý hoạt động :

L298 là một loại mạch cầu H - mạch điện được sử dụng để điều khiển động cơ điệnDC theo hai hướng khác nhau: tiến và lùi Mạch này được gọi là "H-Bridge" vì cấu trúccủa nó gồm bốn chân kết nối giống như chữ "H".

Cấu trúc cơ bản của mạch cầu H bao gồm bốn chân kết nối theo cấu trúc "H" Mỗicặp chân đối diện của "H" được kết nối với một cặp switch hoặc transistor điều khiển Khicác switch hoặc transistor này được kích hoạt theo một cách đặc biệt, nó tạo điều kiện chodòng điện chạy qua động cơ theo một hướng cụ thể, làm cho động cơ quay theo hướng đó.Bằng cách kích hoạt các switch hoặc transistor theo cách khác nhau, động cơ có thể đượcđiều khiển quay ở hướng khác.

L298 chịu được điện áp 12V-3A được thiết kế để chấp nhận các mức logic TTLtiêu chuẩn và điều khiển tải cuộn dây như relay, solenoid, động cơ DC và bước Hai đầuvào kích hoạt được cung cấp để kích hoạt hoặc vô hiệu hóa thiết bị độc lập với tín hiệu đầuvào

d) Tìm hiểu động cơ :

Động cơ giảm tốc GA25-370 có encoder cấu tạo thực tế là động cơ giảm tốcDC bình thường có gắn thêm phần Encoder để có thể trả xung về vi điều khiển giúp xácđịnh vị trí, vận tốc, từ đó vi điều khiển tác động lại động cơ qua mạch công suất, sử dụngcác thuật toán để điều khiển ngược lại động cơ.

Sơ đồ kết nối chân :

Trang 8

Hình 1.5 : Sơ đồ kết nối chân L298N

Hình 1.6 : Module L298N

Chức năng các chân :

Bảng 2: Chức năng các chân

IN1 & IN2 Các chân đầu vào điều khiển hướng quay động cơ AIN3 & IN4 Các chân đầu vào điều khiển hướng quay của Động cơ B

OUT1 & OUT2 Chân đầu ra cho động cơ A

e) Các tiêu chuẩn đánh giá hệ thống :

Trang 9

Độ vọt lố phần trăm POT (Percent of Overshoot): là đại lượng đánh giá mức độ vọt lố củahệ thống.

Thời gian xác lập: là thời gian cần thiết để sai lệch giữa đáp ứng của hệ thống và giá trị

xác lập của nó không vượt quá % (thường chọn là % = 2% hoặc % = 5%)

Trang 10

Hình 1.9 : Sơ đồ nối dây mô hình động cơ DC

Trong Error: Reference source not found là sơ đồ nối dây của mô hìnhđộng cơ, trong đó sử dụng vi điều khiển trungtâm là Arduino mega 2560 Mega 2560 sẽ điều khiển mạch công suất

Hình 1.10: Mô hình điều khiển động cơ DC thực tế

Tổng quan mô hình động cơ, bao gồm :- Nguồn tổ ong 12V-5A.

- Arduino Mega 2560.- Cầu H L298N.

- Động cơ DC servo có gắn encoder.

Trang 11

1.3.3 Kết Nối Và Chương Trình Sử Dụng :

Hình 1.11 : Cổng kết nối với Arduino

1.3.4 Thư viện :

a) Thư viện chung :

- Bước 1: Ở thẻ Home trong giao diện Matlab ta chọn vào Add-Ons Cửa

Explorer sẽ hiện lên.

Hình 1.12 : Cửa sổ Add-On Explorer

- Bước 2: Trong phần Search của cửa số Add-On Explorer ta nhập từ

Trang 12

support package for arduino hardware” Thông tin về tool ta cần sẽ hiệnra.

Hình 1.13 : Package for Arduino Hardware

- Bước 3: Nhấn vào tool đó và nhấn Install để cài đặt

Hình 1.14 Cài đặt Simulink support package for arduino hardware

b) Thư viện cho động cơ :

- Bước 1: Vào Matlab Simulink để tải Device Driver, nhấn Add-Ons dưới

đây:

Trang 13

Hình 1.15: Thư viện Device Drivers

Đối với các trường hợp không tải được, ta sẽ tải bằng cách 2 : Truy cập vào Link sau :

1.3.5 Thực hiện kiểm tra hoạt động của động cơ DC :

a) Khối Constant :

Đầu tiên, ta kiểm tra động cơ chạy 1 chiều với đầu vào là khối Constant.

Hình 1.16 : Kiểm tra động cơ với đầu vào là khối Constant

 Thiết lập trong khối Saturation : Upper Limit : 240, Lower Limit : -240 để giới hạn đầuvào cho động cơ DC.

Trang 14

Hình 1.17 : Dạng sóng ngõ ra khối Constant = 200

* Quan sát mô hình :

- Khi cấp tín hiệu đặt là 200, động cơ sẽ chạy theo chiều thuận với tốc độ 200 Ngược lại,khi ta cấp tín hiệu đặt là -200 thì động cơ sẽ chạy theo chiều nghịch với tốc độ 200.

b) Sau khi động cơ đã hoạt động, tiếp tục kiểm tra với đầu vào là khối Sin Wave :

Hình 1.18 : Tín hiệu đầu vào là sóng Sine

Ta thu được dạng sóng ra như sau :

Trang 15

Hình 1.19 : Dạng sóng sine đầu vào

1.3.6 Xây dựng bộ điều khiển vòng hở có tín hiệu đọc về từ Encoder :Trường hợp 1 : Xét tín hiệu đặt là khối Constant = 200 :

Hình 1.20 : Sơ đồ bộ điều khiển vòng hở với đầu vào là khối Constant = 200

Chương trình Matlab hàm Calib :

function out = cal(in)

% out=(in*2*pi)/2160;%note: so xung : 12,%ti so truyen: 180,%che do doc : x4

out = (in*2*180)/(45*11*4);

Sử dụng hàm Calib để chuyển đổi số xung đọc được từ Encoder thành góc quay của độngcơ DC Mỗi động cơ sẽ có số xung Encoder và tỉ số truyền của hộp số khác nhau, chế độđọc Encoder cũng ảnh hưởng nhiều đến tính toán độ chính xác góc quay động cơ.

Ta thu được dạng sóng như sau :

Trang 16

Hình 1.21 : Dạng sóng đầu ra khi tín hiệu đầu vào là khối Constant = 200

Dạng sóng đầu ra khi có tín hiệu đọc về từ Encoder có dạng như trên tại t = 9.2s làdo kiểu dữ liệu của biến đọc Encoder là kiểu Short Int (-32768 đến 32768) Do đó khi biếnđọc Encoder bị tràn thì biến đọc sẽ trở về giá trị -32768 và tiếp tục đếm.

Trường hợp 2 : Xét tín hiệu đặt là hàm sóng Sine với biên độ = 200, tần số 2*pi/10

Hình 1.22 : Sơ đồ bộ điều khiển vòng hở với đầu vào là sóng Sine có biên độ = 200

Ta thu được dạng sóng như sau :

Trang 17

Hình 1.23 : Dạng sóng đầu ra khi tín hiệu đầu vào là sóng Sine với biên độ = 200

1.4 Khảo sát bộ điều khiển PID :

Hình 1.24 : Sơ đồ khối bộ điều khiển vòng kín PID

Hình 1 24 trình bày chương trình bộ điều khiển hồi tiếp PID cho động cơ DC Tínhiệu ngõ đặt là Constant với biên độ là 200 hoặc tín hiệu hàm Step có biên độ là 200.Thờigian lấy mẫu là 0.01s, thời gian mô phỏng là 10s, chương trình điều khiển được xây dựngtrên Matlab 2023b Tín hiệu đặt được so sánh với tín hiệu ngõ ra của khối encoder sau khiđã được chuyển đổi từ số xung sang độ.

1.4.1 Khảo sát đáp ứng ngõ ra của hệ thống với Ki=0, Kd=0, thay đổi Kp :

Yêu cầu:

- Tín hiệu đặt là hàm Step với biên độ là 200, thời gian mô phỏng là

mẫu là 0.01s, chương trình mô phỏng là MATLAB 2019a.

- Vẽ các đáp ứng của ngõ ra động cơ DC ứng với các thông số bộ điềukhiển khác nhau.

- Vẽ các đáp ứng của tín hiệu điều khiển ứng với các thông số bộ điềukhiển khác nhau.

- Lập bảng xác định các thông số chất lượng bộ điều khiển ứng với cácthông số bộ điều khiển khác nhau.

Ta tiến hành vẽ đồ thị ở 6 trường hợp Kp trên Scope và đọc các giá trị đểđánh giá chất lượng của hệ thống thông qua : Thời gian lên, thời gianxác lập, sai số xác lập, độ vọt lố.

Trang 19

Chương trình Matlab hiển thị đồ thị đáp ứng ngõ ra :

close all;figure();

plot(Kp1_out.time,Kp1_out.signals.values,' ','LineWidth',1.5, 'Color','k');

title('Output Respone');xlabel('Times (s)');grid on

ylabel('Position ');fontsize(11);

Times (s)

Hình 1.25 : Đáp ứng ngõ ra khi Ki=0, Kd=0, thay đổi Kp

Chương trình Matlab hiển thị sai số ngõ ra :

close all;figure();

plot(Kp1_err.time,Kp1_err.signals.values,' ','LineWidth',1.5, 'Color','k');

hold on;

Trang 20

title('Error');xlabel('Times (s)');grid on

ylabel('Position ');fontsize(11);

Times (s)

Hình 1.26 : Sai số ngõ ra khi Ki=0, Kd=0, thay đổi Kp

Chương trình Matlab hiển thị tín hiệu điều khiển :

close all;figure();

plot(Kp1_ctrl.time,Kp1_ctrl.signals.values,' ','LineWidth',1.5, 'Color','k');

Trang 21

title('Control Signal');xlabel('Times (s)');grid on

ylabel('Amplitude ');fontsize(11);

Times (s)

Hình 1.27 : Tín hiệu điều khiển khi Ki=0, Kd=0, thay đổi Kp

Lập bảng xác định các thông số chất lượng bộ điều khiển ứng với cáctrường hợp Kp :

Bảng 3 : Thông số chất lượng bộ điều khiển khi Kp thay đổi

 Thời gian xác lập chậm dần thể hiện việc hệ thống đáp ứng chậm.

1.4.2 Khảo sát đáp ứng ngõ ra của hệ thống với Kp=4, Kd=0, thay đổi Ki :

Yêu cầu:

Trang 22

 Vẽ các đáp ứng của ngõ ra động cơ DC ứng với các thông số bộ điều khiển khác nhau. Vẽ các đáp ứng của tín hiệu điều khiển ứng với các thông số bộ điều khiển khác nhau. Lập bảng xác định các thông số chất lượng bộ điều khiển ứng với các thông số bộ điều

khiển khác nhau.

Ta tiến hành vẽ đồ thị ở 6 trường hợp Ki trên Scope và đọc các giá trị đểđánh giá chất lượng của hệ thống thông qua : Thời gian lên, thời gianxác lập, sai số xác lập, độ vọt lố.

Chương trình Matlab hiển thị đồ thị đáp ứng ngõ ra :

close all;figure();

plot(Ki1_out.time,Ki1_out.signals.values,' ','LineWidth',1.5, 'Color','k');

ylabel('Position ');fontsize(11);

Trang 23

Times (s)

Output Respone

Hình 1.28 : Đáp ứng ngõ ra khi Kp=4, Kd=0, thay đổi Ki

Chương trình Matlab hiển thị sai số ngõ ra :

close all;figure();

plot(Ki1_err.time,Ki1_err.signals.values,' ','LineWidth',1.5, 'Color','k');

ylabel('Position ');fontsize(11);

Trang 24

Times (s)

Hình 1.29 : Sai số ngõ ra khi Kp=4, Kd=0, thay đổi Ki

Chương trình Matlab hiển thị tín hiệu điều khiển :

close all;figure();

plot(Ki1_ctrl.time,Ki1_ctrl.signals.values,' ','LineWidth',1.5, 'Color','k');

hold on;

hold on;

hold on;

hold on;

hold on;

ylabel('Amplitude ');fontsize(11);

Trang 25

Times (s)

Hình 1.30 : Tín hiệu điều khiển khi Kp=4, Kd=0, thay đổi Ki

Lập bảng xác định các thông số chất lượng bộ điều khiển ứng với cáctrường hợp Ki

Bảng 4 : Thông số chất lượng bộ điều khiển khi Ki thay đổi

 Thời gian xác lập tăng dần, tuy nhiên rất ngắn thể hiện hệ thống đáp ứng nhanh.

1.4.3 Khảo sát đáp ứng ngõ ra của hệ thống với Kp=4, Ki=0.2, thay đổi Kd :

Yêu cầu:

 Vẽ các đáp ứng của ngõ ra động cơ DC ứng với các thông số bộ điều khiển khác nhau. Vẽ các đáp ứng của tín hiệu điều khiển ứng với các thông số bộ điều khiển khác nhau. Lập bảng xác định các thông số chất lượng bộ điều khiển ứng với các thông số bộ điều

khiển khác nhau.

Ta tiến hành vẽ đồ thị ở 6 trường hợp Kd trên Scope và đọc các giá trị đểđánh giá chất lượng của hệ thống thông qua : Thời gian lên, thời gianxác lập, sai số xác lập, độ vọt lố.

Chương trình Matlab hiển thị đồ thị đáp ứng ngõ ra :

close all;figure();

plot(Kd1_out.time,Kd1_out.signals.values,' ','LineWidth',1.5, 'Color','k');

hold on;

Ngày đăng: 31/05/2024, 14:38

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

TÀI LIỆU LIÊN QUAN

w