![]() |
|
Tài trợ cho PIC Vietnam |
Thực hành Bắt đầu làm một robot như thế nào? Mẹo vặt? Kỹ thuật? Công nghệ?... Hãy bắt tay vào việc... |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#11 |
Trưởng lão PIC bang
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. |
![]() |
![]() |
|
|