程控buck电源电路

电子竞赛的第一道题:DC-DC转换

我们此次做的主要是一个Buck转换器,大致结构为,输入一个高电平,通过LM2575(降压稳压器),再经过LDO(线性低压差稳压器)得到稳定的输出电压,中间通过MSP430F5529作为主控板实现程控稳压电源的作用。

具体解释为:

程控buck电源电路_第1张图片

该图为输入系统,通过GPS-43003C稳压电源作为输入信号,先经过一个二极管为了防止因电源接反而烧毁整个系统,输入系统经过两个大小退耦电容到地。电容是个非常奇特的东西,在这里我选用100u和0.1u分别滤除低频与高频交流成分,理论上电容越小对于高频分量越容易通过,这里对于电容的理解不详细谈论,我尽量在以后能专门写一篇关于电容的博客。
程控buck电源电路_第2张图片
这是LM2575内部结构,通过4脚的反馈端电压的分压与内部1.23V进行比较,当正端大于1.23V时,比较器输出高电平,许多文献都将其称为误差放大器,输出端再与52kHZ的振荡方波进行比较,再通过驱动器输出到2脚,当正端小于1.23V时,第一级比较器输出低电平。如果不考虑内部结构,那就是4脚反馈电压小于内部的1.23V基准电压时,2脚输出高电平,对L1电感与Cout电容持续充电,导致Vout电压上升,当电压上升到一定值时,4脚反馈电压大于1.23V,这时2脚输出低电平,L1开始放电,对Cout继续充电,然后电容开始放电,Vout也相应下降,因此2脚输出为一PWM波,Vout后接分压电阻,分压值作为4脚的反馈电压,如下图所示:
程控buck电源电路_第3张图片这样只要分压值是固定的,那么就可以保证Vout输出电压稳定在一恒定值,当大于恒定值,分压也就大于1.23V,2脚输出低电平,电容放电,Vout输出电压降低,同理当小于恒定值时,电容充电Vout上升,最后在恒定值处上下微小浮动。
这时输出的电压虽然稳定,但纹波非常大,我们知道做电源的最主要的指标之一便是纹波的大小,因此后面的LDO电路便是起到了消除纹波的作用,同时也伴随了稳压的功能。本次LDO电路以IRF640为主芯片,IRF640为一N沟道电源MOS管,当GS压差大于一定值时,MOS管导通,根据这个特性我们设计电路。
LDO电路另一个核心是一个比较器,比较器的反向输入端为一固定参考电平,同向输入端是最后输出电压的分压,比较器的VCC与IRF640的源极相连,比较器输出端与栅极相连,这时我们来分析一下电路工作原理:
当最后的输出电压大于你想要的值时,它的分压(即比较器同向输入端电压)大于反向输入端的参考电平,这时比较器输出高电平,这时GS压差很小,IRF640断开,这时电压幅度逐渐下降,(注意这里不是开关电源输出高低电平,而是线性的电平)同理当最后输出电压小于你要的值,IRF640导通,输出电压逐渐抬高,因此可见,最后稳定时比较器的同向输入端与反向输入端电压相等,而同向输入端是最后输出电压的分压,因此只要分压比固定,你可以通过调节负向的参考电平来调节最后的输出电压。
以下讲一下如何程控,通过前面的分析我们知道输出电压与比较器的参考电平有关,无论是前级LM2575内部的1.23V参考电平还是后级比较器负向参考电平,都可以影响输出电压的值,因此可以通过单片机驱动DA芯片,使得DA输出直流电压可调,以此来调节参考电平,使得输出电压变化。
我们此次课题采用的方法是前级加一个比较器, 程控buck电源电路_第4张图片这张图中的电位器的分压输出接到比较器正端,负端接的是DA的输出电平,这样既可以通过单片机调节DA的输出电平来决定比较器输出到4脚反馈端的电平,以此来决定2脚输出PWM的占空比,从而调节了Vout电压。
主要程序解释:
此次用的DA芯片为TLV5638,在编程之前必须查看芯片资料,才可以确定时序以及控制信号。
P1OUT &= ~BIT0;                      //CS拉低
while (!(UCA1IFG&UCTXIFG));               // USCI_A1 TX buffer ready?
UCA1TXBUF =0xD0;                   // fast mode,normal operation
while(!(UCA1IFG&UCTXIFG));    
UCA1TXBUF =0x02;        // REF为2.048V
while(!(UCA1IFG&UCTXIFG));
for(j=0;j<10;j++);
P1OUT |=BIT0;      //CS拉高
 
因为TXBUF为8位寄存器,所以一个16bit的数据需要分为高低位分别输出
 codeH=(code>>8)&0x0f | 0xC0;   // 高位,0xc0为向DAC A写数据,fast mode
 codeL=code & 0xff;   // 低位
 P1OUT &=~BIT0;
 while(!(UCA1IFG&UCTXIFG));
 UCA1TXBUF =codeH;
 while(!(UCA1IFG&UCTXIFG));
 UCA1TXBUF =codeL;
 while(!(UCA1IFG&UCTXIFG));
 for(i=0;i<10;i++);
 P1OUT |=BIT0;
 
最后讲一下布线的问题,
电源由于需要考虑纹波这一指标,因此布线非常重要!!!此次项目中,前级LM2575为大电流,后级LDO为小电流,因此总地应该夹在前级,LM2575的2脚输出的肖特基二极管到地这条路为大电流,后面电感、电容充放电也是大电流,因此总地应该夹在这两条线处,其余的地线都连到这一点,俗称一点接地。每一块芯片的电源都需要大小电容退耦,单片机的地属于数字地,需要与板子上的模拟地分开,但最后都连到总地。
 
纹波的测量如果只是拿示波器观察输出电压的波形是看不出的,必须接一个大功率负载,增大电流才能看出纹波的强弱,接负载这条路也是大电流,因此地应该也是直接连到总地,如果与其他地共用则会大大影响前级,慎重!!!最后说一下小经验,测量时,示波器探头的地与测量点距离稍远,不够稳定,可以尝试用接地环的方式接地。
 
 
本人还是个小菜鸟,只是把自己做的随笔写下来罢了,如果哪里说错的话,虚心求教!^_^
 

你可能感兴趣的:(buck,设计)