Điều khiển động cơ DC dùng thuật toán PID - Pdf 14

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CƠ KHÍ CHẾ TẠO MÁY
KHOA CƠ KHÍ CHẾ TẠO MÁY
BỘ MÔN CƠ ĐIỆN TỬ
BỘ MÔN CƠ ĐIỆN TỬ
…o0o…
Điều khiển động cơ DC dùng PID
YÊU CẦU GIỚI HẠN ĐỀ TÀI
YÊU CẦU GIỚI HẠN ĐỀ TÀI
- Thiết kế mạch cầu H điều khiển tốc độ động cơ DC theo phương pháp
điều chỉnh độ rộng xung (PWM).
- Tìm hiểu thuật toán điều khiển vòng kín PID theo hai phương pháp:
 Ziegler – Nichols (Z – N).
 Cohen – Coon (C – C).
- Viết giao diện chương trình điều khiển động cơ DC theo thuật toán
điều khiển vòng kín PID bằng cả hai phương pháp Z – N và C – C.
CƠ SỞ LÝ THUYẾT
CƠ SỞ LÝ THUYẾT
Giới thiệu chung về thuật toán điều khiển vòng kín PID
Bộ điều khiển PID là một bộ điều khiển vòng kín được sử dụng rộng rãi
trong công nghiệp. Sử dụng bộ điều khiển PID để điều chỉnh sai lệch giữa
giá trị đo được của hệ thống (process variable) với giá trị đặt (setpoint) bằng
cách tính toán và điều chỉnh giá trị điều khiển ở ngõ ra.
Sơ đồ hệ thống điều khiển dùng PID
Một bộ điều khiển PID gồm 3 thành phần:
 Khâu P (proportional) – tạo tín hiệu điều khiển tỉ lệ với sai lệch (error
– e)
 Khâu I (integral) – tạo tín hiệu điều khiển tỉ lệ với tích phân theo thời
gian của sai lệch
 Khâu D (derivative) – tạo tín hiệu điều khiển tỉ lệ với vi phân theo

I
dùng để loại trừ sai số ở trạng thái ổn định.
Rời rạc hóa bộ điều khiển PID
Hàm truyền của bộ điều khiển PID theo thời gian:
( )
( ) ( ) ( )
P I D
de t
u t K e t K e t dt K
dt
= + +

Bộ điều khiển số không thể lấy mẫu liên tục theo thời gian nên cần phải rời
rạc hóa các khâu của bộ hiệu chỉnh PID:
 Khâu tỉ lệ:
( ) ( )
P P
K e t K e n≈
 Khâu tích phân:
0
0
( ) ( )
t
N
i i S
K e t dt K T e n



 Khâu vi phân:

Bộ điều khiển PID rời rạc đọc sai số, tính toán và xuất ngõ ra điều khiển
theo một khoảng thời gian xác định (không liên tục) gọi là thời gian lấy mẫu
(T). Thời gian lấy mẫu cần nhỏ hơn đơn vị thời gian của hệ thống.
3
Điều khiển động cơ DC dùng PID
Thiết kế bộ PID số theo phương pháp Ziegler – Nichols (Z – N)
Z – N là phương pháp thiết kế bằng thực nghiệm, được sử dụng trong trường
hợp không thể xây dựng mô hình toán học cho đối tượng điều khiển.
Điều kiện: khi đưa trạng thái làm việc của hệ đến biên giới ổn định thì mọi
giá trị của tín hiệu trong hệ thống điều phải nằm trong giới hạn cho phép.
Các bước tiến hành:
- Trước tiên, sử dụng bộ P lắp vào hệ kín (hoặc dùng bộ PID và chỉnh
các thành phần K
I
và K
D
về giá trị 0). Khởi động quá trình với hệ số
khuếch đại K
P
thấp, sau đó tăng dần K
P
tới giá trị tới hạn K
gh
để hệ kín
ở chế độ giới hạn ổn định, tức là tín hiệu ra h(t) có dạng dao động
điều hòa. Xác định chu kỳ tới hạn T
gh
của dao động.
- Xác định thông số của bộ điều khiển theo bảng sau :
Bộ điều khiển

gh
(bộ
điều khiển PID).
Hệ số tích phân :
P
I
N
K
K =
T
Hệ số vi phân :
D P V
K = K .T
4
Điều khiển động cơ DC dùng PID
Thiết kế bộ PID số theo phương pháp Cohen – Coon (C – C)
C – C là phương pháp thiết kế dựa trên một số đáp ứng điển hình của hệ
thống, cung cấp khả năng ước lượng để tính toán các thông số của hệ thống.
Các bước thực hiện:
- Khởi động hệ thống và đợi cho trạng thái tương đối ổn định.
- Tạo một bước nhảy của tín hiệu đầu vào.
- Quan sát đáp ứng đầu ra sau một khoảng thời gian.
- Dựa vào đáp ứng đầu ra, xác định các thông số (bằng phép đo):
 t
0
: Thời điểm bắt đầu thực hiện bước nhảy của tín hiệu đầu vào.
 t
2
: Thời điểm giá trị của tín hiệu đầu ra thực hiện được nửa
bước nhảy (0.5B).

DEL
ta có thể tính được K
C
, T
I
và T
D
dựa
theo các biểu thức trong bảng dưới đây:
- Cuối cùng thu được các thông số đặc trưng của bộ PID số:

K
P
= K
C

K
I
= K
C
/t
I

K
D
= K
C
*t
D
So sánh giữa Z – N và C – C

Tốc độ tối đa của động cơ khoảng 3800 vòng/phút ở điện áp nguồn 24VDC.
Suy ra tần số tối đa của Encoder là:
max_encoder
3800
= *400 0,025Mhz
60

f
Ở đây dùng vi điều khiển ATMEGA32 với tần số thạch anh ngoại là 16Mhz
 hoàn toàn đáp ứng được tần số của Encorder.
Chu kỳ lấy mẫu (T
mẫu
):
Trong chương trình Codevision dùng biến đếm count kiểu nguyên không
dấu unsigned long (16 bit) có giá trị lớn nhất là 65535.
Ta có:
max_encoder mau mau
6
65535
*T 65535 T 2.6s
0,025*10
< => < =
f
Như vậy chọn T
mẫu
= 10 ms là hoàn toàn thỏa mãn điều kiện trên.
Sai số khi lấy mẫu với T
mẫu
= 10 ms:
Cứ 10 ms lấy mẫu sẽ đếm được count xung  1 phút = 60000 ms lấy mẫu

T3 = t3 - t0;
T1 = (T2 - 0.69315 * T3) * 0.30685;
t = T3 - T1;
tdel = T1 – T0 = T1;
K = B / A;
r = tdel / t;
Kp = (16 + 3 * r) / (12 * K * r);
tI = tdel * (32 + 6 * r) / (13 + 8 * r);
tD = tdel * 4 / (11 + 2 * r);
Ki = Kp / tI;
Kd = Kp * tD;
10
Điều khiển động cơ DC dùng PID
Đồ thị Teechart trên PC vẽ không kịp do hai nguyên nhân:
 Cứ 10ms vi điều khiển gửi thông số lên PC một lần là quá
nhanh nên card màn hình onboard không thể đáp ứng kịp
 Tăng thời gian giãn cách giữa các lần gửi lên 60ms.
 Các sự kiện trong lập trình đồ họa thuộc luồng GUI Thread
(luồng chính MainThread của C#), còn sự kiện
serialPort1_DataReceived thuộc luồng ThreadPool Thread
(tức non-GUI Thread). Khi chương trình C# chạy nó nhảy qua
nhảy lại giữa hai luồng này làm giảm tốc độ đáp ứng của
chương trình nên Teechart vẽ không kịp.
 Dùng thêm câu lệnh this.Invoke(new
EventHandler(communication)); trong hàm sự kiện
serialPort1_DataReceived để chuyển sự kiện này sang luồng
chính nhằm cải thiện tốc độ đáp ứng của chương trình.
Hàm lệ thuộc giữa giá trị PWM và tốc độ động cơ không phải là hàm
tuyến tính  Viết chương trình giao diện đồ thị Teechart biểu thị mối
quan hệ giữa PWM và tốc độ tương ứng của động cơ (dùng Timer tạo

17
Điều khiển động cơ DC dùng PID
Bộ thông số Kp, Ki, Kd dò được dựa theo kết quả bộ thông số của
Bộ thông số Kp, Ki, Kd dò được dựa theo kết quả bộ thông số của
phương pháp C – C:
phương pháp C – C:
18
Điều khiển động cơ DC dùng PID
KẾT LUẬN VÀ ĐỀ NGHỊ
KẾT LUẬN VÀ ĐỀ NGHỊ
Nhận thấy kết quả K
P
, K
I
, K
D
ở hai phương pháp Z – N và C – C là
khác nhau, do đó khi tùy chỉnh nên sử dụng tối ưu nguyên lý điều
khiển và phải kiểm tra lại độ chắc chắn của từng phương pháp.
Thường thì Z – N dùng để tùy chỉnh theo thực nghiệm, còn C – C
dùng để tính toán kiểm nghiệm lại kết quả. Nhưng không hẳn là
phương pháp C – C đã có độ tin cậy cao hơn phương pháp thực
nghiệm Z – N.
Kết quả của hai phương pháp chỉ là bộ thông số thô, nhưng dựa vào
đó ta có thể dò tìm được các bộ thông số chuẩn khác nhau cho động
cơ. Như vậy bộ thông số PID của động cơ không phải là duy nhất, nó
còn phụ thuộc vào nhiều yếu tố khác nhau trong hệ thống điều khiển.
Source code và giao diện download tai đây:
https://www.mediafire.com/?nifj9d57afjw8ud
19


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status