随“芯”所欲----TDS2285试用记
杭州 老寿
对于象我这样不懂单片机编程的爱好者来说,要设计一个SPWM电路,首先肯定会想到用纯硬件方案,我在去年就花了大约半年时间来研究纯硬件SPWM的驱动电路,做出了很多版本的实验板,但没有一块是令人满意的。
总结一下整个过程,我觉得要做出一款性能指标比较好的纯硬件电路,有以下三难:
一是:设计一个性能稳定,波形良好的基准源有点难。一般常用的文氏电桥振荡器,虽然电路简单、起振容易,但有一个很头痛的问题,就是输出的幅度有温漂,且波形的失真度也较高,一般在1.7-2.5%之间。我也试过用函数块8038的振荡器,8038虽然输出比较稳定,但要把它的失真度做小,外围元器件也不算少了,更何况要几十元一个的高昂价格;
二是:要设计一个速度快且线性很好的调制器也不容易,我曾试过用3525做调制器的,也试过用LM339做调制器,总觉得不是电路复杂就是指标不高;
三是:设计一个大反馈稳压电路难。纯硬件方案中,做稳压反馈,一般是用误差放大器,如果放大器的增益过低,则稳压控制范围就不够大,稳压效果很差,如果放大器增益高了,又很容易自激;更有甚者,信号通过各级LC电路后,多多少少会有相移,所以在电路中还要做各种补偿。
所以,要做出一款性能指标都不错的纯硬件SPWM驱动,需要有很强的电路设计能力,很好的电路基础知识,钟工就有一款很不错的纯硬件驱动,http://bbs.dianyuan.com/topic/180615。而象我这样的业余级别的“砖家”,要做好是有难度的。当然,纯硬件的方案如果做好了,其性能稳定,反应迅速,不会死机,是单片机方案不能比的。
一、TDS2285简介
也是一个很偶然的机会,在论坛上看到了张工的TDS2285芯片:http://bbs.dianyuan.com/topic/488422,并下载了规格书进行研究。
该芯片的一个最大特点是外围电路简单,因为它是用程序来产生SPWM波的,所以就不需要“基准源”,也不需要“调制电路”,对于反馈稳压,它是取输出回路的直流信号(经整流)进行稳压的,所以稳压电路十分简单了,也不用考虑相移补偿等,所以电路大为简化,元件的数量大大减少,这对于象我这样的“单片机盲”来讲,拿来就可以使用。记得钟工说过一句话:“单片机可以延续一个人的智慧”,确是这样,一个小小的14脚的芯片,凝聚了当初张工开发时的全部智慧,而这些智慧则可以会部体现在所有用2285的逆变器中。下图就是TDS2285一种应用方案:
以下是TDS2285的规格书:
TDS2285N规格书
下面是各部分电路简介:
这是电源电压检测电路,BT电压(我的逆变器BT是12V)经上面的100K电阻和下面的10K电阻分压,输入到芯片的13脚,在BT为12V时,正常工作范围是9.5V~14.5V,也就是BT超出这个范围,芯片就关断SPWM输出,并用长声报警,LED做慢闪指示。
上面是自动稳压电路,这个稳压电路十分简单有效,用二个200K的隔离电阻,直接接到AC输出端,经简单的整流和滤波后输入到芯片的10脚。没有用取样变压器,既可以节省成本,又可以减小体积,实在巧妙。我没有对它的稳压精度做过详细的测试,但我的逆变器,当BT为11V时,在800W负载时也可以输出大于218V的电压,空载时我调在228V~230V。
这是TDS2285的过载短路保护示意图,正常工作模式下,11脚为高电平,当过载电路或短路保护电路检测到过载或短路时,输出一个高电平,8050导通,11脚电平被拉低,芯片就会在0.6US内关闭SPWM输出。因为过载和短路共用一个IO口,所以,在设计逆变器时,其它过载和短路保护要全部用外围电路来解决,这应该是设计逆变器的难点所在。我这台用2285的逆变器,这次没有设计过载保护电路,只有短路保护功能。因为每个人对过载和短路现象的理解不同,可能设计出来的电路也会有很大的不同。下面是我对这二个电路功能的理解:
1.过载保护:过载现象简单地说,就是工作时负载大于逆变器的额定输出功率,是一种超负荷运行状态,对设备来讲是很危险的。一般我们都会设计成用电流互感器来检测AC输出端的电流大小,这个方法比较简单,也很有效。例如:一台1000W的逆变器,负载加到1050W了,虽然过载了,但还不很严重,这时就要用声或光提示管理人员注意,如果负载不减轻,电路就要在延时一段时间后关闭机器(例如30秒后关断SPWM)。如果加载到1300W,同样除了有光或声提示外,延时时间要短一些(如10秒后就关断SPWM),也就是超负载越重,延时时间越短,这样可以充分保证设备的安全性。以这个要求来设计外围电路,估计电路也不会简单到哪里去了。
2.短路保护:一台好的逆变器,做一个完美的短路是最重要的,论坛上有很多大师级的朋友,他们的逆变器都可以经得起上百次的短路而不烧H桥,所以,短路保护电路都做为一个技术核心而被设计者保护,轻易不肯放出来,也难怪,一般要试验成功,都是要花很大代价的,一大堆一大堆地烧管子后才能成正果。短路保护电路的设计,关键是二点,第一是要读取H桥的工作电流,一般取自H桥母线上的取样电阻,以0.1R的电阻为例,一个1000W的逆变器,正常工作时应该在3A以内,也就是满载时取样电阻上应该有3V左右的电压。第二是从检测到短路后再到关断SPWM之间的延时要合适,以现在的元器件,要做到快,是没有问题的,但有个问题是:关得太快了,就无法启动冲击性负载了,一个1000W的小太阳灯管,从冷管启动到完全点亮,要0.2-0.3秒;启动一台冰箱也要0.2秒左右。如果简单以这个0.2或0.3秒来设计保护电路的延时时间,是肯定不行的,因为在高频20K的情况下,0.2秒时间内,H桥已经通过8000个大电流的脉冲了,管子早就烧得惨不忍睹了。唯一的办法是在这0.2或0.3秒时间内对H桥进行抑流,让它工作在一个安全的范围内。例如H桥用20A的管子,就让它限流在10A左右(对于1000W的机器来讲,10A就意味着它短时间输出3000W以上的功率了,启动冲击性负载完全没有问题),等0.2或0.3秒后,如果短路还没有解除,电路输出高平到TDS2285的11脚,关断SPWM。
我有一个朋友,在生产出口数码发电机的后级(实际上就是一个逆变器),用的就是这种保护方式,不过它是在程序中解决的,检测到短路后,单片机大幅度地削减SPWM的宽度,让H桥电流限止在一个安全的范围内,如果0.2钟短路还没有消除,就关断SPWM。它的外围电路没有时序和死区电路,全是在单片机中做好的,用的是一个32位单片机,输出4路直接到250光藕,工作很可靠。
上图是2285的报警电路,配合5脚上的LED一同工作,当BT出现过压或欠压时,蜂鸣器发出长声,LED做长闪;当11脚检测到过载或短路时,蜂鸣器发出短声,LED做短闪。
二、TDS2285的性能
限于技术和设备的原因,我无法对2285芯片做全面的技术测试,我只对它输出的正弦波失真度情况进行了测试,为了这项测试,我特意去买了一台固纬的201G失真度仪,因为从市面上看,常见的失真仪中,只有这款可以测试到300V,一般都只能测到100V。
下面是不同性质负载下的失真度指标:
上图是在空载和加载到400W左右的失真度,只有0.7%,这实在是一个比较满意的指标了。
上图是加载到800-1000W时的失真度情况,大约在0.90-0.95%之间。
上图是带一个感性负载(一台600W的磨光机)时的失真度,大约在0.8-0.9%左右。
上图是带一台用17寸CRT显示器的电脑时的失真度,应该算是整流性负载,大约在1.14%左右。
三、几点改进建议
从我试用的情况来看,2285的性能还算是非常满意的,它外围电路简单,SPWM精度很高,能让使用者设计出指标绝对OK的逆变器,在我装的二台机器中,没有因为程序出错而死机等现象发生过,性能很可靠。但我还想对张工提几点改进建议,因为我不懂单片机,可能提出的建议不一定正确,请不要见笑:
1.芯片的第12脚是一个去关断前级的IO口,一旦发生过载或短路,12脚就输出一个高电平,去关断前级的PWM(例如SG3525的第10脚),但我想,这个功能可以用外围电路实现,可以在保护电路输出高电平时一同去关闭前级的PWM,这样可以省下一个宝贵的IO口。
2.如果芯片IO口够用的话,最好把“过载”和“短路”这二部分的输入端分开,让程序对这二种情况进行分开处理。例如:用一个带内部AD的IO口,让它采集过载电路过来的电压,因为负载越重,采集到的电压越高,程序就可以在不同负载时做出不同的处理:
如:负载超10%,延时30秒关断SPWM(延时期间先减小SPWM的宽度,并声光报警,下同)
负载超20%,延时20秒关断SPWM
负载超30%,延时10秒关断SPWM
负载超50%,把控制权交给11脚,当短路处理,即先限流,再关闭。
这样做的好处是:过载保护部分的电路会大幅度简化,调试也很简单,只要调一个额定最大功率的基准值就可以了。芯片11脚可以仍保留现在的功能。
3.如果用IO口多一点的芯片,可以多用几个LED,分别来指示过载,短路,欠压,过压等等。
以上建议不一定正确,仅供张工参考,哈哈!