1、 引言
在电力系统中,三相交流电源发生一相或多相掉电是十分恶劣的事件,有可能对系统产生严重的影响,影响正常的生产生活,若能在掉电时及时检测到电源的跌落,并将掉电时间、上电的时间等系统的重要数据保存在由备用电池供电的RAM中,则在供电恢复后可以保证系统的继续正常工作。本文所介绍的系统就是能完成上述的各项功能。
2、 系统的总体硬件设计
以下是系统的主要硬件部分:

图 1 系统的电源
图1是给检测系统的单片机供电的电路部分的原理图,交流经过一个变比合适的变压器接给整流桥的两端,整流桥D4将交流7.5V整为直流10V左右,电容作用之一是用来滤波,保证直流电压的平稳,之二是用来储能,保证在缺相、停电后,还有足够的电能供单片机完成保存数据的工作。稳压芯片7805将直流电压稳定在5V,给各种芯片供电。
图2是三相电源掉电检测的主电路,三相电源如上图所示接成星型,三只光耦用来检测缺相情况,当三相电正常时,三只光耦互差120度交替导通,图中标注的VT端将始终保持低电平,一旦发生缺相情况,VT端将出现高电平,触发单片机的外中断,记录下停电时间。等VT端恢复低电平,单片机将检测10秒,若10秒钟完全是低电平,则认为已经来电,记录下来电时间。原边电阻用来给光耦原边限流,二极管用于给负半周电压续流。
图3是PIC单片机系统与时钟芯片DS12887以及液晶显示模块的接口电路的框图。PIC单片机管脚AD0~AD7的管脚是双向数据端口,同时连着时钟芯片DS12887和液晶的数据线。RD,CS,ALE,RW是时钟的读写控制线,E1,E2,RW是液晶的读写控制线。

图2 掉电检测电路

图3 单片机系统的框图
3、 PIC单片机、时钟芯片DS12887以及液晶模块
PIC单片机是美国Microship公司的产品,具有很高的性价比,采用类-精简指令集(RISC-like),指令高效容易学习和开发。PIC16C62是属于PIC16C6X系列8位的微控制器,具有14位字长的指令,8位字长的数据,有中断能力,对数据和指令都有直接、间接和相对寻址方式。具有较强的I/O驱动能力。PIC16C62有PORTA、PORTB、PORTC三组O/I口,PORTA是6位宽带锁存器的I/O口,PORTB是一个8位双向可编程I/O口,PORTC也是一个8位双向可编程I/O口。在这个系统中PORTC被用来与AD0~AD7相连,即用来做系统的地址数据总线,而PORTA与PORTB被用来做时钟芯片的读写和控制线,以及液晶显示模块的读写和片选线。 DS12887 是一种高性能的时钟芯片,为24 引脚DIP 封装形式。其自带晶体振荡器和
电池,在没有外部电源的情况下可工作10 年。内建128 字节RAM,其中14 字节时钟控制
寄存器,114 字节通用RAM在掉电的情况下也可以保存,因此掉电时间以及上电时间等重要数据可以保存在DS12887的通用RAM中。 DS12887 的地址/数据总线分时复用,使其与PIC系列单片机的接口相当容易。实时钟DS12887 提供给微处理器的接口信号除AD0~AD7 共8 根地址数据线外,还有ALE、 、 、 、MOT、 和IRQ( ),其中MOT 为接口方式选择信号,可选用INTEL 方式或MODTOROLA 方式。不同方式下引脚定义如表1,接口时序如图4所示。
表1 DS12887 引脚定义

对图4的时序图进行分。通常情况下,即非读非写周期中,ALE、 、 、 均为高电平,AD0-AD8 为三态。当读周期来临时, 先变低,即片选有效。接下来地址信息出现在地址数据线AD0-AD8 上,然后锁存信号线ALE变低,在ALE 变低的时刻,该地址信息被锁存。之后读信号变低电平为有效,DS12887内部RAM 所对应地址上的数据会并行出现在地址数据线上。 读信号变高的时候,数据被微控制器获得。最后,ALE、 均被恢复为高电平。写周期时序过 程与读周期类似,读者可自行分析。
液晶模块采用122 32的液晶模块,可显示7.5 2行,有两个SED1520控制器控制。SED1520液晶显示驱动器是一种点阵图形式液晶显示驱动器,它可直接与8位微处理器相连,集行、列驱动器与控制器于一体,因此使用起来十分方便,广泛引用于小规模液晶显示模块。 SED1520内部的RAM中的1位数据控制液晶屏上一个点的亮灭状态。SED1520内部的RAM容量为2560,具有16个行驱动口和61个列驱动口,因此122 32的液晶模块需要两块SED1520来控制,在控制时一定要注意是需要控制哪一块SED1520,选中相应的片选端。
此外还有一个简易键盘,来实现人机之间的界面。
4.系统的软件设计

主程序流程 中断程序流程
5.结语
这种基于单片机系统的电源调电检测系统准确、可靠。该系统具有很高的性价比,目前在生长和生活中已经广泛使用,工作正常。
参考文献:
[1] 窦振中. PIC系列单片机原理和程序设计
[2] MAXIM DS12887 REAL-TIME CLOCL DATASHEET
|