微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > μC/OSⅡ的分布式应急电源控制系统设计

μC/OSⅡ的分布式应急电源控制系统设计

时间:11-28 来源:互联网 点击:

  1 引言 

  随着社会的发展,对供电可靠性的要求越来越高,一旦某些重要设施供电系统突然发生故障而中断供电,将会破坏社会的正常秩序,甚至造成重大的政治影响和经济损失。然而,电力故障突发性强,断电情况必须考虑,因此就需要做到电源的不间断,即供电线路停电时由备用电源供电。应急电源又称EPS(Emergency Power System)具有下述优点:(1)电网有电时,处于静态,无噪音;供电时,噪音小于60dB。不需排烟和防震处理,具有节能、无公害、无火灾隐患的特点;(2)自动切换,可实现无人值守,电网供电与EPS电源供电相互切换时间均为0.1~0.25s;(3)带载能力强,EPS适应于电感性电容性、及综合性负载的设备,如电梯、水泵、风机办公自动化设备、应急照明等;(4)使用可靠。主机寿命长达20年以上;(5)适应恶劣环境。可放置于地下室或配电室,也可紧靠应急负荷使用场所就地设置以减少供电线路。 

  2 工作原理 

  图1 EPS原理图

  (1)当三相市电正常时,EPS一路直接为负载供电,一路经过充电机给蓄电池组充电; 

  (2)当三相市电异常时,EPS的检测装置立即发出指令,0.1秒内由蓄电池组的直流电经过逆变装置输出三相交流电源给负载供电,供电时间为90分钟; 

  (3)EPS供电过程中,如三相市电恢复正常,EPS的检测装置立即发出指令,0.1秒内恢复到(1)的工作状态; 

  (4)EPS提供远程强制启动干接点(DC24V),如检测到DC24V电源输入,EPS会强制切换至应急输出,自动切换不起作用;无电时,EPS工作在自动切换状态。

  3 DSP硬件设计 

  本系统采用TI公司的TMS320F240型DSP器件作为主要控制芯片,该DSP芯片指令执行速度快,内嵌Flash ROM和RAM,内部的事务管理模块可以输出多路PWM波,同时内含8路10位A/D通道及大量I/O端口,因此由它来构建数字控制系统时,硬件电路大大简化。 

  以DSP芯片TMS320LF2407为核心的硬件电路设计主要包括: 

  (1)应急电源对电压的采样是通过差分电路实现的。图2示出电压采样的差分电路。对电流的采样是通过霍尔电流传感器经过滤波、电平调整后实现的。本设计中,交流量需计算其有效值,是通过对瞬时采样值的整流、滤波实现的。[2] 

  图2 电压采样的差分电路 

  (2)DSP对充电控制采用EVA模块的定时器1的PWM比较输出,对逆变控制采用EVA模块的比较单元1和比较单元2的比较输出。通过专用驱动模块2SD315A为核心元件的驱动电 

  路来驱动IGBT。2SD315A驱动模块具有结构紧凑,使用简单,可靠,隔离电压高等优点。用两个2SD315A模块来驱动主电路的H桥,只需外加很少的外部元件。在连接驱动电路与IGBT时,要注意连线不能太长,最好是小于10cm,否则会使IGBT的驱动信号受到较大干扰,造成IGBT的误触发。此外,要根据IGBT的特性参数,选择合适的集射极保护电压及门极驱动电阻。 

  (3)DSP通过通用I/O口采集和输出各种信号。消防、开机、强迫逆变、停止、备用等输入信号,通过光电隔离电路送至I/O口。继电器、接触器的控制信号由I/O口经辅助继电器输出。 

  (4)该应急电源对电池过压欠压、

  逆变器过压、逆变器过流、IGBT故障等严重故障,专门设计了硬件锁死电路,系统上电时,其被清零,故障到来时,将其置位,同时封锁PWM输出,引发故障中断,在故障中断程序中检测故障类型。对一般故障则采用查询方式。 

  (5)DSP将采样电路采集的ic,UH,ib,ub等参数以及监测到的故障类型、系统的工作状态通过CAN总线输出至上位监控系统。 

  4 软件设计 

  μC/OS-II是一个实时操作系统的内核,它的大部分源代码都是使用ANSI C写的,有很强的移植性。它的内核功能丰富,具有可裁减性,用户可根据自身需要来配置编译条件,将实时内核裁剪到满足自己功能的最小状态。 

  在本系统中,有针对的编写了uC/OS- II移植程序及硬件电路的驱动程序。应用程序从函数main()开始,main()内容如下: 

void main(void){ 
SysInit ();/*系统初始化*/ 
OSInit();/*初始化u C/OS- II */ 
OSTaskCreate(TaskStart, ( void*)0, (void*)TaskStk[0][0],5);/*建立起始任务*/ 
OSStart();/*开始多任务调度*/ 
} 

  其中,SysInit()对系统的初始化工作主要包括:建立相关参数和变量,设置各种中断,以及对各器件进行初始化,OSInit()用于对uC/Os- II操作系统进行初始化。起始任务TaskStart ()是一个建立其它任务的任务。接着,建立邮箱用于任务间的通信,再接下来,用OSTaskCreate()函数建立不同功能的任务:SCI通信任务SCIComm_Task()、LCD液晶屏刷新任务LCD_Fresh_Task()、脉宽计算任务PW_Calculate_Task()、逆变器输出电压采集任务Vo_Sample_Task()、键盘扫描任务Key_Scan_Task()、时钟更新任务Time_Fresh_Task()、市电电压采集以及监测任务Vi_Sample_Task()。任务优先级的确定原则是工作频率越高,任务的优先级越高。任务之间的通信是通过发送或接受消息、信号或数据队列来实现的。 

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top