Theo các thông tin, tài liệu từcác công ty, tổ chức nước ngoài về thủy điện nhỏ
như: Hãng TANAKA (Nhật bản), Trung tâm khu vực Châu á - Thái bình dương về
thủy điện nhỏ(Hàng Châu-Trung Quốc), SHP network. cho thấy điều tốc điều chỉnh
phụtải (Electronic Load Control - ELC) đã được sửdụng rộng rãi trong các trường
hợp như đã phân tích ở trên. Chúng tôi đã có các tài liệu vềELC của Srilanca, Niu-Dilan và Nhật Bản. Loại thứnhất hoàn toàn sửdụng kỹthuật Analog, phù hợp với tổ
máy thuỷ điện cực nhỏ. Thiết bịcủa hãng PowerFlow (Niu-Dilan) sửdụng linh kiện
PLD (Programable Logic Device), phù hợp với các trạm thuỷ điện nhỏ. Cũng sửdụng
cho các trạm thuỷ điện nhỏ, thiết bịcủa TANAKA (Nhật Bản) lại sửdụng vi xửlý.
Trong quá trình thực hiện đềtài, chúng tôi đã nhập một sốbộthiết bịnhưvậy từnước
ngoài đểkhảo sát. Sau khi xem xét thiết bịtrong phòng thí nghiệm và tại hiện trường,
chúng tôi đã có một sốnhận xét sau:
- Thiết bịcó kích thước gọn nhẹ, hoàn toàn phù hợp với các trạm thủy điện nhỏvà
cực nhỏvềlắp đặt, sửdụng, bảo dưỡng thay thế;
120 trang |
Chia sẻ: lethao | Lượt xem: 1606 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Nghiên cứu, thiết kế, chế tạo điều tốc cho các trạm thủy điện, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
được sử dụng. Mặt khác, có một đặc
điểm liên quan tới máy phát điện, đó là các tổ máy cực nhỏ ngày nay có xu hướng sử
dụng máy phát điện từ động cơ không đồng bộ (Asynchro-motor). Xu hướng này làm
cho thiết kế máy phát đơn giản, giá thành thấp, thích hợp với các trường hợp không có
yêu cầu cao về chất lượng dòng điện (Chỉ dùng thắp sáng, đun nấu). Trong trường hợp
này, dòng điện phát ra có tần số không ổn định, do nguyên lý “không đồng bộ” của
động cơ, vì vậy chỉ có thể điều khiển theo điện áp. Tuy nhiên, kỹ thuật analog có một
nhược điểm lớn là sự “trôi dạt” điểm công tác do ảnh hưởng của môi trường ngoài như
nhiệt độ, độ ẩm, dẫn đến thay đổi thông số của thiết bị, điều này đã hạn chế việc ứng
dụng các linh kiện và thiết bị analog.
Thứ hai, sử dụng kỹ thuật số cho phép khắc phục nhược điểm của kỹ thuật analog.
Kỹ thuật số dựa trên nền tảng cơ bản là kỹ thuật xung số, vì vậy trong trường hợp này
điều khiển theo tần số phù hợp hơn cả. Điều khiển theo tần số sẽ có chất lượng cao do
có thể đo đếm rất chính xác sự biến động dù rất nhỏ của tần số, thời gian đo lường tần
số nhanh hơn đo điện áp (qua kỹ thuật ADC). Trừ khi sử dụng máy phát “không đồng
bộ”, thiết bị sử dụng kỹ thuật số có thể áp dụng cho tổ máy thuỷ điện có công suất vừa,
nhỏ và cực nhỏ. Ứng dụng kỹ thuật số có thể theo hai khuynh hướng: Linh kiện PLD
(Programable Logic Control) hoặc Vi xử lý. Sử dụng linh kiện PLD sẽ làm giá thành
thiết bị rẻ hơn so với vi xử lý, nhưng chất lượng điều khiển kém hơn do cấu tạo của
linh kiện. Hiện nay, với sự phát triển mạnh mẽ của công nghệ điện tử - tin học, các bộ
vi xử lý được tích hợp nhiều tính năng điều khiển trên cùng một vi mạch (On-chip)
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 50
như: Timer, bộ thuật toán số học, các khối nhân/chia...v.v.., tốc độ xung nhịp của
chúng cũng được tăng lên đáng kể, các linh kiện ngoại vi cũng được phát triển rộng
rãi, nên một bộ vi xử lý cho phép thực hiện “đồng thời” nhiều nhiệm vụ khác nhau do
số lượng các đường vào ra lớn, tốc độ xử lý nhanh, kết hợp với sự phát triển về thuật
toán điều khiển. Việc sử dụng một bộ điều khiển để thực hiện đa chức năng có thể thấy
ở mọi lĩnh vực, mọi ứng dụng trong kỹ thuật và đời sống.
III.1.2.3 Phương án thiết kế thiết bị
Tham khảo thiết bị của các hãng nước ngoài và xem xét khả năng áp dụng trong
nước, nhóm đề tài lựa chọn thiết kế bộ điều tốc điều chỉnh phụ tải (ELC) cho dải công
suất 20 - 200 kW như sau:
(11) Phương thức điều khiển
Điều khiển theo góc pha, với số khối tải giả là 2. Đây là phương thức điều khiển
thông dụng hiện nay, giá thành rẻ nhất.
(12) Tham số điều khiển
Với dải công suất này, không sử dụng máy phát “không đồng bộ”, nên tham số điều
khiển sẽ là tần số.
(13) Điều khiển 1 pha / 3 pha
Chọn kiểu điều khiển kiểu 1 pha. Với thiết kế điều khiển 1 pha, mạch điều khiển sẽ
có kích thước nhỏ. Khi cần thiết, ghép 3 bộ điều khiển 1 pha sẽ thành bộ điều khiển
sử dụng cho máy phát 3 pha.
(14) Lựa chọn chức năng
- Là thiết bị điều tốc điều chỉnh phụ tải;
- Là thiết bị bảo vệ, có khả năng bảo vệ khi quá tốc, tốc độ thấp, đóng máy khi có
sự cố;
- Có các đầu vào bao gồm các giá trị thiết lập thông số PI, thời gian lấy mẫu; - Các
đầu vào cấp năng lượng cho thiết bị, đầu vào đo giá trị tần số;
- Có các đầu ra xung điều khiển tải giả;
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 51
- Có đầu ra kiểu rơ le điều khiển đóng máy sự cố.
(15) Kiểu linh kiện
Với phương thức điều khiển và các chức năng lựa chọn như trên, xử dụng vi xử lý
họ 8051, cụ thể là 89C2051.
III.2 THIẾT KẾ PHẦN CỨNG
III.2.1 CPU
Sử dụng CPU loại 89C2051, một loại linh kiện vi xử lý trong họ MSC-51, có dung
lượng bộ nhớ tương tự linh kiện 8051 chuẩn (RAM: 128 Bytes, ROM: 2 KB), nhưng
có kích thước gọn hơn.
Với dung lượng bộ nhớ ROM là 2 KB, cho phép chứa chương trình điều khiển lớn
(khoảng 1000 lệnh), có khả năng tăng thêm các chức năng trong tương lai (Hiện tại,
chương trình điều khiển chỉ chiếm gần 1 KB bộ nhớ ROM). Với tổ chức bộ nhớ trong,
toàn bộ các port bên ngoài được sử dụng hoàn toàn cho các chức năng đo lường điều
khiển. Hơn nữa, sử dụng hoàn toàn bộ nhớ trong cho phép tăng tốc độ truy cập tính
toán cũng như bảo vệ được bí mật (bản quyền) của phần mềm điều khiển.
Hình 40 - CPU và các giao tiếp chính
CPU - 89C2051 hoạt động với tần số 12 MHz, như vậy xung nhịp vi xử lý là 1
MHz, mỗi chỉ thị lệnh sẽ thực hiện trong 1 - 2 µs, đủ nhỏ để tiến hành các thao tác xử
lý, tính toán và thực hiện “đồng thời” các chức năng khác nhau.
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 52
Toàn bộ cổng P1 sử dụng để đọc các công tắc số mã nhị phân (8 bits) cùng với các
chân P3.5 và P3.7 điều khiển phân kênh đọc vào (MUX-DEMUX).
Giá trị tần số được nhập vào tại chân P3.2
Các chân P3.0, P3.1 sử dụng để điều khiển rơ le trong trường hợp tần số vượt ngoài
khoảng cho phép.
Các chân P3.3, P3.4 sử dụng để điều khiển 2 khối tải giả.
III.2.2 KHỐI ĐO LƯỜNG TẦN SỐ
Việc đo tần số được tiến hành bằng phần mềm, vì vậy mạch phần cứng chỉ là mạch
biến đổi tín hiệu hình sin thành tín hiệu xung vuông cùng tần số, và được nối với chân
P3.2. Sử dụng chức năng thứ 2 của chân này (Ngắt ngoài INT0), nhờ sự biến đổi sườn
xuống của tín hiệu xung tại chân tương ứng, sẽ kích hoạt ngắt IE0 để thực hiện sự tính
toán tần số nguồn điện.
Mạch điện thực hiện chức năng biến đổi dạng tín hiệu như hình 18, mạch điện này
đảm bảo xác định chính xác điểm “0” của tín hiệu hình sin, rất quan trọng khi điều
khiển góc cắt tải.
Hình 41 - Mạch biến đổi tín hiệu tần số
III.2.3 CÁC CÔNG TẮC THIẾT LẬP GIÁ TRỊ VẬN HÀNH
Khác với điều tốc điều khiển lưu lượng, các thông số của tổ máy thuỷ điện trong
trường hợp này hầu như không thay đổi trong quá trình vận hành, nên việc thiết lập
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 53
thông số hoạt động chỉ phải đặt một lần. Đó là hệ số của thuật điều khiển PI, thời gian
lấy mẫu tín hiệu.
Các công tắc xác định chế độ hoạt động là các công tắc mã nhi phân. Với 8 bit giá
trị của chúng, ta có thể mã hoá 256 giá trị tính toán. Toàn bộ các giá trị của các công
tắc trên được phân ra 3 kênh 8 bit, được điều khiển dồn kênh (MUX-DEMUX), để đọc
vào CPU qua cổng P1.
Hình 42 - Mạch đọc các giá trị công tắc
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 54
III.2.4 KHỐI ĐIỀU KHIỂN TẢI
Các tín hiệu điều khiển (tín hiệu ra) triac hoặc thyristor được thiết kế cách ly bằng
biến áp xung. Mỗi một đường ra của biến áp xung được thiết kế có thể sử dụng
thyristor hoặc triac, tuỳ theo yêu cầu từng tổ máy thuỷ điện.
Hình 43 - Mạch điều khiển Triac và Thyristor
III.2.5 . ĐIỀU KHIỂN KIỂU RƠ LE
Có 2 tín hiệu điều khiển (tín hiệu ra) được thiết kế kiểu rơ le, giúp cho người sử
dụng lựa chọn giá trị điện áp ra điều khiển phù hợp với thiết bị của từng trường hợp.
Hai đường này sẽ đóng rơ le trong trường hợp tần số dòng điện nằm ngoài khoảng cho
phép (40 - 60 Hz).
III.2.6 KHỐI CẤP NGUỒN
Khối nguồn có nhiệm vụ cấp nguồn (5 V) cho thiết bị, cho các rơ le trung gian (12
V).
Hình 44 - Khối cung cấp nguồn
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 55
III.3. XÂY DỰNG PHẦN MỀM ĐIỀU KHIỂN.
III.3.1 LỰA CHỌN NGÔN NGỮ
Có một vài ngôn ngữ lập trình cho họ 8051, như: C51, ASM51, BASIC51... Sử
dụng ngôn ngữ nào cũng đạt được mục đích như nhau, tùy thuộc vào khả năng của
người lập trình. Chúng tôi lựa chọn ngôn ngữ Assembler, với bộ biên dịch Macro-
Assember 51 của Intel Corp. Theo chúng tôi, có một số ưu điểm sau:
- Trình biên dịch miễn phí được tải từ nhiều địa chỉ trên Internet.(Hoặc dường như
là miễn phí)
- Ngôn ngữ ASM cho phép người lập trình khả năng uyển chuyển trong bố trí
chương trình; Có thể tính toán chính xác về thời gian thực hiện lệnh trong các thuật
toán; Chương trình ngắn gọn nhất...
- Có nhiều các bài toán mẫu có thể sử dụng được.
III.3.2. SƠ ĐỒ KHỐI TÍNH TOÁN CHÍNH
Phần mềm gồm có một số modul quan trọng sau:
- Đọc các giá trị đặt đầu vào.
- Đọc các thông số đo lường về tần số.
- Tính toán thông số điều khiển, PI, PR.
- Điều khiển thiết bị.
Trong các modul trên, quan trọng nhất là modul tính toán thông số điều khiển và
modul điều khiển thiết bị.
III.3.2.1 Lưu đồ thuật toán toàn bộ chương trình
Thuật toán điều khiển chương trình thực hiện “quét vòng” các bước chương trình.
Đây là kỹ thuật điều khiển thông dụng khi xử dụng vi xử lý. (Xem hình 45), Chương
trình chi tiết xem phụ lục 2.
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 56
Hình 45 - Lưu đồ thuật toán toàn bộ chương trình
III.3.2.2 Đo tần số và tính toán giá trị điều khiển
Tần số của một đại lượng tuần hoàn là số chu kỳ tín hiệu trong khoảng thời gian 1
giây. Ta có thể đo được tần số của tín hiệu theo 2 cách sau đây:
- Đếm số chu kỳ của tín hiệu cần đo trong một thời gian xác định (đếm tần số).
- Đếm số chu kỳ của một tín hiệu chuẩn đã biết trong 1 chu kỳ tín hiệu cần đo (đo
chu kỳ).
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 57
(16) Nguyên lý đo chu kỳ
Để đo được chu kỳ của một tín hiệu ta cần có một tín hiệu chuẩn mà chu kỳ đã biết
và ta sẽ đếm số chu kỳ này trong 1 hoặc vài chu kỳ của tín hiệu cần đo.
Giả sử bộ đếm đếm được n xung chuẩn, chu kỳ cần đo là Tx = 2n.T
n
f
nTT
fx
x 22
11 === (24)
Trường hợp đếm trong m chu kỳ tín hiệu cần đo, thì Tx = (2n/m).T
n
mf
nT
m
T
fx
x 22
1 === (25)
Sai số phép đo
Giả thiết rằng chu kỳ đúng của tín hiệu là Tx = 2nT, sai số của phép đo là δ, kết quả
phép đo là 2(n ± δ). Chu kỳ đo được là Tx’= 2(n ± δ)T.
Sai số về tần số là:
)(2
.
)(2)(2
1
2
1'
δ
δ
δ
δ
δ ±
±=±
±=±−=−=∆ nn
f
TnnTnnT
fff xx (26)
Trong kỹ thuật xung, sai số δ = ±1 (do 2 tín hiệu không cùng pha với nhau), vì vậy,
sai số về tần số là
)1(2)(2
.
±=±
±=∆
nn
f
nn
ff δ
δ (27)
Nếu sai số cho phép của tần số là εcp, thì ∆f ≤ εcp , suy ra
)1(2
)1(2
±≤→≤± nn
f
nn
f
cp
cp εε (28)
Thay
xf
fn
.2
= , ta có:
)1
.2
( ±≤
xxcp f
f
f
ff
ε (29)
)1
2
(11 ±≤
xxcp f
f
fε (30)
Vậy, giá trị của tần số chuẩn là:
cp
xcpx fff ε
ε .2 2 ±≥ (31)
Nếu lựa chọn giá trị của tần số chuẩn theo công thức trên, ta sẽ đảm bảo được sai số
của phép đo nhỏ hơn giá trị cho phép.
Chú ý rằng công thức trên đây áp dụng cho phép đo nửa chu kỳ. Nếu phép đo sẽ
đếm cả chu kỳ tín hiệu cần đo (khi áp dụng Vi xử lý), thì công thức trên sẽ là:
cp
xcpx fff ε
ε .2 ±≥ (32)
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 58
Ví dụ: Giá trị cần đo fx xoay quanh 50 Hz, εcp = 2%, tần số chuẩn là:
)(50000.250
02,0
50.02,050.2.2 22 Hz
ff
f
cp
xcpx ±=±=±≥ ε
ε
Chọn tần số chuẩn f = 250 KHz. Số đếm đúng khi đo giá trị fx = 50 Hz là:
)(2500
000004,0.2
01,0
2
Xung
T
Tn x ===
Do sai số, giá trị đếm được là 2501 xung, sai số của giá trị tần số là:
02,0019,0
2501.2500.2
250000
)1(2
<==±=∆ nn
ff
(17) Nguyên lý đếm tần số
Theo phương pháp này, ta tiến hành đếm số chu kỳ của tín hiệu cần đo trong 1
khoảng thời gian xác định. Sơ đồ nguyên lý tương tự phương pháp trên, chỉ khác ở chỗ
đảo vai trò của các tín hiệu: Dùng 1 tần số F đã biết có giá trị nhỏ để đo một tần số lớn
hơn Fx.
Giả sử bộ đếm đếm được n xung , chu kỳ cần đo là Tx = T/2n
fn
T
nfx ..22 == (33)
Sai số phép đo
Sai số của phương pháp đếm xung là ±1, do đó ta thấy:
- Sai số tuyệt đối của phép đo là:
TT
n
T
nf x
2)1(22 =+−=∆ (34)
Trường hợp đếm trong cả chu kỳ chuẩn thì
T
f x
1=∆
- Sai số tương đối:
Tff
f
xx
x
.
2=∆=ε (35)
Suy ra công thức tính độ rộng xung mở cổng theo sai số tương đối cho phép εcp và
thang đo fx:
xf
T
.
2
ε≥ (36)
Ví dụ: Vẫn sử dụng ví dụ ở phương pháp đo chu kỳ.(fx = 50 Hz, εcp = 2%)
)(2
50.02,0
2
.
2 s
f
T
x
==≥ ε (37)
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 59
Chọn T = 2,5 s, sai số tương đối là:
0,020.016
5,2.50
2
.
2 <===
Tf x
ε
(18) Đánh giá và lựa chọn phương pháp
- Phương pháp đo chu kỳ thích hợp khi đo các tần số tương đối nhỏ hơn so với tần
số chuẩn. Nếu tần số cần đo lớn, để đảm bảo sai số tương đối cho phép, ta phải chia
tần số xung muốn đo, vì thế lại gặp sai số do chia tần số.
- Phương pháp đếm tần số tiện lợi hơn khi đo các tín hiệu có tần số lớn. Nếu tần số
cần đo lớn, để đảm bảo sai số cho phép, chu kỳ chuẩn T phải lớn, tức là thời gian để
đọc được kết quả sẽ lâu hơn.
Khi sử dụng cấu trúc Counter/Timer trong các bộ vi xử lý, đều có thể thực hiện
được cả 2 phương pháp trên; Đối với dải tần số dòng điện công nghiệp (0 - 60 Hz), lựa
chọn phương pháp thứ nhất sẽ cho kết quả chính xác và thời gian đo lường ngắn (là
yếu tố rất quan trọng trong điều khiển).
III.3.2.3 Tính toán giá trị điều khiển ra PI
Theo kinh nghiệm, thuật điều khiển được lựa chọn là PI. Thiết bị là một hệ thống
điều khiển số (Digital control system), có sơ đồ như hình 23, 24 dưới đây.
Hình 46 - Sơ đồ điều khiển
Sơ đồ tính toán:
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 60
Hình 47 - Sơ đồ tính toán thực tế
Trong đó bộ điều khiển PID có hàm truyền:
]
1
1[
2
)( −
++=
Z
ZTKKzD IP (38)
Chuyển qua miền tần số:
W
K
KwD IP +=)( (39)
III.4 CHẾ TẠO HOÀN CHỈNH BỘ ĐIỀU TỐC.
Trên cơ sở mạch nguyên lý, nhóm đề tài đã thiết kế chế tạo hoàn chỉnh thiết bị điều
khiển và ứng dụng điều khiển tua bin xung kích 2 lần, công suất 30 kW.
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 61
Hình 48 - Sản phẩm đã hoàn thiện
III.5 ĐỀ XUẤT NÂNG CAO CHẤT LƯỢNG THIẾT BỊ
- Tiếp tục bổ sung chức năng phân phối tải giữa 3 pha.
- Nghiên cứu sử dụng bộ vi xử lý cao cấp hơn để chế tạo bộ ELC 3 pha.
B¸o c¸o khoa häc §Ò tµi KC07- 04
ViÖn khoa häc thuû lîi 62
III.6 BẢN VẼ NGUYÊN LÝ
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 63
Hình 49. Sơ đồ mạch điện.
NC, thiÕt kÕ, chÕ t¹o ®iÒu tèc cho c¸c tr¹m thuû ®iÖn nhá ®Ò tµi Kc07-04
ViÖn khoa häc thuû lîi 64
PhÇn phô lôc
B¸o c¸o khoa häc §Ò tµi KC07- 04
65
PHỤ LỤC I
PHẦN MỀM ĐIỀU KHIỂN ĐIỀU TỐC ĐIỀU CHỈNH LƯU LƯỢNG
;=====================================================================
; Khai bao cac bien, dia chi trong chuong trinh
;=====================================================================
F1 bit PSW.1
Dsp_Count equ 1Dh ; R5 (bank 1): So dem lan hien thi
LED4 equ 20h ; Chua gia tri hien thi LED4
LED3 equ 21h ; Chua gia tri hien thi LED3
LED2 equ 22h ; Chua gia tri hien thi LED2
LED1 equ 23h ; Chua gia tri hien thi LED1
W_level equ 2Eh ; Chua gia tri tu mach bao muc nuoc
Count equ 2Fh ; Bien dem, tang sau moi lan dem tan so
SoChuc equ 4Ch ; Gia tri hien thi lon nhat - LED4
SoDonvi equ 4Dh
SophanChuc equ 4Eh
SophanTram equ 4Fh ; Gia tri hien thi nho nhat - LED1
SW12 equ 60h ; Dia chi o nho SW1.SW2
OpenRate equ 74h ; Dia chi o nho cong tac OpenRate
CloseRate equ 75h ; Dia chi o nho cong tac CloseRate
WL_Rate equ 76h ; Dia chi o nho cong tac WL_Rate
Flags equ 7Fh ;
;================================================================
; RESET prog
;================================================================
ORG 0000h
nop
ajmp Setup ;Dia chi 0001h-0002h
;================================================================
ORG 000Bh ; Timer0 prog
ajmp Timer0_Intr
;================================================================
ORG 001Bh ; Timer1 prog
mov r1,#8
mov @r1,#01h
inc r1
mov @r1,#0
clr ET1
clr TR1
reti
;================================================================
; Chuong trinh TIMER 0
;================================================================
Timer0_Intr:
push psw
push acc ; Cat gia tri cua ACC
setb RS0 ; Lua chon bank thanh ghi 3
setb RS1
mov TL0,#17h ; Timer0: 1 ms
mov TH0,#0FCh
jb F0,Co_F0
mov TL0,#2Fh ; Timer0: 2 ms khi co F0=0
mov TH0,#0F8h
;==========================================================================
; Doan chuong trinh hien thi den LED 7 thanh
;==========================================================================
Hien_Thi_LED:
mov a,r0 ; R0(rb3)=(18h)=0 trong Setup, lan luot cho hien thi
B¸o c¸o khoa häc §Ò tµi KC07- 04
66
inc a ; A=R0+1 (Tang vi tri hien thi)
anl a,#03h ; AND 0000.0011 A=0000.00xx
orl a,#20h ; OR 0010.0000 A=0010.00xx
mov r0,a ; R0 = 20h - 23h (o nho LED_RAM)
mov dptr,#ROM_DB ; Lay ma cot (4 LED 7 thanh)
movc a,@a+dptr
mov b,a
mov a,@r0 ; Tra noi dung o nho 20h - 23h
mov dptr,#ROM_DB ; tim ma hien thi tuong ung
movc a,@a+dptr
Out_CodeLed:
mov p0,a ; Out codeled
mov a,b
mov c,acc.0 ; Out col
mov p2.0,c
mov c,acc.1
mov p2.1,c
mov c,acc.2
mov p2.2,c
mov c,acc.3
mov p2.3,c
pop acc
pop psw
reti ; End of Timer_Proc
;=================================================================
; Cac hang so trong ROM phuc vu hien thi
;===============================================================
ROM_DB: db 0C0h ; 0h (0)
db 0f9h ; 1h (1)
db 0a4h ; 2h (2)
db 0b0h ; 3h (3)
db 99h ; 4h (4)
db 92h ; 5h (5)
db 82h ; 6h (6)
db 0f8h ; 7h (7)
db 80h ; 8h (8)
db 90h ; 9h (9)
db 88h ; Ah
db 83h ; Bh
db 86h ; Ch
db 0a1h ; Dh
db 86h ; Eh
db 8eh ; Fh
; So co dau cham thap phan
db 40h ; 10h (0.)
db 79h ; 11h (1.)
db 24h ; 12h (2.)
db 30h ; 13h (3.)
db 19h ; 14h (4.)
db 12h ; 15h (5.)
db 02h ; 16h (6.)
db 78h ; 17h (7.)
db 00h ; 18h (8.)
db 10h ; 19h (9.)
; Cac ky tu khac
db 0ffh ; 1Ah (Blank)
db 9ch ; 1Bh (Nua tren so 8)
db 09h ; 1ch (H.)
db 7dh ; 1dh (! - Dau cham than) (cu 86)
db 0a3h ; 1eh (Nua duoi so 8)
db 7ch ; 1Fh (? - Dau cham hoi)
; Cac hang so trong ROM chon den LED hien thi
db 0feh ; 20h (LED 4)
db 0fdh ; 21h (LED 3)
db 0fbh ; 22h (LED 2)
B¸o c¸o khoa häc §Ò tµi KC07- 04
67
db 0f7h ; 23h (LED 1)
;===============================================================
; Cac hang so tuong ung voi Open va Close Rate - PWM
;===============================================================
DB 08h,0Ch,012h,01Ch,02Ah,03Dh,057h,07Ch,0B2h,0FEh
;===============================================================
; Cac hang so trong ROM tuong ung DOC_ROM_1
;===============================================================
DB 0FFh ; 2Eh
DB 0FFh ; 2Fh
DB 0FFh ; 30h
DB 0FFh ; 31h
DB 0FFh ; 32h
DB 0FFh ; 33h
DB 0FFH ; 34h
DB 0F0H
DB 040H
DB 08H
DB 0FFH ; 38h
; Hang so theo Mod operation
DB 0FAH
DB 0FBH
DB 0FCH
DB 0F9H
DB 0FDH
DB 0B2H
DB 010H
; Cac dau gach ngang (Che do Water level & dau -)
db 0feh ; 40h (Gach tren, UP)
db 07ch ; 41h (Dau ? - Vo ly)
db 0bfh ; 42h (Gach giua, MIDDLE)
db 0f7h ; 43h (Gach duoi, DOWN)
DB 01AH,021H,029H,032H,03BH,049H,056H,066H,077H,08BH,0A2H,0BCH
DB 0D9H,0FCH
DB 0FDH,0FEH,0FEH,0FEH
;===============================================================
; Cac hang so trong ROM tuong ung voi tri so cua WL_Rate
;===============================================================
DB 0Eh ; 56h
DB 01Ch ; 57h
DB 038h ; 58h
DB 055h
DB 071h
DB 08Dh
DB 0A9h
DB 0C5h
DB 0E2h
DB 0FEh ; 5Fh
;=================================================================
; Doan chuong trinh doc ROM
;=====================================================================
X0064:clr c ; Xoa Carry
mov a,r6 ; R6=0dxn.0D0N
anl a,#45h ; A =0d00.0D0N
xrl a,#4 ; A XOR 0000.0100=0x00.0x0x
jnz X0073 ; Chi xet khi A=0: HOA & Trong luoi - ???
mov r0,#WL_Rate ; Lay gia tri WL_Rate (W_Level interval)
mov a,@r0
add a,#56h ; + 56 -> Doc ROM tu 56h -> 5Fh
mov dptr,#ROM_DB ;
movc a,@a+dptr
add a,@r1 ; + R1 co 2 gia tri la 50h va 51h
B¸o c¸o khoa häc §Ò tµi KC07- 04
68
X0073: ret ;
;=====================================================================
; Doan chuong trinh doc ROM
;=====================================================================
Doc_ROM_1:
mov @r0,#0ffh ; Co 2 gia tri r0=50h (X02d8) va R0=51h (X0496)
inc r0
inc r0 ; R0=52h hoac 53h
inc @r0 ; tang (52h) va xoa (53h) hoac nguoc lai
mov @r1,#0
mov a,r6 ; R6=0dxn.0D0N
swap a ; A =0D0N.0dxn
anl a,#3 ; A =0000.00xn = 01,10,11
add a,r2 ; R2 =2Dh hoac 30h
mov dptr,#ROM_DB ; Doc ROM (tu 2Eh den 30) hoac tu (31h den 33h)
movc a,@a+dptr
add a,@r0 ; A=so doc duoc+ (52h) hoac (53h)
ret
;=====================================================
; Chuong trinh tu RESET nhay den
;=====================================================
Setup:
mov IE,#82h ; Cho phep 1 ngat timer
mov TMOD,#11h ; Timer1 & Timer0: 16 bit
mov r2,#68h
mov r0,#72h
mov @r0,#0adh ; ADh -> (72h)
inc r0
mov @r0,#0adh ; ADh -> (73h)
call Ngat_Role ; Ngat toan bo cac role
mov r2,#58h
mov TH0,#0FFh
mov TL0,a ; Dua A=FFh vao Timer (lan dau tien)-> Xay ra ngat ngay
mov r0,#6bh
mov @r0,a ; A -> (6Bh), lan dau a=0FFh
clr f1 ; Xoa co F1
inc r0
mov @r0,#5 ; 5 -> (6Ch)
inc r0
mov @r0,#3 ; 3 -> (6Dh)
inc r0
inc @r0 ; 4 -> (6Eh)
inc r0
inc @r0 ; 5 -> (6Fh)
inc r0
mov @r0,#3 ; 3 -> (70h)
inc r0 ; R0 = 71h
call Nap1
mov r0,#77h
mov @r0,#0ch ; 0Ch -> (77h)
call KhongHienSo ; Nap 1Ah vao dia chi 20h,21h,22h,23h
call NapHienThiLoi ; Nap truoc hien thi ! hoac o vao LED4
setb ET0
call Doc_Cong_Tac
mov r0,#2ah
mov @r0,#1 ; 1 -> (2Ah)
mov a,r6 ; A=R6=0dxn0D0N
jb Acc.2,TiepTuc ; Nhay neu bit D=0 -> Khong o che do WaterLevel
mov r0,#W_level ; Neu khong, dang o che do WL, nap gia tri ul
mov a,@r0 ; A=000000ul
orl a,#40h ; A=010000ul
mov r0,#LED1 ;
mov @r0,a ; Dua A=010000ul -> LED1=43 lower=08-> dau tru duoi cung
; =40 uper=02h-> dau tru tren cung
; =42 giua=20 -> dua tru o giua
TiepTuc:
B¸o c¸o khoa häc §Ò tµi KC07- 04
69
mov r0,#7eh ; X0D66
mov @r0,#3fh ; 3f -> (7eh)
call KiemTraLechPha ; OK-mb1
call Dem_Chu_Ky ; OK-mb1
mov r3,#8
X013c: mov r2,#0eh
mov r1,#32h
mov r0,#30h
;===========================================================================
; Nap gia tri dem tan so vao 6 cap dia chi
;===========================================================================
mov r0,#2dh
mov @r0,#1
X014D:
mov r0,#SW12
mov a,@r0
mov r6,a ;ret
mov r0,#68h
mov @r0,#10h ; (68h)=10h
jb Acc.6, X0160 ; Neu D=1->d=0 -> Chay trong luoi
nop
nop ; Nguoc lai, la che do chay Doc lap
jb Acc.5, X0160 ; Neu X=1 - x=0 mode 3
mov @r0,#0bh
jb Acc.4, X0160 ; Neu N=1 - n=0 mode 2
mov @r0,#6 ; Nguoc lai, mod 1
X0160: mov a,@r0
add a,#4
inc r0
mov @r0,a ; (69h)=(68h)+4 -> 14h,0Fh,0Ah (mode 3,2,1)
inc r0
add a,#4 ; (6Ah)=(69h)+4 -> 18h,13h,0Eh (mode 3,2,1)
mov @r0,a
mov r0,#2dh
call DecToOne ; Giam dan o nho 2Dh toi 1
call X0696
X016f: setb f1
call Ngat_Role
jb Acc.6, X017b ; Flags.6=0
jmp X0500 ; Flags.6=1
;
X017b:mov r0,#68h
call DecToOne ; (68h)-1 -> 1
jnz X016f
mov r2,#97h ; E397 - So bu cua 1C69h tuong ung 55 Hz
mov r3,#0e3h
call R3R2_Add_6564
jb Acc.7, X01b6
mov r2,#47h
mov r3,#0ddh ; DD47 - So bu cua 22B9 - 45 Hz
call R3R2_Add_7978
jb Acc.7, X01b4
X0192: mov r7,#69h
call X0700 ; Chua xet
jnz X016f
mov r2,#85h
mov r3,#0e2h ; E285 - So bu cua 1D7B - 53 Hz
call R3R2_Add_7978
jb Acc.7, X01b6
mov r2,#0c2h
mov r3,#0deh ; DEC2 - so bu cua 213C - 47 Hz
call R3R2_Add_7978
B¸o c¸o khoa häc §Ò tµi KC07- 04
70
jb Acc.7, X01b4
mov r7,#6ah
call X0700
jnz X016f
mov r0,#67h
mov a,@r0
jb Acc.7, X01b6
X01b4: jmp X0200
;
X01b6: jmp X0400
;===============================================================
; Luu gia tri cac cong tac so vao cac bien OpenRate.WL_Rate,CloseRate
;===============================================================
LuuBCD:
inc r0 ; R0=74h,75h,76h
anl a,#0fh ; Giu lai 4 bit cuoi A=0000NVXD
mov @r0,a ; Dua vao (74h)=OpenRate, (75h)=CloseRate, (76h)=WL_Rate
ret
;=================================================================
; Doc cong tac
;=================================================================
Doc_Cong_Tac:
clr p3.6 ; Select CS1: BCD2, BCD1
clr p3.7
nop
mov p1,#0ffh
Các file đính kèm theo tài liệu này:
- Nghiên cứu, thiết kế, chế tạo điều tốc cho các trạm thủy điện.pdf