摘要:传统的时间继电器用振荡电路来完成延时功能,其时间的长短由RC时间常数确定,存在误差而且延时时间不方便调。在自动化工业控制系统中,采用传统时间继电器组成不同控制电路,一旦组装完成,其功能就无法更改,维护非常困难。基于此,详细介绍了利用atmega128单片机设计时间继电器的方法,解决了如何处理时间精度和方便调整时间的问题,该时间继电器是以AVR单片机为核心组成的小系统控制三路继电器,可以设定一天中的时间为继电器的开启时间和关闭时间,一共可以设定两组定时模式,延时开的模式和延时关的模式,并具有时间设定功能,用户可以根据实际情况设定需要延时的时间。
关键词:时间继电器;单片机;延时
随着微机控制技术的发展,以各种微处理器为控制核心的新型控制装置全面取代了原有的继电器。在现代自动控制设备中,都存在一个电子电路和电气电路的互相连接问题,一方面要电子电路的控制信号能够控制电气电路的执行元件,另一方面又要为电子线路的电气电路提供良好的电隔离,以保护电子电路和人身的安全,时间继电器便能起到这一桥梁作用。时间继电器是一种将电子定时电路与继电器组合在一起的延时控制装置,在电子设备的自动控制中使用较多,通过它可以定时控制电路的换接,具有使用方便、定时可调、使用寿命长的特点。
1 系统构成
本文设计的时间继电器外围包括如下几部分:电源部分、键盘部分、LCD液晶屏显示部分、继电器、状态指示和报警等。系统框图如图1所示。
根据系统的要求和现实考虑,选用ATMEL公司的ATmega128单片机,ATmega128为基于AVR RISC结构的8位低功耗CMOS微处理器。ATmega128的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
2 AVR单片机特点
由ATMEL公司挪威设计中心的A先生与V先生利用ATMEL公司的Flash新技术,共同研发出RISC精简指令集的高速8位单片机,简称AVR。相对于出现较早也较为成熟的51系列单片机,AVR系列单片机片内资源更为丰富,接口也更为强大,同时由于其价格低等优势,在很多场合可以替代51系列单片机。本设计是基于AVR单片机而设计的控制系统。
·高性能、低功耗的AVR@8位微处理器
·先进的RISC结构
·非易失性的程序和数据存储器
·JTAG接口(与IEEE 1149.1标准兼容)
AVR单片机如图2所示。
3 硬件系统设计
整个硬件电路可分为以下部分:电源部分、LCD液晶屏显示部分、键盘部分、AVR单片机、继电器部分、状态指示和报警、数码管显示电路。电源电路采用将220 V的交流电经过变压器和桥式整流后通过LM7805转换成+5 V直流电源。提供系统供电和充电电池充电,无源情况下可以由电池供电。按键部分采用4×4矩阵式接法可实现16个按键,比独立式接法(8个按键)多出一倍。本设计中用了其中的8个按键,剩下的8个按键作为备用键,方便以后的系统升级。显示部分采用LCD1602液晶显示屏,可以利用LCD中的字符集显示字母、数字、符号等,与用LED数码管相比显示更加丰富和人性化。
3.1 电源电路
电源输入交流电AC220 V经过变压器降压为AC9 V,再经过整流桥转变成直流电压,经过电容滤波通过LM7805后成为+5 V电压。配以充电电池在电源部分加上了充电电路,在有交流电的时候直接利用外部电源同时给充电电池充电,去掉交流电以后利用充电电池做电源,为了使该时间继电器能够在有源和无源模式下工作,采用如图3所示的电源电路。
滤波电容C1必须比C2大否则在电容放电时会引起反向充电损坏稳压芯片。
3.2 继电器电路
由于该设计主要是利用单片机来控制继电器工作,从而达到控制要求的,因此继电器在此电路中是相当重要的部件。继电器电路如图4所示。
该电路是利用NPN三极管和5 V继电器配合L/O口PC来控制其电路的工作。通过设置好NPN三极管的偏置电路使三极管工作。NPN三极管基极电压为高时,三极管导通,继电器线圈得电,从而达到控制。即当PC6=0时,NPN基极为低电平,由于NPN是高电平才导通,所以三极管不能导通,继电器线圈不能得电,所以继电器开关处于断开状态;当PC6=1时,NPN基极为高电平,NPN导通,继电器线圈得电,继电器工作,开关吸合,从而其他电路也工作。图中的D11是继电器指示灯,当继电器开启的时候指示灯亮。
3.3 LCD液晶屏显示部分
显示方式采用LCD1602液晶显示器,显示选择的模式、延时的时间和开关的状态。LCD1602是工业字符型液晶,能够同时显示16x02即32个字符。
LCD液晶屏显示部分如图5所示。
LCD1602具有读状态,写指令,读数据,写数据的操作控制,1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码。由于1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,1602通过D0~D7的8位数据端传输数据和指令。
4 系统软件设计
系统一上电,默认为设置时间,时间、模式设置好后通过判断按键来执行相应的操作。如果用户不设置时间则可手动控制继电器的开和关。系统主程序框图如图6所示。对于延时开模式和延时关模式,通过利用定时/计数器的溢出中断来实现。
本程序中需要用到的操作指令如下:
DDRC=0xFF;//LCD控制端和继电器输出控制
DDRE=0xFF;//状态指示灯
PORTE |=(1<<4);//模式一指示灯亮
PORTE&=-(1<<5);//模式二指示灯灭
write_numbmp(MODE_START_ADDR,0,voltage_model,4);//显示更新
5 结束语
未来越来越多的新技术会在自动控制,智能电器等得到广泛的应用。在时间继电器中应用单片机,具有设计简单,可靠性高,功能易扩展等优点。利用微机控制结合继电器,互联网等开发出新型电子电器,如智能洗衣机,智能电饭煲,智能空调等现代化智能电器。可以让你随心所欲设定电器开启和关闭的时间。 |