国产MCU设计6.6kW充电桩,交错PFC+LLC,分享各种踩坑

最近开发了一款6.6kW的充电桩产品,和大家一起分享开发过程中的各种坑,特别是数字电源控制算法方面的坑,真的是记忆犹新。如果没有师傅带,要想做好数字电源软件开发工作,我觉得真的不容易。

一、产品主要技术指标如下:

1.输入电压范围:176-264Vac

2.输出电压范围:200-800V

3.最大输出功率6.6kW

4.最大输出电流20A

5.工作环境温度-30℃-55℃

二、拓扑架构

前级采用交错PFC拓扑架构。

                                                            交错PFC

后级采用交错LLC输出拓扑架构。

                                                       交错LLC拓扑

三、控制算法

PFC控制部分:电压外环采用PI控制器,电流内环也采用PI控制器。电流内环也有人用PR控制器的,具体优缺点,就大家自行百度了。可能是自己对PI控制器比较熟悉吧,我这里就采用的PI控制器。

                                                  PFC控制算法

LLC控制部分:LLC控制器电压环和电流环我都采用的是PI控制器,因为要做恒流、恒压两种模式,所以就采用了一个电压电流环,双环竞争的一个算法(这也是一个比较经典的控制算法)。

四、测试带载波形和效果

PFC部分PF值为1(因为设备最高显示分辨率为0.1,我估计PF值应该有0.995以上),Ithd=3.08%,还是不错的,实测264V输入,满载时能到2.2%左右,还是很不错的。

示波器实测,输出电压和输入电流的波形(黄色的是输入电流,紫色的是输入电压)。                                                                    

五、踩坑分享

1.LLC第一次炸管

(1)相信大家调试都有过炸MOS管吧,踩坑第一站就从炸管开始吧。我调试产品本身还是比较小心的,在调试之前反复测试了LLC的驱动波形,确认死区时间,确认各种硬件保护都OK的情况下,才开始带载工作,当时设置的是600V输出,带载到6.6kW(11A左右)。输出电流纹波也比较小,只有3A左右。

(2)感觉比较良好,就在测试300V的时候,带到5kW(约16.7A),的时候负载就突然炸管了,烧了一大片,LLC的两个输出桥臂的管子全都烧完了。

(3)仔细分析才发现,炸管的原因居然是死区设置太小了导致的(死区时间设置的200ns),400V的时候,LLC工作在谐振点的附近,工作频率约80K。在300V的时候,LLC工作在谐振点的右侧,约180K的频率,两个桥臂工作在硬开关模式下。

(4)通过示波器一步一步的测试,发现在600V/11A的时候死区就已经比较临界了。300V逐步带载测试,发现电流越大的情况下,MOS管的死区在慢慢的被“吃掉”。在15A左右的时候和600V/11A的死区相当。

(5)最终调整死区到400ns,才保证了200V输出的时候到20A的工作电流。

2.PFC电压过冲踩坑 

(1)PFC部分的输出电压是由电压外环的PI控制器控制的,电压外环的带宽比较低,我算法里面电压PI控制器执行频率为100hz,在PFC从重载到空载的切换时,PFC过冲直接就触发了PFC硬件过压保护。

(2)把PFC输出电压调低,发现,这个重载到轻载的切换,过冲电压竟然超过了80V(要不是配置了MCU的硬件比较器,PFC的电容肯定就开始放鞭炮了。)

(3)后面对PFC的算法进行优化,在电流内环处增加一个判断:就是电压超过或者低于一定阀值,就触发电压环的PI控制器。

(4)操作说起来简单,但是操作起来也是踩坑不断,这个电流内环处增加的电压环,在调试的时候稍微参数设置不合理就导致输出电压震荡,甚至直接PFC电压被拉低。

(5)此处需要重点注意就是这个增加的电压环,不能一直处于计算状态,一定要有进入和退出的调节,否则会带来反向的效果。调试的时候要不断摸索。

过冲电压还可以根据实际情况调小,上图是因为PFC的纹波电压有25V左右,过冲电压设置的比较大(我这个应用,只要保证器件的使用可靠性即可),上图,黄色是输入电流,紫色是输入电压,蓝色是驱动,绿色是PFC输出电压。

注意:而且这个电压外环的计算时间节点,这个地方也是有一个小坑,最好是在交流电过零点的时候计算是最佳的,这样引入的谐波分量才是最小的,电压环PI控制器的执行频率是100HZ,最开始用的是1khz(1khz引入的谐波分量太大了,ithd过不了,满载的时候超过6%了,后来才调整到100hz的)。

-----------评论区不能发图片,我就直接修改原问题件了,后面打算做个产品开发踩坑的专题,欢迎大家一起交流讨论。

由于时间关系,踩坑的地方就暂时先分享这一个地方,后面再陆续给大家分享。

申明:由于本人水平一般,分享的知识有误,或者采用的方案不够好的,欢迎各路大神指正批评,给大家带来的不便,敬请参考,本文观点仅供参考。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 4
收藏 8
关注 9
成为作者 赚取收益
全部留言
0/200
  • hello-boy 5天前
    后面出的有续集,大家可以查看?
    回复
  • hello-boy 1星期前
    这款MCU是属于定点DSP芯片,只需要用到PI就可以了。算法很简单 void PI_PART(PID_Type *pi,int32_t err) { pi->p_part = (pi->kp) * err; pi->i_part += (pi->ki) * err; //省略限幅(留言超字数。。。。。 pi->output = ((pi->p_part) + (pi->i_part))>>10 }
    回复 6条回复
  • dy-pxnXXQhk 1星期前
    能分享下pi控制器的算法吗,谢谢
    回复 3条回复
  • dy-pxnXXQhk 1星期前
    楼主厉害??
    回复 1条回复
  • hello-boy 1星期前
    评论区为什么不能配图呢,有网友知道吗,本来想配几张测试波形的。。。。
    回复
  • hello-boy 1星期前
    2、PFC电压过冲踩坑 1) PFC部分的输出电压是由电压外环的PI控制器控制的,电压外环的带宽比较低,我算法里面电压PI控制器执行频率为1khz(相对还是比较快的了),在PFC从重载到空载的切换时,PFC过冲直接就触发了PFC硬件过压保护 2)把PFC输出电压调低,发现,这个重载到轻载的切换,过冲电压竟然超过了80V(要不是配置了MCU的硬件比较器,PFC的电容肯定就开始放鞭炮了。)
    回复 4条回复
  • dy-Qdm76yft 1星期前
    这个厉害了数字电源控制,驱动是不是用隔离变压器
    回复 1条回复
  • hello-boy 1星期前
    欢迎大家一起讨论数字电源的开发
    回复
XML 地图 | Sitemap 地图

大阳城集团网站8722