刘赟宇,李 岩,吴 杨,田 园
(中德职业技术学院 天津 300350)
随着人们生活水平的提高,室内装修中对照明线路暗线埋设的情况应用越来越普遍,对预埋线路进行准确定位是后期装修规划和施工建设前提。同时,工业生产的电气防火检测过程中,也需要利用线路定位仪器对隐蔽工程的线路走向,开路短路位置,空开和负载的对应位置等进行检测。通过将探测器芯片或模块与其他系统进行组合集成,可以构成实用的测量仪器[1]。
系统主要由主控模块、电源模块、显示模块、电磁探测模块等组成。主控模块是由STC89C516单片机为控制核心,具有高速可靠、低功耗低价位、抗静电抗干扰的特点。电源模块采用LM2596做电源模块,LM2596属于开关型,功耗小,具有线性和负载调节,可以输出小于37 V的各种电压。显示模块使用LCD12864液晶显示。具有质量轻,耗电量低,选用串行输入时可减少单片机IO口等优势,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM (GDRAM)。照明线路电磁探测模块使用LM74HC14 6路施密特触发器件,内含6个独立的触发倒相器,在正逻辑中它们执行波形整形和倒相功能,探测模块的测试探针能够感到微弱的电磁场信号,此信号经电压放大器放大整形后,控制多谐振荡器和LED指示电路,针对照明线路进行测试效果明显。
系统由主控模块、电源模块、显示模块、电磁探测模块等组成,系统结构框图如图1所示。
图1 系统结构框图Fig.1 System structure diagram
2.2.1 电源模块
电源由开关稳压电源提供220 V电压,12 V电压接2596稳压模块,为所有模块供电。
图2 电源模块Fig.2 The power supply module
2.2.2 电磁探测模块
利用电流流动产生电磁场的原理,随时间变化的电场产生磁场,随时间变化的磁场产生电场,两者互为因果,形成电磁场。电磁场可由变速运动的带电粒子引起,也可由强弱变化的电流引起。当待测线路中没有电流流动时电磁场十分微弱,不足以产生感应信号;当有电流流过时将产生比较明显的电磁场。当探头感应到电磁场时,通过LM74HC14 6路施密特触发器件,内含6个独立的触发倒相器,在正逻辑中它们执行波形整形和倒相功能。在A环中形成自激震荡频率为50 Hz,然后在B环中形成第二个震荡电路,当有感应时形成自激震荡给三极管基级一个信号,同时驱动蜂鸣器示意。
图3 电磁探测模块Fig.3 Electromagnetic detection module
2.2.3 主控模块
主控模块利用STC89C516单片机设计程序实现以下功能:为了精确定位线路走向,可将指定待测区域划定7×7的经纬方格,打开开关给单片机上电,按下按钮1开启探测模块进行探测,当完成一个方格区域的时候按下按钮2实现计数器加一,当探头探到带电电缆时发出响声,给单片机一个中断[2],单片机[3]把方格编号储存在数组当中,直到测量完成全部方格之后,再按按钮3回放所有检测到线路的方格编号。依据方格编号准确的画出照明线路的走向。
图4 模拟照明线路测试板Fig.4 Lighting circuit test board
主程序流程图如图5所示,显示模块如图7所示。
图5 程序流程图Fig.5 Flow chart of the program
2.2.4 源程序代码
本文的源程序代码如下:
#include
图6 主控模块Fig.6 Main control module
图7 LCD12864显示模块Fig.7 LCD12864 display module
#include
#define uchar unsigned char
#define uintunsigned int
sbitkaishi=P1^0; //开始检测
sbitjishu=P1^1; //方格加一
sbitqiehuang=P1^2; //开始测60 W的灯
uchardian_dat[14];
ucharx,miao,fen,q,qq,ss;
voidzhongduan()
{
IP=2;
EA=1; //全局中断开
IT0=1; //边沿触发
}
void Init_Timer0(void)
{
TMOD=0X01;
ET0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
}
void main()
{
uchar y;
p:Init();
zhongduan();
Init_Timer0();
display();
display2();
write_sfm1(2,fen);
write_sfm1(4,miao);
while(1)
{
if(kaishi==0)
{
DelayMs(10);
if(kaishi==0)
{
while(kaishi==0);
TR0=1; //定时器开关打开
y++;display1();
}
}
while(y==1)
{
if(jishu==0)
{
DelayMs(20);
if(jishu==0)
{
while(jishu==0);
x++;
EX0=1; //外部中断 0开
qq=0;
if(x>49)
{x=0;
y++;
TR0=0;
Write_Cmd(0x01); //清除显示,并且设定地址指针为00H
ss++;
}
write_sfm1(0,x);
while(jishu==0);
}
}
}
while(y==2)
{
ucharhh;
display3();
if(ss==1)
{
display4();
}
if(ss==2)
{
ss=0;
display5();
}
write_sfm1(2,fen);
write_sfm1(4,miao);
write_sfm(3,dian_dat[0]);
write_sfm(5,dian_dat[1]);
write_sfm(7,dian_dat[2]);
write_sfm2(0,dian_dat[3]);
write_sfm2(2,dian_dat[4]);
write_sfm2(4,dian_dat[5]);
write_sfm2(6,dian_dat[6]);
write_sfm3(0,dian_dat[7]);
write_sfm3(2,dian_dat[8]);
write_sfm3(4,dian_dat[9]);
write_sfm3(6,dian_dat[10]);
if(qiehuang==0)
{
DelayMs(20);
if(qiehuang==0)
{
while(qiehuang==0);
//TR0=1;
miao=0;
fen=0;
q=0;
Write_Cmd(0x01); //清除显示,并且设定地址指针为00H
for(hh=0;hh<11;hh++)
{
dian_dat[hh]=0;
}
y=0;
goto p;
}
}
}
}
}
voidISR_Key(void) interrupt 0 using 1
{
uchari;
i++;
if(i==5)
{
i=0;
EX0=0;
dian_dat[q]=x;
q++;
}
}
void Timer0_isr(void) interrupt 1 using 1
{
uchar p;
TH0=(65536-50000)/256; //给定初值, 这里使用定时器最大值从0开始计数一直到65535溢出
TL0=(65536-50000)%256;
p++;
if(p==20)
{
p=0;
miao++;
if(miao==59)
{
miao=0;
fen++;
}
write_sfm1(2,fen);
}
write_sfm1(4,miao);
采用现代电磁学理论以及单片机[4]为代表的微机控制技术设计非接触式照明线路定位仪器,能够对预埋线路进行准确定位,同时在工业生产的电气防火检测过程中,也可以利用线路定位仪器对隐蔽工程的线路走向,开路短路位置,空开和负载[5]的对应位置等进行检测。设计过程中考虑可能存在的各种干扰因素,采用了软硬件结合的抗干扰技术[6],提高了系统的稳定性。最后对系统进行了模拟性能测试,测试结果表明系统性能良好。
[1]胡立群,陈敦军,张开骁.基于单片机的可见光及紫外光强探测系统[J].电子设计工程,2013(24):81.HU Li-qun,CHEN Dun-jun,ZHANG Kai-xiao.The visible light and UV-light detection system based on microProcessor[J].Electronic Design Engineering,2013(24):81.
[2]魏雅.基于单片机的步进电机控制系统的研究[J].电子设计工程,2013(18):156.WEI Ya.Research of stepper motor control system based on singlechip[J].Electronic Design Engineering,2013(18):156.
[3]何立民.单片机高级教程——应用与设计[M].2版.北京:北京航天航空大学出版社,2007.
[4]吴金戌,沈庆阳,郭庭吉.单片机实践与应用[M].北京:清华大学出版社,2002.
[5]沈任元,吴勇.常用电子元器件简明手册[M].北京:机械工业出版社,2004.
[6]王幸之.单片机应用系统抗干扰技术[M].北京:北京航空航天大学出版社,2000.