基于ARM与PID算法的开关电源控制系统
采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在惯性环节上时,其效果基本相同。PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲列来代替正弦波或其他所需要的波形,并按照一定的规则对各个脉冲的宽度进行调制。
在本系统中,PWM波形由中央处理器S3C4480的时钟TIMER0 输出口T0UTO输出。由于要求输出频率30kHz的PWM波,且精度在千分之一,所以通过设置TCFGO和TCFGl寄存器的设置,将4BIT分频器设置为O.5,预定标寄存器设置为l,计数比较寄存器TCNTB0设置为1000,这样,在S3C4480主频于66MHz时,TOUT0输出的PWM波频率为30kHz。当TIMER0 开始计时后,每次TCNTB0的值与定时器的向下计数器值相同时,定时器控制PWM波电平改变。使得修改TC-NTB0的值可以控制PWM波的占空比,增加或者减少1,则PWM输出占空比增加或者减少千分之一,从而达到千分之一精度。图2为输出的PWM波形图,我们可以看出,通过专用的定时器输出口 TOUTO输出的PWM波形,波形很好,经过测试,上升沿与下降沿均在ns级。PID算法与软件流程
3.1主程序软件流程
由于采用了嵌入式ARM芯片,使得在系统软件实现中主要以C语言进行驱动和应用程序的开发,仅在CPU初始化阶段使用ARM汇编语言。使用ARMS3C44BO芯片外扩了 2MFLASH,8MSDRAM大容量存储器,完全满足了系统程序运行和数据的存储,这样充分发挥了S3C4—480ARM嵌入式系统存储器容量大,软件编程简单,速度快,精度高的优势。数字控制系统软件流程如图3所示。在系统开机后,首先要检测系统外围设备的状态是否正常,以免出现故障。在系统运行中,为了防止软件跑飞,还需要开启看门狗功能,加入喂狗程序,这样软件上保证系统的可靠性和稳定性。在ADC部分对采样值进行均值滤波,保证采样值的正确与稳定。
在自动控制技术中,应用最为广泛的调节器控制规律为比例(P)、积分(I)、微分(D)控制,简称PID控制,又称Pm调节。其原理的关键是测量、比较和执行。PID控制器将测量受控对象(在本系统中即电压电流值)与设定值相比较,用这个误差来调节系统的响应。
在电源数字PID控制系统中,使用比例环节控制电压电流的输出与输入误差信号成比例改变,但是实际值与给定值通常会存在偏差,这个偏差称作稳态误差。因此,需要引入积分环节的消除稳态误差功能提高精度,但是考虑到电源系统开机、关机或大幅增加电压电流工作设定值时,产生积分积累,就会引起电压电流超调,甚至在给定值上下振荡。所以为减小在运行过程中积分环节对电压电流动态性能的影响,采用了积分分离PID控制电压电流,即当电压电流与设定工作值的误差小于一个范围时,再采用积分环节去消除系统比例环节产生的稳态误差。
积分分离PID控制算法需设定积分分离阀ε,当le(k)│>ε时,即偏差值较大时,仅采用PD控制环节,减少超调量,使系统有较快响应;当le(k)l≤ε时,即偏差值比较小时,采用PID 控制,以保证电压电流精度和稳定度。在开机后,按照固定步长打开PWM波宽度,使得电压升高。在达到设定值一定范围后,为防止电压过冲,需要加入积分分离 PID控制算法进行控制,防止电压超调。在电压达到千分之一进度范围后,需要加入积分环节,完成电源开机时迅速稳定的输出。PID算法流程如图3所示。
结论
该系统经现场调试证明,设计合理、运行可靠,为厂家实现了5l系列8位单片机到ARM32位系统的升级,降低了成本并提高了产品的性能。
评论