- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
兰州重离子加速器小功率直流电源数字化方案
摘要:介绍了一种用于兰州重离子加速器(HIRFL)的由现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)和单片机(MCU)组合的直流电源数字控制系统,该系统充分利用了各元件优点,并使其协调工作实现电源状态检测、开关机控制、电流质量调节和CAN总线通信。实验结果表明该控制系统稳定可靠,具有通用性。
关键词:数字电源;现场可编程门阵列;复杂可编程逻辑器件;单片机
1 引言
直流电源技术的发展不仅要求电源具有高精度、高稳定度,还要求其响应速度快、运行可靠、可远程控制、人机界面良好、能实现运行状态实时监测反馈等功能。对于加速器用励磁电源,对以上要求更加突出。数字化控制技术能迎合电源技术的发展需求,且价格低、可复用、调试简单、设计灵活、开发周期短,是新一代电源控制发展的趋势。FPGA,CPLD和MCU因其各具优点,在电源控制中被广泛应用。这里采用FPGA,CPLD和MCU与外围电路的组合,搭建了一种新的电源控制系统,并在一台HIRFL±15 A/15 V DC/DC电源实验平台上进行验证,控制结果达到了电源设计要求。
2 总体方案设计
±15 A/15 V DC/DC电源主电路采用H桥拓扑结构,如图1所示。电源开关管为SK85MH10T型MOSFET模块,其控制采用脉宽调制(PWM)方
式。当输出正极性电流时开关管V1,V4导通,V2,V3关断,反之亦然。
电源控制系统包括状态板、调节板及电源中的传感器继电器和MOSFET驱动电路。其中,状态板用于实现对电源的状态监测和继电保护,控制对象为电源继电器组,核心控制器件为C8051F系列MCUMAXII系列EPM1270 CPLD;调节板用于实现对输出电流的PID-PWM,以响应电流给定并提高输出电流稳定度,控制对象为H桥MOSFET的驱动电路,核心控制器件为Cyclone II系列EP2C35F FPGA。控制系统结构如图2所示。图中①为过流监测传感器信号;②为过压监测传感器信号;③为过流故障;④为过压故障;⑤为过热故障;⑥为继电器控制信号;⑦为MOSFET控制信号;⑧为电流调节传感器信号;⑨为PWM使能信号。该控制系统通过CAN总线与上位机通信,用以实现计算机远程控制。
3 状态板程序设计
3.1 基于C8051F的电源监测软件设计
C8051F MCU是完全集成的混合信号系统级芯片,具有与MCS-51完全兼容的指令内核,具备控制系统所需的模拟和数字外设,包括看门狗、ADC、电压电流窗口比较器、定时器等,具备CAN总线接口。该系统状态板中C8051F MCU用于实现以下功能:①实时监测电路的电流电压,向CPLD提供电源过压/过流故障信息;②接收CPLD的电源状态变化,并通过CAN总线通信向上反馈到上位机。C8051F软件控制流程如图3所示。
状态板上电后,首先初始化MCU,包括:①定义MCU时钟源;②定义MCU中断源;③写定时器相关寄存器,规定计数周期(片内ADC采样周期)和计数方式(循环计数);④初始化ADC控制寄存器和窗口比较寄存器,规定电流/电压采样上限;⑤初始化输入输出端口,定义其P1口为模拟量输入端口,用于向片内ADC输入电流/电压模拟值,P2口为数字输入端口,用于接收来自CPLD的电源状态量,P3口为数字输出端口,用于向CPLD输出过压/过流信息;⑥定义CAN总线相关寄存器。
3.2 基于CPLD的继电保护程序设计
该电源涉及到的故障包括过压、过流、过热和负载故障4种。其中过压、过流故障由C8051F送入CPLD,过热故障由附于MOSFET上的温度传感器送入。CPLD主要实现:①故障锁存,并在故障时控制继电器自动分闸;②响应电源远程开/关机操作;③向上位机返回电源状态变化。因此,CPLD硬件程序主要包括故障处理、继电器控制和电源状态变化监测与返回3个模块。
当有故障送入CPLD时,程序自动将故障锁存,同时送出有效故障信号用于控制继电器分闸。当电源状态发生变化时,CPLD将送出一个高电平给MCU中断信号,提醒MCU执行CAN总线发送程序,向上位机传送当前的电源状态,电源状态包括被锁存的故障信号送入和电源的开/关机转换信息,为1个字节的二进制数,表1为电源状态表。
[p]
4 调节板硬件程序设计
FPGA是数字电源控制系统中的核心器件,用于实现电流的PID-PWM,决定了电源输出电流质量。图4为设计的FPGA硬件程序模块结构。
4.1 PID计算模块硬件程序设计
该设计采用增量型PID控制,即:
式中:s(k)为k时刻AD电流采样值;p(k)为电流给定值;e(k)为电流偏差;Kp,Ki,Kd分别为比例、积分、微分系数;△u(k)为PID变化量;u(k)为PID调节器计算结果。
上式中3个式子由硬件程序中偏差计算、PID累加和△PID计算子模块实现,如图5所示。
在PID模块中引入了两个调节参数,即:积分项上限和PID变化量上限,积分项上限用于防止积分饱和,实现积分分离;PID变化量上限用于限制PID跟踪速度,从而避免超调。这两个参数由用户从CAN总线由上位机输入。
为适应电源调试的需要,该系统设计了开环、P调节、PI调节和PID调节4种调节方式。在P调节时,忽略积分项和微分项;PI调节时,忽略积分项;开环时,不进行PID调节。为保证计算速度,PID调节器采用流水线设计,3个子模块依次执行。同时,为避免模块计算中的中间结果被带入下一个模块,引起计算结果干扰,在各模块中加入了滤波程序。经过仿真,3个模块可实现预定计算功能。
4.2 PWM硬件程序设计
PID计算数值经变换后得到PWM脉宽量,送入PWM波形发生模块。当PWM计数器计数小于计算得PWM脉宽量时,输出低电平;反之输出高电平。该控制系统使用15位PWM计数器循环计数,计数时钟系统频率为50MHz,则PWM输出波形频率fs=1.526kHz。设计时将V4导通角滞后V1180°(电流为正极性时),负极性时V3滞后V2180°,从而实现桥口输出波形倍频,图6为PWM输出波形。故H桥桥口输出的波形频率为3.052 kHz。
PWM使能条件:①状态板无故障送入,状态板有使能信号送入调节板FPGA;②电源收到CAN总线发来的电源开机命令。使能时PWM开始计数,产生PWM波形,否则波形封锁,恒输出低电平。
5 CAN总线通讯网络
该设计使用Basic CAN协议,采用11位识别码。电源状态板和调节板分别作为CAN总线两个独立节点,但共用同一识别码(电源编号),故理论上一台上位机最多控制2 048台电源,可满足需求。图7为CAN总线网络。在状态板中,MCU C8051F自带CAN控制器,MCU直接或通过索引方式访问CAN寄存器,实现CAN总线收发和MCU与CAN控制FIFO的数据交换。在调节板中,采用专用CAN控制器芯片SJA1000来通讯,编写基于FPGA的SJA1000驱动程序来接收SJA1000中断信号和实现FPGA访问SJA1000寄存器,实现数据收发。SJA1000驱动程序包括初始化、接收、发送、故障处理和溢出处理等5个子模块。CAN通信中波特率均为50 kbps,可实现最远1.3 km的有效通讯。
6 实验
将该电源数字控制方案用于±15A/15 V单H桥DC/DC电源实验平台,经调试输出电流达到预期的±15 A要求。测试电源输出电流稳定度,负载采用1.25 Ω阻性负载,加电流6.5 A,用7081数字电压表测量反馈电阻两端电压U,如图8所示。N为采样次数(每4 s采样一次,共采样1 000次),电源稳定度可达6×10-4,达到设计要求。
7 结论
状态板加调节板的设计可有效分散危险,防止单一控制芯片失效导致电源失控,提高了电源可靠性;基于FPGA硬件程序的电源PID-PWM方式,相比嵌入式软件实现方式,可防止因软件执行中中断响应时间不可控导致的调节实时性问题,增加电流跟随精度;设计更加灵活,占用资源少,相对基于FPGA的软核嵌入式软件实现方式,该设计可减少FPGA资源占用量至原来的1/6左右。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...