基于S3C2440的测试系统数字稳压电源的设计
2016-11-08 来源:ofweek
直流稳压电源是一种比较常见的电子设备,一直被广泛地应用在电子电路、实验教学、科学研究等诸多领域。近年来,嵌入式技术发展极为迅速,出现了以单片机、嵌入式ARM 为核心的高集成度处理器,并在自动化、通信等领域得到了广泛应用。电源行业也开始采用内部集成资源丰富的嵌入式控制器来实现数字稳压电源的控制系统。数字稳压电源是用脉宽调制波(PWM)来控制MOS管等开关器件的开通和关闭,从而实现电压电流的稳定输出。数字稳压电源还具备自诊断功能,能实现过压过流保护、故障警告等。
相比之前的模拟电源,数字稳压电源大大减少了在模拟电源中常见的误差、老化、温度漂移、非线性不易补偿等诸多问题,提高了电源的灵活性和适应性。将SAMSUNG公司的嵌入式ARM 处理器S3C2440芯片应用到实验室测试系统数字稳压电源的设计中,采用C语言和汇编语言,实现一种以嵌入式ARM 处理器为核心,具备PID控制器以及触摸屏等功能的测试系统数字稳压电源控制系统。
1 测试系统数字稳压电源组成及工作原理
数字稳压电源由主控制器、PWM 稳压电路、电压电流取样电路、PID控制器、触摸屏组成,系统原理框图如图1所示。
▲ 图1 系统原理框图
本电源对输出的电压电流信号进行采样,进行PID控制,最后输出PWM 驱动波形调节输出电压。输出电压提供给芯片测试平台,供其测试芯片时使用。
前端交流电源输入到整流模块,经整流滤波后输出平稳的直流电压。该直流电压直接输出至IGBT模块。
高精度A/D转换器将后端输出的电压电流信号由模拟信号量变为数字量供给S3C2440进行数字PID运算,经过PID 控制器运算后,由S3C2440输出PWM 至IGBT,从而构成一个闭环控制系统,控制电压电流稳定输出,从而实现数字稳压电源设计,提供给芯片测试系统使用。ARM 控制器通过触摸屏实现人机交互界面,在触摸屏上设置参数和显示信息。
2 硬件设计
2.1 ARM 控制系统组成
鉴于PID运算和PWM 波输出模块要求高,通过考查,选择SAMSUNG公司的S3C2440,这是一款32位基于ARM920T内核的CPU,拥有高达400MHz的频率,完全能满足PID控制器运算的实时性要求;16位的定时器,可实现精度高达0.03μs的PWM 脉冲波,并且有防死区功能;24个外部中断源,完全可以满足对系统外部故障信息进行实时响应;内部嵌入LCD控制器,并拥有DMA通道,使得电压电流值能够实时显示在LCD上,还可以通过触摸屏设计一些所需的参数;多达140个通用I/O口,可以方便地扩展外部接口和设备;拥有8通道多路复用ADC,10位的数字编码,高达500kSPS转换率,满足了测试系统所需的A/D转换精度。
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)|<ε时,采用PID控制,以保证电压电流精度和稳定度。在电压达到千分之一精度范围后,需要加入积分环节,以完成电源开机时迅速稳定的输出。PID算法流程图如图3所示。
▲ 图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 非常多,可以同时为多个芯片提供各种所需的稳压电源电压值。该系统不仅能够用在实验室芯片测试工作中,而且可以通过软件编程的方法,修改一些控制程序,使所设计的稳压电源作为智能电子产品性能测试的电源电压,这样提高了设备的使用效率,有着不错的应用前景。
下一篇:智能电力负荷控制与监测系统设计