Trong hệ thống điện công nghiệp thi việc khởi động mềm cho động cơ là vô cùng
quan trọng. Vì khi chúng ta khởi động trực tiếp cho động cơ, đặc biệt là các động
cơ có công suất lớn thi dòng khởi động trực tiếp rất lớn ( I
mm= 5 – 7 Iđm ) sẻ gây ra hiện tượng sụt áp cho tải làm cho hệ thống điện hoạt động không ổn định, hoặc
nếu ta khởi động cùng lúc nhiều động cơ sẽ làm cho hệ thống điện quá tải không
hoạt động được. Vì vậy trong các hệ thống điện công nghiệp khi mở máy hoạt
động cho động cơ thì ta phải khởi động để đảm bảo cho hệ thống hoạt động được
ổn định.
Vì vậy nhóm đã thiết kế BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A.
Nhiệm vụ của đề tài là: Cài đặt được điện áp lúc khởi động và thời gian tăng điện
áp.
32 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 3041 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bộ khởi động mềm 1 pha 220v – 20a, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 1 -
CHƯƠNG I . GIỚI THIỆU
1. ĐẶT VẤN ĐỀ
Trong hệ thống điện công nghiệp thi việc khởi động mềm cho động cơ là vô cùng
quan trọng. Vì khi chúng ta khởi động trực tiếp cho động cơ, đặc biệt là các động
cơ có công suất lớn thi dòng khởi động trực tiếp rất lớn ( Imm= 5 – 7 Iđm ) sẻ gây ra
hiện tượng sụt áp cho tải làm cho hệ thống điện hoạt động không ổn định, hoặc
nếu ta khởi động cùng lúc nhiều động cơ sẽ làm cho hệ thống điện quá tải không
hoạt động được. Vì vậy trong các hệ thống điện công nghiệp khi mở máy hoạt
động cho động cơ thì ta phải khởi động để đảm bảo cho hệ thống hoạt động được
ổn định.
Vì vậy nhóm đã thiết kế BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A.
Nhiệm vụ của đề tài là: Cài đặt được điện áp lúc khởi động và thời gian tăng điện
áp.
2. CHỌN PHƯƠNG ÁN THIẾT KẾ
Trong thực tế để khởi động động cơ có rất nhiều phương án sử dụng như dùng
biến tần để cài đặt, sử dụng vi điều khiển tạo xung kích cho các linh kiện điện tử
công xuất như: Thyritor, Triac ….
Trong đề tài này ta sử dụng phương pháp khởi động động cơ bằng vi điều khiển
bằng cách sử dụng IC 89C51 thay đổi góc kích cho triac để thay đổi được điện áp
ngỏ ra cấp cho động cơ.
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 2 -
CHƯƠNG II. MỘT SỐ LINH KIỆN SỬ DỤNG
1. Sơ lươc về vi điều khiển 89C51
Sơ lược phần cứng của 89C51
4 Kb ROM và 128 byte RAM
4 Port I/O 8 bit
2 bộ đếm định thời 16 bit
Có thể giao tiếp với cổng nối tiếp
64 Kb không gian bộ nhớ chương trình mở rộng.
64 Kb không gian bộ nhớ dử liệu mở rộng.
Một số bộ sử lý luận lý (thao tác tren các bít đơn)
210 bít được địa chỉ hóa
Bộ nhân/chia trong 4us
a. Sơ đồ khối và sơ đồ chân của 89C51
Hình 1. So đồ khối 89C51
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 3 -
Chức năng của các chân 89C51
Port 0: từ chân 32 đến 39 (P0.0-P0.7). Có 2 chức năng : nếu dùng trong thiết
kế nhỏ không dùng bộ nhớ mở rộng có chứ năng như các dường I/O, đối với thiết
kế lớn có bộ ngớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu.
Port 1: từ chân 1 đến chân 9 (P1.0-P1.7) là port I/O dùng giao tiếp với thiết bị
bên ngoài
Port 2: từ chân 21đến chân 28 (P2.0-P2.7) Port 2 là port có tác dụng kép dùng
như các đường xuất nhập hoặc là byte cao của bú địa chỉ đối với thiết kế dùng bọ
nhớ mở rộng.
Port 3: từ chân 10đến chân 17 (P3.0-P3.7). Port 3 là port có thể sử dụng như
I/O bình thường nhưng còn sử dụng cho các chức năng đặc biệt như bảng sau:
Bít Tên Chức năng chuyển đổi
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD
TXD
INT0
INT1
T0
T1
WR
DR
Ngỏ vào dữ liệu nối tiếp
Ngỏ xuất dữ liệu nối tiếp
Ngỏ vào ngắt 0
Ngỏ vào ngắt 1
Ngỏ vào của timer/counter thứ 0
Ngỏ vào của timer/counter thứ 1
Tín hiệu gi dữ liệu lên bộ nhớ ngoài
Tín hiệu đọc bộ nhớ dữ liệu ngoài
PSEN(chân 29) :là tín hiệu ngỏ ra có tác dụng cho phép dọc bộ nhớ chương trình
mở rộng và thường được kết nối với chân OE\ của Eprom cho phép đọc các byte
mả lệnh. PSEN ở mức thấp trong thời gian 8951 lấy lệnh. Các chương trình được
đọc từ Eprom qua bus dữ liệu . Khi 8951 thi hành chương trình ROM nội thì
PSEN ở mức cao.
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 4 -
ALE (chân 30) :dùng làm tín hiệu điều khiển để giải da hợp các đường địa chỉ và
dữ liệu khi kết nối với IC chốt.
EA (chân 31): được mắc lên mức 1 hoặc mưc 0
Nếu ở mức 1 thì 8951 thực thi chương trình ở ROM nội
Nếu ở mức 0 thì 8951 thực thi chương trình từ bộ nhớ mở rộng
RST(Reset): chân 9 được dùng để thiết lập trạng thái ban đầu cho hệ thống
XTAL1, XTAL2 (chân 18,19) : Bộ tạo dao động được tích hợp bên trong 8951 khi
sử dụng ta chỉ cần nối thêm thạch anh và các tụ ổn định
b. Khảo sát các khối nhớ bên trong.
Tổ chức bộ nhớ RAM: bao gồm nhiều thành phần.
Phần lưu trữ da dụng có địa chỉ từ 30H- 7FH
Phần lưu trữ địa chỉ hóa từng bit có địa chỉ từ 20H-2FH
Các bank thanh gi có địa chỉ từ 00H- 1FH
Các thanh gi có chức năng đạc biệt có địa chỉ từ 80H- FFH
c. Các thanh gi có chức năng đặc biệt
Thanh gi trạng thái chương trình PSW
Thanh ghi B
Con trỏ ngăn xếp SP
Bộ đến chương trình PC
Con trỏ dữ liệu DPTR
Các thanh gi Port
Các thanh gi Timer
Các thanh gi Port nối tiếp
Các thanh gi ngắt
Các thanh gi điều khiển nguồn PCON
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 5 -
2. TRANSISTOR
Sử dụng Transistor C1815, C828, A1013
3. NỐI QUANG ( MOC 3021 )
Ở đây ta dung MOC 3021. Ứng dụng của nó là dùng để cách ly mạch điều khiển
với mạch công xuất.
Mạch ứng dụng của MOC 3021
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 6 -
4. RELAY
Sử dụng relay 5 chân. 220V , 25A
5. TRIAC (TRIOD AC SEMICONDUCTOR SWITCH).
Thường được coi như hai SCR lưỡng hướng vì có thể dẫn điện theo hai chiều.
Hình sau đây cho thấy cấu tạo, mô hình tương đương và cấu tạo của Triac.
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 7 -
Như vậy, ta thấy Triac như gồm bởi một SCR PNPN dẫn điện theo chiều từ trên
xuống dưới, kích bởi dòng cổng dương và một SCR NPNP dẫn điện theo chiều từ
dưới
lên kích bởi dòng cổng âm. Hai cực còn lại gọi là hai đầu cuối chính (main
terminal).
- Do đầu T2 dương hơn đầu T1, để Triac dẫn điện ta có thể kích dòng cổng
dương và khi đầu T2 âm hơn T1 ta có thể kích dòng cổng âm.
Các thông số của triac.
Điện áp phân cự thuận và ngịch (VBR(F) và VBR(R))
Dòng điện cực đại
Dòng giữ IH
Áp cổng và dòng kích khởi
Tốc độ chuyển mạch
Ứng dụng : Triac dùng điều chỉnh công suất động cơ, kiểm soát vận tốc động cơ
AC
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 8 -
6. LM 7805
Đây là linh kiện được sử dụng rất phổ biến trong các mạch nguồn để tạo ra
điện áp cố định. Ở đây ta chỉ dùng IC 7805 để tạo ra mạch ổn áp 5V .
7. Led 7 đoạn
Dùng trong mạch hiển thị, để hiện thông tin giao tiếp giữa người dùng và vi xử
lý. Ở đây ta dùng loại anot chung.
Cùng với 1 số linh kiện thong dụng khác:
+ tụ 33p, 104p, 1000uF 25V, 470uF 25V,
+ điện trở R 220Ω, 1KΩ, 10kΩ, 5k6Ω
+ led đơn
+ diode 1N4001
+ thạch anh 12MHz,
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 9 -
CHƯƠNG III. THIẾT KẾ, TÍNH TOÁN
I. SƠ ĐỒ KHỐI TỔNG QUÁT
Gồm có 5 khối được trình bày như sơ đồ dưới đây
Hình 1:Sơ đồ khối
KHỐI TẠO
XUNG
ĐỒNG BỘ
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 10 -
II. CÁC KHỐI TRONG MẠCH ĐIỆN
1. Khối xử lý: gồm mạch nguồn và bộ vi xử lý
Hình 2: khối xử lý và nguồn
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 11 -
a. Khối vi xử lý
Chức năng của khối:
Nhận tín hiệu ngắt ngoài INT0
Nhận tín hiệu từ khối phím nhấn
Điều khiển khối hiển thị
Điều khiển xung kích cho MOC3021
Điều khiển ngỏ ra relay
Nguyên lý hoạt động của khối sử lý:
Nhận tín hiệu từ INTO và phím nhấn để xuất tín hiệu ra điều led hiển
thị, đồng thời xuất xung để kích MOC3021
Tính toán mạch điện :
R1 = 100
R2 =8.2 KΩ
C3 =C4 = C5 =C6 =C8 = 104
C7 =10uF
b. Mạch nguồn
Hinh : mạch nguồn
Tạo điện áp chuẩn 5V cung cấp cho các khối hoạt động, đồng thời tạo xung detect
zero để tạo ra khâu đồng bộ xung đưa vào vi xử lý.
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 12 -
Nguyên tắt hoạt động của khối này như sau:
- Khi được cấp nguồn 12V xoay chiều đi qua cầu diode sẽ tạo ra sóng sin dương
liên tục tạo detect zero. Diode D2 có nhiệm vụ vô cùng quan trọng là chống lại
nguồn điện ngược do tụ C7 sinh ra. Khi sóng sin cực đại D2 dẫn điện qua IC7805
đồng thời nạp điện cho tụ C7. Khi sóng sin cực tiểu ( tiến dần về 0 ) thì tụ C7 xả
điện. Lúc này diode D2 sẽ thưc hiện công việc ngăn nguồn điện đó giúp tạo cho
sóng sin ổn định mà không bị nhiểu bởi tụ C7.
2. Khối hiển thị:
Chức năng của khối
- Hiển thị thông báo thời gian tăng điện áp, đồng thời hiển thị được điện
áp khởi động
Hoạt động của khối
Bộ phận hiển thị gồm 5 led 7 đoạn cathod chung, nhận tín hiệu từ khối sử lý dưới
dạng tín hiệu nhị phân(0,1) qua việc quét led để hiển thị ra số thập phân. Các
đường DATA và điều khiển đều tác động ở mức cao.
Hình 3: khối hiển thị
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 13 -
Tính toán mạch điện :
Q1 =Q2 = Q3 =Q4 =Q5 =A1013
R1= R2 =R3 = R4 = R5 =10K
3. Khối nút nhấn.
Sử dụng 4 phím nhấn.:
Nút 1 : mode – Dùng để chuyển đổi qua lại giửa các chức năng thời gian cài đặt và
nguồn điện ra ( từ 0 đến 220 vol )
Nút 2 : Inc – tăng thời gian or số vol do người dử dụng cài đặt.
Nút 3 : dec – Giảm thời gian or số vol do người dử dụng cài đặt.
Nút 4 : enter – thực hiện phím này khi đồng ý thiết lập
Nut 5 : Reset
Hình 9: phím nhấn
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 14 -
4. khối tạo xung kích đồng bộ:
Hình 5: tạo xung đồng bộ
Chức năng:
Tạo ra xung để đưa vào chân INT0 của vi sử lý.
Cứ mỗi đầu bán kì thì có xung đi vào chân B của C1815 thì ta nhận được một
xung tương ứng đi vào chân C (nối với INT0) thì có ngắt xảy ra.
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 15 -
5. Khối mạch công suất
Hình 6: mạch điều khiển triac
Hình 7: giản đồ xung khi tải thuần trở
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 16 -
Chức năng của khối
Khi góc điều khiển được thay đổi trong phạm vi(0, ),điện áp tải có trị hiệu
dụng biến thiên trong khoản (0,U)
Điều khiển cho động cơ hoạt động
Hoạt động của khối
P1.7 ở mức 0 thì MOC3021 dẩn có xung kích vào chân G của triac, Tùy thuộc
vào góc kích mà triac BTA126 sẽ dẩn điện nhiều hay ít từ đó có thể thay đổi được
điện áp ra Ut. Ut được tính theo công thức sau:
2
1
2
2sin1
UUt ( *1)
Ut : điện áp tải
U : điện áp định mức
: góc điều khiển triac
* Tính toán góc kich.
Ta có f = 50 Hz thời gian 1 chu kỳ là 1/50 = 0.02s
Thời gian dẩn của 1 bán kỳ là 0.01s = 10 000us
Từ đó ta có : 10 000us ------------> 1800 (*2)
Tdelay ------------ >
Cho điện áp ngỏ ra ( Ut ) bằng 1 giá trị xác định ta thu được 1 giá trị góc
tương ứng qua công thức (*1).
Từ đó ta có thời gian delay trước khi kích triac
180
10000
delayt
Giá trị này dùng cho chương trình phần mềm mà ta viết cho IC 89C51.
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 17 -
CHƯƠNG IV : THUẬT GIẢI, CHƯƠNG TRÌNH
Lưu đồ: MAIN:
TMOD=0x11;
TL0=-10000;
TH0=-10000>>8;
TH1=-10000>>8;
TL1=-10000;
EA=1;
TR0=1;
ET0=1;
TR1=1;
ET1=1;
MODE=0;
KT=0;
KT1=0;
ROLE=0;
Umin=0;
Umax=0;
DIENAP=0;
CNT=0;
CNT1=0;
TG=0;
NGAT=0;
triac=1;
ROLE=0;
BEGIN
KTMODE
KTNGAT
ENTER
while(1)
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 18 -
CHƯƠNG TRÌNH CON : KTMODE ()
Y Y
N
N
N
Y
N
Y
N
Y
N
Y
N
BEGIN
P2_0=1;
P2_1=1;
P2_3=1;
P2_2=1;
P2_1=0? MODE++ MODE=4
?
MODE=0
?
MODE=1
?
MODE=2
?
MODE=3
?
MODE1
MODE2
MODE3
Exit
MODE=0
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 19 -
CHƯƠNG TRÌNH CON : ENTER ()
N
Y
CHƯƠNG TRÌNH CON : KTNGAT()
N
Y
ENTER
P2_4=0?
MODE=0;
LEDMODE1=1;
LEDMODE2=1;
LEDMODE3=1;
DIENAP=Umin;
A=Umax-Umin;
B=TG*100;
TANG=B/A;
IT0=1;
EX0=1;
KT1=1;
KT=1;
Exit
ENTER
NGAT=0;
Triac=1;
T=maquet[DIEN
AP];
delay2(T);
triac=0;
Exit
NGAT=1?
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 20 -
CHƯƠNG TRÌNH CON : MODE1()
N N
Y
Y
N N
Y Y
ENTER
LEDMODE1=0;
LEDMODE2=1;
LEDMODE3=1;
P2_1=1;
P2_2=1;
P2_1=0?
Delay2(50000)
TG ++
TG=61?
TG=0
EXIT
P2_2=0?
Delay2(50000)
TG--
TG=255
?
TG=60
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 21 -
CHƯƠNG TRÌNH CON : MODE2()
N N
Y Y
N N
Y Y
LEDMODE1=1;
LEDMODE2=0;
LEDMODE3=1;
P2_1=1;
P2_2=1;
P2_1=0?
Delay2(50000)
Umin ++
DIENAP=Umin;
Umin=221?
Umin =0
EXIT
P2_2=0?
Delay2(50000)
Umin--
DIENAP=Umin;
Umin=255?
Umin =220
ENTER
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 22 -
CHƯƠNG TRÌNH CON : MODE3()
N N
Y Y
N N
Y Y
LEDMODE1=1;
LEDMODE2=1;
LEDMODE3=0;
P2_1=1;
P2_2=1;
P2_1=0?
Delay2(50000)
Umax ++
DIENAP=Umax;
Umax=221?
Umax =0
EXIT
P2_2=0?
Delay2(50000)
Umax --
DIENAP=Umax;
Umax=255?
Umax=220
ENTER
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 23 -
NGẮT NGOÀI 0: NGATTIMER1:
N
Y
N
Y
N
Y
ENTER
NGAT=1
EXIT
ENTER
TH1= -10000>>8
TL1= -10000
CNT=100
?
CNT =0;
TG--;
EXIT
HIENTHI();
KT1=1?
CNT++;
TG=255?
TG=0;
KT1=0;
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 24 -
NGATTIMER 0: CT CON HIENTHI ():
N
Y
N
Y
N
Y
ENTER
TL0=-100000
TH0=-
100000>>8
KT=1?
CNT1 ++;
CNT=TAN
G?
CNT=0;
Umin++;
DIENAP=Umin;
Umin=Umax
?
EX0=0;
ROLE=1;
KT=1;
DIENAP=220;
EXIT
ENTER
CHUC=TG/10;
DONVI=TG%10;
P0=maled[DONVI];
LED1=0;
delay(200);
LED1=1;
P0=maled[CHUC];
LED2=0;
delay(200);
LED2=1;
TRAM=DIENAP/100;
CHUC=(DIENAP/10)%10;
DONVI=DIENAP%10;
P0=maled[DONVI];
LED3=0;
delay(200);
LED3=1;
P0=maled[CHUC];
LED4=0;
delay(200);
LED4=1;
P0=maled[TRAM];
LED5=0;
delay(200);
LED5=1;
EXIT
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 25 -
CHƯƠNG TRÌNH CON DELAY:
Y
N
.
ENTER
K=0
K < i?
EXIT
K++
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 26 -
Chương trình phần mềm:
#include
#define LED1 P1_6
#define LED2 P1_7
#define LED3 P1_4
#define LED4 P1_3
#define LED5 P1_5
#define LEDMODE1 P1_2
#define LEDMODE2 P1_1
#define LEDMODE3 P1_0
#define triac P2_4
#define ROLE P2_5
unsigned char MODE,KT,KT1,NGAT,TG,Umin,Umax;
unsigned int DIENAP,lap,G,TANG,H;
unsigned int CNT,CNT1,TRAM,CHUC,DONVI,k,T,m;
unsigned char
maled[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int code maquet[221]={10000,
9999,9999,9998,9996,9994,9992,9989,9986,9983,9979,
9974,9969,9964,9959,9953,9946,9939,9932,9924,9916,
9907,9898,9889,9879,9868,9858,9847,9835,9823,9811,
9798,9784,9771,9757,9742,9727,9712,9696,9680,9663,
9646,9629,9611,9593,9574,9555,9536,9516,9495,9474,
9453,9432,9409,9387,9364,9341,9317,9293,9268,9243,
9218,9192,9166,9139,9112,9085,9057,9029,9000,8971,
8941,8911,8883,8850,8819,8787,8756,8723,8690,8657,
8623,8589,8555,8520,8484,8449,8413,8376,8339,8302,
8264,8226,8188,8149,8109,8070,8030,7989,7948,7907,
7866,7823,7781,7738,7694,7651,7607,7562,7517,7472,
7426,7381,7334,7287,7240,7193,7144,7096,7048,6998,
6949,6899,6849,6798,6747,6696,6644,6592,6539,6486,
6433,6379,6324,6270,6216,6160,6104,6048,5992,5935,
5878,5820,5762,5704,5645,5586,5524,5466,5406,5345,
5284,5222,5161,5098,5036,4972,4909,4845,4781,4716,
4651,4585,4519,4452,4386,4318,4251,4182,4114,4044,
3975,3905,3835,3764,3693,3621,3549,3477,3403,3330,
3256,3182,3107,3031,2956,2879,2802,2725,2647,2569,
2491,2411,2332,2252,2171,2089,2008,1926,1843,1761,
1677,1593,1508,1423,1338,1252,1166,1078,991,903,
815,726,637,547,457,367,276,184,92,0};
void delay(unsigned int i)
{for(k=0;k<i;k++);}
void delay2(unsigned int l)
{for(l=0;m<l;m++);}
MODE1(void) ; //tang thoi gian
{
LEDMODE1=0;
LEDMODE2=1;
LEDMODE3=1;
P2_1=1;
P2_2=1;
if(P2_1==0)
{
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 27 -
delay2(50000);
TG++;
if(TG==61)
{TG=0;}
}
if(P2_2==0)
{
delay2(50000);
TG--;
if(TG==255)
{TG=60;}
}
}
MODE2(void)
{
LEDMODE1=1;
LEDMODE2=0;
LEDMODE3=1;
P2_1=1;
P2_2=1;
if(P2_1==0)
{
delay2(50000);
Umin++;
DIENAP=Umin;
if(Umin==221)
{
Umin=0;
}
}
if(P2_2==0)
{
delay2(50000);
Umin--;
DIENAP=Umin;
if(Umin==255)
{
Umin=220;
}
}
}
MODE3(void)
{
LEDMODE1=1;
LEDMODE2=1;
LEDMODE3=0;
P2_1=1;
P2_2=1;
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 28 -
if(P2_1==0)
{
delay2(50000);
Umax++;
DIENAP=Umax;
if(Umax==220)
{Umax=0;}
}
if(P2_2==0)
{
delay2(50000);
Umax--;
DIENAP=Umax;
if(Umax==255)
{Umax=220;}
}
}
void main() /*CHUONG TRINH CHINH*/
{
TG=0;
DIENAP=0;
Umin=0;
Umax=0;
CNT1=0;
CNT=0;
TMOD=0x11;
TL1=-10000;
TH1=-10000>>8;
TH0=-10000>>8;
TL0=-10000;
EA=1;
KT=0;
KT1=0;
TR0=1;
ET0=1;
TR1=1;
ET1=1;
NGAT=0;
triac=1;
ROLE=0;
while(1)
{
KTMODE();
ENTER();
KTNGAT();
}
}
KTMODE(void)
{
P2_0=1;
P2_1=1;
P2_3=1;
P2_2=1;
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 29 -
if(P2_0==0) //
********************nhan chuyen mode*****************************
{
delay2(50000);
MODE++;
if(MODE==4)
{
MODE=0;
}
}
switch(MODE) //
************************Tuy vao mode nao*******************************
{
case 0: { break; }
case 1: { MODE1(); break; }
case 2: { MODE2(); break; }
case 3: { MODE3(); break; }
}
}
KTNGAT(void)
{
if(NGAT==1)
//*******************kiem tra ngat*******************************
{
NGAT=0;
triac=1;
T=maquet[Umin];
delay2(T);
triac=0;
}
}
ENTER (void) ; //khi cai song thi chay//
{
if(P2_0==0) //
****************************nhan enter*******************************
{
while(!P2_0);
P2_0=1;
MODE=0;
LEDMODE1=1; // tat led bao mode1
LEDMODE2=1; // tat led bao mode2
LEDMODE3=1; // tat led bao mode3
DIENAP=Umin;
G=Umax-Umin;
H=TG*100;
TANG=H/G;
IT0=1; //ngat canh xuong
EX0=1; // ngat ngoai
KT1=1;
KT=1; //tang thoi gian
}
}
void ngatngoai_0(void)interrupt 0
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 30 -
{
NGAT=1;
}
Void ngattimer_0(void)interrupt 1 ;// cai thoi gian tang dien ap//
{
TH0=-10000>>8;
TL0=-10000;
if(KT==1)
{
CNT1++;
if(CNT1==TANG)
{
CNT1=0;
Umin++;
DIENAP=Umin;
if(Umin==Umax)
{
EX0=0;
// tat ngat ngoai
ROLE=1;
//kich role
DIENAP=220;
KT=0;
}
}
}
}
void ngattimer_1(void)interrupt 3 ;//tang thoi gian va hien thi//
{
TL1=-10000;
TH1=-10000>>8;
HIENTHI();
if(KT1==1)
{
CNT++;
if(CNT==100)
{
CNT=0;
TG--;
if(TG==255)
{
TG=0;
KT1=0;
}
}
}
}
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 31 -
HIENTHI(void)
{
CHUC=TG/10;
DONVI=TG%10;
P0=maled[DONVI];
LED1=0;
delay(200);
LED1=1;
P0=maled[CHUC];
LED2=0;
delay(200);
LED2=1;
TRAM=DIENAP/100;
CHUC=(DIENAP/10)%10;
DONVI=DIENAP%10;
P0=maled[DONVI];
LED3=0;
delay(200);
LED3=1;
P0=maled[CHUC];
LED4=0;
delay(200);
LED4=1;
P0=maled[TRAM];
LED5=0;
delay(200);
LED5=1;
}
BỘ KHỞI ĐỘNG MỀM 1 PHA 220V – 20A
- 32 -
III.ĐÁNH GIÁ ĐỀ TÀI
1.ƯU ĐIỂM
Điều khiển được động cơ. Thay đổi được giá trị điện áp ra cấp cho động cơ.
Cài đặc được khoản thời gian khởi đông và điện áp khởi động. Giúp động cơ khởi
động ổn định và tránh hiện tượng nguồn điện tăng đột ngột làm hư hỏng động cơ.
2.NHƯỢC ĐIỂM
Chỉ giới hạn điều khiển động cơ công suất nhỏ hơn 20A và 220V.
Chưa tính được sai số góc kích ở triac. Cũng như sai số trong tính toán là
không tránh khỏi.
Thi công mạch còn chút ít sai sót. Mạch lớn và đi dây hơi nhiều và khó xác
định chân cắm.
IV. HƯỚNG PHÁT TRIỂN
Thiết kế mạch nhỏ gọn hơn. Hiển thị trên LCD. Phím nhấn mềm và linh hoạt
hơn. Khởi động được động cơ công suất lớn hơn. Tính toán mạch chính xác và tối
ưu hơn.