Tải bản đầy đủ (.pdf) (12 trang)

ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID

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 (172.91 KB, 12 trang )



TRƯỜNG ĐẠI HỌC SƯ PHẠM KỈ THUẬT TP. HỒ CHÍ MINH

KHOA: ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG











BÁO CÁO
ĐỒ ÁN MÔN HỌC 1

ĐỀ TÀI
:
ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ DC
BẰNG THUẬT TOÁN PID

GVHD
:TS.NGÔ VĂN THUYÊN



Thành phố Hồ Chí Minh – Tháng 1-2010






ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 2


ĐỀ TÀI: ĐIỀU KHIỂN TỐC ĐỘ ĐỌNG CƠ DC BẰNG THUẬT TOÁN PID
NỘI DUNG:
I- Giới thiệu chung :
1.
Các phương pháp điều khiển tốc độ động cơ DC.
1.1.Phương pháp điều khiển vòng hở.
1.2.Phương pháp điều khiển vòng kin.
2.Vấn đề ổn định tốc độ động cơ DC.
3.Vấn đề lựa chọn bộ điều khiển cho động cơ DC.
II- Thuật toán PID số
1.Lý thuyết về PID.
2.Khảo sát sự ảnh hưởng của các khâu P,I,D bằng Simulink đối với đáp ứng của động cơ
DC.
3.Tuning PID.
III- Thiết kề bộ điều khiển PID số trên vi điều khiển AT89S52.
1.Sơ đồ kết nối phần cứng.
2.Giải thuật chương trình.
3.Chương trinh C cho vi điều khiển.
IV- Kết luận:
















ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 3
I- Giới thiệu chung:
Động cơ điện DC ngày nay vẫn còn được sử dụng rộng rãi trong nhiều lĩnh vực
khác nhau.Vấn đề ổn định tốc độ động cơ là cần thiết trong một số quá trinh công
nghiệp.Có rất nhiều phương pháp khác nhau để thực hiện yêu cầu này mà phương
pháp điều khiển tốc độ theo thuật toán PID là khá phổ biến .
I.1.Khảo sát một số đăc tính của động cơ điện DC.
Phương trình cân bằng điện áp phần ứng:


với e
a
= K
e
* *w.


Phương trình cân bằng moment:
M
dt
= J. + T
L
+ B.w
Với Mdt = K
m
* * i
a .

Từ các phương trình trên , ta có hệ phương trình biến trạng thái của động cơ:



= .i
a
- w +




= - .
w -



I.2.Động cơ DC với bộ điều khiển PID:
Hàm truyền của bộ PID: G

PID
(s) = Kp + Kd.s +

.
Hệ thống điều khiển động cơ được mô tả như sau:

R(s) C(s)

-

Sơ đồ mô phỏng trên Simulink:
D
U
R

L

T
G
PID
(s)
DC motor


ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 4




ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 5

Kết quả mô phỏng thu được như sau:



Bằng cách thay đổi các hệ số Kp, Ki, Kd của bộ điều khiển PID, ta có thể đưa ra một số kết
luận tổng quan nhất về ảnh hưởng của các khâu P,I,D đối với chất lượng đáp ứng của động
cơ như sau:

Ảnh hưởng của việc tăng các thông số Kp, Ki, Kd
Chỉ số chất lượng Rise Time Độ vột lố Thời gian xác lập Sai số xác lập
Kp Giảm tăng Thay đổi nhỏ Giảm
Ki Giảm tăng tăng Loại bỏ
Kd Giảm ít or tăng Giảm tăng Không tác dụng

Như vậy: Đáp ứng (tốc độ ) của động cơ với bộ điều khiển PID đã được cải thiện một cách
đáng kể về các chỉ số chất lượng như độ vọt lố , thời gian xác lập, sai số xác lập.


ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 6

II- Thuật toán PID:

Setpoint (Giá trị đặt) là giá trị
mong muốn đạt được tại ngõ ra

của đối tượng điều khiển.
Process variable (Biến quá
trình ): tín hiệu hồi tiếp mà bộ
điều khiên nhận được từ đối
tượng điều khiển.
Control variable : giá trị ngõ
ra của bộ điều khiển.
Error: giá trị sai lệch giữa giá trị đặt và giá trị hiện tại ở ngõ ra của đối tượng điều
khiển và bộ điều khiển PID luôn đưa ra tín hiệu điều khiển CV dựa trên giá trị của error.
Output : giá trị ngõ ra của đối tượng điều khiển.


1) Hoạt động của khâu P: (khâu tỉ lệ) ,
khâu này luôn đưa ra tín hiệu điều khiển
luôn tỉ lệ với giá trị sai lệch:
Hàm truyền của khâu P liên tục:
(t)
Với Kp: hệ số tỉ lệ.
error = setpoint – process variable.
Pout: ngõ ra của bộ điều khiển P.

Khi chuyến qua miền rời rạc thì ta có
phương trình : Pout(k) = Kp* error(k).
Như vậy, để thực hiện khâu P trong miền rời rạc ta làm như sau:

*Tiến hành lấy mẫu (thu thập dữ liệu tại ngõ ra và so sánh với giá trị đặt) tại thời điểm
(k-1).Ts và thời điểm kTs.
* Tính giá trị sai lệch error tại thời điểm kTs.
* Đưa ra tín hiệu điều khiển theo nguyen tắc : Pout = Kp* error.




 Ta thấy tín hiệu Pout phụ thuộc vào hệ số Kp, hệ số nầy có được giá trị tối ưu nhờ quá
trình tunning bộ PID .Nếu Kp quá lớn có thể làm cho hệ thống dao động có chu kì , gây
ra độ vọt lố cao.Nếu Kp quá nhỏ thì tạo ra tín hiệu Pout nhỏ .Như vậy, khi thay đổi kp
làm ảnh hưởng đến các chỉ tiêu chất lượng như độ vọt lố , giá trị offset.


ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 7



2.Hoạt động của khâu D ( khâu vi phân): luôn đưa ra tín hiệu điều khiển tỉ lệ với tốc độ
thay đổi của giá tri sai lệch.

Dout(t) = Kd*

Rời rạc phương trình trên theo
phương pháp sai phân lùi ta có:
Dout(k) = Kd *( e(k) – e(k-1) ).
Như vậy, để thực hiện khâu D trong
miền rời rạc ta tiến hành như sau:
* Lấy mẫu tại thời điểm k Ts rồi từ
đó tính giá trị sai lệch tại thời điểm
này.
*Tính giá trị sai lệch giữa giá trị sai
lệch tai thời điểm lấy mẫu và thời
điểm trước đó 1 chu kỳ lấy mẫu.

Sự kết hợp của khâu P và D: ( bộ điều khiển PD):
Ngõ ra của bộ PD: CV=Kp*error(t) + Kd* = Kp*(Sp – Pv) + Kd*
.



Tại thời điểm t =0
+
, lúc này động cơ chưa quay, tức là Pv=0, trong khi đó Sp thay
đổi từ 0 đến giá trị đặt trước Sp , như vậy ngõ ra của bộ PD so với bộ P thì được cộng
thêm 1 đại lượng Kd* , và như vậy sẽ làm động cơ gia tốc nhanh hơn.


 Tại thời điểm t >0, lúc nầy động cơ đã quay , do Sp là hằng số nên
Kd* = - Kd* ,và như vậy khi động cơ đã gia tốc rồi khâu thì D có tác
dụng làm giảm Cv , chính đặc điểm này khâu D có thể giảm độ vọt lố của đáp ứng.

Kết luận: Tác dụng của khâu D là khắc phục được hiện tượng vọt lố và dao động là
nhược điểm của khâu P nhưng về mặt toán học thì khâu D không có tác dụng làm
giảm offset ( giá trị xác lập của đáp ứng và giá trị đặt ).

3.Hoạt động của khâu I: (khâu tích phân ): đưa ra tín hiệu điều khiển dựa trên giá trị
của sai lệch và thời gian xảy ra sai lệch.
Phương trình của khâu I liên tục: u(t) = Ki* dt

.


ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN


PHATTRIENCONGNGHE.COM Trang 8
Khi chuyển qua miền rời rạc : u(KT) = Ki. dt

+ Ki. dt


hay: u(KT) = [u(k-1)T] +
.(
e[(k-1)T] + e[kT]).

Như vậy, khâu I luôn đưa ra tín hiệu điều khiển Iout > 0 khi còn tồn tại giá tri sai lệch
e(t) tại thời điểm hiện tại và thời điểm trước đó một chu kì lấy mẫu.
Để thực hiện khâu I trong miền rời rạc ta tiến hành như sau:


Lấy mẫu tại thời điểm hiện tại , từ đó tính giá trị sai lệch tại thời điểm này.


 Lấy tổng giá tri sai lệch này và giá trị sai lệch trước đó rồi nhân cho Ki.


Cộng dồn giá trị Iout này với Iout trước đó một chu kì lấy mẫu.


Lưu giá trị sai lệch và Iout hiện tại cho lần tính tiếp theo.

4. Bộ điều khiển PID: là sự kết hợp của các khâu P,I,D do đó nó khắc phục được
nhược điểm của mỗi khâu riêng lẻ.
Như vậy , ngõ ra của bộ PID là:
CV(kT) = Kp*[ Sp – Pv(KT)] + Iout[(k-1)T] + Ki*( e(kT) +e[(k-1)T] ) +

+ Kd*[ e(kT) – e(k-1)T ].


 Hiện tượng Reset Wind_up: thực chất đây là hiện tượng gây ra bởi đặc điểm hoạt
động của khâu I. Khâu I liên tục lấy tổng giá trị sai lệch tại thời điểm lấy mẫu hiện tại
và thời điểm trước đó, nhưng vì lý do nào đó mà khi bộ PID hoạt động, giá trị sai lệch
error luôn luôn tồn tại thì khâu I sẽ đưa ra tín hiệu Iout rất lớn tức là giá trị Cv đặt lên
đối tượng điều khiển sẽ rất lớn, nhuwg thường thì các đối tượng điều khiển bị giới hạn
bởi một số đặc tính cơ, điện…

5. Vấn đề tunning bộ PID:

Tunning PID là tìm các thông sô Kp,Ki,Kd tối ưu sao cho đáp ứng tại ngõ ra thỏa mãn
yêu cầu về chất lượng cho trước.
Đối tượng điều khiển trong phạm vi đề tài là động cơ DC là đối tượng không phức tạp
lắm, tuy nhiên do chưa biết các thông số về đặc tính cơ , điện , do vậy việc tìm cụ thể
mô hình toán học của động cơ là khó khăn, do vậy sẽ tiến hành tunning PID cho động
cơ theo phương pháp điều chỉnh và quan sát .


 Tăng dần hệ số Kp , đến giá trị nào đó thì xảy ra vọt lố hoặc dao dộng của vận tốc.


 Tăng giá trị Kd lên để loại bỏ vọt lố do khâu P gây ra., nhưng vẫn còn tồn tại offset.


Tăng dần giá trị Ki lên để loại bỏ giá trị offset ,nếu tăng Ki quá lớn sẽ gây ra dao
động.






ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 9




C- Thiết kế bộ điều khiển PID số cho động cơ DC trên vi điều khiển AT89S52.

Các đặc điểm về phần cứng của Vi điều khiển AT89S52 vừa đủ cho ứng dụng thiết
kế bộ PID cho động cơ DC, tuy nhiên do một số nguyên nhân chủ quan cũng như khách
quan không cho phép thiết kế một cách hoàn hảo bộ PID, đó cũng là hạn chế của đề tài.

I. Sơ đồ nguyên lý phần cứng.
1.Khối nguồn:
NGUON 5V
1
2
7805
1 3
2
IN OUT
GND
AC 15v
1
2
2200uF

- +
BRIDGE
1
4
3
2
0
D2
LED
2200uF
1K

2.Vi điều khiển AT89S52:









0
P0.0
P3.0
RN3
2
3
4
5

6
7
8
1
9
P0.7
P0.5
P1.6
RN1
2
3
4
5
6
7
8
1
9
P2.6
P3.6
P1.5
P3.1
P3.7
P2.0
P1.7
12Mhz
P2.2
1uF
P0.2
RN1

2
3
4
5
6
7
8
1
9
P3.3
P1.4
P3.2
P2.7P3.4
+Vcc
P2.4
P1.2
P3.5
0
HI
P0.1
10k
+Vcc
AT89S52
9
19
18
20
29
30
31

401
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34

33
32
RST
XTAL2
XTAL1
GND
PSEN
ALE/PROG
EA/VPP
VCCP1.0/T2
P1.1/T2-EX
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0

P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P0.4
P0.3
P0.6
+Vcc
P1.3
HI
P1.0
P2.3
P2.1
+Vcc
P1.1
P2.5
RN2
2
3
4
5
6
7

8
1
9


ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 10



3.Encorder:

Encoder có nhiệm vụ thu thập giá trị vận tốc
của động cơ tại các thời điểm lấy mẫu dưới
dạng xung , ngõ ra xung này được đưa vào
chân T0 của bộ đếm C0 trên vi điều khiển .
Giá trị vận tốc được tính theo công thức:

n =
(
vòng/ phút).
Trong đó N
0
=200 xung/ vòng.
N: số xung đọc được trong khoảng thời gian Ts.


Ngõ ra của encoder được đưa vào
các cổng Smitch trigger trước khi

đưa vào chân T0 của bộ đếm.


74HC14
1 2
ENCODER
1
2
3
0
TO
74HC14
1 2
+Vcc


ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 11
4.Module hiển thị LCD:
P1.4
P1.3
0
P1.2
P1.6
HI
P1.0
P0.2
P1.1
P1.7

HI
P0.3
10K
1 3
2
P1.5
0
LCD-1602
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
VDD
Vo
RS
R/W
E
DB0

DB1
DB2
DB3
DB4
DB5
DB6
DB7
K (LED -)
A ( LED+)
VSS (GND)
P0.1



5.Mạch công suất điều khiển động cơ:

1K
1k
P0.7
D4
LED
0
MOTOR DC
12
24V DC
OPTO
12
34
10k
10K

H1061
+Vcc
P0.4
10K
Q1
C1815
DIODE
0



ĐIỀU KHIỂN ĐỘNG CƠ DC BẰNG THUẬT TOÁN PID GVHD:TS. NGÔ VĂN THUYÊN

PHATTRIENCONGNGHE.COM Trang 12
6.Khối nhập liệu (keypad 4x4)














P2.4

10
5
14 15
6
42
P2.7
P2.2
11
P2.3
P2.5
P2.6
129
16
P2.1
1
7 8
P2.0
13

×