Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

Machine Translated by Google

AVR221: Bộ điều khiển PID rời rạc

Đặc trưng

• Thuật toán bộ điều khiển PID rời rạc đơn


8 bit
giản • Được hỗ trợ bởi tất cả các
thiết bị AVR • Hàm PID sử dụng 534 byte bộ nhớ mã và 877 chu kỳ CPU (IAR - kích thước thấp Vi điều khiển
tối ưu hóa)

1. Giới thiệu
Lưu ý áp dụng
Ghi chú ứng dụng này mô tả cách triển khai đơn giản của bộ điều khiển Đạo hàm tích
phân tỷ lệ (PID) rời rạc .

Khi làm việc với các ứng dụng cần điều khiển đầu ra hệ thống do thay đổi giá trị tham
chiếu hoặc trạng thái, việc triển khai thuật toán điều khiển có thể cần thiết. Ví dụ
về các ứng dụng như vậy là điều khiển động cơ, điều khiển nhiệt độ, áp suất, tốc độ
dòng chảy, tốc độ, lực hoặc các biến số khác. Bộ điều khiển PID có thể được sử dụng
để điều khiển bất kỳ biến có thể đo lường nào, miễn là biến này có thể bị ảnh hưởng
bằng cách thao tác một số biến quy trình khác.

Nhiều giải pháp điều khiển đã được sử dụng trong thời gian qua nhưng bộ điều khiển
PID đã trở thành “tiêu chuẩn công nghiệp” nhờ tính đơn giản và hiệu suất tốt.

Để biết thêm thông tin về bộ điều khiển PID và ý nghĩa của nó, người đọc nên tham
khảo các nguồn khác, ví dụ Bộ điều khiển PID của KJ Astrom & T. Hagglund (1995).

Hình 1-1. Phản ứng điển hình của bộ điều chỉnh PID đối với sự thay đổi bước trong đầu vào tham chiếu

12
P
số Pi

pid
10
giới thiệu

số 8

0 1 2 3 4 5 6 7 số 8 9 10

Rev.2558A-AVR-05/06
Machine Translated by Google

2 bộ điều khiển PID

Trong Hình 2-1 minh họa sơ đồ hệ thống với bộ điều khiển PID . PID _
bộ điều khiển so sánh giá trị quá trình đo được y với giá trị điểm đặt tham chiếu, y0. Sự khác
biệt hoặc lỗi, e, sau đó được xử lý để tính toán đầu vào quy trình mới, u.
Đầu vào này sẽ cố gắng điều chỉnh giá trị quá trình đo được trở lại điểm đặt mong muốn.

Phương án thay thế cho sơ đồ điều khiển vòng kín như bộ điều khiển PID là bộ điều khiển vòng
hở. Điều khiển vòng hở (không có phản hồi) trong nhiều trường hợp là không thỏa đáng và thường
không thể thực hiện được do đặc tính của hệ thống. Bằng cách thêm phản hồi từ đầu ra của hệ
thống, hiệu suất có thể được cải thiện.

Hình 2-1. Hệ thống vòng kín với bộ điều khiển PID

y0 e bạn y
PID Hệ thống
-

Không giống như các thuật toán điều khiển đơn giản, bộ điều khiển PID có khả năng điều khiển
các đầu vào của quá trình dựa trên lịch sử và tốc độ thay đổi của tín hiệu. Điều này mang lại một
phương pháp điều khiển chính xác và ổn định hơn.

Ý tưởng cơ bản là bộ điều khiển đọc trạng thái hệ thống bằng cảm biến. Sau đó, nó trừ số đo khỏi
tham chiếu mong muốn để tạo ra giá trị lỗi. Lỗi sẽ được quản lý theo ba cách, xử lý hiện tại,
thông qua thuật ngữ tỷ lệ, khôi phục từ quá khứ, sử dụng thuật ngữ tích phân và dự đoán tương
lai, thông qua thuật ngữ đạo hàm.

Hình 2-2 thể hiện sơ đồ bộ điều khiển PID , trong đó Tp, Ti và Td lần lượt biểu thị các hằng số
thời gian của các số hạng tỷ lệ, tích phân và đạo hàm.

Hình 2-2. Sơ đồ bộ điều khiển PID

d
Td
dt

e bạn

Kp

Ti

2 AVR221
2558A-AVR-05/06
Machine Translated by Google

AVR221

2.1 Số hạng tỷ lệ

Thuật ngữ tỷ lệ (P) cho biết đầu vào điều khiển hệ thống tỷ lệ với sai số.
Chỉ sử dụng điều khiển P sẽ gây ra lỗi cố định trong mọi trường hợp ngoại trừ khi đầu vào
điều khiển hệ thống bằng 0 và giá trị xử lý hệ thống bằng giá trị mong muốn. Trong Hình
2-3, lỗi cố định trong giá trị quy trình hệ thống xuất hiện sau khi thay đổi giá trị mong
muốn (tham khảo). Sử dụng số hạng P quá lớn sẽ làm cho hệ thống không ổn định.

Hình 2-3. Bộ điều khiển P đáp ứng bước

12
P
giới thiệu

10

số 8

0 1 2 3 4 5 6 7 số 8 9 10

2.2 Thuật ngữ tích phân

Số hạng tích phân (I) đưa ra phép cộng từ tổng các lỗi trước đó vào đầu vào điều khiển hệ
thống. Việc tính tổng lỗi sẽ tiếp tục cho đến khi giá trị xử lý hệ thống bằng giá trị mong
muốn và điều này dẫn đến không có lỗi cố định khi tham chiếu ổn định. Việc sử dụng phổ
biến nhất của thuật ngữ I thường là cùng với thuật ngữ P , được gọi là bộ điều khiển PI .
Chỉ sử dụng thuật ngữ I sẽ cho phản hồi chậm và thường là một hệ thống dao động. Hình 2-4
thể hiện các phản hồi từng bước của bộ điều khiển I và PI . Như đã thấy, phản hồi của bộ
điều khiển PI không có lỗi cố định và phản hồi của bộ điều khiển I rất chậm.

2558A-AVR-05/06
Machine Translated by Google

Hình 2-4. Bộ điều khiển đáp ứng bước I và PI

12
P
Tôi

10
số Pi

giới thiệu

số 8

0 1 2 3 4 5 6 7 số 8 9 10

2.3 Thuật ngữ đạo hàm

Số hạng đạo hàm (D) đưa ra phép cộng từ tốc độ thay đổi sai số đối với đầu vào điều khiển
hệ thống. Sự thay đổi nhanh chóng về lỗi sẽ bổ sung thêm vào đầu vào điều khiển hệ thống.
Điều này cải thiện phản ứng với sự thay đổi đột ngột về trạng thái hệ thống hoặc giá trị
tham chiếu. Thuật ngữ D thường được sử dụng với P hoặc PI dưới dạng PD hoặc PID
bộ điều khiển. Số hạng từ A đến D lớn thường cho hệ thống không ổn định. Hình 2-5 thể hiện D
và phản hồi của bộ điều khiển PD . Phản hồi của bộ điều khiển PD mang lại giá trị xử lý hệ
thống tăng nhanh hơn bộ điều khiển P. Lưu ý rằng số hạng D về cơ bản hoạt động như một bộ
lọc thông cao đối với tín hiệu lỗi và do đó dễ dàng gây ra sự mất ổn định trong hệ thống và
làm cho nó nhạy cảm hơn với nhiễu.

4
AVR221
2558A-AVR-05/06
Machine Translated by Google

AVR221
Hình 2-5. Bộ điều khiển phản hồi bước D và PD

12
P
d

pd
10
giới thiệu

số 8

0 1 2 3 4 5 6 7 số 8 9 10

Sử dụng tất cả các thuật ngữ cùng nhau, vì bộ điều khiển PID thường mang lại hiệu suất tốt nhất.
Hình 2-6 so sánh các bộ điều khiển P, PI và PID . PI cải thiện P bằng cách loại bỏ sai số cố
định và PID cải thiện PI bằng cách đáp ứng nhanh hơn và không bị vọt lố.

Hình 2-6. Bộ điều khiển phản hồi bước P, PI và PID

12
P
số Pi

pid
10
giới thiệu

số 8

0 1 2 3 4 5 6 7 số 8 9 10

2558A-AVR-05/06
Machine Translated by Google

2.4 Tinh chỉnh các thông số

Cách tốt nhất để tìm các tham số PID cần thiết là từ mô hình toán học của hệ thống, các tham
số sau đó có thể được tính toán để có được phản hồi mong muốn. Thông thường không có mô tả
toán học chi tiết của hệ thống, việc điều chỉnh thử nghiệm các tham số PID phải được thực
hiện. Việc tìm kiếm các thuật ngữ cho bộ điều khiển PID có thể là một nhiệm vụ đầy thách
thức. Kiến thức tốt về các thuộc tính của hệ thống và cách hoạt động của các thuật ngữ khác
nhau là điều cần thiết. Hành vi tối ưu khi thay đổi quy trình hoặc thay đổi điểm đặt phụ
thuộc vào ứng dụng hiện tại. Một số quy trình không được cho phép vượt quá biến quy trình so
với điểm đặt. Các quy trình khác phải giảm thiểu mức tiêu thụ năng lượng để đạt đến điểm
đặt. Nói chung, sự ổn định là yêu cầu mạnh mẽ nhất. Quá trình không được dao động đối với
bất kỳ sự kết hợp hoặc điểm đặt nào.
Hơn nữa, tác dụng ổn định phải xuất hiện trong khoảng thời gian nhất định.

Hiện có một số phương pháp điều chỉnh vòng lặp PID . Việc lựa chọn phương pháp sẽ phụ thuộc
phần lớn vào việc liệu quy trình có thể được thực hiện ngoại tuyến để điều chỉnh hay không.
Phương pháp Ziegler-Nichols là một chiến lược điều chỉnh trực tuyến nổi tiếng. Bước đầu
tiên trong phương pháp này là đặt mức tăng I và D về 0, tăng mức tăng P cho đến khi đạt
được dao động ổn định và bền vững (càng gần càng tốt) ở đầu ra. Sau đó, mức tăng tới hạn Kc
và chu kỳ dao động Pc được ghi lại và các giá trị P, I và D được điều chỉnh tương ứng bằng
Bảng 2-1.

Bảng 2-1. Thông số Ziegler-Nichols Kp

Bộ điều khiển Ti Td

* Kc
P 0,5
* Kc *
PD 0,65 0,12 Máy tính

* Kc *
số Pi 0,45 0,85 Máy tính

* Kc * *
PID 0,65 0,5 Máy tính
0,12 Máy tính

Việc điều chỉnh thêm các tham số thường là cần thiết để tối ưu hóa hiệu suất của bộ điều
khiển PID .

Người đọc cần lưu ý rằng có những hệ thống mà bộ điều khiển PID sẽ không hoạt động tốt hoặc
chỉ hoạt động trên một khu vực nhỏ xung quanh trạng thái hệ thống nhất định. Các hệ thống phi
tuyến tính có thể như vậy, nhưng nhìn chung các vấn đề thường nảy sinh với điều khiển PID
khi hệ thống không ổn định và ảnh hưởng của đầu vào phụ thuộc vào trạng thái hệ thống.

2.5 Bộ điều khiển PID rời rạc

Bộ điều khiển PID rời rạc sẽ đọc lỗi, tính toán và đưa ra đầu vào điều khiển tại một khoảng
thời gian nhất định, tại chu kỳ mẫu T. Thời gian lấy mẫu phải nhỏ hơn hằng số thời gian ngắn
nhất trong hệ thống.

6 AVR221
2558A-AVR-05/06
Machine Translated by Google

AVR221
2.5.1 Nền tảng thuật toán

Không giống như các thuật toán điều khiển đơn giản, bộ điều khiển PID có khả năng điều khiển các
đầu vào của quá trình dựa trên lịch sử và tốc độ thay đổi của tín hiệu. Điều này mang lại một
phương pháp điều khiển chính xác và ổn định hơn.

Hình 2-2 thể hiện sơ đồ bộ điều khiển PID , trong đó Tp, Ti và Td lần lượt biểu thị các hằng số
thời gian của các số hạng tỷ lệ, tích phân và đạo hàm.

Hàm truyền của hệ thống trong Hình 2-2:

( )= s (H )s
= KP 1+ + T sd
bạn 1

e T s
Tôi

Điều này mang lại cho bạn đối với e trong miền thời gian:

t
1 de (t)
( ) =út PK và +
( ) σ +T
( σ) ed d
T Tôi
0
dt

Xấp xỉ tích phân và đạo hàm để thu được dạng rời rạc, sử dụng:

( ) ( 1 )
t N
de (t ) enen
edσ T σek
() ( ) ≈ t = nT
0 = ≈k 0 dt T
Trong đó n là bước rời rạc tại thời điểm t.

Điều này mang lại cho bộ điều khiển:

()K= enP K()ek+Kenen(+ )


un
Tôi d
( () ( ) ) 1

k=0
Ở đâu:

KTP KTpd
K = K d
=
T T
Tôi

Tôi

Để tránh những thay đổi trong giá trị quy trình mong muốn tạo ra bất kỳ thay đổi nhanh chóng không
mong muốn nào trong đầu vào điều khiển, bộ điều khiển được cải tiến bằng cách chỉ dựa vào thuật ngữ
đạo hàm trên giá trị quy trình:

ynyn
=
() () (
P + en+K(ek
) K
un K Tôi d () ( ) ) 1
k=0

2558A-AVR-05/06
Machine Translated by Google

3 Thực hiện
Việc triển khai hoạt động bằng C được bao gồm trong ghi chú ứng dụng này. Tài liệu đầy đủ
về mã nguồn và thông tin biên dịch nếu được tìm thấy bằng cách mở tệp 'readme.html” đi kèm
với mã nguồn.

Hình 3-1. Sơ đồ khối của ứng dụng demo

pid.c / pid.h

p_factor, i_factor
pid
chủ yếu() init_PID()
LAST_PROCESS_VALUE
d_factor SUM_ERROR
P_FACTOR
I_YẾU TỐ

setPoint, giá trị quy trình D_FACTOR


PID_timer MAX_ERROR
PID()
MAX_SUM_ERROR
điều khiển đầu vào

Trong Hình 3-1, sơ đồ khối đơn giản của ứng dụng demo được hiển thị.

Bộ điều khiển PID sử dụng cấu trúc để lưu trữ trạng thái và tham số của nó. Cấu trúc này
được khởi tạo trong main và chỉ một con trỏ tới nó được truyền tới Init_PID() và PID()
chức năng.

Hàm PID() phải được gọi cho mỗi khoảng thời gian T, việc này được thực hiện bởi bộ hẹn giờ
đặt cờ PID_timer khi khoảng thời gian trôi qua. Khi cờ PID_timer được đặt, quy trình chính
sẽ đọc giá trị quy trình mong muốn (setPoint) và giá trị quy trình hệ thống, gọi PID() và
xuất kết quả đến đầu vào điều khiển.

Để tăng độ chính xác, p_factor, i_factor và d_factor được chia tỷ lệ với hệ số 1:128. Kết
quả của thuật toán PID sau đó được thu nhỏ lại bằng cách chia cho 128. Giá trị 128 được
sử dụng để cho phép tối ưu hóa trong trình biên dịch.

Hệ số P = 128K
P
Hơn nữa, tác dụng của IFactor và DFactor sẽ phụ thuộc vào thời gian lấy mẫu T .

T
IFactor = 128KP
T
Tôi

Td
Yếu tố K = 128
P
T

3.1 Kết thúc tích hợp

Khi đầu vào của quá trình, u, đạt đến giá trị đủ cao, nó sẽ bị hạn chế theo một cách nào đó.
Hoặc theo phạm vi số bên trong bộ điều khiển PID, phạm vi đầu ra của bộ điều khiển hoặc các
ràng buộc trong bộ khuếch đại hoặc chính quy trình. Điều này sẽ xảy ra nếu có sự khác biệt
đủ lớn giữa giá trị quá trình đo được và giá trị điểm đặt tham chiếu, thường là do quá
trình có nhiễu/tải lớn hơn khả năng xử lý của hệ thống.

số 8

AVR221
2558A-AVR-05/06
Machine Translated by Google

AVR221
Nếu bộ điều khiển sử dụng thuật ngữ tích phân thì tình huống này có thể là một vấn đề.
Số hạng tích phân sẽ cộng lại miễn là tình huống đó kéo dài và khi nhiễu/tải lớn hơn
biến mất, bộ điều khiển PID sẽ bù quá mức đầu vào của quá trình cho đến khi tổng tích
phân trở lại bình thường.

Vấn đề này có thể tránh được bằng nhiều cách. Trong cách triển khai này, tổng tích phân
tối đa bị giới hạn bằng cách không cho phép nó lớn hơn MAX_I_TERM. Kích thước chính
xác của MAX_I_TERM sẽ phụ thuộc vào hệ thống và thời gian lấy mẫu được sử dụng.

4 Phát triển hơn nữa


Bộ điều khiển PID trình bày ở đây là một ví dụ đơn giản. Bộ điều khiển sẽ hoạt động
tốt, nhưng có thể cần phải làm cho bộ điều khiển mạnh mẽ hơn nữa (hạn chế chạy/tràn)
trong một số ứng dụng nhất định. Việc thêm hiệu chỉnh bão hòa trên số hạng tích phân,
chỉ dựa vào số hạng tỷ lệ trên giá trị xử lý hệ thống là cần thiết.

Trong tính toán IFactor và DFactor, thời gian lấy mẫu T là một phần của phương trình.
Nếu thời gian mẫu T được sử dụng nhỏ hơn nhiều hoặc lớn hơn 1 giây thì độ chính xác
của IFactor hoặc DFactor sẽ kém. Hãy xem xét việc viết lại thuật toán PID và chia tỷ lệ
để giữ được độ chính xác cho số hạng tích phân và đạo hàm.

5 Tài liệu tham khảo


KJ Astrom & T. Hagglund, 1995: Bộ điều khiển PID: Lý thuyết, Thiết kế và Điều chỉnh.
Hiệp hội đo lường quốc tế và Con.

2558A-AVR-05/06
Machine Translated by Google

Tuyên bố miễn trừ trách nhiệm

Tập đoàn Atmel Hoạt động của Atmel

Ký ức RF/Ô tô
Đại lộ 2325 Orchard
Đại lộ 2325 Orchard Theresienstrasse 2
San Jose, CA 95131, Hoa Kỳ
San Jose, CA 95131, Hoa Kỳ Postfach 3535
ĐT: 1(408) 441-0311
ĐT: 1(408) 441-0311 74025 Heilbronn, Đức
Fax: 1(408) 487-2600
Số fax: 1(408) 436-4314 ĐT: (49) 71-31-67-0
Fax: (49) 71-31-67-2340
Trụ sở khu vực Vi điều khiển
Đại lộ 2325 Orchard
Châu Âu 1150 Đông Cheyenne Mtn. Đại lộ
San Jose, CA 95131, Hoa Kỳ
Atmel Sarl Colorado Springs, CO 80906, Hoa Kỳ ĐT:
Route des Arsenaux 41 ĐT: 1(408) 441-0311
1(719) 576-3300 Fax:
Trường hợp Bưu chính 80
Số fax: 1(408) 436-4314
1(719) 540-1759
CH-1705 Friborg
La Chantrerie Sinh trắc học/Hình ảnh/Hi-Rel MPU/
Thụy sĩ
BP 70602
ĐT: (41) 26-426-5555
Bộ chuyển đổi tốc độ cao/Dữ liệu RF
44306 Nantes Cedex 3, Pháp Đại lộ Rochepleine
Fax: (41) 26-426-5500
ĐT: (33) 2-40-18-18-18 BP 123
Châu Á Fax: (33) 2-40-18-19-60 38521 Saint-Egreve Cedex, Pháp
Phòng 1219 ĐT: (33) 4-76-58-30-00
ASIC/ASSP/Thẻ thông minh
Chinachem Golden Plaza Fax: (33) 4-76-58-34-80
Khu công nghiệp
77 Đường Mody Tsimshatsui
13106 Rousset Cedex, Pháp
Đông Cửu Long
ĐT: (33) 4-42-53-60-00
Hồng Kông
Fax: (33) 4-42-53-60-01
ĐT: (852) 2721-9778
Fax: (852) 2722-1369
1150 Đông Cheyenne Mtn. Đại lộ
Tầng 9 Colorado Springs, CO 80906, Hoa Kỳ ĐT:
Nhật Bản , Tòa nhà Tonetsu Shinkawa. 1(719) 576-3300 Fax:
1-24-8 Shinkawa 1(719) 540-1759
Chuo-ku, Tokyo 104-0033 Nhật
Bản Công viên Công nghệ Doanh nghiệp Scotland
ĐT: (81) 3-3523-3551 Tòa Nhà Maxwell
Fax: (81) 3-3523-7581 Đông Kilbride G75 0QR, Scotland
ĐT: (44) 1355-803-000
Fax: (44) 1355-242-743

Yêu cầu về Văn học


www.atmel.com/literature

Tuyên bố miễn trừ trách nhiệm: Thông tin trong tài liệu này được cung cấp liên quan đến các sản phẩm của Atmel. Không có giấy phép, rõ ràng hay ngụ ý, bằng estoppel hoặc bằng cách khác, đối
với bất kỳ quyền sở hữu trí tuệ nào được cấp bởi tài liệu này hoặc liên quan đến việc bán các sản phẩm Atmel. NGOẠI TRỪ NHƯ ĐƯỢC QUY ĐỊNH TRONG CÁC ĐIỀU KHOẢN VÀ ĐIỀU KIỆN BÁN HÀNG CỦA ATMEL
TRÊN TRANG WEB CỦA ATMEL, ATMEL KHÔNG CHỊU TRÁCH NHIỆM NÀO VÀ TỪ CHỐI TRÁCH NHIỆM BẤT CỨ BẢO ĐẢM RÕ RÀNG, NGỤ Ý HOẶC THEO LUẬT ĐỊNH LIÊN QUAN ĐẾN SẢN PHẨM CỦA MÌNH BAO GỒM NHƯNG KHÔNG GIỚI
HẠN ĐẾN BẢO ĐẢM NGỤ Ý VỀ KHẢ NĂNG BÁN, SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ HOẶC KHÔNG VI PHẠM. TRONG MỌI TRƯỜNG HỢP ATMEL SẼ KHÔNG CHỊU TRÁCH NHIỆM CHO BẤT KỲ THIỆT HẠI TRỰC TIẾP, GIÁN TIẾP,
DO HẬU QUẢ, TRỪNG XUẤT, ĐẶC BIỆT HOẶC NGẪU NHIÊN (BAO GỒM, KHÔNG GIỚI HẠN, THIỆT HẠI VỀ MẤT LỢI NHUẬN, GIÁN ĐOẠN KINH DOANH, HOẶC MẤT THÔNG TIN) PHÁT SINH TỪ VIỆC SỬ DỤNG HOẶC KHÔNG CÓ KHẢ
NĂNG SỬ DỤNG TÀI LIỆU NÀY, NGAY CẢ KHI ATMEL ĐÃ ĐƯỢC TƯ VẤN VỀ KHẢ NĂNG GÂY THIỆT HẠI ĐÓ. Atmel không tuyên bố hay bảo đảm về tính chính xác hoặc đầy đủ của nội dung tài liệu này và có quyền
thay đổi thông số kỹ thuật và mô tả sản phẩm bất kỳ lúc nào mà không cần thông báo. Atmel không đưa ra bất kỳ cam kết nào về việc cập nhật thông tin trong tài liệu này. Trừ khi có quy định cụ
thể khác, các sản phẩm của Atmel không phù hợp và không được sử dụng trong các ứng dụng ô tô. Các sản phẩm của Atmel không nhằm mục đích, cấp phép hoặc bảo hành để sử dụng làm thành phần trong
các ứng dụng nhằm hỗ trợ hoặc duy trì sự sống.

© Atmel Corporation 2006. Mọi quyền được bảo lưu. Atmel®, logo và sự kết hợp của chúng, Everywhere You Are®, AVR® và AVR Studio® là các nhãn hiệu đã
đăng ký của Atmel Corporation hoặc các công ty con của nó. Các điều khoản và tên sản phẩm khác có thể là thương hiệu của người khác.

2558A-AVR-05/06

You might also like