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

向用单片机用SPWM的朋友说几句话

现在有很多公司推出了正弦波SPWM的专用芯片,但我猜其内涵应该是一种单片机芯片.使用单片机来做SPWM源,其优点是毋用置疑的,因其电路简单、性能优良、方案灵活而越来越受到开发工程师的欢迎.有时,只要升级软件就可以升级产品的功能和性能,所以说,用单片机做SPWM源肯定是一种方向.
(当然,这东西并不是一般人都能做得出来的.)
    我现在要说的是:现在的用单片机做的SPWM芯片,脉冲输出口一般只用二个口,分别输出二路极性相反的SPWM脉冲波,以单极性调制方式为例,送到H桥4个管子栅极的波形要求是如下图所示的.而要得到这四路波形,还要在芯片和H桥之间加入很复杂的时序电路和死区时间生成电路.单说这个时序电路,因其逻辑关系错综复杂,对于一般人看来,实在是云里雾里,无所适从,除非是设计者本人,其他人是很难弄清楚其中的工作原理和时序关系的.所以我异想天开,开发者能不能把这四路波形在芯片内部就解决掉,也就是用软件或硬件的方式,用单片机的4个IO口,直接输出如图所示的调制波形,我想应该是做得到的(也许我说的是外行话),如果单片机的IO口输出电流在10MA以上,则可以直接接光藕了.还有,把死区时间也在软件中做好,就可以不用这复杂的时序电路和死区生成电路了,这样的H桥,真的是太简单了,真希望有编程能力的朋友能做出这样的程序来.

下图是单极性调制的SPWM在H桥4个管子上的驱动波形
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/80/3379261249482265.jpg?x-oss-process=image/watermark,g_center,image_YXJ0aWNsZS9wdWJsaWMvd2F0ZXJtYXJrLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzQwCg,t_20');}" onmousewheel="return imgzoom(this);">

下图是想象中的用单片机做SPWM的H桥电路
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/80/3379261249482369.jpg?x-oss-process=image/watermark,g_center,image_YXJ0aWNsZS9wdWJsaWMvd2F0ZXJtYXJrLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzQwCg,t_20');}" onmousewheel="return imgzoom(this);">
全部回复(39)
正序查看
倒序查看
正弦芯
LV.8
2
2009-08-06 08:16
这种形式的电路在产品中其实已经有应用了.
任何事情都是有利有弊,有利的一面楼主已经说了,我只说说有弊的一面:
一.用单片机出四路H桥信号是可以实现的,但是万一在异常情况下单片机受到干扰,这四路信号的时许会被扰乱,H桥有可能上下直通,这是个很致命的问题,除非这四路输出端口是纯硬件互锁的.
二.现在有些SPWM IC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间.

  随着SPWM的广泛应用,更简单易用的芯片迟早会出现,有可能出现不用H桥的芯片.
  这仅仅是个人观点,若有不当欢迎指正.
0
回复
hbzjcjw
LV.10
3
2009-08-06 09:06
单片机我是外行也来指手画脚一下

如果死区写在内部,是可以的,但是只能专为某一批产品写一次,如果广泛使用的话不太可行

4路估计占用空间太大,也很费神,再就是王工说的干扰.
0
回复
2009-08-07 09:46
这种思路我在做这类东西就考虑过了,当时已经做成了这样的时序效果,后来的确发现了,就如正弦芯说的第二点:
二.现在有些SPWM IC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间.
后来干脆就没有再这样做过了.
现在有些微处理器可以很简单的实现上面的时序功能,它们的端口有类似于CPLD的一些功能,可以做到类似于纯硬件互锁链接.
0
回复
2009-08-07 11:12
@lizlk
这种思路我在做这类东西就考虑过了,当时已经做成了这样的时序效果,后来的确发现了,就如正弦芯说的第二点:二.现在有些SPWMIC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间.后来干脆就没有再这样做过了.现在有些微处理器可以很简单的实现上面的时序功能,它们的端口有类似于CPLD的一些功能,可以做到类似于纯硬件互锁链接.
昨天我去一个朋友的厂里,他在做数码发电机,功率有1000W和2000W二个规格,是出口的.发电机送出400-600V频率在150HZ左右的电压(相当于母线),后用逆变器把它转变成230V50HZ的交流电.我看了图纸,其后面的H桥部分如我上面所示的图基本相似,其光藕是直接接在单片机上的.我想,对于厂家来讲,一批产品一旦定形,开关管的型号一般也不可能经常更换.所以,把时序和死区做进单片机还是有一定意义的,因为,成本和电路的简洁性,对厂家来讲是很实在的.
0
回复
hbzjcjw
LV.10
6
2009-08-07 21:52
@萧山老寿
昨天我去一个朋友的厂里,他在做数码发电机,功率有1000W和2000W二个规格,是出口的.发电机送出400-600V频率在150HZ左右的电压(相当于母线),后用逆变器把它转变成230V50HZ的交流电.我看了图纸,其后面的H桥部分如我上面所示的图基本相似,其光藕是直接接在单片机上的.我想,对于厂家来讲,一批产品一旦定形,开关管的型号一般也不可能经常更换.所以,把时序和死区做进单片机还是有一定意义的,因为,成本和电路的简洁性,对厂家来讲是很实在的.
太精髓的地方,你就是说到点了上了也没人会回你话,更有可能某些J8版主会把它删了,因为会影响某些人的利益
0
回复
微宝贝
LV.2
7
2009-08-09 17:59
@hbzjcjw
单片机我是外行也来指手画脚一下如果死区写在内部,是可以的,但是只能专为某一批产品写一次,如果广泛使用的话不太可行4路估计占用空间太大,也很费神,再就是王工说的干扰.
思路输出不是不可能,占用空间也不比一路大,单片机程序在内部反相处理就行了.死区处理集成确实不好,不如加个rc
0
回复
hk007
LV.3
8
2009-08-09 19:14
@萧山老寿
昨天我去一个朋友的厂里,他在做数码发电机,功率有1000W和2000W二个规格,是出口的.发电机送出400-600V频率在150HZ左右的电压(相当于母线),后用逆变器把它转变成230V50HZ的交流电.我看了图纸,其后面的H桥部分如我上面所示的图基本相似,其光藕是直接接在单片机上的.我想,对于厂家来讲,一批产品一旦定形,开关管的型号一般也不可能经常更换.所以,把时序和死区做进单片机还是有一定意义的,因为,成本和电路的简洁性,对厂家来讲是很实在的.
我也用MEGA48做过SPWM,就是死区不好处理,M48如果用快速PWM模式的话,在计数到达0xff时,PWM1和PWM2会同时改变(一个开通另一个关断),就会造成没有死区.
0
回复
2009-08-11 11:50
@hk007
我也用MEGA48做过SPWM,就是死区不好处理,M48如果用快速PWM模式的话,在计数到达0xff时,PWM1和PWM2会同时改变(一个开通另一个关断),就会造成没有死区.
用CPLD或FPGA处理死区比较方便.小弟正在研究逆变和并网,以前没有搞过强电,正担心并网时会将逆变H桥中的MOS管打死.
0
回复
liuterry38
LV.4
10
2009-08-13 12:13
@萧山老寿
昨天我去一个朋友的厂里,他在做数码发电机,功率有1000W和2000W二个规格,是出口的.发电机送出400-600V频率在150HZ左右的电压(相当于母线),后用逆变器把它转变成230V50HZ的交流电.我看了图纸,其后面的H桥部分如我上面所示的图基本相似,其光藕是直接接在单片机上的.我想,对于厂家来讲,一批产品一旦定形,开关管的型号一般也不可能经常更换.所以,把时序和死区做进单片机还是有一定意义的,因为,成本和电路的简洁性,对厂家来讲是很实在的.
楼主,你好,我是一名学生,可能说得不对,还请你包涵
1,同一桥臂上的上下两开关互补通断,期间为防止直通而加入死区时间的问题,已经在单片机内部解决了.据我了解,PIC18的单片机很多可以编程插入死区时间,并且时间长短可任意设定;如果觉得软件输出的方式不可靠,自己设计一个电路加入死区时间,也不是难事.
2,我所用PIC18F4431单片机可提供互补输出的PWM波形,即两个I/O口一对,用4个口即可产生如你图所要求的波形.并且可以编程设定在某一时刻固定为高/低电平.我所设计的电源就是利用4个口通过光电隔离输出到驱动电路来驱动IGBT管的
3,额外说一下,看上去原理好像比较简单,不过小弟已经做了数月,仍有许多毛病...实在是惭愧得很
0
回复
正弦芯
LV.8
11
2009-08-13 14:20
@liuterry38
楼主,你好,我是一名学生,可能说得不对,还请你包涵1,同一桥臂上的上下两开关互补通断,期间为防止直通而加入死区时间的问题,已经在单片机内部解决了.据我了解,PIC18的单片机很多可以编程插入死区时间,并且时间长短可任意设定;如果觉得软件输出的方式不可靠,自己设计一个电路加入死区时间,也不是难事.2,我所用PIC18F4431单片机可提供互补输出的PWM波形,即两个I/O口一对,用4个口即可产生如你图所要求的波形.并且可以编程设定在某一时刻固定为高/低电平.我所设计的电源就是利用4个口通过光电隔离输出到驱动电路来驱动IGBT管的3,额外说一下,看上去原理好像比较简单,不过小弟已经做了数月,仍有许多毛病...实在是惭愧得很
兄弟说的对,不过也不用惭愧,即使是电源工程师如果没有接触过这部分也要搞好几个月,有的甚至一年两年.
0
回复
z34y56
LV.6
12
2009-08-23 16:15
@正弦芯
这种形式的电路在产品中其实已经有应用了.任何事情都是有利有弊,有利的一面楼主已经说了,我只说说有弊的一面:一.用单片机出四路H桥信号是可以实现的,但是万一在异常情况下单片机受到干扰,这四路信号的时许会被扰乱,H桥有可能上下直通,这是个很致命的问题,除非这四路输出端口是纯硬件互锁的.二.现在有些SPWMIC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间.  随着SPWM的广泛应用,更简单易用的芯片迟早会出现,有可能出现不用H桥的芯片.  这仅仅是个人观点,若有不当欢迎指正.
讲的很好.这才讲到点子上了.真是本行的前辈.
0
回复
yclycl
LV.4
13
2009-08-23 19:48
@正弦芯
兄弟说的对,不过也不用惭愧,即使是电源工程师如果没有接触过这部分也要搞好几个月,有的甚至一年两年.
想法不错!有想法就有进步!
0
回复
coolwater
LV.5
14
2009-09-17 08:34
@yclycl
想法不错!有想法就有进步!
关注
0
回复
hechaocao
LV.5
15
2011-04-16 11:06
@coolwater
关注

学习学习

 

0
回复
lq3698
LV.4
16
2011-04-16 18:04
@liuterry38
楼主,你好,我是一名学生,可能说得不对,还请你包涵1,同一桥臂上的上下两开关互补通断,期间为防止直通而加入死区时间的问题,已经在单片机内部解决了.据我了解,PIC18的单片机很多可以编程插入死区时间,并且时间长短可任意设定;如果觉得软件输出的方式不可靠,自己设计一个电路加入死区时间,也不是难事.2,我所用PIC18F4431单片机可提供互补输出的PWM波形,即两个I/O口一对,用4个口即可产生如你图所要求的波形.并且可以编程设定在某一时刻固定为高/低电平.我所设计的电源就是利用4个口通过光电隔离输出到驱动电路来驱动IGBT管的3,额外说一下,看上去原理好像比较简单,不过小弟已经做了数月,仍有许多毛病...实在是惭愧得很

学生能搞几个月厉害!!!

0
回复
ydcman
LV.8
17
2011-04-16 19:44
@lq3698
学生能搞几个月厉害!!![图片]
好想法,但现在好多家已经有现成的
0
回复
masmin
LV.2
18
2011-04-21 16:39

看老寿前辈的文章不少,现在也正学习spwm这块,鄙人对编程略知一二,现发表个人观点,若有不妥,敬请谅解:现在的单片机产生spwm波不成问题,死区设置也不成问题.实际上从网上搜搜就可看到不少类似的东西,不过都要修改些.关键的问题是使用软件可以实现诸如电路保护,电压波动情况下的输出稳定问题等等,而这些不是硬件可以轻易解决的.所以,这才是使用单片机,DSP等的原因,若失去了这些,采用单片机等就失去了意义.

 

0
回复
hxdq
LV.3
19
2011-04-21 17:50
这种芯片出来了
0
回复
hxdq
LV.3
20
2011-04-21 17:53
@hxdq
这种芯片出来了
 
0
回复
川野
LV.7
21
2011-04-21 18:09
@hxdq
[图片] 

人家在探讨技术,怎么广告又出来了。

0
回复
川野
LV.7
22
2011-04-21 18:20
@正弦芯
这种形式的电路在产品中其实已经有应用了.任何事情都是有利有弊,有利的一面楼主已经说了,我只说说有弊的一面:一.用单片机出四路H桥信号是可以实现的,但是万一在异常情况下单片机受到干扰,这四路信号的时许会被扰乱,H桥有可能上下直通,这是个很致命的问题,除非这四路输出端口是纯硬件互锁的.二.现在有些SPWMIC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间.  随着SPWM的广泛应用,更简单易用的芯片迟早会出现,有可能出现不用H桥的芯片.  这仅仅是个人观点,若有不当欢迎指正.

我感觉单片机和光耦的电源只要单独供电就能处理好干扰问题。不要共地。

0
回复
川野
LV.7
23
2011-04-21 18:22
HT的芯片就是老寿先生的这种方案。包括三相的。
0
回复
2011-04-21 18:28
@川野
HT的芯片就是老寿先生的这种方案。包括三相的。
单片机练的就是稳压性能。
0
回复
hxdq
LV.3
25
2011-04-22 13:22
@川野
人家在探讨技术,怎么广告又出来了。

我真不是做广告的,我就想知道,这种芯片有没有《正弦芯》说的那些缺点:

任何事情都是有利有弊,有利的一面楼主已经说了,我只说说有弊的一面:
一.用单片机出四路H桥信号是可以实现的,但是万一在异常情况下单片机受到干扰,这四路信号的时许会被扰乱,H桥有可能上下直通,这是个很致命的问题,除非这四路输出端口是纯硬件互锁的.
二.现在有些SPWM IC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间

0
回复
2011-04-22 13:56
@hxdq
我真不是做广告的,我就想知道,这种芯片有没有《正弦芯》说的那些缺点:任何事情都是有利有弊,有利的一面楼主已经说了,我只说说有弊的一面:一.用单片机出四路H桥信号是可以实现的,但是万一在异常情况下单片机受到干扰,这四路信号的时许会被扰乱,H桥有可能上下直通,这是个很致命的问题,除非这四路输出端口是纯硬件互锁的.二.现在有些SPWMIC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间

大哥啊,正弦芯什么时候说过你们啊,不要乱给别人扣帽子,这样不好的。我经常来电源网,没有看到他说过你们的不是啊。

 

0
回复
川野
LV.7
27
2011-04-22 19:12
@hxdq
我真不是做广告的,我就想知道,这种芯片有没有《正弦芯》说的那些缺点:任何事情都是有利有弊,有利的一面楼主已经说了,我只说说有弊的一面:一.用单片机出四路H桥信号是可以实现的,但是万一在异常情况下单片机受到干扰,这四路信号的时许会被扰乱,H桥有可能上下直通,这是个很致命的问题,除非这四路输出端口是纯硬件互锁的.二.现在有些SPWMIC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间

先就你说的问题我谈谈我自己的看法:

第一点:他的这个板子+5V和12V的电源是单独供电的,5V的地和12V的地不是共地的,而且还有光耦隔离。如果供电电源也采用分开供电,即供电电源5v的地和12V的地采用不共地的方式,则可靠性将很好。抗干扰性能将更强。不过它的光耦部分没有实现互锁,所以这一点比较遗憾。如果光耦部分实现互锁则稳定性更好。

第二点:它的这个死区时间是在外部可以由用户调整的。所以不存在你说的第二点的问题。

0
回复
陈春宇
LV.3
28
2011-04-22 22:15
@正弦芯
这种形式的电路在产品中其实已经有应用了.任何事情都是有利有弊,有利的一面楼主已经说了,我只说说有弊的一面:一.用单片机出四路H桥信号是可以实现的,但是万一在异常情况下单片机受到干扰,这四路信号的时许会被扰乱,H桥有可能上下直通,这是个很致命的问题,除非这四路输出端口是纯硬件互锁的.二.现在有些SPWMIC把死区时间做在内部,其实这并不合理,死区时间是和开关管的性能参数有关联的,不同的型号需要不同的死区时间.  随着SPWM的广泛应用,更简单易用的芯片迟早会出现,有可能出现不用H桥的芯片.  这仅仅是个人观点,若有不当欢迎指正.
说得没有错,波型用单片机很容易做出来,但单片机很容易来干扰,所以单片机有自复位电路,万一错了,就自动复位,而电源电路要求很高,万一单片机不工作,要复位了,就一点点时间,电源就过流烧啦.
0
回复
2011-04-24 13:44
我是一个初学者,想请教一个问题:SPWM的H桥中,上管有SPWM驱动时,下管为何不可一直关闭就可以了。可能是个很幼稚的问题,别见笑。
0
回复
hudada
LV.1
30
2011-04-24 22:52

我觉得这个驱动波形有问题,为什么要两个下管同时开通,后级怎么输出滤波成正弦波?

0
回复
hudada
LV.1
31
2011-04-24 22:55
@江上渔者
我是一个初学者,想请教一个问题:SPWM的H桥中,上管有SPWM驱动时,下管为何不可一直关闭就可以了。可能是个很幼稚的问题,别见笑。
我觉得同一边的下管应当关闭。
0
回复