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 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 đề Khảo Sát Bộ Điều Khiển PID Cho Hệ Thí Nghiệm Động Cơ DC
Tác giả Trần Trọng Nguyên, Võ Trọng Kha
Người hướng dẫn TS. Trần Đức Thiện
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP. Hồ Chí Minh
Chuyên ngành Điện – Điện Tử
Thể loại báo cáo thực tập
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 31
Dung lượng 5,19 MB

Cấu trúc

  • 1.1 Tổng quan hệ thí nghiệm động cơ DC (5)
  • 1.2 Yêu cầu chuẩn bị (5)
  • 1.3 Các bước thực hiện (9)
    • 1.3.1 Sơ đồ tổng quan (9)
    • 1.3.2 Mô hình thực tế (10)
    • 1.3.3 Kết Nối Và Chương Trình Sử Dụng (11)
    • 1.3.4 Thư viện (11)
    • 1.3.5 Thực hiện kiểm tra hoạt động của động cơ DC (13)
    • 1.3.6 Xây dựng bộ điều khiển vòng hở có tín hiệu đọc về từ Encoder (15)
  • 1.4 Khảo sát bộ điều khiển PID (17)
    • 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 (17)
    • 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 (21)
    • 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 (25)
  • 1.5 Thiết kế bộ điều khiển PID (28)
    • 1.5.1 Trường hợp 1 (28)
    • 1.5.2 Trường hợp 2 (30)
  • TÀI LIỆU THAM KHẢO.................................................................................................28 (31)

Nội dung

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

Bài thí nghiệm tập trung vào nguyên lý hoạt động của động cơ một chiều, thiết lập ba phương thức điều khiển: vòng hở không quan sát, vòng hở có quan sát và hồi tiếp âm; triển khai giải thuật điều khiển PID trên bộ vi điều khiển; phân tích ảnh hưởng của thông số bộ điều khiển PID đến hiệu suất điều khiển hệ thống.

Yêu cầu chuẩn bị

Bộ mã hóa quay (encoder) là thiết bị cơ điện chuyển đổi vị trí góc hoặc chuyển động trục thành tín hiệu đầu ra dạng analog hoặc kỹ thuật số Thiết bị này được sử dụng rộng rãi trong nhiều hệ thống điều khiển chuyển động để phát hiện vị trí, hướng di chuyển và tốc độ của động cơ thông qua việc đếm số vòng quay 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ông pha 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 động cơ 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õ ra dạ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

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ược chiề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

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óa này là số lượng cạnh xung được tính trong quá trình di chuyển Chế độ mã hóa khác nhau dẫ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ẫn trướ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

Sử dụng chế độ nhân đôi (x2) sẽ tính cả cạnh lên và cạnh xuống của kênh A Nhờ đó, số lượng xung tính cho mỗi vòng quay hoặc khoảng cách tuyến tính tăng gấp đôi, dẫn đến độ phân giải bộ mã hóa cao gấp đôi.

Hình 1.3 : Chế độ mã hóa x2

 Mã hóa chế độ x4 sẽ đếm cả cạnh lên và cạnh xuống của cả hai kênh A và B, giúp tăng gấp bốn lần số xung và tăng độ phân giải lên bốn lần.

Hình 1.4 : Chế độ mã hóa x4 b) Cách tính góc quay của động cơ từ số xung Encoder : read 360 round

Với  là góc xoay, Pulse read là số xung đọc được, Pulse round là số xung mỗi vòng của động cơ sau khi qua hộp số.

Trong đó : round mod read

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ữa trục động cơ và hộp số, mod read là chế độ đọc c) Tìm hiểu về mạch cầu H :

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ện

DC 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úc của nó gồm bốn chân kết nối giống như chữ "H".

Cấu trúc mạch cầu H cơ bản bao gồm bốn chân nối đối xứng tạo thành hình chữ "H" Mỗi cặp chân đối diện của "H" kết nối với cặp công tắc hoặc transistor điều khiển Khi kích hoạt những công tắc hoặc transistor này theo cách nhất định, dòng điện sẽ chạy qua động cơ theo một hướng cụ thể, dẫn đến chuyển động theo hướng đó Bằng cách kích hoạt chúng theo cách khác, động cơ có thể được đảo ngược hướng quay.

L298 chịu được điện áp 12V-3A được thiết kế để chấp nhận các mức logic TTL tiêu chuẩn và điều khiển tải cuộn dây như relay, solenoid, động cơ DC và bước Hai đầu và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 đầu và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ốc

DC 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ụng các thuật toán để điều khiển ngược lại động cơ.

Bảng 1 : Thông số kỹ thuật động cơ GA25-370

Tốc độ quay 130 rpm Điện áp định mức 12 V dc Điện áp hoạt động 6-12 V dc

Loại Có chổi than Đường kính trục 4mm

Chiều dài động cơ 55mm Đường kính động cơ 25mm

Tỉ số truyền trong hộp số :

Dựa vào Bảng 1, ta có tỉ số truyền của động cơ giảm tốc GA25-370 là 1:45, có nghĩa là với

45 vòng quay của trục đầu vào của động cơ, trục đầu ra của nó sẽ quay 1 vòng Điều này thường được sử dụng để mô tả tỉ số giữa số vòng quay của trục đầu vào và trục đầu ra của một hệ thống truyền động.

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

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

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

Tên các chân Chức năng

IN1 và IN2: Các chân đầu vào điều khiển hướng quay của động cơ A IN3 và IN4: Các chân đầu vào điều khiển hướng quay của động cơ B ENA: Chân kích hoạt chế độ PWM cho động cơ A.

ENB Kích hoạt tín hiệu PWM cho Độ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 :

Sai số: là sai lệch giữa tín hiệu đặt và tín hiệu hồi tiếp.

Sai số xác lập: là sai số của hệ thống khi thời gian tiến đến vô cùng lim ( ) lim ( )0 xl t s e e t s E s

Hiện tượng vọt lố: là hiện tượng đáp ứng của hệ thống vượt quá giá trị xác lập của nó. max xl 100% xl c c

  Độ vọt lố phần trăm POT (Percent of Overshoot): là đại lượng đánh giá mức độ vọt lố của hệ 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%)

Thời gian lên tr : là thời gian cần thiết để để đáp ứng của hệ thống tăng từ 10% đến

90% giá trị xác lập của nó

Hình 1.7 : Tính toán thời gian lên của đáp ứng ngõ ra

Các bước thực hiện

Sơ đồ tổng quan

Khối điều khiển Động cơ Encoder

Hình 1.8 : Sơ đồ tổng quan

Sơ đồ tổng quan động cơ được mô tả trong Hình 1 8 Chương trình từ máy tính thông qua khối điều khiển để điều khiển động cơ.Encoder đọc số xung và phản hồi về khối điều khiển để điều chỉnh công suất động cơ phù hợp.

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 trung tâm là Arduino mega 2560 Mega 2560 sẽ điều khiển mạch công suất

L298H để điều khiển động cơ sau đó nhận tín hiệu phản hồi về từ encoder Nguồn tổ ong 12V cấp điện áp cho mạch công suất L298N.

Mô hình thực 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 :

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

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

Thư viện

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

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ừ khóa “Simulink support package for arduino hardware” Thông tin về tool ta cần sẽ hiện ra.

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:

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 : https://www.mathworks.com/matlabcentral/fileexchange/39354 devicedrivers?s_tid=srchtitle_device%20driver_1:

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

Chương trình Matlab hàm L298 : function [ENA,INT1,INT2] = L298(in1)

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

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

- 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 :

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

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)

%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 động cơ 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 :

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 :

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

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

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

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

10s, thời gian lấy 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ề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 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 gian xá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 : clc; close all; figure(); plot(Kp1_out.time,Kp1_out.signals.values,' ','LineWidth',1.5,

The plot shows the time responses of PID controllers (P, PI, and PID) with different gains (Kp2, Kp3, and Kp4) The blue, green, and red lines represent the responses of P, PI, and PID controllers, respectively The black line represents the reference input.

; hold on; plot(Kp5_out.time,Kp5_out.signals.values,'-','LineWidth',1.5,'Color','b')

; hold on; plot(Kp6_out.time,Kp6_out.signals.values,'-','LineWidth',1.5,'Color','r')

; hold on; legend('Kp=0.5','Kp=1','Kp=2','Kp=4','Kp=5','Kp') hold on; title('Output Respone'); xlabel('Times (s)'); grid on ylabel('Position '); fontsize(11);

Kp=0.5 Kp=1 Kp=2 Kp=4 Kp=5 Kp

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 : clc; close all; figure(); plot(Kp1_err.time,Kp1_err.signals.values,' ','LineWidth',1.5,

'Color','k'); hold on; plot(Kp2_err.time,Kp2_err.signals.values,' ','LineWidth',1.5,'Color','b' ); hold on; plot(Kp3_err.time,Kp3_err.signals.values,' ','LineWidth',1.5,'Color','r' ); hold on; plot(Kp4_err.time,Kp4_err.signals.values,'-','LineWidth',1.5,'Color','k')

; hold on; plot(Kp5_err.time,Kp5_err.signals.values,'-','LineWidth',1.5,'Color','b')

; hold on; plot(Kp6_err.time,Kp6_err.signals.values,'-','LineWidth',1.5,'Color','r')

; hold on; legend('Kp=0.5','Kp=1','Kp=2','Kp=4','Kp=5','Kp') hold on; title('Error'); xlabel('Times (s)'); grid on ylabel('Position '); fontsize(11);

200 Error kp=0.5 kp=1 kp=2 kp=4 kp=5 kp

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 : clc; close all; figure(); plot(Kp1_ctrl.time,Kp1_ctrl.signals.values,' ','LineWidth',1.5,

'Color','k'); hold on; plot(Kp2_ctrl.time,Kp2_ctrl.signals.values,' ','LineWidth',1.5,'Color',' b'); hold on; plot(Kp3_ctrl.time,Kp3_ctrl.signals.values,' ','LineWidth',1.5,'Color',' r'); hold on; plot(Kp4_ctrl.time,Kp4_ctrl.signals.values,'-','LineWidth',1.5,'Color','k '); hold on; plot(Kp5_ctrl.time,Kp5_ctrl.signals.values,'-','LineWidth',1.5,'Color','b '); hold on; plot(Kp6_ctrl.time,Kp6_ctrl.signals.values,'-','LineWidth',1.5,'Color','r '); hold on; legend('Kp=0.5','Kp=1','Kp=2','Kp=4','Kp=5','Kp') hold on; title('Control Signal'); xlabel('Times (s)'); grid on ylabel('Amplitude '); fontsize(11);

300 Control Signal kp=0.5 kp=1 kp=2 kp=4 kp=5 kp

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ác trường hợp Kp :

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

 Khi Kp tăng dần, độ vọt lố lớn dần đến khi Kp đủ lớn độ vọt lố sẽ giảm nhẹ.

 Sai số xác lập có xu hướng giảm dần về 0 bám tín hiệu đặt khi Kp tăng dần.

 Thời gian lên nhanh dần khi ta tăng Kp.

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

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

 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.

Để đánh giá chất lượng hệ thống, ta tiến hành vẽ đồ thị ở 6 trường hợp Ki trên Scope Đọc các giá trị thời gian lên, thời gian xác lập, sai số xác lập, độ vọt lố từ đồ thị để đưa ra đánh giá chính xác.

Chương trình Matlab hiển thị đồ thị đáp ứng ngõ ra : clc; close all; figure(); plot(Ki1_out.time,Ki1_out.signals.values,' ','LineWidth',1.5,

'Color','k'); hold on; plot(Ki2_out.time,Ki2_out.signals.values,' ','LineWidth',1.5,'Color','b' ); hold on; plot(Ki3_out.time,Ki3_out.signals.values,' ','LineWidth',1.5,'Color','r' ); hold on; plot(Ki4_out.time,Ki4_out.signals.values,'-','LineWidth',1.5,'Color','k')

; hold on; plot(Ki5_out.time,Ki5_out.signals.values,'-','LineWidth',1.5,'Color','b')

; hold on; plot(Ki6_out.time,Ki6_out.signals.values,'-','LineWidth',1.5,'Color','r')

; hold on; legend('Ki=0.1','Ki=0.2','Ki=0.5','Ki=1','Ki=1.5','Ki=2') hold on; title('Output Respone'); xlabel('Times (s)'); grid on ylabel('Position '); fontsize(11);

Output Respone ki=0.1 ki=0.2 ki=0.5 ki=1 ki=1.5 ki=2

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 : clc; close all; figure(); plot(Ki1_err.time,Ki1_err.signals.values,' ','LineWidth',1.5,

'Color','k'); hold on; plot(Ki2_err.time,Ki2_err.signals.values,' ','LineWidth',1.5,'Color','b' ); hold on; plot(Ki3_err.time,Ki3_err.signals.values,' ','LineWidth',1.5,'Color','r' ); hold on; plot(Ki4_err.time,Ki4_err.signals.values,'-','LineWidth',1.5,'Color','k')

; hold on; plot(Ki5_err.time,Ki5_err.signals.values,'-','LineWidth',1.5,'Color','b')

; hold on; plot(Ki6_err.time,Ki6_err.signals.values,'-','LineWidth',1.5,'Color','r')

; hold on; legend('Ki=0.1','Ki=0.2','Ki=0.5','Ki=1','Ki=1.5','Ki=2') hold on; title('Error'); xlabel('Times (s)'); grid on ylabel('Position '); fontsize(11);

200 Error ki=0.1 ki=0.2 ki=0.5 ki=1 ki=1.5 ki=2

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 : clc; close all; figure(); plot(Ki1_ctrl.time,Ki1_ctrl.signals.values,' ',

'LineWidth',1.5, 'Color','k'); hold on; plot(Ki2_ctrl.time,Ki2_ctrl.signals.values,' ',

'LineWidth',1.5,'Color','b'); hold on; plot(Ki3_ctrl.time,Ki3_ctrl.signals.values,' ',

'LineWidth',1.5,'Color','r'); hold on; plot(Ki4_ctrl.time,Ki4_ctrl.signals.values,'-',

'LineWidth',1.5,'Color','k'); hold on; plot(Ki5_ctrl.time,Ki5_ctrl.signals.values,'-',

'LineWidth',1.5,'Color','b'); hold on; plot(Ki6_ctrl.time,Ki6_ctrl.signals.values,'-',

'LineWidth',1.5,'Color','r'); hold on; legend('Ki=0.1','Ki=0.2','Ki=0.5','Ki=1','Ki=1.5','Ki=2') hold on; title('Control Signal'); xlabel('Times (s)'); grid on ylabel('Amplitude '); fontsize(11);

300 Control Signal ki=0.1 ki=0.2 ki=0.5 ki=1 ki=1.5 ki=2

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ác trường hợp Ki

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

 Khi có tác động của hệ số Ki, hệ thống có độ vọt lố cao và tăng dần khi Ki tăng.

 Sai số xác lập rất nhỏ có xu hướng giảm dần về 0 bám tín hiệu đặt khi Ki tăng dần.

 Thời gian lên ngắn và ít thay đổi khi ta tăng Ki.

 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.

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

 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 gian xá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 : clc; close all; figure(); plot(Kd1_out.time,Kd1_out.signals.values,' ','LineWidth',1.5,

The three additional plots in the figure correspond to the signals Kd2_out, Kd3_out, and Kd4_out, shown in blue, red, and black, respectively The plotted lines are dashed for Kd2_out and Kd3_out, indicating that these are intermediate signals in the diagram, while Kd4_out is a solid line, indicating its final output.

; hold on; plot(Kd5_out.time,Kd5_out.signals.values,'-','LineWidth',1.5,'Color','b')

; hold on; plot(Kd6_out.time,Kd6_out.signals.values,'-','LineWidth',1.5,'Color','r')

; hold on; legend('Kd=0.1','Kd=0.2','Kd=0.5','Kd=1','Kd=1.5','Kd=2') hold on; title('Output Respone'); xlabel('Times (s)'); grid on ylabel('Position '); fontsize(11);

250 Output Respone kd=0.1 kd=0.2 kd=0.5 kd=1 kd=1.5 kd=2

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

Chương trình Matlab hiển thị sai số ngõ ra : clc; close all;figure(); plot(Kd1_err.time,Kd1_err.signals.values,' ','LineWidth',1.5,

'Color','k'); hold on; plot(Kd2_err.time,Kd2_err.signals.values,' ','LineWidth',1.5,'Color','b' ); hold on; plot(Kd3_err.time,Kd3_err.signals.values,' ','LineWidth',1.5,'Color','r' ); hold on; plot(Kd4_err.time,Kd4_err.signals.values,'-','LineWidth',1.5,'Color','k')

; hold on; plot(Kd5_err.time,Kd5_err.signals.values,'-','LineWidth',1.5,'Color','b')

; hold on; plot(Kd6_err.time,Kd6_err.signals.values,'-','LineWidth',1.5,'Color','r')

; hold on; legend('Kd=0.1','Kd=0.2','Kd=0.5','Kd=1','Kd=1.5','Kd=2') hold on;title('Error');xlabel('Times (s)'); grid on ylabel('Position ');fontsize(11);

200 Error kd=0.1 kd=0.2 kd=0.5 kd=1 kd=1.5 kd=2

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

Chương trình Matlab hiển thị tín hiệu điều khiển : clc; close all; figure(); plot(Kd1_ctrl.time,Kd1_ctrl.signals.values,' ',

'Color','k'); hold on; plot(Kd2_ctrl.time,Kd2_ctrl.signals.values,' ',

'Color','b'); hold on; plot(Kd3_ctrl.time,Kd3_ctrl.signals.values,' ',

'Color','r'); hold on; plot(Kd4_ctrl.time,Kd4_ctrl.signals.values,'-',

'Color','k'); hold on; plot(Kd5_ctrl.time,Kd5_ctrl.signals.values,'-',

'LineWidth',1.5,'Color','b'); hold on; plot(Kd6_ctrl.time,Kd6_ctrl.signals.values,'-','LineWidth',1.5,'Color','r'); hold on; legend('Kd=0.1','Kd=0.2','Kd=0.5','Kd=1','Kd=1.5','Kd=2') hold on; title('Control Signal'); xlabel('Times (s)'); grid on ylabel('Amplitude '); fontsize(11);

300 Control Signal kd=0.1 kd=0.2 kd=0.5 kd=1 kd=1.5 kd=2

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

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 trường hợp Kd

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

 Khi có tác động của hệ số Kd, độ vọt lố của hệ thống giảm về 0.

 Sai số xác lập có xu hướng giảm dần khi Kd tăng dần.

 Thời gian lên ngắn và tăng dần khi ta tăng Kd.

 Thời gian xác lập tăng dần.

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

Trường hợp 1

Yêu cầu : POT (%) < 5%, Ess(Deg/s) < 1, Tr(s) < 1.1 , Tss(s) < 1.4

Sau quá trình lựa chọn các hệ số Kp, Ki, Kd dựa trên ảnh hưởng của từng hệ số lên hệ thống, ta tìm được các hệ số như sau : Kp = 8.8, Ki = 0.14, 0.308

Hình 1.34 : Đáp ứng ngõ ra khi Kp=8.8, Ki=0.14, Kd = 0.235

Hình 1.35 : Tín hiệu điều khiển khi Kp=8.8, Ki=0.14, Kd = 0.308

Dựa vào Hình 1 34, ta xác định được thông số chất lượng bộ điều khiển như sau :

Như vậy, ta đã thiết kế bộ điều khiển PID theo yêu cầu.

Trường hợp 2

Yêu cầu : POT (%) = 0% , Ess(Deg/s) < 0.5, Tr(s) < 1.5 , Tss(s) < 2Sau quá trình lựa chọn các hệ số Kp, Ki, Kd dựa trên ảnh hưởng của từng hệ số lên hệ thống, ta tìm được các hệ số như sau : Kp = 8.51, Ki = 0.1, Kd = 0.6.

Hình 1.36 : Đáp ứng ngõ ra khi Kp = 8.55, Ki = 0.105, Kd = 0.51

Hình 1.37 : Tín hiệu điều khiển khi Kp = 8.55, Ki = 0.105, Kd = 0.51

Dựa vào Hình 1 36Hình 1 34, ta xác định được thông số chất lượng bộ điều khiển như sau :

Như vậy, ta đã thiết kế bộ điều khiển PID theo yêu cầu.

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. “Lý thuyết Điều khiển tự động”, Nguyễn Thị Phương Hà, Huỳnh Thái Hoàng, NXB ĐHQG TPHCM Sách, tạp chí
Tiêu đề: Lý thuyết Điều khiển tự động
Nhà XB: NXBĐHQG TPHCM
[2]. “Bài giảng Điều khiển tự động”, Nguyễn Thế Hùng Sách, tạp chí
Tiêu đề: Bài giảng Điều khiển tự động
[3]. “MATLAB for Control System Engineers” Rao V Dukkipati [4]. “MATLAB for Control Engineers” Katsuhiko Ogata Sách, tạp chí
Tiêu đề: MATLAB for Control System Engineers” Rao V Dukkipati[4]. “MATLAB for Control Engineers
[7]. Encoder là gì? https://www.youtube.com/watch?v=k2GQVJ4z0kM&amp;t=2s Link
[5]. Video hướng dẫn vẽ nhiều dữ liệu trên một đồ thị Khác
[6]. Video hướng dẫn thiết kế bộ điều khiển PID và Fuzzy trên MATLAB Simulink để lập trình cho Adruino: www.youtube.com/watch?v=tyz44ztDNPw&amp;t=744s Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Cấu trúc 2 kênh A,B của Encoder - 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
Hình 1.1 Cấu trúc 2 kênh A,B của Encoder (Trang 5)
Bảng 1 : Thông số kỹ thuật động cơ GA25-370 - 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
Bảng 1 Thông số kỹ thuật động cơ GA25-370 (Trang 7)
Hình 1.5 : Sơ đồ kết nối chân L298N - 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
Hình 1.5 Sơ đồ kết nối chân L298N (Trang 8)
Hình 1.6 : Module L298N - 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
Hình 1.6 Module L298N (Trang 8)
Hình 1.9 : Sơ đồ nối dây mô hình động cơ DC - 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
Hình 1.9 Sơ đồ nối dây mô hình động cơ DC (Trang 10)
Hình 1.10: Mô hình điều khiển động cơ DC thực tế - 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
Hình 1.10 Mô hình điều khiển động cơ DC thực tế (Trang 10)
Hình 1.11 : Cổng kết nối với Arduino - 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
Hình 1.11 Cổng kết nối với Arduino (Trang 11)
Hình 1.12 : Cửa sổ Add-On Explorer - 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
Hình 1.12 Cửa sổ Add-On Explorer (Trang 11)
Hình 1.13 : Package for Arduino Hardware - 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
Hình 1.13 Package for Arduino Hardware (Trang 12)
Hình 1.15: Thư viện Device Drivers - 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
Hình 1.15 Thư viện Device Drivers (Trang 13)
Hình 1.16 : Kiểm tra động cơ với đầu vào là khối Constant - 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
Hình 1.16 Kiểm tra động cơ với đầu vào là khối Constant (Trang 13)
Hình 1.17 : Dạng sóng ngõ ra khối Constant = 200 - 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
Hình 1.17 Dạng sóng ngõ ra khối Constant = 200 (Trang 14)
Hình 1.18 : Tín hiệu đầu vào là sóng Sine - 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
Hình 1.18 Tín hiệu đầu vào là sóng Sine (Trang 14)
Hình 1.19 : Dạng sóng sine đầu và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
Hình 1.19 Dạng sóng sine đầu vào (Trang 15)
Hình 1.21 : Dạng sóng đầu ra khi tín hiệu đầu vào là khối Constant = 200 - 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
Hình 1.21 Dạng sóng đầu ra khi tín hiệu đầu vào là khối Constant = 200 (Trang 16)
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 - 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
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 (Trang 16)
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 - 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
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 (Trang 17)
Hình 1.24 : Sơ đồ khối bộ điều khiển vòng kín PID - 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
Hình 1.24 Sơ đồ khối bộ điều khiển vòng kín PID (Trang 17)
Hình 1.25 : Đáp ứng ngõ ra khi Ki=0, Kd=0, thay đổi Kp - 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
Hình 1.25 Đáp ứng ngõ ra khi Ki=0, Kd=0, thay đổi Kp (Trang 19)
Hình 1.26 : Sai số ngõ ra khi Ki=0, Kd=0, thay đổi Kp - 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
Hình 1.26 Sai số ngõ ra khi Ki=0, Kd=0, thay đổi Kp (Trang 20)
Hình 1.28 : Đáp ứng ngõ ra khi Kp=4, Kd=0, thay đổi Ki - 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
Hình 1.28 Đáp ứng ngõ ra khi Kp=4, Kd=0, thay đổi Ki (Trang 23)
Hình 1.29 : Sai số ngõ ra khi Kp=4, Kd=0, thay đổi Ki - 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
Hình 1.29 Sai số ngõ ra khi Kp=4, Kd=0, thay đổi Ki (Trang 24)
Hình 1.30 : Tín hiệu điều khiển khi Kp=4, Kd=0, thay đổi Ki - 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
Hình 1.30 Tín hiệu điều khiển khi Kp=4, Kd=0, thay đổi Ki (Trang 25)
Hình 1.31 : Đáp ứng ngõ ra khi Kp=4, Ki=0.2, thay đổi Kd - 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
Hình 1.31 Đáp ứng ngõ ra khi Kp=4, Ki=0.2, thay đổi Kd (Trang 26)
Hình 1.33 : Tín hiệu điều khiển khi Kp=4, Ki=0.2, thay đổi Kd - 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
Hình 1.33 Tín hiệu điều khiển khi Kp=4, Ki=0.2, thay đổi Kd (Trang 28)
Bảng 5 : Thông số chất lượng bộ điều khiển khi Kd thay đổi - 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
Bảng 5 Thông số chất lượng bộ điều khiển khi Kd thay đổi (Trang 28)
Hình 1.34 : Đáp ứng ngõ ra khi Kp=8.8, Ki=0.14, Kd = 0.235 - 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
Hình 1.34 Đáp ứng ngõ ra khi Kp=8.8, Ki=0.14, Kd = 0.235 (Trang 29)
Hình 1.35 : Tín hiệu điều khiển khi Kp=8.8, Ki=0.14, Kd = 0.308 - 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
Hình 1.35 Tín hiệu điều khiển khi Kp=8.8, Ki=0.14, Kd = 0.308 (Trang 29)
Hình 1.36 : Đáp ứng ngõ ra khi Kp = 8.55, Ki = 0.105, Kd = 0.51 - 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
Hình 1.36 Đáp ứng ngõ ra khi Kp = 8.55, Ki = 0.105, Kd = 0.51 (Trang 30)
Hình 1.37 : Tín hiệu điều khiển khi Kp = 8.55, Ki = 0.105, Kd = 0.51 - 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
Hình 1.37 Tín hiệu điều khiển khi Kp = 8.55, Ki = 0.105, Kd = 0.51 (Trang 30)

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

TÀI LIỆU LIÊN QUAN

w