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

也谈单片机控制的开关电源

也谈单片机控制的开关电源

关于单片机控制开关电源的文章,本版发出了不少帖,争论也很激烈.趁此机会我也谈谈我的几点看法.

单片机控制开关电源,单从对电源输出的控制来说,可以有几种控制方式.
其一是单片机输出一个电压(经DA芯片或PWM方式),用作电源的基准电压.这种方式仅仅是用单片机代替了原来的基准电压,可以用按键输入电源的输出电压值,单片机并没有加入电源的反馈环,电源电路并没有什么改动.这种方式最简单.
其二是单片机扩展AD,不断检测电源的输出电压,根据电源输出电压与设定值之差,调整DA的输出,控制PWM芯片,间接控制电源的工作.这种方式单片机已加入到电源的反馈环中,代替原来的比较放大环节,单片机的程序要采用比较复杂的PID算法.
其三是单片机扩展AD,不断检测电源的输出电压,根据电源输出电压与设定值之差,输出PWM波,直接控制电源的工作.这种方式单片机介入电源工作最多.
第三种方式是最彻底的单片机控制开关电源,但对单片机的要求也最高.要求单片机运算速度快,而且能够输出足够高频率的PWM波.这样的单片机显然价格也高.
DSP类单片机速度够高,但目前价格也很高,从成本考虑,占电源成本的比例太大,不宜采用.
廉价单片机中,AVR系列最快,具有PWM输出,可以考虑采用.但AVR单片机的工作频率仍不够高,只能是勉强使用.下面我们具体计算一下AVR单片机直接控制开关电源工作可以达到什么水平.
AVR单片机中,时钟频率最高为16MHz.如果PWM分辨率为10位,那么PWM波的频率也就是开关电源的工作频率为16000000/1024=15625(Hz),开关电源工作在这个频率下显然不够(在音频范围内).那么取PWM分辨率为9位,这次开关电源的工作频率为16000000/512=32768(Hz),在音频范围外,可以用,但距离现代开关电源的工作频率还有一定距离.
不过必须注意,9位分辨率是说功率管导通-关断这个周期中,可以分成512份,单就导通而言,假定占空比为0.5,则只能分成256份.考虑到脉冲宽度与电源的输出并非线性关系,需要至少再打个对折,也就是说,电源输出最多只能控制到1/128,无论负载变化还是网电源电压变化,控制的程度只能到此为止.
还要注意,上面所述只有一个PWM波,是单端工作.如果要推挽工作(包括半桥),那就需要两个PWM波,上述控制精度还要减半,只能控制到约1/64.对要求不高的电源例如电池充电,可以满足使用要求,但对要求输出精度较高的电源,这就不够了.
综上所述,AVR单片机只能很勉强地使用在直接控制PWM的方式中.
但是上列第二种控制方式,即单片机调整DA的输出,控制PWM芯片,间接控制电源的工作,却对单片机没有那么高的要求,51系列单片机已可胜任.而51系列单片机的价格比AVR还是低一些.
网友coocle曾发表他的看法:“单片机控制开关电源的缺点在于动态响应不够,优点是设计的弹性好,如保护和通讯,我的想法是单片机和pwm芯片相结合,现在的一般单片机的pwm输出的频率普遍还不是太高,频率太高,想要实现单周期控制也很难.所以我觉得单片机可是完成一些弹性的模拟给定,后面还有pwm芯片完成一些工作.”
无独有偶,在电源综合区中有篇原创文章《DPWM电路的研究》,也是用数字电路输出PWM波直接控制开关电源工作.他是用CPLD再加单片机进行控制.众所周知CPLD的价格以及开发难度绝非单片机可比,那么他为什么要这样做?原因如作者所说,由于单片机的PWM宽度小,导致精度低,不能满足系统的要求.作者又说,在这些情况下,应用片外PWM电路无疑是一种理想的选择.他选择CPLD芯片来实现PWM.我则建议:还是用开关电源原来的控制芯片来实现.不但价格低,而且容易实现单周期电流检测等保护功能.我们大可不必为数字控制而数字控制.
敬请版主及各位朋友指正.
全部回复(3)
正序查看
倒序查看
2006-02-13 14:13
ti2808,2806系列的ev模块采用了全新的pwm模式可以实现高频高分辨率的脉宽控制
0
回复
2008-08-31 11:26
傻×啊你?avr的pwm可以跑到时钟的一半,16M晶振可以得到8M的pwm频率.真是该好好看看datasheet了你
0
回复
gandf
LV.3
4
2008-08-31 13:11
AVR的T26单片机的PWM时钟频率为64MHz,PWM分辨率为8位,可以通过软件提高到16BIT.如果使用10BIT的PWM,工作频率就是64MHz/1024 = 62.5KHz.
但单片机对电流过流保护难于处理,动态不够.
0
回复