从程序方面谈谈本人对逆变器的理解 最近在做一个东西,和逆变有点关系。我工作时间不长,算是刚接触到这个领域。就谈谈我个人从程序方面对逆变的理解。欢迎各位大神斧正! 对于全桥逆变拓扑的逆变器,SPWM是实现逆变的主要方式。把直流电转换成正弦波交流电是根据根据面积等效原理,在上面第二张图的上半部分中的正弦半波(黑线)分成6等份,把正弦半波看成是由6个彼此相连的矩形脉冲组成的波形,6个脉冲的幅值按正弦规律变化,每个脉冲面积与相对应的正弦波部分面积相同,这一连续脉冲就等效正弦波。 如果把上述等宽不等幅的脉冲序列改为相同数量的等幅而不等宽的矩形脉冲,脉冲中心位置不变,并且使该矩形脉冲面积和上图对应的矩形脉冲相同,如第二张图的下半部分,脉冲宽度按正弦波规律变化,这就是PWM波形。根据面积等效原理,PWM波形和正弦半波是等效的。 对于正弦波的负半周,也可以用同样的方法得到PWM 波形。这就是SPWM波形。要改变等效输出的正弦波的幅值时,只需按照同一比例系数改变上述各脉冲的宽度即可。上面第3幅图就是SPWM。一般在控制芯片如28335中产生SPWM波都是用调制法。在调制法中,把所希望输出的波形称为调制波ur,把接受调制的信号称为载波uc,通常采用等腰三角波作为载波,正弦波作为调制信号。如上面第3幅图,在两波交点时对电路中的开关器件进行通断控制,就可得到宽度正比于调制信号幅值的脉冲。SPWM逆变器输出电压与ur/uc成正比,保持载波uc不变,改变调制波ur的大小即可控制输出交流电压的大小。当然,调制波ur峰值要小于载波uc峰值。需要注意的是,SPWM逆变器输出的正弦波交流电电压uof的峰值uofm小于输入的直流电压ud,把uofm/ud称为直流电压利用率,对于单相SPWM电路直流电压利用率的理论值最大为1,实际上由于种种原因,直流电压利用率要小于1。对于输出相电压(有效值)为220V单相交流电的逆变电路输入直流电压要高于310V。当然很多逆变器的规格都是输入直流电压48V。逆变器的输出接变压器,升压到220V。 程序方面实现SPWM信号的输出。一种是事先计算好,并转化成实际的定时器的计数值,存入控制器中。运行时直接调用。该方法不需要运算,可以节省很多控制器的资源。但是这样的话逆变的幅值就不可以调节。如果输入逆变器的直流电压是可以调节的话,那么通过调节直流电压的大小来调节逆变器输出的电压值,这种方案好像也可以。但是我还没有见过。 另一种方法就是程序中直接运算出SPWM的控制点。这就需要了解SPWM波的生成方法: SPWM波的生成方法有自然采样、对称规则采样、不对称规则采样和平均对称规则采样,如下面第一张图。对称规则采样中生成的PWM脉宽较实际的正弦波于三角波自然橡胶的脉宽偏小,使变频电源的输出电压较低;而在不规则采样中,虽能更真实的反映自然采样,但会增加程序编写的复杂度和程序的运算量。所以,在实际应用中采用的平均对称规则采样。采样时刻设在三角波的谷底,以此时刻的正弦波数值为中心,确定PWM脉冲的前后沿。SPWM波信号占空比的计算方法,如下面第二张图。 如果控制芯片选用的是DSP的话,这点运算根本不在话下。以DSP28335为例,这块芯片的多级流水线使其数字处理能力很强,再加上IQ算法,使其直接运算出SPWM的控制点不会占用其太多的时间。 根据前面的内容就可以写基本的SPWM的程序了。 工频逆变,频率是50Hz不变。首先要确定载波的频率,就是三角波的频率。为了便于观察,设定载波的频率为2k。因此,根据载波的频率,配置28335中的定时器中断频率为2k,PWM的周期为0.0005s。注意,在配置PWM时要把死区加上。这样在一个逆变的周期内会进40次定时器的中断,产生40个PWM。接下来就是如何计算每次PWM的占空比。根据2楼可以得出在20ms内,每个PWM的占空比 duty = a * sin(wr * td) 。 其中: a:调制比 wr:2 * pi * f pi:3.1415 f:50 下面两张图片是具体的程序:第一张图片是相关变量定义,第二张是定时器中断程序。 程序运行的结果:下面第一张图是全桥四个管子的PWM,第二张是半桥上下管的PWM,第三张是上下管PWM的死区。 这部分代码中,调制比 a 在程序运行中是不变的,所以这只是一个简单的开环能实现逆变的功能的程序。若要实现闭环就要对 a 加入PI调节,就可以实现希望输出的交流电压值。还有一点载波的频率这里设置为2k只是为了上面第一张图看的比较清楚些。实际中不可能用这么低的载波频率。 |