应用电子电路
1.前言
数字PID控制在生产过程中是一种最普遍采用的控制方法,其特点是结构简单,稳定性好,工作可靠,调整方便,多被应用到被控对象的结构和参数不能完全掌握或得不到精确数学模型的环境中。将数字PID控制算法应用于基站发射功率控制,可以极大地提高基站发射功率的稳定性和可靠性,控制输出功率在覆盖允许范围内,不至过小无法满足网络规划时的覆盖距离要求,而减少小区覆盖范围,又不会产生过强的输出信号对相邻基站造成干扰。本文首先分析数字PID控制算法中的两种常见算法,而后重点讨论它们在基于ADUC7026的基站功率控制中的应用方法,并对比它们的测试结果,给出结论。
2.数字PID控制原理
2.1 PID控制的基本原理
图1 PID控制结构框图
常规PID控制系统原理框图如图1所示,其控制规律为:
(1)
式中 为操作量, 为误差, 为比例系数, 为积分系数, 为微分系数。简单说来,PID控制器各校正环节的作用如下:
1. 比例环节
比例控制是一种最简单的控制方式,控制器的输出与输入误差信号成比例关系。偏差一旦产生,控制器立即产生控制作用,以减少偏差。
2. 积分环节
应用于医用超声的波束成形技术的定义是,由公共源产生、但由多元件超声传感器在不同时间接收到的所有信号的相位对齐和累加。在连续波多普勒(CWD)通道中,要对所有接收器通道进行相移和累加,然后提取相干信息。波束成形有两个功能:它不仅能向传感器传递方向性——提高其增益,而且能定义体内的焦点,并由此确定回波位置。
3. 微分环节
微分环节能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间[1]。
2.2 数字PID控制
为便于计算机通过软件实现PID控制算法,在实际应用中多采用数字PID控制方式。数字PID控制算法通常又分为位置式PID控制算法和增量式PID控制算法。
2.2.1 位置式PID控制算法
按模拟PID控制算法的算式(1),以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可做如下近似:
;
;
;
;
式中:T为采样周期,k为采样序号,只要采样周期T取得足够小,这种逼近就可以相当精确,于是可得:
(2)
位置式PID控制算法使用全量输出,所以每次输出均与过去的状态有关,计算时要对 进行累加,CPU输出控制量 对应执行机构的实际位置偏差。因对 量进行累加, 可能出现大幅度变化,进而会引起执行机构的大幅度变化,这种情况在实际生产中是不允许的,在某些场合可能还会造成重大事故,因而产生了增量式PID控制算法。
2.2.2 增量式PID控制算法
当执行机构需要的是控制量的增量时,可由式(2)导出提供增量的PID控制算式。根据递推原理可得
(3)
用式(2)减去式(3),即得到增量式PID控制算法:
(4)
其中
,
,
[2]
3.基站功率监测系统框图及功率控制框图
图2 基站功率监测系统框图
根据基站功率监测系统的各个部分的功能要求,系统的结构组成如图2所示,射频信号通过可调衰减器,驱动功率放大器,末级功率放大器,定向耦合器至天线发射。微控制器ADuC7026采集功率放大模块上的两级LDMOS的温度和漏极电流值、功放输出的前向功率值、反向功率值,控制器将采集到的数据传送到PC的监控界面显示,用户也可通过人机交互界面调整监控系统的控制参数。ADuC7026可以为基站功率监测系统提供集成的解决方案,从而降低PCB设计的复杂度并减小PCB面积,节省系统成本,而且ADuC7026[3]支持外同步采样,这对需要外同步采样的TD-SCDMA应用来说非常有益。
图3 自动功率控制结构框图
图3所示为实现自动功率控制电路的基本结构框图,系统中输出功率为被控对象,信号传输通路为一级可调衰减器和两级放大电路。前级功率放大器采用ADI公司的ADL5323[4]来实现,该芯片的输入输出端已作50ohm匹配,节省了外部的阻抗匹配电路。检波器采用ADI公司的AD8364[5],用于将采样的功率值转化成对应的电压值。将采样得到的信号功率经ADuC7026中的ADC转化成数字信号,再经PID运算,得到控制可调衰减器的电压,由内部DAC转化输出,通过调整可调衰减器的控制电压可产生不同的衰减量,以达到驱动功率放大器的输出功率可控的目的[6]。
4.PID算法实现
由图3功率控制结构框图可知,实际的输出功率表达式如式(5)所示。
(5)
根据ADC转换得到的数字电压值转换成采样前的实际输出功率值的表达式如式(6)所示。
(6)
其中ADC_Data为ADC的转换结果,2.5V为ADC的参考电压值,4096为12-bit ADC满量程输入值, 是AD8364的传递函数,10dB为耦合器的衰减量。
DAC的输出电压由不同PID算法的运算结果和可调衰减器的传递函数决定,下面介绍两种不同PID算法的流程、程序实现及其测试结果。
4.1 位置式PID算法流程
图4 位置式PID算法流程图
对应图4算法流程图,PID控制部分实现程序如下:
ActualOutputPower = 25*(float)ADCForwardPowerResult/1024-43;
Error = SetOutputPower - ActualOutputPower;
SumError += Error;
Output = Proportion*Error + Integral*SumError + Derivative* (Error – LastError);
LastError = Error;
DACVoltageValue = (float)((Output + 26.1667)*3/31);
SetDACValue = (unsigned int)(DACVoltageValue*4096/2.5);
这里,DACVoltageValue的值由输入信号功率,两级固定增益放大器和可调衰减器的传递函数决定,实际程序中给出的参数是经系统线性校正后的参数。理想情况下,假设可调衰减器的传递函数为:衰减量=k*控制电压+b,输入信号功率为pin两级固定增益放大器的增益为g1和g2,则DAC的输出应为式(7)所示。
(7)
图5所示为采用位置式PID算法,在系统输出功率为-1dBm时,调整其输出功率为-10dBm的实测曲线。
图5 改变期望输出功率后的变化曲线(位置式PID算法)
4.2 增量式PID算法流程
图6 增量式PID算法流程图
对应图6算法流程图,PID控制部分实现程序如下:
ActualOutputPower = 25*(float)ADCForwardPowerResult/1024-43;
Error = SetOutputPower - ActualOutputPower;
DeltaAttenuation = Proportion*(Error-LastError) + Integral*Error +
Derivative*(Error-2*LastError + PrevError);
Attenuation = DeltaAttenuation + LastAttenuation;
DACVoltageValue = (float)(Attenuation*3/31 + 3.887);
SetDACValue = (unsigned int)(DACVoltageValue*4096/2.5);
PrevError = LastError;
LastError = Error;
LastAttenuation = Attenuation;
这里,DACVoltageValue的值由可调衰减器的传递函数决定,实际程序中给出的参数是经系统线性校正后的参数。理想情况下,假设可调衰减器的传递函数为:衰减量=k*控制电压+b,则DAC的输出应为式(8)所示。
(8)
图7所示为采用增量式PID算法,在系统输出功率为-1dBm时,调整其输出功率为-10dBm的实测曲线。
图7 改变期望输出功率后的变化曲线(增量式PID算法)
5.结论
由前面的测试结果可见,在同样的测试条件下,采用位置式PID算法的时候会出现过冲的情况,增量式控制虽然只是算法上作了一点改进,却避免了这种情况的发生。且由于计算机输出增量,所以误动作时影响小,必要时可用逻辑判断的方法去掉。算式中不需要累加,控制增量 的确定仅与最近几次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。因此,建议采用增量式PID算法来实现基站功率的稳定控制。
全部0条评论
快来发表一下你的评论吧 !