单片机用作脉宽调制PWMAD采集实际电压 与设定电压比较 通过比较结果,不断调整脉冲宽度
可选用带PWM输出和AD转换的单片机
我编的STC5410AD单片机主程序
void main()
{
jdq1=0
sheshangxian()//设定电压值
while(s4!=0)//等待按启动按钮
while(s4==0)
Delay1ms(100)
a=50
PWM_init()//PWM初始化
while(1)
{
PWM0_set(a)
adchange()//AD转换
aa=temp1*4+temp2
bb=(aa*4200*5+512)/1024 //换算
if ((high-bb)>=100)//比较
{
a-- //调低
}
if ((bb-high)>=100)
{
a++ //调高
}
display2line(high,bb)//显示
if ((bb-high)>=500) //输出太高,关闭输出
{
jdq1=0
}
else jdq1=1
}
}
单片机控制电源开关:1. 基于单片机控制的开关电源的可选设计方案
由单片机控制的开关电源, 从对电源输出的控制来说, 可以有三种控制方式, 因此, 可供选择的设计方案有三种:
( 1) 单片机输出一个电压( 经D/AC 芯片或PWM方式) , 用作开关电源的基准电压。这种方案仅仅是用单片机代替了原来开关电源的基准电压, 可以用按键设定电源的输出电压值, 单片机并没有加入电源的反馈环, 电源电路并没有什么改动。这种方式最简单。
( 2) 单片机和开关电源专用PWM芯片相结合。此方案利用单片机扩展A/D 转换器, 不断检测电源的输出电压, 根据电源输出电压与设定值之差, 调整D/A 转换器的输出, 控制PWM芯片, 间接控制电源的工作。这种方式单片机已加入到电源的反馈环中, 代替原来的比较放大环节, 单片机的程序要采用比较复杂的PID 算法。
( 3) 单片机直接控制型。即单片机扩展A/DC, 不断检测电源的输出电压, 根据电源输出电压与设定值之差, 输出PWM波, 直接控制电源的工作。这种方式单片机介入电源工作最多。
2. 最优设计方案分析
三种方案比较第一种方案: 单片机输出一个电压( 经D/AC芯片或PWM方式) ,
用作开关电源的基准电压。这种方案中, 仅仅是用单片机代替了原来开关电源的基准电压, 没有什么实际性的意义。第二种方案: 由单片机调整D/AC 的输出, 控制PWM芯片, 间接控制电源的工作。这种方案中单片机可以只是完成一些d性的模拟给定, 后面则由开关电源专用PWM芯片完成一些工作。在这种方案中,对单片机的要求不是很高, 51 系列单片机已可胜任从成本上考虑,51 系列单片机和许多PWM控制芯片的价格低廉另外, 此方案充分解决了由单片机直接控制型的开关电源普遍存在的问题———由于单片机输出的的PWM脉冲频率低, 导致精度低, 不能满足要求的问题。因此, 单片机和PWM芯片相结合, 是一种完全可行的方案。第三种方案: 是最彻底的单片机控制开关电源, 但对单片机的要求也高。要求单片机运算速度足够快, 且能输出足够高频率的PWM波。DSP 类单片机速度够快, 但价格也很高, 占电源总成本的比例太大, 不宜采用。廉价单片机中, AVR 系列最快, 具有PWM输出, 但AVR单片机的工作频率仍不够高, 只能是勉强使用。
比较分析后的结论。通过以上比较分析, 笔者的认为: 第二种 方式, 即单片机和开关电源专用PWM控制芯片相结合是目前基于单 片机控制的开关电源的最优设计方案。
3. 基于89c51 单片机控制的开关电源
根据上述最优设计方案的结论, 下面举出一个基于此最优方案下 的实例, 本实例根据典型PWM芯片TL494 的应用特点, 设计了一种 基于单片机89c51 辅助控制的正向变换器方式开关电源。
可编程开关电源 可调式开关电源都是通过手动调节电阻值来改变稳压器输出电压的,不仅调节精度低,而且使用不够方便,数字电位器(关于单片机控制开关电源的文章,本版发出了不少帖,争论也很激烈。趁此机会我也谈谈我的几点看法。
单片机控制开关电源,单从对电源输出的控制来说,可以有几种控制方式。
其一是单片机输出一个电压(经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曾发表他的看法:“单片机控制开关电源的缺点在于动态响应不够,优点是设计的d性好,如保护和通讯,我的想法是单片机和pwm芯片相结合,现在的一般单片机的pwm输出的频率普遍还不是太高,频率太高,想要实现单周期控制也很难。所以我觉得单片机可是完成一些d性的模拟给定,后面还有pwm芯片完成一些工作。”
无独有偶,在电子电源综合区中有篇原创文章《DPWM电路的研究》,也是用数字电路输出PWM波直接控制开关电源工作。他是用CPLD再加单片机进行控制。众所周知CPLD的价格以及开发难度绝非单片机可比,那么他为什么要这样做?原因如作者所说,由于单片机的PWM宽度小,导致精度低,不能满足系统的要求。作者又说,在这些情况下,应用片外PWM电路无疑是一种理想的选择。他选择CPLD芯片来实现PWM。我则建议:还是用开关电源原来的控制芯片来实现。不但价格低,而且容易实现单周期电流检测等保护功能。我们大可不必为数字控制而数字控制。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)