Tải bản đầy đủ (.doc) (39 trang)

đồ án tự động hóa Thiết kế phần cứng và phần mềm cho hệ thống đo lường và điều khiển nhiệt độ đa kênh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.36 MB, 39 trang )

Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Chương 3
THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM CHO HỆ THỐNG ĐO
LƯỜNG VÀ ĐIỀU KHIỂN NHIỆT ĐỘ ĐA KÊNH
1. Thiết kế mạch chuyển đổi A/D, D/A 8 kênh, dữ liệu truyền thông qua
cổng nối tiếp (COM).
Sơ đồ tổng quát:
Như vậy để tích hợp một mạch gồm có bộ chuyển đổi A/D, D/A truyền
thông qua cổng nối tiếp trên một bo mạch ta phải có các vi mạch cơ bản là: 1 bộ
chuyển đổi A/D (Analog – Digital), một bộ chuyển đổi D/A (Digital – Analog),
bộ chuyển tín hiệu từ nối tiếp sang song song và ngược lại, 1 vi mạch dồn kênh
(MUX) nếu vi mạch A/D chỉ có một đầu vào, 1 vi mạch phân kênh (DEMUX)
nếu vi mạch D/A chỉ có một kênh ra và một số vi mạch phụ khác. Sau đây ta lần
lượt tìm hiểu từng đối tượng; mỗi loại đối tượng trên đều có rất nhiều loại nên
các đối tượng dưới đây là các đối tượng được lùa chọn từ 1 trong các loại trên
như đã giới thiệu trong Chương 1.
1.1. Bộ chuyển đổi tương tự sang sè (A/D) ADC0809.
Sở dĩ ta chọn vi mạch này vì dây là bộ chuyển đổi A/D có 8 đầu vào nên nó
rất tốt cho một hệ thống có 8 kênh đo, ADC0809 gồm 2 phần: bộ chuyển đổi
A/D và một mạch chọn kênh vào, chúng được tích hợp trên một vi mạch nên độ
tin cậy rất cao khi thiết kế cho một hệ thống đo lường và điều khiển lớn. Sự lùa
chọn này là tối ưu so với việc ghép nối từ một bộ biến đổi A/D 1 đầu vào với
một vi mạch dồn kênh.
Bộ biến đổi A/D ADC 0809 rất giống với bộ biến đổi ADC0804 đã trình
bày ở Chương 1. Sù khác nhau cơ bản là ở con số các kênh lối vào đã được tăng
lên. Tổng cộng người sử dụng có 8 kênh làm việc hoàn toàn độc lập với nhau để
lùa chọn. Ở đây cần chú ý là các điện áp được so sánh với điện thế 0V. Còn một
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 56
H×nh 3.1: S¬ ®å tæng qu¸t mét bo m¹ch chuyÓn ®æi A/D, D/A qua cæng COM.















 !!
!! 
"#$
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
đặc điểm đáng quan tâm hơn là sự tiêu thụ dòng điện của vi mạch hầu như
không đáng kể (chỉ cỡ 300µA). Thời gian biến đổi cỡ 100µs.
Các thông số kỹ thuật của bộ biến đổi ADC0809:
- Không cần đòi hỏi điều chỉnh điểm 0.
- Quét động 8 kênh bằng logic địa chỉ.
- Dải tín hiệu lối vào Analog khi điện áp nguồn nuôi +5V là 0÷5V.
- Tất cả các tín hiệu tương thíc TTL.
- Độ phân giải: 8 bit (Data Bus có 8bit).
- Thời gian biến đổi: 100µs.
- Dòng tiêu thụ (bình thường): 0.3mA.
Sơ đồ chân của nó ta có thể xem ở chương1, sau đây là sơ đồ mạch sau khi
đã lắp thêm một số linh kiện phụ trợ:
Hình 3.2 chỉ ra các chân của vi mạch ADC0809. Tín hiệu dữ nhịp cùng cho
bộ biến đổi này cần phải được tạo ra ở bên ngoài và được dẫn đến chân CLOCK.

Điện áp so sánh được đưa qua tần lặp lại điện áp để đến chân ra V
REF
+, chân này
có điện trở lối vào cỡ 2.5kΩ. Tám kênh lối vào Analog được dẫn đến các chân
IN0÷IN7. Mẫu bit ở các lối vào địa chỉ A,B,C sẽ xác định xem kênh nào được
lùa chọn. khi đó, việc lùa chọn tuân theo quy định sắp xếp dưới đây:
C B A Kênh lối vào
được kích hoạt.
0 0 0 IN0
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 57
Adc0809
clock
Vcc
gnd
Vref+
Vref−
%&
%'
%(
%)
%*
%+
%,
%-
eoc
&
'
(
)

*
+
,
-
!.
/

0


H×nh 3.2: S¬ ®å m¹ch biÕn ®æi A/D - ADC0809.
,1(2
,(-34
+2

,-µ
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
0 0 1 IN1
0 1 0 IN2
0 1 1 IN3
1 0 0 IN4
1 0 1 IN5
1 1 0 IN6
1 1 1 IN7
Nguyên tắc làm việc của bộ biến đổi ADC0809 cũng không có gì phức tạp.
Một xung dương ở chân START kích hoạt sự biến đổi. Qua đó mẫu bit ở lối vào
địa chỉ A, B, C cũng đồng thời được chốt và xác định kênh cần biến đổi. Trong
quá trình biến đổi chân ra EOC đứng ở mức Low, sau cỡ 100µs mức này sẽ
chuyển sang High và báo hiệu sự kết thúc quá trình biến đổi. Sau đó kết quả của
quá trình biến đổi sẽ xếp hàng ở các đường dẫn dữ liệu D0÷D7. Khi OE=1 các

đường dẫn có thể được đọc tiếp.
1.2. Bộ biến đổi số sang tương tự (D/A) AD7524.
Bộ biến đổi D/A AD7524 là bộ biến đổi có bus dữ liệu là 8 bit, một đầu ra,
nên để thiết kế cho hệ thống có 8 kênh điều khiển thì ta phải có thêm một bộ
phân kênh với tín hiệu chọn kênh do máy tính phát ra.
Bộ biến đổi AD7524 làm việc theo nguyên tắc như trình bày ở chương1.
Điện trở R của mạng điện cỡ 10kΩ. Hình 3.3 chỉ ra một mạch điện điển hình
của bộ biến đổi D/A – AD7524.
Các lối ra OUT1 và OUT2 là các điểm chung của dòng điện. Dòng tiêu thụ
của vi mạch AD7524 khoảng 1mA khi điện áp nguồn là 5V. Điện áp nguồn ở
chân ra VDD có thể được lùa chọn trong khoảng 5÷15V. Tất cả các lối vào đều
tương thích TTL. Các chân ra CS (Chip Select) và WR (Write) khi ghi vào một
byte dữ liệu cần phải có mức Low. Sau đó, chân WR chuyển trở lại mức High và
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 58
(5÷,(5
&(+)
&
'
(
)
*
+
,
-
!
5
.4
.40
,

+
6.
7
8 −
H×nh 3.3: S¬ ®å m¹ch bé biÕn ®æi D/A - AD7524.









7
,
+
*
)
(
'
&

9
.

.
.!
+*+
58

7
5−
.,%
,
5
,8
,−
+−
+8

,-µ
9
,-µ
,-
,-µ
(
,-µ
)
,-µ
,%
.,
:')+-
&
'
(
)
*
+
,
-

.


%
7
:
!0!
!4

.
.
0./
.
5
./
/*,
/*+
:,
&%
'%
(%
)%
*%
+%
,%
-%
.,
'12
.,
(2

%+
,
,
H×nh 3.5: Module ghÐp nèi víi cæng nèi tiªp cña m¸y tÝnh.
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
byte dữ liệu được lưu trữ lại trong bộ biến đổi D/A. Khi sử dụng vi mạch
AD7524 thì điều đặc biệt đáng quan tâm là ở chân U
REF
(điện áp so sánh) có thể
cho phép đấu vào cả điện áp dương cũng như điện áp âm. Thậm chí điện áp này
cũng có thể là một điện áp xoay chiều.
1.3. Mạch phân kênh (Demultiplexer - DMUX) 8 đầu ra DM74138.
Mạch phân kênh có tác dụng chuyển tín hiệu từ 1 kênh vào ra 1 trong 8
kênh ở đầu ra ứng với 3 bit chọn C,B,A.
1.4. Bộ chuyển đổi tín hiệu từ nối tiếp sang song song và ngược lại.
Module chuyển đổi tín hiệu từ nối tiếp sang song song và ngược lại có linh
kiện trọng tâm là bộ phát nhận không đồng bộ vạn năng CDP6402 và một vi
mạch phụ trợ khác là vi mạch MAX232 của hãng MAXIM để thích ứng với tín
hiệu ở mức −12V÷12V trên giao diện RS232 (COM).
Module này cho phép đọc vào cũng như đưa ra 8 tín hiệu TTL qua giao
diện nối tiếp của máy tính PC.
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 59
&),*
!-
!,
!+
!*
!)
!(

!'
!&
5

0

!

H×nh 3.4: M¹ch ph©n kªnh DM74138.
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
1.4.1.Bé phát nhận không đồng bộ vạn năng CDP6402.
Thông số kỹ thuật đặc trưng của vi mạch CDP6402:
- Công suất tiêu thụ không đáng kể: 7.5mW ở 3.2MHz và Vcc=5V.
- Tốc độ Boud cực đại:200kBoud khi nguồn nuôi là 5V 200kBoud khi nguån nu«i
lµ 5V
400kBoud khi nguồn nuôi là 10V
- Điện áp nguồn nuôi 4V÷10.5V.
- Có thể đặt khuôn mẫu truyền dữ liệu bằng phần cứng.
- Sử dụng đơn giản.
- Giá thành gần 10USD .
Sơ đồ chân như sau:
Chức năng của các chân riêng biệt:
Chân Ký hiệu Mô tả
1 VDD Cực dương của nguồn nuôi
2 NC Không dùng
3 GND Mass, Đất, 0V
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 60
H×nh 3.6: S¬ ®å ch©n vi m¹ch CDP6402.
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002

4 RRD Receive Register Disable
Khi tín hiệu này dẫn đến mức High thì các đường dẫn lối ra
D0OUT÷D7OUT chuyển sang trạng thái điện trở cao
5
÷
12
D7OUT
÷
D0OUT
Các bit dữ liệu đã đến theo cách nối tiếp ở chân 20 sẽ xuất
hiện theo cách song song ở các lối ra ba trạng thái (tristate):
D7OUT÷D0OUT.
13 PE Parity Error: Sai số chẵn lẻ
Một mức logic 1 ở chân này báo hiệu là bit chẵn lẻ đã được
lập trình không đồng nhất với bit nhận được. Nếu như bit
chẵn lẻ không được kích hoạt thì chân này nằm ở mức Low.
14 FE Framming Error: Sai sè Framming
Mức High ở chân này báo hiệu là bit dừng đầu tiên là không
có giá trị. FE giữ nguyên High cho đến khi nhận được một
bit dừng có giá trị.
15 OE Sai sè Overrun.
OE sau đó trở nên High, nếu như một byte mới đã được
nhận. Trước khi byte cũ được đọc từ thanh ghi nhận.
16 SFD Status Flag Disable
Một mức cao ở chân này có nghĩa là các lối ra PE, FE, OE,
DE và TBRL trở nên có điện trở cao.
17 RRC Receiver Register Clock:
Ở RRC, tín hiệu giữ nhịp của bộ nhận nối tiếp được dẫn đến.
Tần số cần phải được thiết lập ở giá trị 16 lần lớn hơn tốc độ.
18 DRR Data Received Reset

Mét xung Low ở chân này đặt DR trở lại Low
19 DR Data Received
DR=1 báo hiệu là các dữ liệu đã được nhận một cách đầy đủ
và có mặt ở các lối ra D7OUT÷D0OUT. Trước khi mét byte
dữ liệu có giá trị tiếp theo có thể được báo hiệu, tín hiệu DR
cần phải được đặt lại bằng một xung âm ở DRR (chân 18)
20 RRI Receiver Register Input
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 61
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Ở chân này tín hiệu lối vào nối tiếp được dẫn đến.
21 MR Master Reset
Với mức High, việc Reset linh kiện sẽ được thực hiện. PE,
FE, OE và DR được đặt lại, trong khi TRE, TBRE và TRO
được đặt lên mức cao.
22 TBRE Transmitter Buffer Register Empty
Một mức cao ở chân này báo hiệu là thanh ghi của bộ gửi
đang trống và sẵn sàng tiếp nhận dữ liệu mới.
23 TBRL Transmitter Control Register Load
Mét xung Low sẽ xoá để gửi đi các bit dữ liệu. Bằng sườn
dương các dữ liệu xếp kề sát, song song D7IN÷D0IN sẽ
được truyền vào thanh ghi của bộ gửi và sau đó được gửi đến
bên nhận theo cách nối tiếp với bit khởi động và bit dõng.
24 TRE Transmitter Register Empty
Một mức cao báo hiệu là linh kiện đã làm xong việc gửi
25 TRO Transmitter Register Output
Các bit dữ liệu xếp kề sát song song D0IN÷D7IN được gửi
bao gồm bit khởi động và bit dõng qua đường dẫn TRO tới
bên nhận.
26

÷
33
D0IN
÷
D7IN
Các bit dữ liệu ở các lối vào này được gửi trực tiếp đến nơi
nhận.
D0IN là LSB, D7IN là MSB
34 CRL Control Register Load: nạp thanh ghi điều khiển. Một mức
High nạp các bit điều khiển vào thanh ghi điều khiển.
35 PI
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 62
CLS2 CLS1 PI EPE SBS DATA BIT PARITY BIT
0 0 0 0 0 5 LÎ (oDD)
0 0 0 0 1 5 LÎ
0 0 0 1 0 5 CH½N
0 0 0 1 1 5 CH½N
0 0 1 x 0 5 DISABLED
CLS2 CLS1 PI EPE SBS DATA BIT PARITY BIT
0 0 1 X 0 0 DISABLED
0 1 0 0 0 0 LÎ
0 1 0 0 0 0 LÎ
0 1 0 1 0 0 CH½N
0 1 0 1 0 0 CH½N
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
36 SBS
37 CLS2
38 CLS1
39 EPE

40 TRC Transmitter Register Clock
Ở TRC có tín hiệu giữ nhịp của bộ gửi nối tiếp tần số cần
phải được thiết lập lớn hơn tốc độ Baud 16 lần.
Bộ phát nhận không đông bộ vạn năng UART CDP6402 là một linh kiện để
truyền dữ liệu qua giao diện nối tiếp được tích hợp ở mức độ cao, do hãng
HARIS sản xuất. Bộ UART (Universal Asynchronous Receiver/Transmitter)
này chứa trên cùng chip một bộ gửi và bộ nhận nối tiếp hoạt động hoàn toàn độc
lập với nhau. Bộ gửi nối tiếp truyền đi sau mét xung khởi động các dữ liệu xếp
kề sát qua một đường dẫn tời bộ nhận và gửi kèm theo một các tự động các bít
khởi động và bit dừng. Bên bộ nhận lại có được các dữ liệu đã nối tiếp đến dể
chuyển sang dạng song song. Điểm đáng lưu ý ở vi mạch này là khuôn mẫu
truyền dữ liệu có thiể thiết lập trước bằng phần cứng qua các mức logic ở các
chân, nhờ vậy mà vi mạch này có thể được sử dụng một cách vạn năng.
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 63
CLS2 CLS1 PI EPE SBS DATA BIT PARITY BIT
0 1 1 X 0 0 DISABLED
0 1 1 X 0 0 DISABLED
1 0 0 0 0 0 LÎ
1 0 0 0 0 0 LÎ
1 0 0 1 0 0 CH½N
1 0 0 0 0 0 CH½N
CLS2 CLS1 PI EPE SBS DATA BIT PARITY BIT
1 0 1 X 0 7 DISABLED
1 0 1 X 1 7 DISABLED
1 1 0 0 0 8 LÎ
1 1 0 0 1 8 LÎ
1 1 0 1 0 8 CH½N
CLS2 CLS1 PI EPE SBS DATA BIT PARITY BIT
1 1 0 1 1 8 CH½N

1 1 1 X 0 8 DISABLED
1 1 1 X 1 8 DISABLED
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
1.4.2. Vi mạch MAX 232.
Được hãng MAXIM sản xuất để thích ứng với tín hiệu ở mức –12V÷12V
trên giao diện RS232.
Vi mạch này nhận mức RS232 đã được gưởi từ máy tính PC và biến đổi tín
hiệu này thành tín hiệu TTL, để sau đó dẫn tới bộ UART CDP6402. Mặt khác
tín hiệu từ bộ UART được biến đổi thành mức –12V÷12V và gửi tới máy tính
PC. Theo cách này khoảng cách giữa máy tính PC và module biến đổi có thể đạt
đến 20m.
1.5. Ghép nối các module đã giới thiệu ở trên thành một bo mạch.
Xem Hình 3.8 ở trang sau
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 64
+*+
58
7
5−
.,%
,
5
,8
,−
+−
+8

,-µ
9
,-µ

,-
,-µ
(
,-µ
)
,-µ
,%
.,
H×nh 3.7: s¬ ®å m¹ch cña MAX232
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 65
H×nh 3.9: s¬ ®å nghuªn lý ®iÒu khiÓn nhiÖt ®é l« sÊy.
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
2. Hệ thống điều chỉnh tự động nhiệt độ các lô sấy.
Với hệ thống chuyển đổi thiết kế như ở trên ta có thể dùng để điều khiển và
giám sát đồng thời 8 kênh (có thể là 8 lô sấy) độc lập với mỗi kênh có một nhiệt
độ đặt cụ thể với thông số điều khiển độc lập.
Để xét một quá trình đo lường điều khiển nhiệt độ cụ thể bằng máy tính ta
xét đối tượng điều khiển là nhiệt độ của 1 lô sấy.
Đối tượng đo và điều khiển là lô sấy:
Trong đó:R/U – chuyển đổi điện trở sang điện áp.R/U – chuyÓn ®æi ®iÖn
trë sang ®iÖn ¸p.
A/D – chuyển đổi tương tự sang sè.
MT – máy tính .
D/A – chuyển đổi số sang tương tự.
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 66
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
U/I – chuyển đổi điện áp sang dòng điện.

I/P – chuyển đổi dòng điện sang điện áp.
Nguyên lý làm việc:
Hơi từ thiết bị gia nhiệt được bơm tuần hoàn qua van rồi tới lô sấy. Khi
lượng hơi vào lô sấy càng nhiều thì nhiệt độ lô sấy càng tăng. Điều đó đồng
nghĩa với việc điện trở của cảm biến Pt100 cũng tăng vì:
Rt = R
0
(1 + 3,97×10
-
3×t + 5.85×10
-7
×t
2
)
Với:t – nhiệt độ môi trường đặt Pt100. t – nhiÖt ®é m«i trêng ®Æt
Pt100.
Rt – điện trở của Pt100 ở nhiệt độ t
R
0
– điện trở của Pt100 ở 0
0
C (R
0
= 100)
Giá trị điện trở nhận được từ Pt100 sẽ được đưa đến bộ chuyển đổi R/U để
chuyển thành giá trị điện áp cần thiết (thường là:0÷5V). Sau khi qua bộ chuyển
đổi R/U tín hiệu được đưa qua bộ chuyển đổi A/D, tín hiệu Analog được biến
đổi thành các giá trị sô (Digital) rời rạc và đưa vào máy tính. Tại đâytín hiệu sẽ
được máy tính xử lý theo yêu cầu. Tín hiệu điều khiển được đưa qua bộ chuyển
đổi D/A chuyển đổi thành tín hiệu analog. Tín hiệu này qua bộ chuyển đổi I/P

tác động vào cơ cấu chấp hành điều khiển góc mở của van làm thay đổi lượng
hơi vào lô sấy từ đó làm thay đổi nhiệt độ lô sấy.
2.1. Đặc điểm của lô sấy và phương pháp điều chỉnh nhiệt độ lô sấy.
2.1.1 Đặc điểm của lô sấy:
Tín hiệu nhiệt độ nói chung là có quán tính lớn, sự thay đổi nhiệt độ của lô
sấy xảy ra chậm. Lô sấy có dung lượng càng lớn thì quán tính càng lớn.
Nhiệt độ của lô sấy không hoàn toàn đồng đều nên việc xác định nhiệt độ
của lô sấy còn phụ thuộc vào vị trí đặt cảm biến đo. Cảm biến đo phải được đặt
ở vị trí mà ở đó nhiệt độ có độ hiệu dụng lớn nhất (tức là nhiệt độ ở đó có ảnh
hưởng lớn nhất đến quá trình sấy), nên cảm biến đo phải được đặt sát bề mặt lô
sấy.
2.1.2.Phương pháp điều chỉnh nhiệt độ lô sấy.
Đại lượng điều chỉnh là nhiệt độ lô sấy. Để điều chỉnh nhiệt độ của lô sấy
chính là điều khiển góc mở của van làm thay đổi lượng hơi thổi vào.
Thông số kỹ thuật của van.
Kiểu NAF 370200 cơ cấu định vị van bằng khí nén
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 67
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Chức năng Chuyển tín hiệu khí nén thành góc mở của van
Tín hiệu điều khiển
Khí nén 20KPA÷100KPA
Nhiệt độ môi trường
-30
0
C÷80
0
C
Chức năng chuyển đổi Góc quay 60
0

với van bướm, 90
0
với van bi. Đặc tính
là tuyến tính (L) hoặc tỷ lệ phần trăm (P) có thể lùa
chọn kểu tác động trực tiếp (D) hay tác động ngược
(R)
Nguồn cung cấp Mat 800KPA (8bar), khí khô và sạch
Độ chính xác Dải trễ <0.3% tín hiệu vào
Độ trễ <0.5% so với chuyển động của van
Trọng lượng 1.8Kg
Sơ đồ nguyên lý của bộ điều khiển van.
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 68
H×nh 3.10: S¬ ®å nguyªn lý ho¹t ®éng cña bé ®iÒu khiÓn van
,;<=><>?3#1 @AB#1
+;<CD31 9;EF1
*;#G1 ,-;0H>H<1
);IJKKLMI1 ,,;/NC1
(;IOP>1 ,+;5>QR1
';S>>1 ,*;5P>T1
&@AN>UVW<1 ,);/NC<XT1
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Cam disc (cam hình đĩa):
Bộ phận cam thể hiện mối qua hệ giữa tín hiệu điều khiển và chế độ đặt van
tuỳ theo các loại khác nhau chính vì vậy cần phải chọn lùa đặc tính theo tỷ lệ
phần trăm (P) hay đặc tính tuyến tính (L). Có thể chọn loại có góc quay 60
0
(van
bướm) hay 90
0

(van bi). Mỗi cam disc có hai cam khác nhau: D – cam (tác động
trực tiếp) – khi tín hiệu điều khiển tăng thì độ mở của van tăng, R – cam (tác
động đảo) – khi tín hiều điều khiển tăng thì độ mở van giảm. Muốn chuyển chức
năng của cam cần phải thực hiện quay 180
0
.
Bộ định vị:
Bộ định vị van được thiết kế gắn trực tiếp trên những bộ tác động NAF. Bộ
phận chuyển động quay được truyền động nhờ trục dẫn động trong bộ định vị.
Tín hiệu điều khiển:
Khoảng tín hiệu điều khiển: 20KPA÷100KPA.
Nguyên lý hoạt động của van:
Cơ cấu định vị van làm việc theo nguyên tắc cân bằng lực, nguồn cung cấp
khí được cấp vào (1), nguồn áp lục tới điều khiển van (8) được nối qua hai ống
dẫn tới bộ tác động (10), khi tín hiệu điều khiển thay đổi cánh tay đòn cân bằng
(7) sẽ dịch chuyển vì lực tác động từ màng xếp va lò xo (11) làm mất cân bằng.
Bộ phận trượt điều khiển van (9) được gắn với đòn cân bằng, khi bộ phận trượt
di chuyển nguồn cung cấp khí tới bộ tác động thay đổi. Trục (6) được đưa trực
tiếp nối với trục của bộ tác động (10). Piston trong bộ tác động di chuyển làm
quay trục (6) và cam (5), cùng thời điểm đó thanh đẩy (4) bị tác động làm cho
lực tác động lên lò xo (11) thay đổi. Sự di chuyển vẫn còn tiếp tục cho tới khi
lực của lò xo được cân bằng với lực đẩy từ màng xếp. Đòn cân bằng (7) và khe
trượt (9) khi đó trở lại trạng thái cân bằng và van có một vị trí tương ứng với tín
hiệu điều khiển. Có thể điều chỉnh điểm 0 bởi vít (12), chỉnh giới hạn bởi vít
(13).
2.1.3. Cơ cấu chấp hành điều khiển góc mở van.
Tín hiệu vào của cơ cấu chấp hành được lấy từ bộ chuyển đổi D/A của bo
mạch giao tiếp với máy tính ở mục trên.
Để tín hiệu đó có thể điều khiển góc mở van cần phải qua hai lần chuyển
đổi: tín hiệu điện áp từ đầu ra của bộ D/A được đưa qua mạch chuyển đổi U/I

thành tính hiệu dòng điện, tín hiệu dòng điện sau đó được đưa qua bộ chuyển
đổi I/P thành tín hiệu điện áp đưa vào van để điều khiển góc mở van.
Sau đây ta lần lượt xét hai mạch chuyển đổi U/I và I/P.
a. Mạch chuyển đổi U/I.
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 69
HØnh 3.12: S¬ ®å nguyªn lý bé biÕn ®æi I/P.
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Chuyển đổi tín hiệu 0÷5V được phát ra từ bộ D/A sang dòng điện 4÷20mA
để truyền cho bộ chuyển đổi I/P điều khiển van khí nén.
Sơ đồ nguyên lý:
U
vào
: 0÷5V
I
ra
: 4÷20mA
Chọn R
1
là biến trở 20K
R
3
.I
ra
=U
vào
+U
offset
⇒ R
3

=∆U
vào
/∆I
ra
⇒ R
3
=5/(16.10
-3
) = 12.5 Ω
Chọn R
3
và hiệu chỉnh sao cho khi máy tính phát ra con sè 225 thì
I
ra
=20mA, khi máy tính phát ra sè 0 thì ta phải điều chỉnh điện áp vào chân
offset của LM741 sao cho I
vào
=4mA
b. Bộ chuyển đổi I/P.
Dây là một bộ chuyển đổi cơ bản của cơ cấu chấp hành nhằm chuyển đổi tín
hiệu điều khiển từ máy tính thành tín hiệu tác động lên đối tượng. Tín hiệu vào
là dòng điện, tín hiệu ra là khí nén được truyền vào van khí nén làm thay đổi độ
mở của van từ đó làm thay đổi lượng hơi nóng vào lô sấy dẫn tới làm thay đổi
nhiệt độ lô sấy.
Sơ đồ nguyên lý:
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 70


.

,
.
+
.
)
.
*
%

5


H×nh 3.11: s¬ ®å nguyªn lý m¹ch chuyÓn ®æi U/I.
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Nguyên lý làm việc:
Khi có dòng điện chạy qua cuộn dây bị nam châm hót xuống, vòi phun 4 bị
nắp đậy 3 đậy lại do đó áp suất trong buồng A tăng lên làm van cầu 5 và áp suất
trong buồng B cũng tăng lên dẫn đến áp suất ra cũng tăng lên.
Áp suất ra qua xi phông 6 liên hệ nghịch tác động trở lại cánh tay đòn làm
van mở ra sao cho mômen lực đẩy phản hồi của xiphông cân bằng với mômen
lực hót của nam châm. Kết quả là áp suất P tỷ lệ với dòng điện vào.
Áp suất khí nén ra thay đổi trong khoảng 0.2÷1at. Tại thời điểm ban đầu
điều chỉnh vít sao cho áp suát ra P
r
= 0.2 ứng với dòng điện lúc đó là 4mA. Đây
là giới hạn dưới. Giới hạn trên được điều chỉnh bởi R
1
sao cho khi dòng vào
bằng 20mA thì P
r

= 1at
3. Thiết kế phần mềm cho hệ thống.
3.1. Thiết kết thuật toán điều khiển.
Giá trị đo đầu vào (nhiệt độ) liên tục được biến đổi thành các giá trị số rời
rạc.
t(I) = m*I + n(*) (*)
t(I) – hàm quan hệ bậc nhất giữa nhiệt độ và dòng điện I
m,n – các hằng số dược xác định như sau:
với I = 4mA I = 4mA÷200mA thì t = 0
0
C÷200
0
C
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 71
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
⇒ dùa vào phương trình (*) ta có ,
Muốn điều khiển một đối tượng băng máy tính thực tế ta chỉ cần quan tâm
đến các giá trị của: điện áp vào Uv (tín hiệu phản hồi), độ sai lệch e giữa giá trj
đặt Usp (set point)và tín hiệu vào Uv, tín hiệu ra của bộ PID .Còn các khối như
khối khuếch đại công suất, bộ biến đổi nhiệt độ thành điện áp và khuếch đại điện
áp đó đến điện áp vào máy tính ( 0÷ 5vôn ) đều được thực hiện bằng phần cứng,
ta chỉ xét nó nhằm có thể đưa vào một tín hiệu điều kiển Usp phù hợp để có một
nhiệt độ mong muốn. Như vậy điều khiển bằng phần mềm chính là dùa vào tín
hiệu phản hồi Uv, so sánh với tín hiệu điều khiển Usp và cho ra một điện áp điều
khiển U tương ứng vào bộ khuếch đại công suất (chấp hành). Để thực hiện được
điều đó ta phải tiến hành rời rạc hoá bộ điều khiển, từ phương trình rời rạc thực
hiện các thuật toán cần thiết để có thể cho ra một điện áp điều khiển ở cổng ra
của máy tính.
Thực hiện rời rạc hoá bộ điều khiển bằng phương pháp số TUSTIN:

+ Rời rạc hoá bộ điều khiển P:
Phương trình bộ điều khiển P:
=> phương trình rời rạc chỉ đơn giản là: u[k]=K
c
.e[k]
+ Rời rạc bộ điều khiển PI:
Phương trình bộ điều khiển PI:
đặt:
=>
<=> 2T
i
.Z.u-2T
i
.u=(2K
c
T
i
+T)Z.e+(T-2K
c
T
i
)e
=> 2T
i
.u[k+1]-2T
i
.u[k]=(2K
c
T
i

+T)e[k+1]+(T-2K
c
T
i
)e[k]
hoặc 2T
i
.u[k+2]-2T
i
.u[k+1]=(2K
c
T
i
+T)e[k+2]+(T-2K
c
T
i
)e[k+1]
<=>

đặt: a=T/(2*T
i
)+K
c
b=T/(2*T
i
)-K
c
=> u[k+2]=u[k+1]+a*e[k+2]+b*e[k+1]
+Rời rạc bộ PID:

Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 72
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
sau khi thực hiện rời rạc như trên ra được phương trình sai phân:
u[k+2]=u[k]+B
2
*e[k+2]+B
1
*e[k+1]+B
0
*e[k]
trong đó : B
2
=K
c
+1/(2T
c
)+(2T
d
)/T
B
1
=T/T
c
-(4T
d
)/T
B
0
=B

2
-2K
c
Trên đây ta tiến hành rời rạc hoá cả 3 bộ điều khiển P, PI, PD nhưng ở hệ
thống trên được thiết kế để điều khiển nhiệt độ, là đối tượng có sự thay đổi chậm
nên trong lúc lập trình ta chỉ sử dụng trường hợp bộ điều khiển là bộ PI sè.
Lưu đồ thuật toán điều khiển theo quy luật PI
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 73
Start
">>#$#
/?OYKZ><
2D[>\
PK>
0H:%P]
?OYK><
end
Q
2^<
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
3.2. Tiến hành thiết kế phần mềm điều khiển giám sát.
Ngôn ngữ sử dụng để thiết kế là Visual Basic
Visual Basic là một công cụ phát triển phần mềm (nó thuộc công cụ phát
triển phần mềm Visual Studio của Microsoft) như các trình biên dịch Pascal,
Basic, C/C
++
, SDK, (còn gọi là ngôn ngữ lập trình). Các ngôn ngữ trên chạy
trên nền DOS và việc thiết kế một giao diện trang nhã dễ sử dụng, dùng chuột là
rất phức tạp và mất nhiều thời gian, nhưng với Visual Basic chay trên nền
WINDOWS thì việc thiết kế một giao diện người – máy trở nên đơn giản và tiết

kệm thời gian hơn hẳn các loại trên.
Visual Basic gắn liền với khái niệm lập trình trực quan (visual), nghĩa là khi
thiết kế chương trình, ta sẽ được nhìn thấy ngay kết quả qua từng thao tác và
giao diện khi chương trình thực hiện. Đây là thuận lợi lớn so với các ngôn ngữ
lập trình khác. Visual Basic cho phép tạo các đối tượng một cách đơn giản,
nhanh chóng với màu sắc, kích thước, hình dáng trang nhã.
Để phát triển một ứng dụng với Visual Basic ta có thể thực hiện theo bốn
bước, tuy nhiên sự phân cách giữa các bước là không rõ ràng.
Bước đầu tiên: ta phải hoạch định những gì người dùng sẽ thấy – nói cách
khác, là thiết kế các màn hình giao diện người – máy.
Bước thứ hai: sau khi thiết kế xong dao diện sẽ lập trình truyền thống.
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 74
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Visual Basic là ngôn ngữ lập trình theo kiểu đáp ứng các biến cố tức là các
đối tượng trong Visual Basic sẽ nhận biết các biến cố chẳng hạn như biến cố
nhấp chuột, Ên một phím nào đó. Các đối tượng sẽ đáp ứng các biến cố tuỳ theo
mã lệnh mà ta đã lập trình. Điều này làm cho lập trình Visual Basic về cơ bản
khác với lập trình quy ước.
Các chương trình trong lập trình qui ước chạy từ trên xuống. Tức là sự thi
hành bắt đầu từ dòng đầu tiên rồi chuyển theo dòng chảy của của chương trình
đến các phần khác theo yêu cầu.
Bước thứ ba và thứ tư là tìm lỗi và chỉnh sửa các mã lệnh có lỗi.
Tuy nhiên như ta đã nói ở trên là sự phân các giữa các bước là không rõ
ràng. Trong lóc ta đang lập trình các biến cố ta có thể thêm một đối tượng nào
đó vào trong ứng dụng mà ta cảm thấy cần thiết, hoặc lúc ta lập trình có thể tiến
hành tìm lỗi và sửa lỗi phần mà ta đã lập trình được. Điều này làm giảm sự phức
tạp trong tìm lỗi và sửa lỗi đối với các chương trình lớn.
Để có thể tiến hành điều khiển, giám sát các quá trình trong công nghiệp
bằng máy tính, trước hết phải có được mối liên hệ cần thiết giữa máy tính với

thế giới bên ngoài. Một chương trình điều hành hệ thống ghép nối phải có đủ
khả năng đảm nhận việc thu thập thông tin từ đối tượng bên ngoài và điều khiển
chúng. Để ghép nối máy tính với đối tượng bên ngoài ta có thể thực hiện theo
các phương án:
∗ Sử dụng các cổng ghép nối đã có sẵn trên máy tính (cổng nối tiếp, song
song). Đây là phương án tiết kiệm và đơn giản nhất có thể sử dụng với các quá
trình không cần tốc độ truy cập nhanh.
∗ Sử dụng card mở rộng được cắm vào các rãnh cắm mở rộng có trong máy
tính, theo cách này cho phép đạt được tốc độ truy cập lớn nhất, nhưng cũng đòi
hỏi chi phí cao.
∗ Ghép nối với một bộ xử lý riêng để thực hiện những bài toán khác mà
không cần trao đổi dữ liệu với máy tính. Khi đó người thiết kế phải phân định rõ
bài toán lập trình đối với hệ thống này.
Lập trình ghép nối máy tính ta có thể sử dụng các ngôn ngữ lập trình:
Pascal, C/C
++
, Visual C
++
, nhưng với điều kiện thời gian eo hẹp thì ngôn ngữ
lập trình Visual Basic là phương án thích hợp nhất.
Việc lập trình ghép nối máy tính bằng Visual Basic thực hiện được nhờ sử
dụng các thư viện DLL(Dynamic Link Library: thư viện liên kết động) là các
thư viện hàm. Các thư viện DLL (các tệp *.DLL) có thể có sẵn trong
WINDOWS hoặc có thể do người sử dụng tạo ra từ các ngôn ngữ lập trình khác.
Khi lập trình Visual Basic ta có thể gọi các hàm có trong thư viện DLL. Để gọi
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 75
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
các hàm trong một thư viện DLL nào đó thì ta phải khai bào thư viện đó trong
thủ tụ có sử dụng hàm, ví dụ để sử dụng hai hàm:

Out Port adr.datXuất dữ liệu ra một địa chỉ XuÊt d÷ liÖu ra mét ®Þa chØ
In Port adrĐọc dữ liệu từ một địa chỉ §äc d÷ liÖu tõ mét ®Þa
chØ
Ta phải sử dụng thư viện: PORT.DLL
Thì khi thực hiện một thủ tục ta phải khai báo như sau:
Declare Sub OUTPORT Lib “PORT.DLL” (ByVal Adr As Integer, ByVal Dat As Integer)
Declare Sub INPORT Lib “PORT.DLL” (ByVal Adr As Integer, ByVal Dat As Integer)
Sau đó ta mới thực hiện các thủ tục có sử dụng các hàm vào/ ra trên:
Private Sub Command1_Clik()
OUTPORT 97, (INPORT (97) Or 2)
End Sub
Vậy để sử dụng được các ứng dụng có sử dụng các thư viện DLL trên một
máy tính khác thì trong máy tính đó phải có các thư viện cần thiết. Với đồ án
này việc truyền thông qua cổng nối tiếp có thể sử dụng đối tượng có sẵn trong
Visual Basic là MSComm. Khi ứng dụng MSComm ta phải Ên định một số các
đặc tính của nó cho phù hợp với yêu cầu truyền thông như: tốc độ boud, số
lượng bit dữ liệu, tính chẵn lẻ, số lượng bit dừng đặc biệt là khi thiết lập trạng
thái của các đường vào ra dữ liệu.
Như trên ta thấy ưu điểm của Visual Basic là rất lớn nhưng một điều cần
lưu ý là khi lập trình điều khiển thì vấn đề thời gian thực đối với Visual Basic là
rất hạn chế do các ứng dụng viết bằng Visual Basic chỉ có thể chạy trên nền
WINDOWS. Vì thế với các đồ án lớn, cần quá trình đo lường điều khiển chính
xác tác động nhanh ta chỉ nên ứng dụng Visual Basic như là các đồ án thử
nghiệm như thế ta sẽ tiết kiệm được thời gian trong việc thiết kế một trình điều
khiển để chạy thử. Sau khi chạy thử thành công ta có thể dùa vào trình điều
khiển viết bằng Visual Basic để chuyển đổi viết bằng ngôn ngữ lập trình khác có
khả năng giải quyết được vấn đề thời gian thực như ngôn ngữ: C/C
++
, visual C
+

+
,
Chương trình có 3 giao diện cơ bản: một giao diện chính cho thấy sự thay
đổi nhiệt độ thực của cả 8 kênh, một giao diện dùng để thay đổi các thông số cần
thiết cho một quá trình giám sát và điều khiển, một giao diện vẽ đồ thì thay đổi
nhiệt độ của 1 trong 8 kênh và có thể thay đổi một số thông số cần thiết cho 1
kênh.
Các hàm người dùng, khai báo các biến toàn cục:
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 76
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Đoạn mã (code) chương trìng 4-1: Module: PublicFonction.bas
Option Explicit
' Public var
Public Const MB_OK = 0, MB_YESNO = 4, MB_ICONQUESTION = 32
Public Const IDNO = 7, IDYES = 6, MB_TASKMODAL = &H2000&
Public StartFlag As Boolean
Public IControls(0 To 7) As Long
Public Uin(7), Uout(7), Usp(7), T As Double
' Public Function and Procedue
Public Function Y_REAL(ByVal Y_CHANGE_VAR As Long) As Long
Y_REAL = 5040 - Y_CHANGE_VAR
End Function
Public Function Y_CHANGE(ByVal Y_REAL_VAR As Long) As Long
Y_CHANGE = 5040 - Y_REAL_VAR
End Function
Public Function X_REAL(ByVal X_CHANGE_VAR As Long) As Long
X_REAL = X_CHANGE_VAR + 420
End Function
Public Function X_CHANGE(ByVal X_REAL_VAR As Long) As Long

X_CHANGE = X_REAL_VAR - 420
End Function
Giao diện chính người dùng:
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 77
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
Đoạn mã chương trình 4

2: Main.frm
Option Explicit
Dim StartEnabled As Boolean
Dim Kc(7), Ti(7), A(7), B(7) As Double
Dim U1(7), E2(7), E1(7) As Double
Dim DeltaU(7), UMax(7), UMin(7) As Double
Private Sub cmdexit_Click()
Dim x1 As Boolean
If (cmdstartall.Caption = "&Stop") Then
Beep: Beep: lblMessage.Caption = " You must first stop MEASURING and
CONTROLLING before you can EXIT PROGRAM ?"
tmrlbl.Enabled = True
Else
x1=Message(" Are you sure you want to EXIT PROGRAM ?", "Message", 0, False)
If x1 = True Then End
End If
End Sub
Private Sub cmdproperties_Click()
If (cmdstartall.Caption = "&Stop") Then
Beep
lblMessage.Caption = " You must stop MEASURING and stop CONTROLLING before you
can change all Parameter !"

tmrlbl.Enabled = True
Else: frmProperty.Show 1
End If
End Sub
Private Sub cmdstartall_Click()
Dim S1 As Integer
Dim COMTemp As Boolean
If cmdstartall.Caption = "&Start" Then
CheckStartEnabled
If StartEnabled = False Then: MsgBox "There is No Channel to Start", 48, "Message": Exit
Sub
S1 = MsgBox(" Are you sure you want to start MEASURING and CONTROLLING ?",
MB_YESNO + MB_ICONQUESTION, " Start message ")
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 78
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
If S1 = IDYES Then
COMTemp = SetCOMParameter: If COMTemp = False Then Exit Sub
StartFlag = True: cmdstartall.Caption = "&Stop"
tmrmeasures.Enabled = True
End If
Exit Sub
Else
Beep: S1 = MsgBox(" Are you sure you want to stop MEASURING and CONTROLLING ?",
MB_YESNO + MB_ICONQUESTION, " Stop message ")
If S1 = IDYES Then
StartFlag = False: cmdstartall.Caption = "&Start"
frmmain.tmrmeasures.Enabled = False
lblState.Caption = "STOPPED": Exit Sub
End If

Exit Sub
End If
End Sub
Public Sub cmdsingle_Click(Index As Integer)
frmchannel1.Show: frmchannel1.SSPic.Tab = Index
frmchannel1.cboMeasures(Index).SetFocus
End Sub
Private Sub tmrmeasures_Timer()
Dim Temp As Boolean
lblState.Caption = "RUNNING "
If MSCOM2.PortOpen = True Then
'Start Mesuring and Controlling
Dim I As Integer
For I = 0 To 7
If frmProperty.cboMeasures(I).ListIndex = 1 Then
'Start Measures
DeltaU(I) = CharToDouble(frmProperty.txtDeltaU(I).Text, False)
UMax(I) = CharToDouble(frmProperty.txtUMax(I).Text, True)
UMin(I) = CharToDouble(frmProperty.txtUMin(I).Text, True)
'Output address
MSCOM2.DTREnable = True 'change old address
MSCOM2.Output = Str(frmProperty.txtaddress(I).Text)
MSCOM2.DTREnable = False ' Hold new address
Uin(I) = MSCOM2.Input: txtmainrealpoint(I).Text = Str(CharToDouble(Uin(I), True) /
DeltaU(I))
If ((CharToDouble(txtmainrealpoint(I).Text, False) - CharToDouble(txtmainsp(I).Text,
False)) / CharToDouble(txtmainsp(I).Text, False)) * 100 >
CharToDouble(frmProperty.txtOverAdjust(I).Text, False) Then
'OverAdjust Error
frmProperty.cboMeasures(I).ListIndex = 0

Temp = Message("The Channel " + Trim(Str(I)) + " is overadjust and now it outomatic
stop, Do you want to change it's parameter (Yes/No) ?", "Error !", 0, False)
If Temp = True Then cmdsingle_Click (I)
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 79
Trường Đại Học Bách Khoa Hà Nội – Bộ môn điều khiển tự động – 5/2002
End If
If (frmProperty.cbo(I).ListIndex = 1) Then
'Start Controls
Kc(I) = CharToDouble(frmProperty.txtP(I).Text, False): Ti(I) =
CharToDouble(frmProperty.txtI(I).Text, False)
T = CharToDouble(frmProperty.txtCycle.Text, False): Usp(I) =
CharToDouble(txtmainsp(I).Text, False) * DeltaU(I)
A(I) = T / (2 * Ti(I)) + Kc(I): B(I) = T / (2 * Ti(I)) - Kc(I)
U1(I) = Uout(I): E1(I) = E2(I): E2(I) = Usp(I) - CharToDouble(Uin(I), True)
Uout(I) = U1(I) + A(I) * E2(I) + B(I) * E1(I)
If Uout(I) > UMax(I) Then Uout(I) = UMax(I)
If Uout(I) > UMin(I) Then Uout(I) = UMin(I)
MSCOM2.InputLen = 0 'Clear buffer
'Output address
MSCOM2.DTREnable = True 'change old address
MSCOM2.Output = Str(frmProperty.txtOutAddress(I).Text)
MSCOM2.DTREnable = False ' Hold new address
'Output Data
MSCOM2.Output = Str(Fix(Uout(I) / (UMax(I) - UMin(I))) * 255)
End If
IControls(I) = IControls(I) + 1
End If
'delay (CharToDouble(frmProperty.txtTimeConvert.Text, False)) 'Time for ADC to Convert
data

Next
'End of Measures and Controls (one cycle)
End If
End Sub
Giao diện người dùng để thay đổi các thông số hệ thống:

Chọn kênh điều khiển, thay đổi điểm đặt (Set Point), độ quá điều chỉnh.
Đồ án tốt nghiệp.
Đinh Xuân Thắng – Lê Văn Hà 80

×