三相电逆变(2)SPWM代码部分

  • littleHi
  • LV3工程师
  • |      2015-07-25 15:18:47
  • 浏览量 816
  • 回复:2

上面的三相逆变电源涉及到一种控制的方法就是SPWM的逆变控制,总的来说的话SPWM的占空比控制的算法种类还是挺多的:
 
调制法(自然采样、规则采用)

 计算法(等面积、特定谐波消除、智能优化)

 谐波分析

 PWM跟踪控制(滞环比较、三角形比较)

 矢量控制

这么多的控制方式,其实一开始的时候对于这么多的控制方式我也是摸不着头脑。尤其是对于那个矢量的调控方式更是难以理解。其实后来的话我是根据自己的理解,就是对于这个东西。我最后从能量的角度来理解,就是说输出的波形就像你给了占空比。这个导通的电压在时间的积分这个值就想是能量一样,而反映能量的大小是通过输出端的电压来反映的。就是说高电平的电压越高或者说时间越长,就会输出更高的电压。这样就可以通过控制高电平的时间来对输出的波形进行控制。

还有就是我从这个题目中感觉的是理论知识的强大性和实用性。就是在SPWM的调试过程中我发现数字信号中所学习的载波和调制波再次在这里出现了。当然这个知识点也是通信电子电路中的重要知识点。就是说在保证被调制信号不混叠不失真的情况下载波的频率应该是被调制信号频率的两倍及以上。这个题目中我选用的是15K的载波频率,然后用了上次文章中所说的异步采样法。其实这里与其说是异步采样,不如说我是用通过一个载波频率然后根据不同的频率输出要求,对数字化三角函数表进行取样。如果频率要求低,我就对三角函数表中的每一个数据多取几次,就是说这个时候经过滤波出来的电压值是一样的。这样的话电压值就会变化的慢一点,也就实现了电压的变频。

下面我就具体的介绍一下我这个东西代码的具体实施的方式,因为我们使用的是有死区的互补SPWM。所以我使用了TIM1这个高级定时器,这个32的内部定时器是可以输出互补的SPWM波的,并且可以加入死区。然后使用TIM2来进行定时,定时中断中对占空比的数值进行修改,这也就是修改输出的电压值,在时域上连续改变的电压值就像在示波器上画出的波形一样,连续起来就是一个很漂亮的正弦波。然后这个要求要对输出可以控制,就是说要能用单片机检测电压值和电流值的大小。得到数据后就是电路形成了一个闭环。

上代码:


三相电逆变(2)SPWM代码部分

三相电逆变(2)SPWM代码部分

三相电逆变(2)SPWM代码部分


从上面到下面依次是TIM1,TIM2,TIM3的定时器设定。因为这个程序实际上核心也就是SPWM的控制部分。重点就是在于定时器的应用。

代码太大,传不动啊。。


  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:2
littleHi 2015-07-27
多谢
0   回复
举报
发布
格古落 2015-07-26
感谢楼主分享,好人一生平安~
好分享,顶一个!~
为了不后悔,我看~
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子