引 言
直流稳压电源是一种比较常见的电子设备,一直被广泛地应用在电子电路、实验教学、科学研究等诸多领域。数字稳压电源是用脉宽调制波(PWM)来控制MOS管等开关器件的开通和关闭,从而实现电压电流的稳定输出。数字稳压电源还具备自诊断功能,能实现过压过流保护、故障警告等。
通过对所需求电源的分析,结合嵌入式控制技术,提出了一种基于S3C2440的测试系统数字稳压电源解决方案,以及实现该方案所采用的方法。该系统基于ARM 控制技术,对数据进行采样,运用适当的算法进行电压调节和电路保护,以达到为测试系统提供稳压电源的目的。设计的系统经过实际应用,所提供的电源稳定可靠,满足芯片测试所需电源的要求。在此给出了系统的硬件构架和软件设计流程图。
1 测试系统数字稳压电源组成及工作原理
数字稳压电源由主控制器、PWM 稳压电路、电压电流取样电路、PID控制器、触摸屏组成,系统原理框图如图1所示。
图1 系统原理框图
本电源对输出的电压电流信号进行采样,进行PID控制,最后输出PWM 驱动波形调节输出电压。输出电压提供给芯片测试平台,供其测试芯片时使用。
前端交流电源输入到整流模块,经整流滤波后输出平稳的直流电压。该直流电压直接输出至IGBT模块。
高精度A/D转换器将后端输出的电压电流信号由模拟信号量变为数字量供给S3C2440进行数字PID运算,经过PID 控制器运算后,由S3C2440输出PWM 至IGBT,从而构成一个闭环控制系统,控制电压电流稳定输出,从而实现数字稳压电源设计,提供给芯片测试系统使用。ARM 控制器通过触摸屏实现人机交互界面,在触摸屏上设置参数和显示信息。
2 硬件设计
2.1 ARM 控制系统组成
2.2 PWM 稳压电路设计
脉冲宽度调制(Pulse Width ModulaTIon,PWM)原理是PWM 调制信号对半导体功率开关器件的导通和关断进行控制,使输出端得到一些列幅值相等而宽度不相等的脉冲,经过处理后得到稳定的直流电压输出。
PWM 调制信号由ARM 主控制器根据设定的电压值,按一定的规则对各脉冲宽度进行调制后给出脉冲信号。
PWM 稳压电路如图2所示。
图2 PWM 稳压电路
半导体功率开关器件其开关转换速度的快慢直接影响电源的转换效率和负载能力,本系统PWM 稳压电路中,驱动电路由电阻、电容、晶体管和场效应管组成,MOSFET是电压单极性金属氧化硅场效应晶体管,所需驱动功率很小,容易驱动。MOSFET的输入阻抗很高,其导通和关断就相当于输入电容充放电过程。根据所选器件的参数,计算出满足的条件,保证驱动电路提供足够大的过充电流,实现MOSFET 快速、可靠的开关。
3 软件设计
采用S3C2440为核心处理器,其丰富的片上资源和优秀的运算速度,保证了系统的实时性,编写软件主要以C语言进行驱动和应用程序的开发,其大容量存储器,完全能满足系统程序的数据存储。
该测试系统中ARM 处理器所要实现的主要功能和软件实现方法如下。
3.1 PWM 波产生
PWM 用于对电路中IGBT 的驱动。根据输出采样,设定和调整定时器配置寄存器TCFGn 和定时器n计数缓存寄存器TCNTBn中的值来改变输出PWM 波的周期和脉冲宽度。修改TCNTBn的值可以控制PWM 波的占空比增加或减少1,PWM 输出占空比增加或者减少千分之一,可以达到千分之一的控制精度。
3.2 监控和保护系统
为了使数字稳压电源能够可靠、安全地为测试系统提供电压,该系统设置了监控和保护系统,主要用于过流保护和过压保护等,ARM 处理器对电压和电流采用双重检测,当电压电流超出所设定的危险值范围时,声光报警,并启动保护电路。
3.3 PID控制算法
PID控制器由比例、积分、微分控制器组合,将测量的受控对象(在本系统中为电压电流值)与设定值相比较,用这个误差来调节系统的响应,以达到动态实时的控制过程。
在数字稳压电源PID控制系统中,使用比例环节控制电压电流的输出与输入误差信号成比例改变,但是这里会存在一个稳态误差,即实际值与给定值间存在的偏差,因此需要引入积分环节来消除稳态误差以提高系统精度。但由于电源系统在导通、关断时,产生积分积累,会引起电压电流超调,甚至会出现震荡。为了减小这方面的影响,设定给定一个误差值范围,当电压电流与设定工作值的误差小于这一给定值时,采用积分环节去消除系统比例环节产生的稳态误差。PID控制算法设定阈值ε,当|e(k)|>ε时,采用PD控制环节,减少超调量,使系统有较快的响应;当|e(k)|
图3 PID控制算法流程图。
PID控制算法程序采用结构体定义:
struct PID{
unsigned int SetPoint; //设定目标Desired Value
unsigned int ProporTIon; //比例常数ProporTIonal Const
unsigned int Integral; //积分常数Integral Const
unsigned int DerivaTIve; //微分常数Derivative Const
unsigned int LastError; //Error[-1]
unsigned int PrevError; //Error[-2]
unsigned int SumError; //Sums of Errors
}spid;
在PID控制算法中,经过不断与给定值进行比较,动态控制电压电流输出的稳定,同时确保电压电流输出的精度。
PID控制算法程序如下:
unsigned int PIDCalc(struct PID *pp,unsigned int Next-Point)
{
unsigned int dError,Error;
Error=pp->SetPoint-NextPoint; //偏差
pp->SumError+= Error; //积分
dError=pp->LastError-pp->PrevError; //当前微分
pp->PrevError=pp->LastError;
pp->LastError= Error;
return(pp->Proportion* Error //比例
+pp->Integral*pp->SumError //积分项
+pp->Derivative*dError); //微分项
}
3.4 系统程序
测试系统的整体程序流程图如图4所示。
图4 主程序流程图
本文所设计的测试系统数字稳压电源能够满足芯片测试所需的电源要求。图5为输出的一路电压。由图可知,所输出的电压稳定。
图5 输出电压波形图
4 结 语
本文设计的稳压电源提供的电压稳定可靠,系统运行也非常稳定。由于可扩展的I/O 非常多,可以同时为多个芯片提供各种所需的稳压电源电压值。
相关文章