楼主(旅长):
开始之前,先说说自己观察到的几个现象:
1. 做UPS多年,发现Online的UPS基本都是数字化,后备机则用硬件实现居多,逆变器跟后备机类似,上大多都是用单片机来实现的,功能相对单一。
2. 在1~20k的功率段,UPS基本都是半桥的拓扑。逆变器主要家用功率段集中在1~5k,基本都是全桥为主。UPS的负载比较单一,逆变器的负载比较多样,半桥不能带半波负载,全桥因为有零电平的存在,跟三电平拓扑类似。
3. 逆变器作为比较小的一个分支,国内UPS/并网逆变器大厂都没有特别重视,市场上流行的工频机大多是从山特出来的方案,高频机则基本没有数字化的方案。
看上各种逆变器,基本都是用单片机打出一个PWM,驱动/死区都是用硬件来做,只是单纯的实现逆变,其中涉及到的各种逻辑,显示,通信等都无法集中在一个芯片上搞定。鉴于此,我一直在想用UPS的经验来做逆变器,把UPS上相对成熟又灵活的方案移植到逆变器上。这个过程中跟上某位大牛版主学到了不少经验,给我了不少启发。而且TI推出的Piccolo系列DSP 28027,价格10元左右,跟PIC价格差不多,基本能满足低成本高性能的要求。
DSP 2802x系列2种封装,48PIN和38PIN,如果48PIN觉得还贵的话,可以选用38PIN的低频系列的,绝对比单片机要强大很多。
下图是用28027做的控制板,对国内某厂家高频逆变器(硬件做的)进行改进的项目,图片如下:
先写到这里,具体功能后续详细讲解。
1.DSP直接输出4路PWM,驱动IGBT产生SPWM波。
2.DSP可以直接输出2路脉宽可变,相位相差180°的PWM驱动,实现对母线电压的控制。3525只能固定50%占空比,这里可以把3525省掉。
3.多达13路ADC采样,所有模拟量都能采集到。
4.内部集成2路比较器,不需外部增加比较器,即可实现对逆变电流逐波限流控制。
5.各种参数可以随意设置,可以实现208/220/230/240V,50/60Hz的输出。
6.内部有1路SCI接口,可以MODBUS/SNT等各种协议。
7.可以实现段码LCD/数码管显示。
各位大侠们有啥问题需求,可以提出来一起讨论~
先上个图,这是国内某厂家的逆变/充电 一体机,前级推挽是用3525做的,后级逆变驱动+控制都是用硬件做的,后续就在这个基础上进行的改进,改进后硬件简单很多,功能更强大。
更改后功率板如下:
简单说下拓扑结构:
1. 前级暂时还用3525,后续直接用DSP直接控制母线电压。
2. 后级全桥拓扑,低频臂和高频臂固定。
3. 带有市电充电器功能。
4. 有市电和旁路切换功能,可以设置为市电优先或逆变优先,可以设置节能模式。
由于用DSP直接控制,改动起来比较灵活,在处理客户非标需求时就灵活很多了。
这是改进第一版本,控制部分全部在控制板区域,后续上简单的SPEC.
先上个调试图片:
目前有几个问题:
1. 空载电流还是有点大,没有钳流表,不知道实际电流多少。
2. 逆变波形过零处死区效应很明显,目前死区1.5us。还有点小小的畸变,这个已经是优化过的了。
没办法全桥的拓扑决定了。
--------------- 讨论区 --------------
lizlk(司令):
这样的贴,必须要顶。
这样的实现方式,是和我想的完全吻合。
这个东西才是有前途的方案!
请教几个问题:
1;当逆变上欠压保护的时候,此时市电在线,这时候逻辑上要切换到市电,假设开机时,此时还没有锁相完成,这个时候是切换还是不切换呢?
2;机器的开机初始化过程是什么样子的。
3;当逆变工作过程中,锁相有没有失败的可能性呢??发生锁相失败的情况,一切逻辑就要重新运行,这个过程中,如果遇到要切换的状态,是挂起还是怎么样呢?
4;当逆变VRMS值和市电VRMS值相差比较大的情况下,切换吗?比如有人拿30AH的电池,带个1KW,很快造成电池欠压保护,此时欠压保护点,对应了逆变此时会输出相对很低的VRMS值,此时要切换了,该怎么办?
楼主(旅长):
哈哈,多谢老哥顶贴,一下子提了这么多问题,一个一个来:
1.逆变欠压保护,这时候负载肯定是在逆变的,如果市电OK,必须要快速切到市电去。开机时,默认输出在旁路,如果逆变优先模式,需要等逆变锁相完成后再切到逆变来。
2.开机初始化,检测各开机条件是否OK,比如电池电压是否在开机范围内,前级是否满足开机条件,如果满足,则开DCDC升母线,母线稳定后,判断逆变是否能够开机,如果可以则开逆变。
3.逆变工作过程中,如果市电存在且市电频率在可跟踪范围内,则跟踪市电频率。如果超出可跟踪范围,则按额定频率来运行。如果这个时候需要切换,则不需锁相,直接切换,这种情况下输出可能有间断,但是也没有更好的办法了。
4.逆变Vrms和市电Vrms差值不会很大,所举例子包含几个情况都可能导致输出切市电:a:电池低压 b:电池低压会导致母线电压低 c: 逆变Vrms值变低。这3个情况都会导致输出切市电,看哪个最先满足了。
lizlk(司令):
第一个问题:
如果输入是快速掉电,也就是说,输入的电源,功率不能足够保证,比如有人用个开关电源,做电池,如果此开关电源功率为200W,他开机之后,市电也在线,逆变输出,且为空载,他突然加了一个1KW的灯,往上干,此时可以保证切换不炸机吗?特别是在市电还没有锁相完全执行下,操作了此项。
楼主(旅长):
梳理一下,主要问题是输入功率不够,电压快速下跌 :
1. 检测到电池电压快速下跌,输出会很快切市电,不管是否锁相完成。
2. 炸机为何?逆变有硬件逐波限流保护,导致前级的电流不会很大。另当输出电压减小时,输出的功率也会对应减小。
这里炸机是因为切换时候引起的吗?
lizlk(司令):
快速下跌,很快切换到市电,不管锁相,95%的几率是炸机的。这点一定要慎重,因为这是极端情况,我的做法,是这种情况,不切换,一旦CPU在工作的时候遇到这种问题,此类故障一直保持,继电器不会切换到市电上,而且逆变器和DC-DC都会被关闭,等输出电压到0的时候才切换。
楼主(旅长):
再确定下问题:这里炸机是为什么引起呢?逆变电压和市电电压差别太大,导致市电给母线充电?
还是说切换时候的继电器的拉弧效应引起的?
lizlk(司令):
这种情况我没有具体深入过,我只是测试这种情况的炸机的几率,那是相当的高,如果是空载切换,不会炸,但是带载极重,而且电池电压很容易掉的这种双重情况下,炸是100%.
所以可见,电弧的威力一样很大,另外压差的问题,也是导致了电弧更加厉害的一方面。
楼主(旅长):
带重载且市电不在范围,这种情况可以考虑不切换,直接把逆变关了得了,停一段时间后逆变再启动,就可以避免你说的问题了。
lizlk(司令):
恩,是的,这种特殊的情况下,只能这么干了!
~ 继续回答第三个问题 ~
lizlk(司令):
3.这个切换的时候,也就是说当市电输入在线,且频率不再锁相范围内,就不锁,要转到逆变上的时候,不锁相就切换,这个是有点危险吧,我的做法就是:
此时逆变器关闭,让输出为0,然后从市电切换到逆变,切换后之后,再次开启逆变,你认为这个方式好不好呢?
虽然有停顿,但是至少没有安全隐患。
楼主(旅长):
恩,这个说的没有问题。切换的时候可以关逆变,如果逆变本身有问题且没有锁相成功,就把逆变关掉,如果是其他问题引起则不需要关逆变。
另小功率一般都是用继电器来切换,没有并SCR,所以逆变和市电不存在共通的问题,所以引起炸机的概率很小。
lizlk(司令):
4.有没有考虑在这种情况下:
由于机器默认的切换位置是再市电上,当输入的功率有限流保护,比如超载,输入电压会降低,拉低输入电压,在此之前,逆变一直在工作,此时检测到这个输入降低,可能来的太晚,继电器此时又在逆变上,既有可能造成辅助电源急剧掉电,以至于继电器掉电,切换回市电,此时相当于负载开路,输入电压又会很快回升,CPU此时根本没有来得及执行欠压保护动作后,电压又回升了,此时继电器可能又从市电位置切换到逆变下,因为CPU上的供电,掉的没有继电器的快,控制继电器的IO,一直在保持着正常的逻辑,但是继电器的供电掉了,因为辅助电源掉了。这种情况是如何处置的呢,虽然是极端,但是我搞过测试,烧的几率很大。
楼主(旅长):
是不是这个意思:
输入电压低导致辅助电源掉电,但是RLY先动作,切到市电去了,但是MCU没有掉电,程序正常运行中。
负载切到市电后,逆变空载,输入电压又起来,辅助电源又工作后,RLY重新回到逆变来,如此反复。
整个过程只是RLY自己在切,程序其实没有动作,对不?
这里可以这么处理,输入电压太低,超过电池EOD点后,则保存起来,不开逆变。这个情况必须手动清除故障才行。
lizlk(司令):
你说的太正确了,我的意思就是这样的。
那EOD点的参数多少合适呢,DSP上的ADC速度快的要死,怎么保证这种情况下的干扰呢》?
楼主(旅长):
电池电压一般<10V就可以认为放电截止了,当然也可以搞成可设置的。如果电池容量大,电压降低还是挺慢的。
如果采样没有干扰问题不大,实在不行搞个滤波,时间常数小点,保证快速且能滤除干扰。
lizlk(司令):
在EOD点之前,是否支持负载功率和EOD点的联动?
比如电池带500W和带1KW的EOD点有没有变化的。
楼主(旅长):
可以这么做的,根据放电电流大小确定电压截止点。
电流越大,电压点搞低点。电流越小,电压点搞高点。
lizlk(司令):
再向楼主讨教:
当单芯片实现这类方案的时候,有没有考虑DC-DC级做成可变输出电压的,比如DC BUS,在负载功率大的时候,占空比直接全开,只要控制DC BUS 电压在接受的范围内,尽量的让DC-DC的占空比打开。
这样的好处是:DC BUS的电压是动态的,这样可以做成很高的效率。大幅度降低推挽上MOSFET的压力。
另外在电池电压低位,当负载很小或者空载的时候,不让占空比直接开,也就是DC BUS的PI环路闭环到低位,让高压尽量的降低,这样可以大幅度的降低空载电流。
因为目前你的方案,我知道 BAT电压, DC BUS 电压,负载功率探测,整个都是一体化的,这样在芯片内部完成以上功能,将是一个非常优越的设计!
楼主(旅长):
回司令,看来你搞一体机遇到不少问题呀,仔细看了一下,你想实现动态的母线电压? 动态调整母线容易实现,但是要确定是否对效率能有提升,
1. DC BUS电压动态,从哪方面可以降低损耗提高效率呢?可否具体说说。
由于前级电压比较低,推挽MOSFET的电压应力应该比较低吧?母线电压降低会影响到前级的电压应力?
2. 空载或者小载时,降低母线电压对前级的影响可能不大吧。
说点我自己想法,变母线电压,前级的开关损耗可能会减小。 对于逆变而言,母线电压越低,逆变的电流纹波越小(电感电流=电压/T),一定程度上可以降低逆变的空载损耗。但是降低母线电压不能牺牲逆变电压波形为代价。
lizlk(司令):
首先我们看一下目前固定DC BUS电压有什么危害。 当输入电压为20-30V没有超过逆变器的过压,欠压保护值的情况下,此时如果固定一个电压输出,在高压下此时会出现什么情况,在低压下会出什么情况呢。 另外再看看,SPWM对于DC BUS的调整能力,这个是可以大幅度,高压下相对于一点点文波基本没有什么影响的。 如果DC BUS不可变,在输入为高位,负载为低位的情况下,输入电容热量将会极高。 在输入低位,负载空载,空载电流更高。待机功耗高了。
楼主(旅长):
老大什么时候回复的,才看到额~
今天想到一个问题,如果前级是用3525来做,固定占空比的话,母线电压就不能调整,会随着输入电压降低而降低。
但是如果用DSP直接控制,脉宽可调就可以,不过占空比不在50%,对前级谐振可能会有影响,一定程度上还会影响效率。
帖子正在继续盖楼中~
如果您有什么高见,快来点击下面“阅读原文”来告诉我们吧!
-END-
点击“阅读原文”,参与互动!