APP下载

单片机集群控制电源插座开断设计

2015-05-08黄铁军杨振中尹得超严一民

实验科学与技术 2015年4期
关键词:数码管中断单片机

陈 晨,黄铁军,杨振中,尹得超,严一民

(电子科技大学 物理电子学院,成都 610054)

·学生实验园地·

单片机集群控制电源插座开断设计

陈 晨,黄铁军,杨振中,尹得超,严一民

(电子科技大学 物理电子学院,成都 610054)

介绍了通过单片机控制的电源插座开关系统。利用单片机控制的电源可使开关电源具备更加完善的功能,便于实时监控。该系统以传统的89C51单片机为核心,通过软件控制继电器来对电路进行定时开断、过电保护,通过ADC0808来显示电压、电流,从而实现动态监控等功能;实现了对电路的定时控制和保护,有利于节能,提高用电效率。整个集群控制系统实现的关键在于对单片机的编程设计,介绍了有关定时功能、动态显示、A/D转换的编程思路和关键程序,通过proteus仿真,实现单片机对电源的集群控制功能。

电源插座;单片机开关;电路定时控制

利用单片机控制的电源,可使开关电源具备更加完善的功能,智能化进一步提高,便于实时监控。其功能主要包括对运行中的开关电源进行检测、自动显示电源状态;可以通过按键进行编程控制;可以进行故障自诊断,对电源功率部分实现自动监测;可以对电源进行过压、过流保护;可以对电池充放电进行实时控制。

目前生产的单片开关电源主要有TOPSwitch、TOPSwitch-II、TinySwitch、TNY256、MC33370和TOPSwitch-EX六大系列,此外,还有L4960系列、L4970/L4970A系列单片开关式稳压器,共八大系列,80 余种型号。根据引出端的数量,其可划分成三端、四端、五端、多端四种类型。

本研究针对电力浪费问题,设计用单片机集群控制电源插座的控制器,用控制器定时接通或切断插座的电源,以达到节约用电的目的。

1 系统设计

整个体统以控制电路为核心,通过整流滤波与校正电路,使220 V交流电为单片机供电。正常工作时,用ADC0808[1]将采集到的电信号转换给单片机,实现过流保护和动态监控功能。用单片机定时去控制继电器的开断,来实现对电路的定时控制,并在Proteus上进行仿真设计[2]。系统结构如图1所示。

图1 系统结构图

2 控制电路设计

2.1 控制电路介绍

控制电路采用Atmel公司的89C51单片机,扩展了A/D、D/A、键盘显示、RS232通信口电路。控制系统通过I/O输入端口经D/A转换控制开关的导通与关断时间,完成对输出电压的稳定; 通过A/D转换完成对开关电源输出电压和电流的采样;通过系统软件实现过压、过流保护及限流功能。在过载时采用电流信号作为反馈,控制电路通断实现过载保护的功能。

为了精确控制开关电路的电压输出,把单片机的T0作为89C51的计数脉冲和门控信号,使用T1做定时器。单片机把给定值与传感器采集的信号进行比较,产生误差信号。根据电压控制算法通过控制继电器[3]断开电路,实现保护。输出端与开关电路进行光电隔离,从而避免来自开关电源电路的骚扰信号对单片机系统正常工作的影响。

键盘与显示部分装在仪器操作面板上,由8位LED数码管,3个LED指示灯以及4个键构成,其中3位数码管显示电源电压,3位数码管显示电流,3个LED指示灯作为报警显示。

2.2 采样电路

从电路中采取的电压,通过高精度、低阻抗的电压互感器,在较高的滤波器下只有较小的衰减和相位延迟传送到ADC0808,进而由单片机处理,在数码管上显示出当前的电压数值。电流数值可通过串联在采样电路上的电阻和读取的电压换算得到[4]。采样电路如图2所示。

图2 采样电路

3 软件设计

芯片89C51在上电复位之后,先进入初值的设定界面,单片机P0.4~P0.7四个引脚接入四个按钮,进行过载的电压、电流、系统工作时间和睡眠时间的设定,以及设定结束并开始之后开始工作时刻的设定。四个按钮分别起到确定、移位、加、减的作用,设定显示在数码管上。完成初值的设定之后,对单片机进行初始化,包括时钟初始化、中断初始化、端口初始化、数码管控制初始化、ADC0808初始化、数码管显示初始化。

系统启动计数,开始计算工作时间,同时产生时钟脉冲,驱动ADC0808得到A/D转化数据并发送给主机,主机将数据计算后动态显示在数码管上。主机进行数据处理并判断下步进行的操作,比如是否需要保护电路断开开关,是否需要切换工作状态,工作流程如图3所示。

3.1 系统时间控制

系统有三种工作模式,分别是:工作模式、睡眠模式和故障模式。每个模式有自己的标志位。通过标志位的查询判断系统在哪个工作状态。

图3 工作流程图

在初始值设定的时候,设定了工作模式开始时间T1,睡眠模式开始时间T2,系统启动计时时间T3。系统内时间通过定时/计数器来产生,定时/计数器1产生周期是200μs的脉冲作为A/D转换的时钟输入[5],定时/计数器0在技术模式下统计脉冲数目来计算时间。则第一次工作需要定时计算器统计的脉冲次数是

n=(T2-T3)/200

工作模式下需要统计的脉冲次数是

n=(T2-T1)/200

睡眠模式下需要统计的脉冲次数是

n=(24+T1-T2)/200

再设定定时/计数器0的工作方式为工作模式1,计数50 000次之后发生中断。所以各个模式下发生终端的次数是

N=n/50 000

通过判断比较定时/计数器0发生溢出的次数,就可以判断是否需要发生模式切换以及下一步需要切换的模式。

具体定时需要通过对单片机进行编程。

3.1.1 定时初始化的代码

TIME[0]=(TMME1[0]-TIME2[0])*36 000;

TME[0]=TIME[0]+(TMME1[1]-TIME2[1])*3 600;

TIME[0]=TIME[0]+(TMME1[2]-TIME2[2])*600;

TIME[0]=TIME[0]+(TMME1[3]-TIME2[3])*60;

TIME[0]=TIME[0]/5;

TIME[1]=24*3600/5-TIME[0];

TMOD=0x25;//定义了定时器1和定时器2的工作方式

EA=1; //打开总的中断允许

(对计数作必要的初始化,初始化后,定时功能才能正常实现。)

TH0=0x3c;

TL0=0xaf;//给计数器0重装初始化数值,50 000次中断一次

TH1=0x9c;//给定时器1重装初始化数值,100次中断一次

TL1=0x9c;

voidTime0_int(void)interrupt1using0 //定时器0中断函数

TH0=0x3c;

TL0=0xaf;//重装初始化数值

3.1.2 状态切换的代码

if(count1++>=TIME[gz])//5s中断一次,每一次计数是5s,gz=1为工作状态;gz=0为休眠状态

{count1=0;

if(gz)

gz=0;

else

gz=1;

if(Green==ON)

{

Green=OFF;

Yellow=ON;

Jidian=OFF;

Gzzt=1;

}

elseif(Yellow==ON)

{

Green=ON;

Yellow=OFF;

Jidian=ON;

Gzzt=0;

}

}//改变工作状态

不同模式在特定条件下进行切换。每5s发生一次中断,产生状态的切换。Green=on,表示正常工作;yellow=on,表示休眠状态。

3.2A/D转化及故障模式

A/D转换Proteus仿真基本电路图如图4所示。

图4 A/D仿真电路

相对误差

3.2.1AD转换

对单片机进行编程,使得A/D转换实现,其中电压、电流的转换代码(C语言)如下:

for(m=0;m<100;m++)//转换100次求出最大值

{

Display(j1,j2); //显示函数

OE=0;

ST=0;

ALE=1;

ST=1;

ALE=0;

ST=0; //给出AD转换的下降沿启动信号

while(EOC==0);//如果转换还没有完成就一直保持

OE=1;//等待采集完成之后让OE=1,输出采集数据

if(Max

Max=P2;

if(Max>anquan[AV]) /*AV=0代表电流转换,AV=1代表电压转换,anquan数组存储的限压限流数值*/

Guzhang();

}

j1=Max;

AV=~AV;//电压、电流A/D互换

3.2.2 故障模式

Ex_int0()interrupt0using2//外部中断函数用于故障恢复

{

if(gz==0)//如果GZ=0,恢复到正常工作状态

{

Green=ON;

Red=OFF;

Yellow=OFF;

}

else//如果GZ=1,恢复到休眠工作状态

{

Green=OFF;

Red=OFF;

Yellow=ON;

}

}

voidGuzhang()

{

Green=OFF;

Red=ON;

Yellow=OFF; //进入故障工作状态,切换指示灯,继电器断开

}

3.3 显示部分

系统的三种工作模式:工作模式、睡眠模式和故障模式分别对应LED灯的绿灯、黄灯和红灯。在故障模式下,蜂鸣器也会报警。我们在显示器件上选用了数码管,可最大限度地较低成本,提升开关的经济适用性[6]。数码管显示Proteus仿真基本电路如图5所示。

图5 数码管仿真电路

为了节省引脚,位选和段选均采用P0引脚,采用上拉电阻提高P0的带负载能力。段选和位选通过两个锁存器74HC573分离,能分别送到共阳数码管端口。

4 样机测试

4.1 系统测试

为了安全,先进行断电调试,用万用表检测系统是否有短路现象,再检查原理是否正确。经检测,原理正确没有短路现象,使用安全。再将各个部件连接,保证整个电路连通。将已经编写好的程序写入单片机中,接上220V电源,观察能否实现基本功能。

4.2 系统调试结果

接通电源后,系统自动复位,数码管读出当前的电路电压值为220V;设定工作时间为1min,确定之后,单片机开始计时工作,此时指示灯绿灯亮,红灯、黄灯灭,表明电路正常工作,1min以后,单片机断开开关,绿灯灭,红灯亮。若在工作状况中断电,数码管熄灭,通电后单片机通过读取断电前的状态,继续工作,也可以手动复位。

5 结束语

对基于89C51单片机的电路定时控制开关进行了详细的介绍。文中给出了ADC0808如何将电压信号转换为数码管上的示数,如何通过软件编程实现定时控制开断,设置初始时间,并对电压、电流进行动态监控,达到保护电路的作用。并且利用EPROM[7]的非易失性在断电后仍能记录断电前的数据,当恢复供电时,继续按照设定的功能运行。

此系统通过对电路的动态监控,有效地解决了过流、过压的问题,对电路进行了保护。并由于有定时功能的存在,可以按照需要设定电路接通的时间,对电能的使用率达到最大化,能够有效节约能源。

[1]邓兴成.单片机原理与实践指导[M].北京:机械工业出版社,2009.

[2]张亚华.电子电路计算机辅助分析和辅助设计[M].北京:航空工业出版社,2004.

[3]陈汝全.电子技术常用器件应用手册[M].北京:机械工业出版社,2005.

[4]童诗白.模拟电子技术基础[M].北京:高等教育出版社,2002.

[5]程国钢.51单片机应用开发案例手册[M].北京:电子工业出版社,2011.

[6]谭晓.用单片机控制电源插座[J].武汉科技学院学报,2005,18(11):21-22.

[7]李广军,阎波,林水生.微处理器系统结构与嵌入式系统设计[M].北京:电子工业出版社,2011.

Design of Switch of Current Source by Microcomputer

CHEN Chen, HUANG Tiejun, YANG Zhenzhong, YIN Dechao, YAN Yimin

(School of Physical Electronics, University of Electronic Science and Technology of China, Chendu 610054, China)

This paper presents the system of switch of current source by microcomputer. The power controled by microcomputer can own complete function in order to observe all the time. It depends on 89C51 and uses software to control the current on time and protect the current. Through ADC0808, it can display voltage and current to finish the function of control. In this way, it can save energy and improve the efficiency of electricity. All the system’s key is microcomputer programming. It presents the important part of programming of setting time, displaying and A/D changing. By Proteus simulation, it completes these functions.

the jack of source;switch of microcomputer;control current on time

2014-12-09;修改日期: 2015-01-23

电子科技大学2013年大学生创新训练基金资助项目。

陈 晨(1993-),男,本科在读,专业方向:电子信息科学与技术专业。

TP

Bdoi:10.3969/j.issn.1672-4550.2015.04.065

猜你喜欢

数码管中断单片机
微课教学设计之“数码管动态显示”
基于单片机的SPWM控制逆变器的设计与实现
Arduino编程
基于单片机的层次渐变暖灯的研究
MC9S08FL16单片机数码管静态显示分析
基于单片机的便捷式LCF测量仪
单片机控制的四位数码管动态显示编程
跟踪导练(二)(5)
千里移防,卫勤保障不中断
Microchip推出两个全新PIC单片机系列