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

软件实现SPWM的一个问题,会的不会的都来探讨一下!

这两天一直在做软件SPWM的驱动板,现在有好消息也有不好消息。好消息是正弦已经出来了,不好的消息是,正弦不够平滑,这个估计是晶振频率太低,我用的8M的,回头换个20M的,再把步长设置小点应该就可以了;关键是另外一个问题:换向的时候有个很大的毛刺,这个……

直接上图吧

  

全部回复(52)
正序查看
倒序查看
flashtodd
LV.2
2
2011-06-08 15:24
晕啊,图片怎么传不上去啊,汗!
0
回复
2011-06-08 16:36
@flashtodd
晕啊,图片怎么传不上去啊,汗!

单极性调制吗?感觉工频臂的驱动时许不对了

不一定是精确时序才对的,要在电流近似0的时候切换,因为后极有电感,电流相位会有一点不同的

如果双极性调制这个现象就不明显

最近看到的软件spwm为什么都这么粗糙呢,载频都是多低的呀

0
回复
flashtodd
LV.2
4
2011-06-08 17:34
@wangshujun
单极性调制吗?感觉工频臂的驱动时许不对了不一定是精确时序才对的,要在电流近似0的时候切换,因为后极有电感,电流相位会有一点不同的如果双极性调制这个现象就不明显最近看到的软件spwm为什么都这么粗糙呢,载频都是多低的呀

是单极性调制,现在只是第一步上电的结果,还没有细调呢。载频倒不低,20kHz,只是位数少了些罢了

0
回复
flashtodd
LV.2
5
2011-06-13 15:55

经过调试,情况有所好转了。震荡是由于吸收尖峰的参数没调好,现在已经好了。

但是换向的尖刺还是在,现在已经调到最小,可还是在啊。时序往前一个周期和往后一个周期,毛刺都很大。请问做过SPWM的大侠们,给支个招吧~ 

0
回复
flashtodd
LV.2
6
2011-06-13 15:57
@flashtodd
经过调试,情况有所好转了。震荡是由于吸收尖峰的参数没调好,现在已经好了。但是换向的尖刺还是在,现在已经调到最小,可还是在啊。时序往前一个周期和往后一个周期,毛刺都很大。请问做过SPWM的大侠们,给支个招吧~[图片] 
钟工,寿工,还有其他各路大侠,给分析一下呗
0
回复
2011-06-13 16:38
@flashtodd
钟工,寿工,还有其他各路大侠,给分析一下呗
啊哈哈,大侠,软件做SPWM我可是一窍不通啊,不过,问一下,你的正弦波是在什么情况下测到的,也就是:是在真正的H桥上测到的,还是单片机输出直接用RC滤波测到的?
0
回复
flashtodd
LV.2
8
2011-06-13 16:46
@萧山老寿
啊哈哈,大侠,软件做SPWM我可是一窍不通啊,不过,问一下,你的正弦波是在什么情况下测到的,也就是:是在真正的H桥上测到的,还是单片机输出直接用RC滤波测到的?

是实际的输出,就是桥臂过了LC滤波之后测的

0
回复
2011-06-13 16:49
@flashtodd
是实际的输出,就是桥臂过了LC滤波之后测的

包络线有点粗,滤波LC的参数是多少?

还有,死区时间是软件做的还是硬件做的,是多少US?

0
回复
flashtodd
LV.2
10
2011-06-13 16:58
@萧山老寿
包络线有点粗,滤波LC的参数是多少?还有,死区时间是软件做的还是硬件做的,是多少US?

滤波参数是4mh 1uf, 软件做的死区,在桥驱动芯片前是1us,桥臂上没敢测,上次测了一次,探针刚扎上MOS就烧了,还没弄明白什么原因,所以现在测都是在桥驱动芯片输入脚测了

0
回复
flashtodd
LV.2
11
2011-06-13 16:59
@萧山老寿
包络线有点粗,滤波LC的参数是多少?还有,死区时间是软件做的还是硬件做的,是多少US?

包络线粗是滤波不好造成的吗?这个影响不大吧

0
回复
2011-06-13 17:18
@flashtodd
包络线粗是滤波不好造成的吗?这个影响不大吧

如果你是用一个电感,那么你加大滤波电容试试,加到3-4UF,CBB,无极性的630V耐压的。

 

0
回复
2011-06-13 17:22
@萧山老寿
如果你是用一个电感,那么你加大滤波电容试试,加到3-4UF,CBB,无极性的630V耐压的。 

老寿师傅改名啦

0
回复
2011-06-13 17:23
@宛东骄子
老寿师傅改名啦[图片]
0
回复
rengyb
LV.2
15
2011-06-13 21:09
1、过零点么有处理好;2死区时间设置2us,可能会好一点;
0
回复
2011-06-13 21:12
@萧山老寿
如果你是用一个电感,那么你加大滤波电容试试,加到3-4UF,CBB,无极性的630V耐压的。 

滤波不够,包络线就会粗。

0
回复
rengyb
LV.2
17
2011-06-13 21:13
@flashtodd
滤波参数是4mh1uf,软件做的死区,在桥驱动芯片前是1us,桥臂上没敢测,上次测了一次,探针刚扎上MOS就烧了,还没弄明白什么原因,所以现在测都是在桥驱动芯片输入脚测了
示波器两个探头的地要一样,否则就会出现你所说的故障,如果有隔离探头就好了
0
回复
shw0320
LV.2
18
2011-06-14 13:59
@rengyb
1、过零点么有处理好;2死区时间设置2us,可能会好一点;

先用RC加在muc引脚上看看原始信号有没问题 如果波形比较平滑 在看MOSFET驱动脚 有时候可能是驱动有米勒影响 

0
回复
ydcman
LV.8
19
2011-06-14 18:59
@shw0320
先用RC加在muc引脚上看看原始信号有没问题如果波形比较平滑在看MOSFET驱动脚有时候可能是驱动有米勒影响 
可以改变一下频率看看,还有就是换向是可以加几个0数据,
0
回复
ydcman
LV.8
20
2011-06-14 19:05
@ydcman
可以改变一下频率看看,还有就是换向是可以加几个0数据,

你这个换向尖峰,应是上下管直通了,看看驱动有无重合

0
回复
LV.1
21
2011-06-15 14:11
@ydcman
你这个换向尖峰,应是上下管直通了,看看驱动有无重合

师傅,上下管有死区一般多大?

左右管死区又是多大啊?

0
回复
shw0320
LV.2
22
2011-06-15 16:41
@
师傅,上下管有死区一般多大?左右管死区又是多大啊?
要看你频率多少 一般1us差不多
0
回复
ydcman
LV.8
23
2011-06-15 17:52
@shw0320
要看你频率多少一般1us差不多
要看你是用什么的结构,看网上PIC的都是上下桥臂加死区,系外部加入死区。我发的帖子那种只需要在换向时加死区,或者是IO口延迟几个指令。一般是先全部关,执行其他程序(大概几个指令周期),然后再打开需要开通的IO。
0
回复
ydcman
LV.8
24
2011-06-15 17:54
@ydcman
要看你是用什么的结构,看网上PIC的都是上下桥臂加死区,系外部加入死区。我发的帖子那种只需要在换向时加死区,或者是IO口延迟几个指令。一般是先全部关,执行其他程序(大概几个指令周期),然后再打开需要开通的IO。
也就是1US左右吧,具体没有实测,还有就是滤波电感要选铁硅铝的磁芯的
0
回复
ydcman
LV.8
25
2011-06-15 17:57
@ydcman
也就是1US左右吧,具体没有实测,还有就是滤波电感要选铁硅铝的磁芯的
PIC的那种结构内部换向也应该有死区的
0
回复
flashtodd
LV.2
26
2011-06-16 09:52
@ydcman
你这个换向尖峰,应是上下管直通了,看看驱动有无重合

这个不是直通,驱动我看过了,没问题,而且我加了1us的死区时间

0
回复
shw0320
LV.2
27
2011-06-16 11:59
@flashtodd
这个不是直通,驱动我看过了,没问题,而且我加了1us的死区时间
哪就是你的换相有问题 或是SIN表没做好
0
回复
tomwell
LV.2
28
2011-06-16 18:02
是否管子上没有逆导二极管,电感能量消不掉?
0
回复
flashtodd
LV.2
29
2011-06-23 15:31
@tomwell
是否管子上没有逆导二极管,电感能量消不掉?

楼上说的有道理。

现在报告最新进展:空载的时候,换向的小尖尖还是在,大概不到1V,加载后消除比较明显。我加的15V DC,还没上高压。上图:

这个是空载

 

这是加载后的: 

  

 

0
回复
ydcman
LV.8
30
2011-06-23 16:19
@flashtodd
楼上说的有道理。现在报告最新进展:空载的时候,换向的小尖尖还是在,大概不到1V,加载后消除比较明显。我加的15VDC,还没上高压。上图:这个是空载[图片] 这是加载后的: [图片] [图片]  

载频在20K时,半周期数据也有200多个了,你的波形感觉谐波比较大,滤波器没有做好

0
回复
flashtodd
LV.2
31
2011-06-23 16:45
@ydcman
载频在20K时,半周期数据也有200多个了,你的波形感觉谐波比较大,滤波器没有做好

我的半个周期192个。 谐波大你是怎么看出来的呢?另外滤波器设计能否讲的详细点?

0
回复