引言
集散控制直流电源系统是对多个直流电源既可分散控制、调节、监视管理,又可利用现代网络技术集中监视和操作,达到掌握全局控制的目的。系统要求具有较高的稳定性、可靠性和可扩展性。通常直流电源的集中监控技术不利于监控系统的智能化改进。
本文介绍的集散控制直流电源系统,直流电源由高频开关电源和铅酸免维护蓄电池组组成,高频开关电源采用全控型半导体器件IGBT及高频变压器等组成,具有效率高、体积小、重量轻及快速的动态响应,有效地提高电源的可靠性和可维护性。集中监控则采用自动化控制领域发展最快的CAN(Controller Area Network)总线技术,它是一种有效支持分布式控制和实时控制的串行通信网络,具有高性能、高可靠性以及独特的设计,被公认为是最有前途的现场总线之一。中央控制器和节点控制器采用基于LPC2478的嵌入式系统,节点控制器将各控制节点现场采集的直流电源信息和数据快速、准确、实时地通过CAN总线上传到中央控制器,同时中央控制器也可以通过各节点控制器将控制指令准确无误地发送到各直流电源,从而实现集监控、调控、保护、通信于一体的自动化监控系统。
1 系统工作原理
图1是集散控制直流电源系统的组成结构框图,虚线框中为高频开关电源,它是整个直流电源的核心部件,设计为模块化结构。图1中,高频开关电源由N+1个模块并联输出,自动均流,采用冗余设置方式,使得N≥IK/Ime,其中,IK为开关电源的额定输出电流,Ime为每个整流模块的额定输出电流。模块可带电拔插,当一个模块出现故障需要更换时,不会影响整组充电设备的正常工作。每个高频开关电源可以根据负载大小的情况,灵活配置高频开关电源模块,当N<10时,采取N+1的冗余设置方式,当N>10时,采取每10个模块配置一个冗余模块的设置方式。直流电源在正常工作情况下,高频开关电源模块与蓄电池组(GB)并联工作,高频开关电源模块除了给直流负载供电外,还对蓄电池进行浮充电。当市电断电时,高频开关电源模块停止工作,由蓄电池组给直流负载供电,维持其负载设备的正常工作。市电恢复后,高频开关电源模块重新给设备供电,并对蓄电池组进行充电,补充消耗的电量。
中央控制器作为全局控制器件,既可向各直流电源发布命令,也可监视各直流电源的工作情况,节点控制器实现对各高频开关电源及蓄电池组工作状态的采集与控制。CAN总线完成中央控制器和各高频开关电源的数据通信,实时监测单个电池及整组电池运行状态、直流系统的母线电压和对地绝缘电阻等,发送报警信息,实现电源系统的集中监控组网。
图1 集散控制直流电源系统组成原理
2 高频开关电源模块
高频开关电源模块原理框图如图2所示。采用窗口比较器实现过/欠压保护,当交流输入电压高于420V或低于340V时,过/欠压保护电路发出报警信号,切断主电路的交流输入。输入滤波器由电感、电容网络电路组成,滤除来自电网的电磁干扰。三相交流电经三相桥式整流电路,把交流电变换成脉动直流电压。
图2 高频开关电源模块方框图
经过无源功率因数校正电路,减小高频开关整流器输入电流中的谐波成分,使整流器的输入电流波形接近正弦波,提高功率因数,且无源功率因数校正不需要控制电路。直流变换器采用移相全桥ZVS-PWM变换器,由PWM集成控制器及驱动电路输出驱动脉冲去控制IGBT的导通和截止时间,调节输出电压,经高频变压器和输出滤波电路便能得到所需稳定的输出电压。输出的直流电压值,除了给定电压控制外,根据检测电路反馈的电压、电流自动调节,在情况异常时由保护电路控制,也可从中央控制器通过节点控制器来控制。由于各并联运行的电源模块的输出电压和等效内阻不可能完全一致,内阻低的模块负载过重,会造成并联失败,影响系统的可靠性。本设计采用最大电流法实现各电源模块自动均流,使设计的高频开关电源具有较高的稳压、稳流精度,且稳压、稳流自动转换,满足了蓄电池运行状态要求自动强充、均充、浮充功能。输出滤波器亦由LC组成,可滤除输出侧的尖峰和杂波等噪声电压,使输出电压对负载不产生电磁干扰。
3 监控系统设计
监控系统包含中央控制器和节点控制器。中央控制器与高频开关电源接口电路如图3所示。中央控制器由作为系统控制核心的ARM芯片LPC2478及其接口电路、人机界面和CAN总线接口电路组成,其主要功能是监视各直流电源的工作参数和工作状态,通过触摸屏设置各直流电源的工作参数,经CAN总线控制现场的节点控制器,控制直流电源运行至所设置的状态。
图3 CAN接口模块原理框图
人机界面采用专用控制器ADS7843作为触摸屏控制器,液晶显示器采用7.8英寸256色的STN-LCD显示器,为了满足中央控制器中图形界面、实时操作系统和用户程序对存储器的要求,嵌入式系统的硬件设计扩展了2MB的FlashROM和8MB的SDRAM。
中央控制器的CAN总线接口由LPC2478内部嵌入的CAN控制器、高速光耦6N137和总线收发器PCA82C250组成。
节点控制器由ARM芯片LPC2478、内部D/A、A/D模块等组成,节点控制器的CAN总线接口由LPC2478内部嵌入的CAN控制器、高速光耦6N137和总线收发器PCA82C250组成。节点控制器可以实现对系统中高频开关电源、蓄电池组参数的现场控制,完成高频开关电源输出电压、输出电流等工作参数和状态信息的采集、显示和报警;通过CAN总线向中央控制器发送这些工作参数和状态信息,由中央控制器集中监控系统中各个直流电流的工作状态;同时也可以通过CAN总线接收来自中央控制器的控制信息,经节点控制器控制直流电源运行至由中央控制器设定的工作状态,电压、电流的设置值存储于X5045的EEPROM中。
4 CAN总线驱动程序设计
系统的软件设计包含中央控制器和节点控制器的软件设计。其中基于LPC2478嵌入式平台的CAN总线的驱动程序设计是整个软件系统的关键技术之一。
CAN总线控制器的初始化程序包括设置总线波特率、设置滤波器、设置中断等过程。初始化程序流程图如图4所示。[page]
图4 CAN总线初始化程序流程图
软件设计是在μC/Linux的环境下编写应用程序和驱动程序,驱动程序加载到系统中通过设备注册实现。μC/Linux驱动程序对文件的操作通过file_operations结构体来完成,它是文件操作函数指针的集合。在设备管理中该结构体各个成员项指向的操作函数就是模块驱动程序的各个操作例程,编写驱动程序实质上就是编写该结构体中的各个函数。对不同的设备可以配备其中全部或部分的操作函数,不使用的函数指针置为NULL。CAN总线file_operations结构体为
这个结构的每一个成员的名字都对应着一个系统调用。用户进程利用系统调用,来调用自己的驱动接口,系统调用通过设备文件的主设备号找到相应的模块驱动程序,然后读取这个数据结构相应的函数指针,接着把控制权交给该函数。
在μC/Linux中,当一种设备安装到系统时必须向系统进行注册,设备注册的主要任务是把模块驱动程序加载到系统中。μC/Linux对不同的设备(如字符设备和块设备)分开进行注册管理。每个设备描述符包括2个指针:name指向设备名字符串,fops指向文件操作函数结构file_operations,该结构体中包含着指向驱动程序各个操作例程的指针。图5给出了μC/Linux字符设备注册表的示意图。
CAN字符设备的注册函数是内核函数:
register_chrdev
(MAJOR_NR,DEVICE_NAME,&Lpc2478_fops)其中,参数DEVICE_NAME表示设备名,Lpc2478_fops表示指向file_operations结构体的指针,即指向模块的驱动程序。
CAN 驱动程序的入口函数:
int_init Lpc2478_init(void)
CAN 驱动程序的退出函数
图5 Linux 字符设备注册表的示意图
void_exit Lpc2478_exit(void)
{unregister_chrdev(MAJOR_NR ,DEVICE_NAME ) ;
printk(“Lpc2478 Eixt ! ”);}
软件设计中各功能软件模块都采用中断触发方式,即通过中断服务程序完成各控制模块的功能。
5 结语
本文研究设计了一种集散控制的直流电源系统,高频开关电源采用模块化结构和N+1备份方式,以LPC2478为核心的嵌入式系统组成中央控制器,系统中各高频开关电源的现场控制也是由LPC2478为核心的嵌入式系统组成。中央控制器通过CAN总线可以实现对多个直流电源的远程集中监控,以达到对各直流电源的集中监视、操作、管理和现场电源分散控制相统一的新型控制,确保直流电源系统的安全可靠运行,提高其自动化程度。
上一篇:Cortex-M3中断服务程序设计
下一篇:基于S3C2440的数控同步现场总线与CAN总线网关的设计
推荐阅读最新更新时间:2024-03-16 13:50