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

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

12 2,4K 10

Đ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

Định dạng
Số trang 12
Dung lượng 172,91 KB

Nội dung

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

Trang 1

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

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

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:

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

-

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

D U

T

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

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

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:

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

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

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

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

AC 15v

1

2

2200uF

BRIDGE

4

2

0

D2 LED

2200uF

1K

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

P0.0

P3.0

RN3

3 4 5 6 7 8 9

P0.7 P0.5 P1.6

RN1

2 3 4

1

P2.6 P3.6

P1.5

P3.1

P1.7

1uF

P0.2

RN1

2 3 4 5 6 7 8 1

9

P3.3

P1.4

P3.2

P2.7 P3.4

+Vcc

P1.2

P3.5

P0.1

10k

+Vcc

AT89S52

9

29 30 31

40 1

2 3 4 5 6 7 8

26 27 28

10 11 12 13 14 15 16

39 38 37 36 35 34 33 32

RST

PSEN ALE/PROG EA/VPP

VCC P1.0/T2

P1.1/T2-EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

P2.6/A14 P2.7/A15

P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1

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

P1.0

+Vcc

P1.1

P2.5

RN2

2 3 4 5 6 7 8 1

9

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

ENCODER

1

2

3

0

TO

74HC14

+Vcc

Trang 11

4.Module hiển thị LCD:

0

HI

2

0

LCD-1602

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

1K

1k

P0.7

D4 LED

MOTOR DC

24V DC OPTO

10k 10K

H1061

+Vcc

P0.4

10K

Q1 C1815

DIODE

Trang 12

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

P2.4

10 5

6

4 2

P2.7

P2.2

11

P2.3

P2.5

P2.6

12 9

16

P2.1

1

P2.0

13

Ngày đăng: 01/02/2015, 01:38

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w