4.2. Chọn và xác định thông số bộ điều chỉnh.
4.2.1. Chọn bộ điều chỉnh.
Mỗi một hệ thống điều khiển tự động đều cần phải ổn định và chính xác.
Để hệ thống ổn định chúng ta phải tổng hợp hệ thống. Việc tổng hợp hệ thống
có thể thực hiện bằng nhiều phơng pháp nh là thay đổi thông số của hệ
thống hoặc thay đổi cấu trúc của hệ thống bằng cách lắp thêm vào đó các bộ
điều chỉnh. Có những hệ thống điều khiển dù thay đổi thông số đến mức nào
cũng không làm nó ổn định đợc. Vì vậy ta nên sử dụng phơng pháp thay đổi
cấu trúc của hệ thống. Sau đây là một số bộ điều chỉnh điển hình đó:
* Bộ điều chỉnh tỷ lệ (P).
* Bộ điều chỉnh tích phân (I).
* Bộ điều chỉnh tỷ lệ tích phân (PI).
* Bộ điều chỉnh vi phân (D).
* Bộ điều chỉnh tỷ lệ vi phân (PD).
* Bộ điều chỉnh tỷ lệ vi tích phân (PID).
Trớc khi chọn bộ điều chỉnh ta cần hiểu khái niệm sai lệch tĩnh là gì. Sai
lệch tĩnh xác định độ chính xác tĩnh của hệ. Sai lệch tĩnh đợc tính theo định
lý tới hạn:
()
==
>
tee
t
ss
lim
0
)(.lim
>s
sEs
Hình 4.4 có nêu ảnh hởng của các bộ điều chỉnh khác nhau đối với sai lệch
t
t
t
t
t
t
e(t)
khâu vi phân cho đầu ra sớm pha so với đầu vào góc /2. Tuy nhiên quy luật
PD không làm giảm sai lệch tĩnh. Vì vậy trong công nghiệp thờng sử dụng
trong hệ thống đòi hỏi tác động nhanh. Bộ điều chỉnh PID là bộ điều chỉnh kết
hợp đợc u điểm của cả 3 bộ điều chỉnh P,I,D. Tuy nhiên bộ điều chỉnh này
sẽ rất phức tạp nên ngời ta thờng hay sử dụng bộ điều khiển PD,PI.
Thực tế bộ điều khiển PD đợc dùng trong điều khiển ngời máy, tay
máy; còn PI đợc dùng trong điều khiển quá trình nh nhiệt độ, áp suất lực.
Vì vậy trong đề tài này chúng tôi chọn bộ điều chỉnh PI.
4.2.2. Xác định thông số bộ điều chỉnh.
Hàm truyền của bộ điều chỉnh PI là: G
PI
(s) = K
p
T
T
i
i
s
s
.
.1+Z
Y
U X E
e
s
Ts
K
+
1
K
p
T
T
i
i
s
s
.
.1+
Hình 4.5 - Đặc tính tần biên pha của hệ thống.
T
K
.
2
1
Với độ dự trữ ổn định nh trên ta có: K1= K
p
.K
4
T
=
4
= 35,34
ệ
K
p
35,34: 3,9 = 9
Vậy bộ điều chỉnh PI đợc chọn nh sau: G
PI
(s) = 9.
s
s
36
361+
Để thực hiện hàm này trong vi điều khiển ta phải tiến hành chuyển nó về
z
z
Y(z).z - Y(z) = 72.U(z).z - 71U(z).
Y(z).z = 72.U(z).z - 71.U(z) + Y(z)
Với Y(z) là tín hiệu ra rời rạc và U(z) là tín hiệu vào rời rạc.
Theo tÝnh chÊt dÞch hµm gèc th× z
z
.Y(z) = Y(k+n)
Nh− vËy ta cã Y(k+1) = 72.U(k+1) - 71.U(k)+Y(k)
5.1.2. Giải thuật chơng trình đọc A/D.
Kết thúc
Điều khiển
Thyristor
Hiển thị nhiệt độ đo và nhiệt độ đặt
Hiển thị nhiệt độ đo
Ke
y
2 = 1
Đọc ADC
Ke
y
1 = 1
Nhiệt độ đặt ban đầu
Bắt đầu
Hiển thị nhiệt độ đặt lại
Tăng t
0
đặt Giảm t
0
đặt
Ke
y
3= 1 Hình 5.2 - Giải thuật chơng trình đọc A/D
5.1.3. Giải thuật chơng trình tăng giảm nhiệt độ đặt.
0
Đ
Tăng nhiệt độ đặt
lên 1 đơn vị
Giảm nhiệt độ đặt
xuống 1 đơn vị
Kết thúc
Đ
Vi xử lý thờng làm việc với các số nhị phân. Tuy nhiên khi lu trữ, khi
hiển thị hoặc khi truyền giữa các thiết bị các giá trị số 0 9, thực chất ta làm
việc với mã ascii của các số đó,tức là các số 30H 39H. Nh vậy ta thấy trong
một byte mã Ascii biểu diễn các số 0 9 có 4 bit thấp ứng với mã BCD của
chính các số đó, 4 bit cao bao giờ cũng ứng với mã BCD của số 3 (0011B).
Nếu trong byte mã Ascii này ta thay 4 bit cao bằng 0H thì ta thu đợc số BCD.
Ngợc lại nếu thay 4 bit của byte cao của số BCD bằng 0011 thì ta thu đợc
mã Ascii của số đó. Vậy để hiển thị và lu trữ các giá trị đọc đợc từ ADC ta
cầnchuyển các số nhị phân sang mã BCD và sau đó chuyển từ BCD sang Ascii
bằng cách cộng số BCD đó với 30H.
Thuật toán chuyển từ số nhị phân sang BCD nh sau: Hình 5.4 - Giải thuật chuyển từ số nhị phân ra số BCD. 5.1.5. Giải thuật chơng trình điều khiển Triac.
Bắt
đầ
Chia số cần đổi cho10
đợc số d là hàng đơn vị
Tính toán để tăng
góc mở Triac
Cho góc mở Triac
ban đầu
Tính toán để giảm
góc mở Triac
T
0
đo < T
0
đ
ặ
t
)
thờng nắm vững tất cả các thanh ghi của CPU, kích thớc của chúng cũng
nh các chi tiết liên quan khác.
Ngày nay, ta có thể sử dụng các ngôn ngữ lập trình khác nhau nh
Basic, Pascal, C, C
++
, Java và nhiều ngôn ngữ khác. Các ngôn ngữ này là
những ngôn ngữ bậc cao vì lập trình viên không cần phải tơng tác với các chi
tiết bên trong CPU. Các ngôn ngữ bậc cao đợc dịch ra mã máy bằng một