摘要:针对传统应急电源控制系统的局限性,结合DSP的资源优势以及源代码公开的μC/OSII实时操作系统内核的强健性,设计了基于DSP+μC/OS-Ⅱ的应急电源控制系统。来进一步满足应急电源高性能、高可靠性的要求。
ABSTRACT: Aiming at the limitations of the traditional emergency power system, combining the resource superiority of DSP and the real-time feature ofμC/OS-Ⅱ,the new system based on DSP and μC/OS-Ⅱ is designed in this paper. Consequently, further meeting the demand of high quality and reliability to EPS.
关键词: DSP、μC/OS-Ⅱ、应急电源
Keywords: DSP、μC/OS-Ⅱ、Emergency power system
1 引言
随着社会的发展,对供电可靠性的要求越来越高,一旦某些重要设施供电系统突然发生故障而中断供电,将会破坏社会的正常秩序,甚至造成重大的政治影响和经济损失。然而,电力故障突发性强,断电情况必须考虑,因此就需要做到电源的不间断,即供电线路停电时由备用电源供电。应急电源又称EPS(Emergency Power System)具有下述优点:(1)电网有电时,处于静态,无噪音;供电时,噪音小于60dB。不需排烟和防震处理,具有节能、无公害、无火灾隐患的特点;(2)自动切换,可实现无人值守,电网供电与EPS电源供电相互切换时间均为0.1~0.25s;(3)带载能力强,EPS适应于电感性电容性、及综合性负载的设备,如电梯、水泵、风机办公自动化设备、应急照明等;(4)使用可靠。主机寿命长达20年以上;(5)适应恶劣环境。可放置于地下室或配电室,也可紧靠应急负荷使用场所就地设置以减少供电线路。
2 工作原理
ABSTRACT: Aiming at the limitations of the traditional emergency power system, combining the resource superiority of DSP and the real-time feature ofμC/OS-Ⅱ,the new system based on DSP and μC/OS-Ⅱ is designed in this paper. Consequently, further meeting the demand of high quality and reliability to EPS.
关键词: DSP、μC/OS-Ⅱ、应急电源
Keywords: DSP、μC/OS-Ⅱ、Emergency power system
1 引言
随着社会的发展,对供电可靠性的要求越来越高,一旦某些重要设施供电系统突然发生故障而中断供电,将会破坏社会的正常秩序,甚至造成重大的政治影响和经济损失。然而,电力故障突发性强,断电情况必须考虑,因此就需要做到电源的不间断,即供电线路停电时由备用电源供电。应急电源又称EPS(Emergency Power System)具有下述优点:(1)电网有电时,处于静态,无噪音;供电时,噪音小于60dB。不需排烟和防震处理,具有节能、无公害、无火灾隐患的特点;(2)自动切换,可实现无人值守,电网供电与EPS电源供电相互切换时间均为0.1~0.25s;(3)带载能力强,EPS适应于电感性电容性、及综合性负载的设备,如电梯、水泵、风机办公自动化设备、应急照明等;(4)使用可靠。主机寿命长达20年以上;(5)适应恶劣环境。可放置于地下室或配电室,也可紧靠应急负荷使用场所就地设置以减少供电线路。
2 工作原理
(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()。任务优先级的确定原则是工作频率越高,任务的优先级越高。任务之间的通信是通过发送或接受消息、信号或数据队列来实现的。
另外,uC/OS- II在F2407上的移植和配置的方法如下:
(1)在OS_ CPU.H中定义相关的宏,声明能够识别的数据类型和堆栈增长方向。OS_ CPU C.C中定义以下6个函数:OSTaskStklnit ( ) 、OSTaskCreateHook()、OSTaskSwHOok()、OST&W_lefook()、OSTaskStatHook()、OST3meT5ckHook()。实际上真正需要定义的只有OSTaskStklnit(),其余5个只需声明,不一定要有实际内容,这5个函数都是需要由用户定义的接口函数。
(2)在OS_CPU_A.ASM中修改以下几个汇编函数:OSStartHighRdy、OSCtxSw, OS1ntCtxSw,、OSTickISR。OSStarthighRdy的功能是运行优先级最高的就绪任务,该函数由OSStartp函数调用,OSStart()的调用是建立在OSInit()的调用并且至少已经建立一个任务的墓础上的;OSCtxSw是一个任务级的任务切换函数,该函数在任务中调用;OSIntCtxSw是一个中断级的任务切换函数;OSCtxSw为时钟中断服务函数,时钟中断程序负责处理所有与定时相关的工作,如任务的延时、等待等,在时钟中断中将查询处于等待状态的任务,判断是否延时结束,则将重新进行任务调度。
(3)在主头文件INCLUDES.H中增加OS_CPU.H , OS_CPU_C.C和OS_ CPU_A.ASM。因为INCLUDES.H是主头文件,它将被所有后级名为.C的文件所包含。在移植时,需要对该文件进行改写,在文件末尾增加以下头文件:
#include
#include
(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()。任务优先级的确定原则是工作频率越高,任务的优先级越高。任务之间的通信是通过发送或接受消息、信号或数据队列来实现的。
另外,uC/OS- II在F2407上的移植和配置的方法如下:
(1)在OS_ CPU.H中定义相关的宏,声明能够识别的数据类型和堆栈增长方向。OS_ CPU C.C中定义以下6个函数:OSTaskStklnit ( ) 、OSTaskCreateHook()、OSTaskSwHOok()、OST&W_lefook()、OSTaskStatHook()、OST3meT5ckHook()。实际上真正需要定义的只有OSTaskStklnit(),其余5个只需声明,不一定要有实际内容,这5个函数都是需要由用户定义的接口函数。
(2)在OS_CPU_A.ASM中修改以下几个汇编函数:OSStartHighRdy、OSCtxSw, OS1ntCtxSw,、OSTickISR。OSStarthighRdy的功能是运行优先级最高的就绪任务,该函数由OSStartp函数调用,OSStart()的调用是建立在OSInit()的调用并且至少已经建立一个任务的墓础上的;OSCtxSw是一个任务级的任务切换函数,该函数在任务中调用;OSIntCtxSw是一个中断级的任务切换函数;OSCtxSw为时钟中断服务函数,时钟中断程序负责处理所有与定时相关的工作,如任务的延时、等待等,在时钟中断中将查询处于等待状态的任务,判断是否延时结束,则将重新进行任务调度。
(3)在主头文件INCLUDES.H中增加OS_CPU.H , OS_CPU_C.C和OS_ CPU_A.ASM。因为INCLUDES.H是主头文件,它将被所有后级名为.C的文件所包含。在移植时,需要对该文件进行改写,在文件末尾增加以下头文件:
#include
#include
#include
(4)在配置文件OS_CFG.H中,定义最大事件数,最多内存分块数,最多消息队列数,最多任务数,最低任务优先级,是否允许信号使能,是否允许邮箱使能,是否允许消息队列使能,时钟节拍数以及其他的一些配置。通过修改这些设置,可对uC/OS- II进行裁剪,使之适应本系统的具体需要。
系统采用中断方式接收上位机的指令,采用查询方式发送。当上位机发出读数、启动或停止操作命令后,嵌入式系统将产生中断,并发送应答信号,然后根据收到的命令类型进行相应操作。
5 功率变换算法
本系统脉冲宽度计算采用规则采样法,计算公式如式(1):
(1)
其中Usm为正弦波的幅值,Utm为三角波的幅值,N为载波比。[1]
交变电源的高次谐波幅值为:
(2)
由(2)式可以看出N越大,高次谐波幅值越小。基于IGBT的器件特性,N不能无限大,取N=400, 则高次谐波幅值Um(n)很容易被滤波器滤去。考虑到处于开关工作状态中的IGBT管从开通转为截止状态时,容易产生较长的“拖尾”现象,并进而导致IGBT因瞬时功耗偏大而影响EPS逆变器的可靠性,因此,在用公式(1)计算方波的脉宽时,,在系统中加入了反馈环节,把实际输出的电压经采样送回控制器,用PI调节消除系统的静态误差,增加系统的稳定性。
6 结论
本文结合TMS320LF2407芯片和μC/OS-II实时操作系统内核的优点,设计出基于DSP和μC/OS-II的应急电源控制系统。通过在DSP上移植μC/OS-II,系统设计的周期得以减少,软件的可读性得以提高,从而节省了系统开发和维护的费用。目前,该系统工程样机运行平稳可靠。
(4)在配置文件OS_CFG.H中,定义最大事件数,最多内存分块数,最多消息队列数,最多任务数,最低任务优先级,是否允许信号使能,是否允许邮箱使能,是否允许消息队列使能,时钟节拍数以及其他的一些配置。通过修改这些设置,可对uC/OS- II进行裁剪,使之适应本系统的具体需要。
系统采用中断方式接收上位机的指令,采用查询方式发送。当上位机发出读数、启动或停止操作命令后,嵌入式系统将产生中断,并发送应答信号,然后根据收到的命令类型进行相应操作。
5 功率变换算法
本系统脉冲宽度计算采用规则采样法,计算公式如式(1):
(1)
其中Usm为正弦波的幅值,Utm为三角波的幅值,N为载波比。[1]
交变电源的高次谐波幅值为:
(2)
由(2)式可以看出N越大,高次谐波幅值越小。基于IGBT的器件特性,N不能无限大,取N=400, 则高次谐波幅值Um(n)很容易被滤波器滤去。考虑到处于开关工作状态中的IGBT管从开通转为截止状态时,容易产生较长的“拖尾”现象,并进而导致IGBT因瞬时功耗偏大而影响EPS逆变器的可靠性,因此,在用公式(1)计算方波的脉宽时,,在系统中加入了反馈环节,把实际输出的电压经采样送回控制器,用PI调节消除系统的静态误差,增加系统的稳定性。
6 结论
本文结合TMS320LF2407芯片和μC/OS-II实时操作系统内核的优点,设计出基于DSP和μC/OS-II的应急电源控制系统。通过在DSP上移植μC/OS-II,系统设计的周期得以减少,软件的可读性得以提高,从而节省了系统开发和维护的费用。目前,该系统工程样机运行平稳可靠。