View Single Post
Old 31-03-2009, 07:16 AM   #15
Mecha
Trưởng lão PIC bang
 
Mecha's Avatar
 
Tham gia ngày: Dec 2005
Bài gửi: 315
:


Trên đây là công thức tính PID (cấu trúc song song) rời rạc đã được đề cập đến trong rất nhiều sách.

Kp, Ti, Td: thông số của PID
Ts: chu kỳ trích mẫu


<code>

// sense: đọc dữ liệu từ sensor
ek = ref – pv; // pv = present value

// calculate & anti-windup limits
uk = theo công thức;

if ( uk > ukmax )
uk = ukmax;
else if ( uk < ukmin )
uk = ukmin;

// update biến trạng thái
ek-2 = ek-1;
ek-1 = ek;
uk-2 = uk-1;
uk-1 = uk;

// actuate: ghi dữ liệu ra actuator
outPortUk.data()->Set(uk); // ví dụ 1 lệnh gửi dữ liệu ra output port

</code>

Chú ý tuần tự thực hiện nên là: sense(), calculate(), update(), actuate().

Astrom and Wittenmark có đề xuất là “writing first”, khi đó tuần tự thực hiện sẽ là actuate(), sense(), calculate(), update(). Tuy nhiên trong vấn đề này mỗi người có một quan điểm khác nhau.
__________________
Sống là động nhưng lòng luôn bất động,
Sống là thương nhưng lòng chẳng vấn vương,
Sống yên vui danh lợi vẫn coi thường,
Tâm bất biến giữa dòng đời vạn biến.


Chú ý: đề nghị các thành viên đọc luồng dưới đây trước khi post bài:
http://www.picvietnam.com/forum//showthread.php?t=1263

thay đổi nội dung bởi: Mecha, 31-03-2009 lúc 07:21 AM.
Mecha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn