分段開關是一種節(jié)能電子產品,在只有兩根電源線的情況應用它可對具有多盞燈泡、日光燈、節(jié)能燈的燈具進行分組控制,避免照明電路重新布線之苦。常見的分段開關用—位開關控制,通過開關不同的次數(shù)產生不同的亮燈狀態(tài)。這種控制方式有兩個缺陷:一是控制過程中燈泡被不斷的開關,由于燈泡、日光燈、節(jié)能燈的使用壽命跟開關次數(shù)有很大的關系,這種方式很容易造成損壞;二是使用比較麻煩,假如燈具中有三組燈,必須開關四次才能打開所有的燈。下面介紹一種用單片機設計的三路分段開關,控制面板上使用一只開關和三只按鈕,打開開關后只要按動不同的按鈕就能控制不同的燈組,三組燈具獨立控制,具有使用直觀方便的特點。
一、電路工作原理
分段開關由控制面板和接收控制器兩部分組成,控制面板裝在開關盒上,接收控制器裝在燈具上??刂泼姘搴徒邮湛刂破饔脙筛娫淳€連接?!刂?a target="_blank">信號采用電力載波的方式,通過電源線傳輸,為了防止50Hz交流電源的干擾,便于分離,使用100kHz高頻脈沖信號作為控制信號。為了簡化電路,采用對脈沖計數(shù)的方式區(qū)分不同的控制信號。
1、控制面板電路
控制面板主要產生不同的控制信號以控制不同的燈組。
電路見下圖。IC1中的與非門A1、A2及電阻R1~R4、電容C1~C3等組成延時電路。下面以按下S1為例說明其工作原理:當S1沒有按下時,A1的輸入端為低電平,所以經兩次反相后A2也輸出低電平;當S1按下時,由于C1上的電壓不能突變,A1的輸入端為高電平,A2也輸出高電平,此后C1經R4充電兩端的電壓逐漸上升,A1輸入端的電位逐漸下降,當電位下降到VDD/2即4.5V以下時,A2的輸出由高電平轉換為低電平。這樣當分別按下按鈕S1NS3時,A2輸出端分別產生脈沖寬度為15mS、23mS、34mS三種不同的單次正脈沖信號,分別作為多諧振蕩器的控制信號。與非門A1、A2、電阻R5、R6、電容C5等組成多諧振蕩器,振蕩頻率約100kHz,當A2輸出高電平時多諧振蕩器工作,A4輸出100kHz的脈沖信號。由于其輸出脈沖信號的個數(shù)受A2輸出的高電平的時間控制,因此按下S1~S3中不同的按鈕,A4就能輸出不同的脈沖個數(shù),對應的脈沖個數(shù)分別約為1500、2300、3400。三極管VTl、高頻變壓器T1等組成輸出電路,把A4輸出的脈沖信號經VT1放大后通過C8輸送到電源線上。L1是高頻扼流電感器,它可以防止100kHz的脈沖信號被其它用電設備短路,也能防止其對外產生干擾信號。
C7、VD2、VD3、C6等組成電容降壓式電源電路,其中經穩(wěn)壓二極管VD1穩(wěn)壓的9V電源供IC1使用。
2、接收控制器電路
接收控制器電路見圖2。電路由接收電路、單片機電路和電源電路等部分組成。
R1、C1組成單片機的復位電路,接通電源后單片機AT89C2051的復位端1腳獲得一個高電平復位脈沖,使得單片機進入程序所設定的初始狀態(tài),其引腳P1.0輸出高電平,P1~1、P1.2輸出低電平,三極管VTl導通,VT2、VT3截止,使得繼電器K1吸合,K2、K3處于釋放狀態(tài),這樣當打開控制面板上開關S4后第一組燈點亮,其它兩組燈均熄滅。使用時一般將常用的一組燈接在K1的控制觸點上。
C4、T1、\/T1等組成輸入信號處理電路,C4.起到隔離50Hz交流信號的作用,為了提高抗干擾能力,VT1沒有加直流偏置電壓,其集電極輸出的幅度為5V的脈沖信號通過單片機P3.4腳輸入給單片機進行處理。單片機根據(jù)輸入的脈沖信號的個數(shù)決定改變引腳P1.0~P1.2的工作狀態(tài),具體的說就是1500個左右的脈沖信號對應P1.0,2300個左右的脈沖信號對應P1.1,3400個左右的脈沖信號對應P1.2。
下面以第二路為例說明電路的工作過程,接通電源后,按一下按鈕S2,則單片機的P1.1端由低電平轉換為高電平,繼電器K2吸合,對應的常開觸點k2閉合接通相應的燈組,再按一下S2則單片機的P1.1端由高電平轉換為低電平,關閉對應的燈組。其余兩路的工作過程以此類推。當控制某一路的工作狀態(tài)時,其它兩路的工作狀態(tài)不受影響,即每一路均可獨立控制。
C5、VD4~VD8、IC2等組成電容降壓式電源電路,提供+12V和+5V電源。電路中L1的作用和控制面板電路中的L1相同。
二、程序介紹
程序采用C語言編寫,將定時器TO設定為計數(shù)器,P3.4腳作計數(shù)脈沖的輸入端。定時器T0對輸入的脈沖信號進行計數(shù),通過對脈沖數(shù)量的判斷就能知道控制面板上按下了那一個開關,從而改變相應的繼電器的工作狀態(tài)。
程序清單如下:
#include
unsignedchari,DelayTime;unsignedintn:
sbitP1_O=p1^0;
sbitP1_1=P1^1;
sbitP1_2=P1^2;
sbitP3_4=P3^4;
voiddelay(DdayTime)//延時子程序
{
for(;DelayTime>0;DelayTime——)
{
for(i=0;i<250;i++);
}
}
voiDMAin(void)//主程序
{
P1_0=1;
P1_1=O;
P1_2=0;
TMOD=0x05;
//定時器TO工作于方式1計數(shù)
TH0=0;
TL0=O:
TRO=1://開定時器TO
for(;;)
{
while(P3_4=1);//判斷有沒有
輸入脈沖
TR0=1://開定時器TO
delay(50);
//延時50mS,讓定時器TO計數(shù)
TRO=O://關定時器TO
n=TL0ㄧ(TH0<<8);//取計數(shù)值
TH0=0;
TLO=O:
if(n>1300&&n<1700)//若脈
中個數(shù)為1500左右
P10=!P10://P1.O輸
出電平取反
elseif(n>2000&&n<2600)//若
脈沖個數(shù)為2300左右
P1_1=!P1_1;//P1.1輸
出電平取反
elseif(n>3000&&n<3800)//若
脈沖個數(shù)為3400左右
P1_2=!P1_2;//P1.2輸
出電平取反
}
}
程序中“while(P3_4==1):”檢測P3.4腳是否為高電平,在控制面板沒有發(fā)出脈沖信號時P3.4腳始終為高電平,程序處于等待狀態(tài);一旦發(fā)出脈沖信號后P3.4.腳就會出現(xiàn)低電平,程序檢測到后即向下執(zhí)行,定時器T0對P3.4腳輸入的脈沖信號進行計數(shù)。由于控制面板發(fā)送控制信號最長的持續(xù)時間為34mS,因此這里選用50mS的時間讓定時器TO進行計數(shù),保證脈沖信號不丟失。計數(shù)結束后程序對計數(shù)值進行篩選,由于控制面板采用了RC振蕩器,其頻率穩(wěn)定性較差,為了提高電路工作的可靠性,在篩選時允許脈沖信號的個數(shù)有一定的誤差。
三、安裝和調試
控制面板中IC1選用CMOS與非門集成電路CD4011,電容C1、C2、C3、C5選用穩(wěn)定性較好的滌綸電容器,以保證電路的穩(wěn)定性。S1~S4選用輕觸按鈕開關。電感器L1磁芯使用E16的鐵氧體磁芯,用巾φ0.41的漆包線繞100T,高頻變壓器T1使用E1
3的鐵氧體磁芯,用φ0.19的漆包線初級繞200T,次級繞50T。
接收控制器中IC1用ATMEL公司的AT89C2051單片機集成電路,IC2用小功率三端穩(wěn)壓集成電路78L05。X1用12MHz的石英晶體。VD1~VD7用整流二極管1N4004,VT1用三極管2SC945,VT2~VT4用三極管2SCl815。繼電器K1~K3用型號為HRS1-S、12VDC的繼電器,其觸點負荷為3A120/220VAC。
電感器L1控制面板中的L1參數(shù)一樣,高頻變壓器T1使用E13的鐵氧體磁芯,用φ0.19的漆包線初、次級均繞1OOT。。
安裝前用編程器將編譯好的目標文件switch.hex寫入AT89C2051芯片。
安裝完成后的調試工作主要是調整控制面板的延時時間和多諧振蕩器的振蕩頻率,調試時打開控制面板的電源開關S4,然后依次按動按鈕開關S1、S2、S3,看接收控制器中相應的繼電器有沒有的動作,如果都沒有反映,在電路沒有問題的情況下,可能是控制面板的輸出頻率誤差較大,適當整電路中R6或C5的參數(shù)即可解決問題,有條件的話可用頻率計測量A4的輸出頻率,把A1的輸入端和+9V用導線連接即可進行測量。在這之后如果有某一個按鈕開關按下沒有反映,說明這一路延時誤差較大,可改變其相應的延時電容器的容量。最后依次按動發(fā)射機的三個按鈕S1~S3,如果對應的三路繼電器的工作狀態(tài)均能發(fā)生變化的話,調試工作就完成了。上一頁12
評論
查看更多