常用的电源技术和算法
-
- 1 有效值检波技术
-
- 1.1 均值检波技术
- 1.2 峰值检波技术
- 1.3 均方根值检波技术
- 2 高精度采样技术
-
- 2.1 AD的选择
-
- 2.1.1 A/D转换器的性能指标
- 2.1.2 A/D转换器的选择
- 2.1.3 A/D使用转换器的注意事项
- 2.设计2 采样电路
-
- 2.2.1 直流电压采样
- 2.2.二 交流电压采样
- 3 SPWM波调制技术
-
- 3.1 单极正弦脉宽调节
- 3.2 双极正弦脉宽调制
- 3.3 三相正弦脉宽调制
- 3.4 正弦脉宽调制(SPWM)生成控制信号
-
- 3.4.1 模拟控制模式
- 3.4.2 数字控制模式
- 4 PID算法
-
- 4.1 PID控制系统简介
- 4.2 PID参数控制效果分析
- 4.3 通俗易懂的理解PID
- 4.4 数字PID控制的实现
-
- 4.4.1 位置式PID控制算法
- 4.4.2 增量式PID控制算法
- 5 数字滤波算法
-
- 5.1 限幅滤波
- 5.2 中值滤波
- 5.3 算术平均滤波
- 5.4 推平均滤波
- 5.5 中值平均滤波
- 5.6 推中值平均滤波器
1 有效值检波技术
1.1 均值检波技术
??在工业上,我们常用的检波技术主要有三种:平均检波技术、峰值检波技术和平方根值检波技术。其中,平均检波法主要用于交流直流转换电路,主要实现方法是半波或全波整流交流信号,然后整流输出脉动直流信号积分得到相对温和的直流信号,最后根据半波整流平均值或全波整流平均值与有效值的关系计算有效值。.一是典型的均值检波电路图:
??图2.1为用于,图中二极管D1和D二极管构成半波整流电路D2不需要转换电路本身来保持被测电路电流的连续性。当用于测量电压信号时,二极管D2可以省略。当输入处于正半周时,二极管D导通,电容C充电时,微安表获得电容平滑滤波后的直流电。当输入为负半周时,电流从D二极管流过D截止日期,电容电荷通过微安表内阻放电,电容电压下降。
??电容器两端的电压波形如图2所示.2.流过微安表的电流波形及图2.2.电压波形相同。可以看出,只要输入交流电流范围不变,流过电流表的波形就非常接近直线。。因此,均值检波电路更适用于振幅值相对稳定或变化缓慢、频率较高的交流电测量。
??峰值检波是脉动直流信号的峰值,用充电电容保持整流输出,获得相对温和的直流信号。 均值检波电路通常采用电容充放电电路作为平均值电路。由于输出为整流平均值,电容充放电时间常数相等。.1.可以看出,电容器充放电时间的常数取决于微安表的内阻。充电时,微安表内阻越大,电容器越大,流过微安表的电流越小,电容器充电电流越大,充电速度越快;放电时,微安表内阻越大,电容器越大,放电速度越慢。为了使充放电速度相同,只有当微安表内阻与电容器符合特定关系时,才能使充放电速度相同。
??对于数字采样仪器,图中的微安表可以用采样电阻代替。一般来说,在转换之前,电流信号将转换为电压信号。电压半波整流的平均检波电路如图2所示.3所示。 但上图存在一些问题: ??① 由于二极管压降,当测量电压较小时,二极管压降的影响不容忽视。 ??② 这是电阻电容串联电路,不是严格的平均电路。 因此,图2.3.电路无法实现严格的整流平均值。我们可以用基于精密整流的绝对值电路代替变容器二极管半波整流电路来解决第一个问题。.4是一个实用的均值检波电路,只要在图中删除C1.全波精密整流电路在A2在反相加法器上增加积分电容,将其变成反相加法和积分电路。R3=2R4。
1.2 峰值检波技术
??峰值检波法构建的交流直流转换电路对交流信号进行半波或全波整流,然后利用充电电容保持整流输出的脉动直流信号峰值,获得较温和的直流信号,,被测信号的有效值可以通过使用被测信号的峰值与有效值之间的关系来计算。 ??。因此, 有趣的是,峰值检波最简单的电路模型可以采用与交流电压检波电路相同的模型,如图2所示.5所示: 但事实上,峰值检波和平均检波还是有很多区别的,它们最大的区别在于: ??① ,窄脉冲测试的峰值检波电路要求电容在短时间内快速充电至峰值。放电时间相对较长,否则输出波形不够光滑。对于正负对称、振幅相对稳定的交流电,只要放电速度远低于充电速度,即使充电速度较慢,输出也可以非常接近峰值。 ??② ,否则,到的不是整流平均值,平均检波电路适用于测量正负对称和相对稳定的交流电。 类似于平均检波,当测量电压较小时,需要消除二极管压降引起的误差。我们还改进了电路,得到了图2.6所示电路:
??我是红色当Vi大于Vo时,A1输出正电源电压,变容器二极管D1截止,D2导通,电容C迅速充电至Vi。 ??我是红色当Vi小于Vo时,A1输出负电源电压,变容器二极管D1导通,D2截止,电容C通过电阻Rc缓慢放电。
1.3 均方根值检波技术
??均方根值检波技术可以通过硬件方法或软件算法实现。如果需要硬件,可以使用专用的真实有效值转换芯片。常用的真实有效值转换芯片AD536、AD637、LTC1966、LTC1967、LTC1968等。其用法可以参考芯片的datasheet,这里不再赘述。我们来详细探讨下软件算法的实现。 。这里有两点要特别注意: ① 对于频率较高的信号,我们最好选用采样率足够高的AD和主频足够高的FPGA来进行处理,否则的话,算出来的有效值误差会非常大。 ② 在采样时,最好是按照周期的整数倍来进行采样和数据处理,如果数据处理时不是按照整数个周期来处理的话,得到的值将会是一个跳动的数字。 流程图如下: 接下来,我们以FPGA为例来详细介绍一下如何利用算法实现有效值的计算。 首先,搭建一个DDS平台来产生周期性累加的时钟信号,具体代码如下所示:
module dds_add( input clk,rst_n, input [31:0]data_rate_square, output reg[31:0]outdata_square);reg [31:0]add_rate_san;reg [31:0]add_rate_sin;reg [31:0]add_rate_square;always @(posedge clk or negedge rst_n) if(!rst_n)begin add_rate_square<=32'd0; end else begin add_rate_square<=add_rate_square+data_rate_square; endalways @(posedge clk or negedge rst_n) if(!rst_n)begin outdata_square<=32'd0;end else begin outdata_square<=add_rate_square; end endmodule
这个时钟产生模块实际就相当于一个分频器,对输入的时钟信号进行分频,其中data_rate_square是和输入信号频率有关的一个量,此模块的作用就是产生一个和输入信号周期整数倍同步的一个时钟信号,以保证每次进行数据累加处理时,单个周期内的数据量是一定的。 接下来,我们用时钟信号驱动周期平方平均模块,模块内部具体实现如下:
module sample( input clk,rst_n, input [13:0]data3, output reg [47:0] add_data );reg [13:0] rdata;reg [47:0] radd_data;reg [2:0] i;reg [9:0] cnt;always @(posedge clk or negedge rst_n) if(!rst_n) begin add_data<=48'd0; rdata<=14'd0; i<=3'd0; cnt<=10'd200; end else case(i) 3'd0: begin i<=i+1'd1;rdata<=data3; end 3'd1: begin if(rdata[13]) rdata<=~rdata;i<=i+1'd1; end 3'd2: begin if(cnt) begin radd_data<=radd_data+rdata*rdata;cnt<=cnt-1'd1; end i<=i+1'd1; end 3'd3: begin i<=3'd0;if(!cnt) begin add_data<=radd_data;cnt<=10'd200; radd_data<=48'd0 ; end end endcase endmodule
代码很明了,就是对输入的信号进行平方累加,这里不再多说。最后,我们将以上模块输出的累加值进行平均和开根号:
module EFFECT_Cal ( input clk,rst_n, input [47:0]EV_IN, output [13:0]EV_OUT );wire [47:0]AVE_EVIN = EV_IN/200;wire [31:0]SQ_OUT;sqrt sqrt_inst ( .radical ( AVE_EVIN ), .q ( SQ_OUT ), .remainder ( remainder_sig ) );assign EV_OUT = SQ_OUT;endmodule
模块最终输出就是要求的有效值,经实测,用TLC3578采样,每个周期采样两百个点进行运算,最终得到的有效值精度可以到小数点后第三位,满足绝大部分应用场景。 综上所述,。三种方法各有优劣,应根据实际场景来选择最合适的方案。
2 高精度采样技术
采样对于电源设计来说,是极其重要的一部分,采样精度往往决定了整个系统最终输出的精度,性能以及稳定性,因此,我们在设计系统的采样部分时,应尽可能地高标准。要想实现高精度采样,有两点最重要,第一是AD的选择,第二则是采样电路以及滤波算法的选择。
2.1 AD的选择
根据A/D转换器的转换原理可以把A/D转换器分为两大类:直接型A/D和间接型A/D。 直接型A/D将输入的模拟电压通过比较直接转换为数字量。而间接型A/D转换器,模拟电压先被转换为一种中间变量(像时间、频率、脉冲等),然后再把中间量转换成数字量。 直接型A/D中应用较为广泛的主要有逐次逼近式A/D转换器、流水线A/D转换器;间接型A/D转换器中应用较为广泛的主要有双积分A/D转换器和V/F变换A/D转换器。 这节主要介绍一下A/D的性能指标以及应用。
2.1.1 A/D转换器的性能指标
在选择A/D转换器的时候,要根据需要选择性能指标合适的A/D转换器,这就需要我们对A/D的性能指标有一定的了解。 分辨率表示输出数字量变化一个数字量,输入的模拟电压的变化量,转换器的分辨率定义为满刻度电压与2的n次方的比值,其中n代表A/D转换器位数。 转换速率是指A/D转换器完成一次数据转换所需要的时间。不同的A/D的转换时间是不一样的,根据实际需要转换速率合适的A/D。 量化误差是由于A/D转换器的有限分辨率而引起的误差。量化误差是指量化结果和被量化模拟量的差值,显然量化级数越多,量化的相对误差越小。分辨率高的A/D具有较小的量化误差。 非线性度是指转换器实际的转换曲线与理想转换曲线的偏移,也可以称为线性度。 偏移误差是指输入信号为零时,输出信号不为零的值,也叫做零值误差。偏移误差通常是由A/D转换器内部的放大器或比较器输入的失调电压或电流引起的。在使用A/D转换器前,要先将偏移误差降到最低,有的A/D转换器有零点调节的功能。 A/D转换器一般都有规定的输入电压范围,使用过程中尽量不要超出范围,因为这样会造成对A/D的永久损坏。