武彦飞,童峥嵘,邢文华,王俊峰

(天津理工大学 计算机与通信工程学院,天津 300384)

摘要:设计了一种以STC单片机为核心的双电源自动转换开关控制器,具有自动检测、诊断和控制的功能。系统电源出现故障时,短时间内能够自动从故障电源切换到备用电源供电。给出了该控制器的硬件及软件设计方案。该控制器切换时间短且抗干扰性强,具有较高的可靠性。

关键词:单片机;双电源;控制器;自动切换;抗干扰

0引言

随着社会科技的发展与进步,生活水平的日益提高,人们对电的依赖性逐渐加强,电力系统的连续可靠性成为保障正常生活的重要指标。特别是一些重要用电场所(医院、机场、大型生产线、银行等),电力系统出现故障时,如果不能及时供电,将会带来巨大损失[1]。自动转换开关(Automatic Transfer Switching Equipment,ATSE)便是为了确保供电连续而设计的。ATSE 由开关主体和其他必需的电器组成,设有监测电源电路对电源进行故障检测,并且能够自动将一个或几个负载电路从一个电源转换至另一个电源[2]。1992年在上海金茂大厦的设计中我国首次引入ATSE,此后在我国的建筑工程等领域,这种开关装置得到了普遍应用[3]。国际电工委员会标准将ATSE分为CB级和PC级。CB级ATSE结构复杂、体积大、切换时间长且可靠性较差,故随着ATSE技术的不断进步,其应用领域逐渐缩小。PC级ATSE结构简单、体积小、切换时间短且安全可靠,近年来逐渐占据了ATSE的主流市场[4]。

本文设计了一种以STC单片机为控制核心的双电源自动转换开关控制器。系统设有常用与备用两个电源,正常情况下常用电源供电;设有电压检测模块对常用、备用电源电压进行实时监测;设有单片机控制模块对采集电压进行处理与判断,并根据判断结果发出相应控制命令;设有电机与电闸切换模块响应单片机的控制命令,快速进行电源切换动作。当系统判断常用电源出现故障(如欠压、过压、断相)时,各模块协同运作,自动切换到备用电源供电;当系统判断常用电源恢复正常时,再自动切换回常用电源供电。STC单片机具有体积小、数据处理速度快、抗干扰性强和功耗低的特点[3],保障该控制器的有效性。相较于传统的以单片机为基础的双电源自动转换开关控制器,为了提高本控制器的抗干扰能力,在电压检测电路中加入光电隔离电路和滤波电路,有效隔离环境、电磁场等因素的干扰;软件采用C语言及其内核函数编程,语法灵活;用内部逻辑关系代替实际的硬件连接,避免大量中间连线的干扰,保障该控制器的可靠性。

1系统总体设计

系统主要由电压检测模块(常用电检测和备用电检测)、电机模块、电闸模块、按键控制模块以及故障报警模块组成,结构框图如图1所示。电源模块在常用电源与备用电源之间选择一路为单片机供电[5];电压检测模块

对常用电源与备用电源各个相的电压进行检测,检测结果作为采样值送入单片机。单片机对接收到的信号进行处理与判断,当检测出常用电源有任意一相电压信号不正常时,单片机对继电器与电机发出控制命令,使电机反转,备用电闸闭合,控制面板上备用电源指示灯亮,备用电源供电;当检测出常用电源恢复正常后,单片机对继电器与电机发出控制命令,使电机正转,备用电闸断开,常用电闸闭合,从备用电源切换到常用电源供电,控制面板上常用电源指示灯亮。同时设计故障报警模块和按键控制模块,便于及时进行故障检修以及人工切换电源。

系统实现的主要功能如表1所示。状态1表示继电器控制电机,保持常用电闸闭合,系统使用常用电源。状态2表示继电器控制电机,使备用电闸闭合,系统使用备用电源,系统向外报警,常用电故障。状态3表示继电器控制电机,保持常用电闸闭合,系统使用常用电源,系统向外报警,备用电源故障。状态4表示系统不工作。

2硬件设计

2.1实时电压检测

电压检测电路对常用电源与备用电源输入的三相交流电压(NA、NB、NC)进行检测,系统采集三相电压值作为常用电源与备用电源正常的标志。当检测到其中任何一相电压不正常时,表明电源发生故障。通过STC204D2单片机A/D模块编程把所采集到的信号模拟量转换为数字量,判断常用电源是否供电正常,进而控制继电器,驱动电机切换电源。在电压信号检测电路中加入光电耦合电路和滤波电路,增强控制器硬件抗干扰能力。

STC204D2单片机内部A/D转换采用均方根算法,电压的公式可以表示为:

式中:U为模拟量转换为数字量的电压值;T为采样时间;uL(t)为采样电压瞬时值。

由于采集到的都是不连续的点,所以将公式离散后进行数字化。离散后的公式为:

式中:N为每个周期的采样点个数;uLj为第j个电压采样值。

常用电源火线NA作为电源部分为系统供电,如图2所示。经过变压器后输出12 V交流电,在R2与R3之间进行分压。变压器输出为正电压时,NA点为正常分压;变压器输出为负电压时,由于二极管D1的钳位电压作用,NA将固定在-0.7 V。最终将检测值输出到单片机A14口。系统采集NA的值作为常用电正常的标志之一。

对图2电路进行仿真,NA点输出波形如图3所示。输入为220 V 50 Hz交流电,测得NA点电压值约为1.94 V。

常用电火线NB与NC一同检测,如图4所示。NB信号经过R4、R5、R6分压,经过第一个光电耦合器U1输出,作为第二个光电耦合器U2的集电极输入。其中C4的作用是使第二个光电耦合器输入电压稳定,C5与R10的作用是将信号转变为高电平输出给单片机。NB与NC间存在相位差,同时有电时NBC处能够检测到直流信号,最终输出给单片机A13口。NBC电压作为常用电的标志之一。

对图4电路进行仿真,第一个光电耦合器输出NB点与NBC点的输出波形如图5。第一个光电耦合器导通,输出电压降低,为C4充电,两个光电耦合器依次导通,为NBC逐渐充到高电平的电压,输入为220 V 50 Hz交流电,仿真得到NBC点电压值约为4.3 V。检测时间为0.2 s。

2.2常用、备用电源切换的硬件实现

系统存在常用、备用两路电源,各由一个电闸控制。两个电闸间设计一个由电机控制的切换装置,电机正转时, 图6电机控制电闸示意图

常用电闸闭合,常用电源供电。电机反转时,备用电闸闭合,备用电源供电,如图6。

单片机通过cont0、cont1、cont2三个端口控制继电器J3、J1、J2,实现电机供电选择、电机旋转方向选择的功能[6],最终控制电机进行常用、备用电源切换,如图7。cont2驱动J2在常用电与备用电之间选择一路电为电机供电;cont0驱动J3控制电机的正转与反转。若J2直接同时接入常用电与备用电,则切换时电流较大,容易产生火花,比较危险,故设计cont1驱动J1控制备用电的接入,在J2接入备用电之前对备用电进行断开处理,仅当常用电不正常需要备用电时再去接通。

3软件设计

软件设计部分包括显示程序与控制程序。显示程序用来显示检测到的实时电压值,供人工查询;控制程序用来实现单片机对继电器与电机的控制,完成常用、备用电源之间的转换。图8为控制程序流程图。软件程序采用C语言及其内部特定的内核函数编写,提高了程序运行效率;采用“指令冗余”技术,多编写单字节指令,在双字节、三字节指令后面加两条单字节指令NOP,增强了控制器软件抗干扰能力[7]。

首先,对单片机以及继电器进行初始化设置。然后,对常用电源电压值进行判断。如果常用电源三相电压值均正常,则继续对备用电源输入电压值进行判断:备用电源正常,重新初始化进行新一轮判断;备用电源不正常,则备用报警,持续检测备用电源直至其正常为止。如果常用电源有任一相电压不正常,则常用报警,备用合闸,使备用电源供电,之后持续对常用电源进行检测直至其恢复正常,备用断闸,常用合闸,常用电源重新供电,初始化进行新一轮判断。

系统软件与硬件相结合,经过调试后,能够使单片机双电源自动切换开关控制器正常运行,完成电源切换的功能。

对控制器进行测试,测试内容如下:

测试条件:常用电正常,然后断路(NA、NB、NC全为0 V),备用电正常。

测试结果:常用报警,备用电合闸,由备用电供电,切换时间约1 s。

结果分析:在信号采集阶段,图4中NB、NC经两个光电耦合在NBC处得到稳定电压值约用时0.2 s,电闸动作0.8 s。

4结论

本文设计了一种以单片机为核心的双电源自动转换开关控制器,并对其硬件与软件设计进行了深入讨论。该控制器的电压检测模块能够实时检测常用、备用电源的供电状况;系统能够自动判断电源出现的各种故障(如断相、欠压、过压等),并快速进行电源切换;控制面板能够显示当前供电状态供人工查询。与此同时,系统信号采集采用均方根算法,保证了数据的精确性与可靠性;软件编程采用C语言,语法灵活、运行速度快、效率高;在系统的硬件与软件设计中均采取了抗干扰措施,显著提高了控制器的可靠性。

参考文献

[1] 王舜尧,姚建军,王汝文.一种多功能双电源转换智能控制器[J].低压电器,2002(4) : 2931.

[2] GB/T14048.112008.低压开关设备和控制设备[S].2008.

[3] 陈众励.ATSE应用中需关注的几个问题[J].电气应用,2006(5):155157.

[4] 康洪富,张兴波.基于STC系列单片机的智能温度控制器设计[J].电子技术应用,2013,39(5):8688.

[5] 赵荣康.智能型双电源开关控制器的设计 [J].微型机与应用,2010,29(15):2224.

[6] 苏和,时述有.SSR控制的电动机正反转电路设计[J].电子技术应用,2009,35(12):6566.

[7] 杨开宇,柯慧,高印寒,等.智能压装力单片机测控系统的抗干扰设计[J].计算机测量与控制,2013,21(11):29262928.

单片机c语言双电源程序,基于单片机的双电源自动切换开关控制器相关推荐

  1. 基于单片机c语言的豆浆机,基于单片机的智能豆浆机控制系统设计(附实物图,电路原理图,程序)...

    基于单片机的智能豆浆机控制系统设计(附实物图,电路原理图,程序)(任务书,开题报告,中期检查表,毕业论文11800字) 摘要 由于市面上的豆浆机不具有长时间保温的功能,打浆完成后残渣很多,而且打浆用时 ...

  2. msp430单片机c语言应用程序,MSP430单片机C语言应用程序设计实例精讲

    本书首先介绍了C语言的基本知识,使读者能使用C语言进行程序设计:然后介绍了30个开发例子.全书主要通过实例的形式来介绍MSP430单片机在不同领域中的应用,从而使读者掌握MSP430单片机开发的流程. ...

  3. 单片机c语言时钟设计,基于单片机的数字时钟C语言设计.pdf

    第 2O卷第 6期 北华航天工业学 院学报 Vo1.2O No.6 2010年 l2月 JournalofNorthChinaInstituteofAerospaceEngineering Dec.2 ...

  4. 51单片机c语言计数程序,51单片机INTOINT1中断计数c语言源程序.doc

    单片机C语言程序设计:INT0 中断计数 来源: \t "/jichuzhishi/mcu/program/2013-06-27/_blank" 21ic?作者: 关键字: \t ...

  5. 基于单片机c语言的豆浆机,基于单片机的全自动豆浆机控制系统设计.doc

    论文题目: 基于单片机的全自动豆浆机控制系统设计 摘 要 全自动豆浆机基本工作过程是将事先泡好的大豆放入豆浆机内,并加入适量冷水后将电热管通电加热至80°C,粉碎电机通电工作.进行磨豆浆期间断续工作三 ...

  6. 51单片机c语言复位程序,51单片机如何实现软件复位系统(C语言),谢谢

    满意答案 waterMM 推荐于 2017.09.02 采纳率:57%    等级:13 已帮助:6010人 单片机实现软件复位(软复位)的方法及讨论 单片机实现软件复位(软复位)的方法及讨论 (天堂 ...

  7. 单片机C语言人数统计,基于单片机的人数统计系统设计.doc

    毕业论文 (此文档为word格式,下载后您可任意编辑修改!) 本科毕业论文(设计) 题 目:基于单片机的人数统计系统 摘要 本文设计了一个基于单片机的人数统计系统,他可以通过光电开关统计教室的人数,并 ...

  8. C语言频率计程序,基于单片机的频率计的C语言源代码

    RCAP2L=(65536-47850)%256; ET2=1; //开定时器2中断 EA=1; //开总中断 TR2=1; } void display() { uchar i; fre=(T1co ...

  9. 51单片机c语言定时器程序,51单片机定时器设置入门与程序解析

    89C51单片机有两个计数器T0和T1,每个计数器都是由两个8位的RAM 单元组成的,即每个计数器都是16 位的计数器,最大的计数容量是216=65536,记住是从0-65535. 其次.提供给定时器 ...

  10. 单片机c语言警报程序,51单片机产生“嘀、嘀、……”报警声

    生活中我们常常到各种各样的报警声,例如"嘀.嘀.-"就是常见的一种声音报警声,但对于这种报警声,嘀0.2秒钟,然后断0.2秒钟,如此循环下去,假设嘀声的频率为1KHz,则报警声时序 ...

最新文章

  1. 设计模式之迭代器模式(Iterator)摘录
  2. 反馈页面设计_获得设计反馈的艺术
  3. php 显示图片,php随机显示图片的简单示例
  4. 日志不说谎--Asp.net的生命周期
  5. nginx源码阅读 ---- Event模块和配置的初始化
  6. 弱电工程综合布线施工过程控制
  7. SpringBoot错误处理原理及定制错误页面及错误数据
  8. 【工具推荐】SSH客户端工具推荐
  9. 2020李宏毅学习笔记——14.Convolution Netural Network
  10. VideoShow -视频编辑 v8.8.4rc (更新版)
  11. 阿里云RDS数据库与自建数据库做主从同步
  12. Win10自带的录屏功能怎么用?
  13. 安卓、苹果app_小程序——电商系统(开源免费)
  14. 深入浅出DDR系列(一)--DDR原理篇
  15. php中getopt函数的使用
  16. 插值、拟合、线性和非线性的区别
  17. 2020-12-16 今日学习 arraycopy
  18. 人民币是升值还是贬值
  19. vue父子组件之间的传值,及互相调用父子组件之间的方法
  20. 云计算:云应用是什么?

热门文章

  1. java中utf8转成gbk,java中GBK转UTF-8乱码的解决方法
  2. Python神经网络模型和预测
  3. Java设计模式(二)回调模式
  4. 树莓派:树莓派的各个引脚
  5. sql server 2008 的数据类型大全
  6. Winform实现读写IC卡Demo源码含注释
  7. 2019APMCM亚太数学建模题目
  8. c语言get获取数组参数,C语言访问数组元素
  9. chrome 浏览器中印象笔记·剪藏插件无法登陆问题
  10. 平面设计中经常使用的构图技巧有哪些