带外部运算反馈的数显触屏可调开关电源设计
2017-09-18解正坤何汶华王鹏刘伟明
解正坤,何汶华,王鹏,刘伟明
(广州市增城劲辉五金塑料厂,广东 广州 511365)
带外部运算反馈的数显触屏可调开关电源设计
解正坤,何汶华,王鹏,刘伟明
(广州市增城劲辉五金塑料厂,广东 广州 511365)
为了获得一种功率足够大而且可以编程的直流电源来满足生产实验和机电产品开发的各种要求,本文设计了一种触摸屏控制的精密数控电源,其特点是除了MCU控制单元进行电压的PID闭环调节以外,开关电路本身也设计了外部运放进行运算反馈,双闭环的电源精度更高,更加可靠。
数控可调开关电源;运算反馈;PID控制;STM32
1 概述
连续可调精密直流电源在仪器设备研发和生产实践中都被广泛用到,一般要求电压源的电流要够大(适用各种负载),电压精确度高,可操作性要好,这样就可以在各种电路实验中使用。基于这些要求,我们开发了一款数显触摸大功率精密数控电源,其中电流可以达到10A,电压0~48V可调,最大输出功率约500W,电压控制精度可达0.1V;该数控电源还可以进行时间曲线编程,使电压在设定的时间内按照线性逐渐下降或逐渐上升,极大的方便某些特殊场合应用。
2 系统架构
图1
如图1,开关电源的主控芯片为SG3525是一款非常强大的多功能电源控制IC,为了提高电压控制的精度和效率,外部电压经分压后经外部运放进行计算发出实时调压信号给SG3525的9号引脚,通过这样的组合更好的发挥了SG3525的性能;显示屏采用国内知名品牌的串口触摸屏,既可以使用TTL电平通讯,也可以使用标准RS232通讯,使用方便可靠;中央控制单元采用STM32F103RT6作为MCU。
3 数控开关电源设计
电源设计为0~48V,最大电流10A,输出功率最大可达500W,采用半桥式变压器开关电源拓扑结构进行设计;采用SG3525作为开关电源主控芯片和驱动波形发生器,SG3525使用简单、功能强大,只要配置好外围电路就可以根据需要产生PWM控制信号,同时还能限制最大占空比;使用SG3525最大的好处就是可以利用它的9号引脚作为反馈端来调节开关电源电压的输出,程控特性非常好,我们在电路设计了一个专门用来反馈的运放如图2。
图2
数控电压控制:图2中,24V输出经过R15、R16分压48×5.6/(75+5.6)=3.33V进入运放LM358反相端,而运放的同相端是主控器MCU给定,运放本身有高效的反馈能力和运算能力,组成的反相运算器将运算信号给定到SG3525的9号引脚,这样做比直接由MCU给定电压到SG3525的9号引脚效果要好很多。
SG3525工作频率:foc=1/(0.67RT + 1.3RD )CT =1/(0.67×100Ω+1.3×100K)×2.22nF≈33kHz全桥驱动电路(图3):半桥驱动采用两对三极管和变压器进行组合驱动,这种方式比单纯使用驱动芯片更加灵活,可靠性很高,每一个三极管集电极和发射极都反并联一个二极管进行保护,驱动变压器采用标准的三个绕组,匝数比为20:20:20;采用W20NB50 MOSFET管进行驱动,W20NB50工作电压最高500V,电流20A,而且开关和通断参数非常好,Trun-on Time 最大才43ns,Cross-over Time最大才63nm,根据前面的计算SG3525驱动波形设计33kHZ,完全没有问题,开关管特性非常良好。
图3
4 PID控制及主函数
中央处理器测量电源模块的输出电压经过隔离后进入MCU进行PID运算,以此发出D/A模拟量信号对开关电源模块进行信号调节,D/A模拟信号的电压给定范围为0~3.3V;反馈电压范围经过分压隔离后范围为0~3V,主函数如下:
int main(void)
{
qsize size = 0;
static u16 delay_PID,delay_Alarm,delay_Film,delay_ STOP=0;
BSP_Init(); //初始化所有的外设
delay_init(); //延时函数初始化
N V I C_P r i o r i t y G r o u p C o n f i g(N V I C_ PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
UartInit(115200); //串口初始化为115200
/*清空串口接收缓冲区*/
queue_reset(); //串口队列数据清空
ADC_Config();
DAC_Config();
while(1)
{
size = queue_find_cmd(cmd_ buffer,CMD_MAX_SIZE); //从缓冲区中获取一条指令
if(size>0) /接收到指令
{
ProcessMessage((PCTRL_MSG)cmd_ buffer, size); //指令处理
}
DisplayVoltage();
PID_Voltage(); } }
其余函数:略。电压0~48V可调,最大电流可达20A,精度可以达到0.1V。产生可编程线性变化如图4。
图4
TN86
A
1671-0711(2017)09(上)-0156-02