Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

PID điều chỉnh nhiệt độ lò điện pdf
MIỄN PHÍ
Số trang
20
Kích thước
111.0 KB
Định dạng
PDF
Lượt xem
1225

PID điều chỉnh nhiệt độ lò điện pdf

Nội dung xem thử

Mô tả chi tiết

: PID đi ề u chỉnh nhi ệ t đ ộ lò đi ện

mumoi

18-12-05, 11:17

Chào các bạn.

Mình đang làm về PID điều khiển nhiệt độ sử dụng AT89C51. Các bạn có thể chỉ giáo cho tôi

mấy chiêu về PID được không.

Tôi đã viết PID trên C và:

Phương trình sai phân của PID số được viết dưới dạngsai phân sau:

U(i+1) = Kp*e + Kd* [e(i+1)-e(i)]/Ts + Ki*Se(i)*Ts

Ở đây: e là sai số.

Ts là thời gian lấy mẫu.

U là đầu ra.

Vấn đề là ở chỗ góc mở a cho Triac của bộ tạo nhiệt.

Ta có a nằm trong khoảng 0o đến 180o.

Khi đó nhiệt độ đầu ra tương ứng là toout = Tmax¸ 0.

Trong lập trình thì góc mở a tương ứng với thời gian trễ của góc mở so với tín hiệu đồng pha

được phát hiện bởi ngắt ngoài.

Do đó a = 0o¸ 180o tương ứng a = 0 ¸ 10000ms (ở đây tần số công nghiệp là 50Hz).

Vấn đề là mình không tìm được mối quan hệ giữa đầu ra của PID là U và góc mở Triac a.

Mình có suy nghĩ như thế này không biết ý các cao nhân thế nào:

Tức là ứng với giá trị nhiệt độ đặt là td thì ta có góc mở là ad. Như vậy góc mở tại thời điểm i là:

a(i) = ad - au.

trong đó au = f(U).

Vấn đề là hàm f(U) xác định như thế nào?

Mình chưa làm thực tế về PID bao giờ nên bỡ ngỡ quá. Các bạn chỉ cho mình mấy chiêu được

không.

Mình cảm ơn anh nha!

Chào.

Chúc vui vẻ.

AFH

18-12-05, 13:33

Công thức bạn đưa ra là đúng rồi đấy. Nhưng tôi thấy bạn chưa hiểu rõ về PID vì vậy bạn nên

tìm mua sách mà học PID cho cẩn thận (cái món PID này tưởng dễ chứ thực ra khó phết đấy).

Còn về góc mở a thì bạn cho một biến đếm thời gian như bạn đã ghi ấy. nghĩ là góc mở 0 tương

ứng với 0 và góc mở 180 độ tương ứng với 10000 us (micro giây). Giá trị trả về của bộ PID bạn

cho qua bộ chặn trên và chặn dưới. Nghĩa là Umax=10000 và Umin = 0. Sau đó gán Biến đếm

thời gian = U là xong.

Việc điều chỉnh ổn định điều khiển phải được thực hiện qua các thống số là: Hệ số khuếch đại

Kp, Hằng số tích phân Ti và hắng số vi phân Td.

Chúc bạn thành công.

AFH

Amateur

18-12-05, 13:57

Tôi nghĩ không cần lập quan hệ Góc mở ~ Nhiệt độ.

Ta điều khiển theo quan niệm: Còn sai, thì còn điều chỉnh. Nếu lò nhiệt có tải (tiêu thụ năng

lượng nhiệt) thì còn phải thay đổi góc mở. Thậm chí có khi mở hết 180 độ mà bạn vẫn không đạt

được nhiệt độ mong muốn đấy, do đó không thể có quan hệ Góc mở ~ NHiệt độ lò. Quan hệ này

chỉ có khi nhiệt lượng tiêu thu là không đổi hay quá nhỏ. Tại một thời điểm, đang mở a độ. Nếu

ta nhận được sai số nhiệt độ là e, tính ra gia số góc mở theo PID (Delta a), sau đó góc mở mới =

a + delta a. Tiếp tục tìm sai lệch... Vấn đề tìm ra bộ thông số Kp, Ki, Kd. Và với hệ rời rạc này,

ta chọn tiếp tham số thứ 4 là Ts - Thời gian giữa 2 lần lấy mẫu.

mumoi

19-12-05, 16:48

Bác AFH ơi đúng là PID phức tạp thật, bác có nói tới bộ chặn trên và bộ chặn dưới, vậy nó là gì

vậy, bác chỉ rõ cho tôi được không.

Cám ơn bác.

To Amateur: Bác có thể nói rõ cách tính delta a như thế nào được không, tôi đang mắc chỗ đó

đó.

Cảm ơn nha.

Chúc vui vẻ!

CHIBANG

19-12-05, 17:02

Chặn trên và dưới nghĩa là các thành phần tỷ lệ, vi phân và tích phân, rồi góc mở đều có giới

hạn. Nếu nó vượt qua thì gán nó bằng cái chặn gần nhất. Ví dụ:

if(p>P_MAX) p=P_MAX;

Biểu thức liên hệ giữa góc mở và công suất thì chỉ là biểu thức tương đối. Ví dụ bạn chia ra 1000

mức công suất đều nhau thì ứng với mức 1---góc mở 1, mức 2---góc mở 2.... công suất mức

1000--- góc mở 1000. 1000 mức công suất đều nhau nhưng 1000 mức góc mở lại phi tuyến vì do

hàm sin. Bạn dùng exel mà suy ra.

Thực tế nếu bạn dùng uC thì có thể dùng timer của nó để làm như bác AFH nói. Và có thể chỉ

chia mức công suất thành vài đoạn rồi nội suy ra thời gian mở để tiết kiện Flash

Tải ngay đi em, còn do dự, trời tối mất!