• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

从零开始,学做正弦波逆变器

对于感性负载到说,正弦波供电的优点不言而喻。同于本人没有任何正弦波逆变器的知识,决定从零开始学习,特发此贴,望各位老师多加指点,想学正弦波的朋友们和我一起同步吧。相信花不了几个月时间,一定能做出正弦波来。

  基本思路为:采用AT89S52单片机,等面积法,单极性调制,主电路为全桥工频方案。定时器T0中断,在每个中断子程序中换相,并计算下一个换相点的时刻。

一开始就遇到问题:

问题1:调制方式有单极性调制和双极性调制之分,现在已知道双极性调制硅钢片中涡流损耗要大,可为什么还有用双极性调制的方案?双极性调制有什么优点?

全部回复(52)
正序查看
倒序查看
无衣
LV.6
2
2010-10-22 17:19

 

先恶补了一下数学。把一个正弦波分为2N等份,也就是一个半波分为N等份,这里又遇到第二个问题。

问题2:对于工频方案来说,载波比N取多少为好?

0
回复
zcl99
LV.4
3
2010-10-22 19:06
@无衣
[图片] 先恶补了一下数学。把一个正弦波分为2N等份,也就是一个半波分为N等份,这里又遇到第二个问题。问题2:对于工频方案来说,载波比N取多少为好?

赞同!

 

0
回复
无衣
LV.6
4
2010-10-22 19:52
@无衣
[图片] 先恶补了一下数学。把一个正弦波分为2N等份,也就是一个半波分为N等份,这里又遇到第二个问题。问题2:对于工频方案来说,载波比N取多少为好?

设正弦波的周期为T,分为2N等份后,每份的时间为Ts=T/2N,正弦波电压为Umsinωt,则第i个区间的正弦波面积SPi为:

 

由式1可见,第i区的面积就是正弦波在i-1到i的定积分,解得:

 

设直流脉冲的幅值为E,则用直流脉冲等效的面积Si=SPi/E,代入式2得:

 

式3中Um/E就是调制比,令M=Um/E得:

 

M不大于1

现在问题1和问题2没有老师解答,学习基本停顿。

0
回复
2010-10-22 20:07
@无衣
设正弦波的周期为T,分为2N等份后,每份的时间为Ts=T/2N,正弦波电压为Umsinωt,则第i个区间的正弦波面积SPi为:[图片] 由式1可见,第i区的面积就是正弦波在i-1到i的定积分,解得:[图片] 设直流脉冲的幅值为E,则用直流脉冲等效的面积Si=SPi/E,代入式2得:[图片] 式3中Um/E就是调制比,令M=Um/E得:[图片] M不大于1现在问题1和问题2没有老师解答,学习基本停顿。
同步
0
回复
2010-10-22 20:30
@liu13036222196
同步

问题2:我可以回答本人目前见过载频为10K和6K两种。实际来讲工频一般选择会在15K以下。

问题1:请问什么是双极性调制,什么是单极性调制。

0
回复
无衣
LV.6
7
2010-10-23 08:08
@重庆酱油仔
问题2:我可以回答本人目前见过载频为10K和6K两种。实际来讲工频一般选择会在15K以下。问题1:请问什么是双极性调制,什么是单极性调制。

单极性调制在SPWM间隙输出为零,双极性调制输出为负。

谢谢指点。如果用6K载频,则一个正弦波被分为120等份,N=60,计算得最小脉宽约13uS,对于AT89S52单片机24M时钟来说,这点时间在中断子程序中处理I/O操作都很勉强,看来是不能在中断中计算换相时间了,只能在启动时把换相时间全部计算好,并保存在RAM中,在中断程序中直接调用,并且主程序还要对数据不断刷新,以免干扰对数据破坏。

0
回复
2010-10-23 08:40
@无衣
单极性调制在SPWM间隙输出为零,双极性调制输出为负。谢谢指点。如果用6K载频,则一个正弦波被分为120等份,N=60,计算得最小脉宽约13uS,对于AT89S52单片机24M时钟来说,这点时间在中断子程序中处理I/O操作都很勉强,看来是不能在中断中计算换相时间了,只能在启动时把换相时间全部计算好,并保存在RAM中,在中断程序中直接调用,并且主程序还要对数据不断刷新,以免干扰对数据破坏。

我目前在考虑用1T的单片机做。51增强型,速度快一些。大家一起交流哈

初步方案为:使用N=92,载频为9.6K通过预先制定PWM码表,进行查表,来改变CCAP0H,和CCAP0L等的值来调整PWM脉宽。用定时器来实现换相。

QQ:369048172,求交流。

0
回复
tracy188
LV.5
9
2010-10-23 09:22
@无衣
设正弦波的周期为T,分为2N等份后,每份的时间为Ts=T/2N,正弦波电压为Umsinωt,则第i个区间的正弦波面积SPi为:[图片] 由式1可见,第i区的面积就是正弦波在i-1到i的定积分,解得:[图片] 设直流脉冲的幅值为E,则用直流脉冲等效的面积Si=SPi/E,代入式2得:[图片] 式3中Um/E就是调制比,令M=Um/E得:[图片] M不大于1现在问题1和问题2没有老师解答,学习基本停顿。

學習,很多東西都忘了。

0
回复
wangshujun
LV.8
10
2010-10-23 09:55
@重庆酱油仔
我目前在考虑用1T的单片机做。51增强型,速度快一些。大家一起交流哈初步方案为:使用N=92,载频为9.6K通过预先制定PWM码表,进行查表,来改变CCAP0H,和CCAP0L等的值来调整PWM脉宽。用定时器来实现换相。QQ:369048172,求交流。

搞这个东西就别琢磨51了,慢而且外设差距很大,dspic还有ti的dsp都有1$以下的,下点功夫的话比用51实现容易的多

51的mips不管有多高只要涉及到16位和32位运算都将惨不忍睹,采样数据8位的肯定没有实用性,起码是10位活着12位的,这样加上修正需要,电源就需要大量的16位运算工作,用8位的很会惨的

0
回复
无衣
LV.6
11
2010-10-23 10:10
@wangshujun
搞这个东西就别琢磨51了,慢而且外设差距很大,dspic还有ti的dsp都有1$以下的,下点功夫的话比用51实现容易的多51的mips不管有多高只要涉及到16位和32位运算都将惨不忍睹,采样数据8位的肯定没有实用性,起码是10位活着12位的,这样加上修正需要,电源就需要大量的16位运算工作,用8位的很会惨的
谢谢指点。我也发现了这个问题,如果不需要变频,不需要在SPWM级调压,用1T8051还是可以,把换相时间计算好后做成表格,直接调用,程序中不做运算就好了。关键是现在对逆变器有调频调压的要求,看来得琢磨DSP了。
0
回复
wangshujun
LV.8
12
2010-10-23 19:19
@无衣
谢谢指点。我也发现了这个问题,如果不需要变频,不需要在SPWM级调压,用1T8051还是可以,把换相时间计算好后做成表格,直接调用,程序中不做运算就好了。关键是现在对逆变器有调频调压的要求,看来得琢磨DSP了。

不仅仅如此,51的pwm模块和dsp相比弱太多了

专用的pwm模块大多数都有影子功能,实现极端的占空比优势很大的

而且逆变气运行必然需要进行补偿的,也就是运算少不掉,pi环路总得做吧

0
回复
无衣
LV.6
13
2010-10-25 08:16
@wangshujun
不仅仅如此,51的pwm模块和dsp相比弱太多了专用的pwm模块大多数都有影子功能,实现极端的占空比优势很大的而且逆变气运行必然需要进行补偿的,也就是运算少不掉,pi环路总得做吧

请教逆变器运行时怎样进行补偿?

0
回复
wangshujun
LV.8
14
2010-10-25 10:22
@无衣
请教逆变器运行时怎样进行补偿?

负载或者电池变化的时候你的输出就要跟着变化,不需要进行调整吗

0
回复
无衣
LV.6
15
2010-10-25 11:54
@wangshujun
负载或者电池变化的时候你的输出就要跟着变化,不需要进行调整吗

你是说,当某种原因造成输出220VAC上升时,降低调制比M,反之则升高M?那当然是要在程序中计算了,还得有AD功能。我有个想法,固定M为1,以获得最高的电池电压利用率,当220VAC变化过大时,用继电器在变压器切换抽头,不知可行否?

0
回复
czxuesheng
LV.1
16
2010-10-27 08:01

原理图 硬件产生 三相 sin的 原理图。

 

qq 945866868

0
回复
wangshujun
LV.8
17
2010-10-28 14:26
@无衣
你是说,当某种原因造成输出220VAC上升时,降低调制比M,反之则升高M?那当然是要在程序中计算了,还得有AD功能。我有个想法,固定M为1,以获得最高的电池电压利用率,当220VAC变化过大时,用继电器在变压器切换抽头,不知可行否?

继电器是很大的故障源,何况也不总是有变压器抽头可以用的

0
回复
phoebusyynn
LV.1
18
2010-10-29 11:17
@czxuesheng
[图片]原理图 硬件产生三相sin的原理图。 qq945866868
学习啊!谢谢!
0
回复
zcx402
LV.3
19
2010-10-29 15:42
@czxuesheng
[图片]原理图 硬件产生三相sin的原理图。 qq945866868

CLK计算脉冲是多少

 

0
回复
loudianxin
LV.7
20
2010-11-07 21:11
@zcx402
CLK计算脉冲是多少 

向楼主学习 

0
回复
xujay
LV.6
21
2010-11-07 22:16
@loudianxin
向楼主学习 

专心等无衣大师继续!祝成功!

0
回复
2010-11-10 18:08
@xujay
专心等无衣大师继续!祝成功!
我也等.  学做个备着. 没电真麻烦
0
回复
无衣
LV.6
23
2010-11-26 07:10
@一路向北
我也等. 学做个备着.没电真麻烦
要做好打持久战的准备.
0
回复
cdmall
LV.3
24
2010-12-05 01:55
@wangshujun
搞这个东西就别琢磨51了,慢而且外设差距很大,dspic还有ti的dsp都有1$以下的,下点功夫的话比用51实现容易的多51的mips不管有多高只要涉及到16位和32位运算都将惨不忍睹,采样数据8位的肯定没有实用性,起码是10位活着12位的,这样加上修正需要,电源就需要大量的16位运算工作,用8位的很会惨的
同意此观点,直接用dspic
0
回复
xujay
LV.6
25
2010-12-05 02:53
@无衣
要做好打持久战的准备.
持久战,慢慢练
0
回复
2010-12-07 23:42
关注!加油!
0
回复
2011-02-28 19:22
@zhengjiefeng09
关注!加油!

0
回复
2011-03-07 21:09
@别的我不要
[图片]

请问我不懂单片机知识,能制作正弦波逆变器吗?

0
回复
sunjet668
LV.4
29
2011-03-13 09:41
@wangshujun
搞这个东西就别琢磨51了,慢而且外设差距很大,dspic还有ti的dsp都有1$以下的,下点功夫的话比用51实现容易的多51的mips不管有多高只要涉及到16位和32位运算都将惨不忍睹,采样数据8位的肯定没有实用性,起码是10位活着12位的,这样加上修正需要,电源就需要大量的16位运算工作,用8位的很会惨的
51只能做开环的
0
回复
无衣
LV.6
30
2011-03-14 19:41
感谢大家的关注与鼓励.感到难点在于实现SPWM的算法,系统软硬件的设计,以及能实现要求的MCU芯片.DSPIC30F系列的芯片应该可以,又得从零开始学DSPIC.
0
回复
zengdiping
LV.4
31
2011-05-09 20:42
@无衣
感谢大家的关注与鼓励.感到难点在于实现SPWM的算法,系统软硬件的设计,以及能实现要求的MCU芯片.DSPIC30F系列的芯片应该可以,又得从零开始学DSPIC.
加油
0
回复