本模块利用开关式稳压电源的基础电路,以高性能单片机C8051F040为主控元件,组成数据处理电路,在检测与控制软件支持下,采用双闭环控制系统,控制闭环为电压环或电流环,控制回路从输出端对输出电流、电压进行数据采样,并与设定基准进行比较,从而调整和控制开关功率管的工作状态,改变功率开关管的导通/截止时间进行输出稳定。同时监测输出电流大小,通过系统软件实现限流功能。图3表示恒压控制模块的原理图和限流控制模块的原理图。
4.2.1 恒压控制电路
为达到稳定输出电压的目的,不断检测系统的输出电压,根据电源输出电压与设定值之差,输出PWM波,直接控制调节管M2的占空比,使输出电压稳定。C8051F040内部集成有可编程计数器阵列PCA,基于单片机的PWM(脉宽调制)控制,通过P0.0(通过数字交叉开关设置)输出PWM脉冲,直接驱动外接的晶体管Q4、Q3,从而改变功率开关管M2的导通频率或导通/截止时间进行输出稳定,达到稳压状态,稳压回路工作,DS1亮,呈现红色。
4.2.2 限流控制电路
限流控制回路从输出端取样并与设定的上限电流值进行比较,若负载上的电流高于设定电流值,就限流保护,使输出电流值保持在上限值,电压值随之降到对应值。限流状态时,DS2亮,呈现绿色。
图3控制电路原理图
5 算法介绍
主程序中主要包括对定时器中断返回的键值的处理,对采样回的电压、电流值的处理以及调节等部分。
电压采样部分利用了C8051F040的模数转换(A/D)功能。采用了12位的ADC,通过设置相关的寄存器使其工作在单端方式下,电压基准取自VREF0 引脚,增益为1。该设计的电压基准为2.44v,有公式:
转换码 =
其中:单端方式n = 12;差分方式n = 11。
采样电压值Vd为:Vd=转换码×2.44/4096;
分析电路可知实时电流Io与采样回的电压Vdi的关系是:Io=Vdi/11/1.1;由R20和R19的分压关系可知输出电压Vo与采样电压Vdv的关系是:Vo=Vdv×101。
由以上三式便可根据ADC0相关的寄存器ADC0H、ADC0L中的转换码得到实时的电压电流值。
电流的控制部分利用了C8051F040的数模转换(D/A)功能。C8051F040内有两个片内12 位电压方式数/模转换器(DAC),每个DAC 的输出摆幅均为0V 到VREF,对应的输入码范围是0x000 到0xFFF,由于输出摆幅和输入码是线性的对应关系,所以可得到输出电压CCadj与输入码Mda的关系是:Mda=CCadj/2.45×4096
又由电路图可知限定电流Imax与输出电压Vda的关系是:CCadj=Imax×1.1×11;由以上两式可得到限流值与输入码的关系为Mda=Imax×1.1×11×4096 /2.45
则可通过该式给输出限定电流值,通过限定值和实际电路的电流值进行比较实现对电路的电流的限制,从而保护了程控电源。完成程控电源限流的功能。
由于该设计是开关电源,所以电压的控制部分利用了C8051F040的脉宽调制功能(PWM),C8051F040内部集成有可编程计数器阵列PCA,可编程计数器阵列PCA可工作在脉宽调制(PWM)方式下,基于PWM功能,C8051F040可输出控制信号来控制开关稳压电源功率开关管(MOSFET ,IGBT)开通和关断的时间比率,从而使开关稳压电源输出设定的电压值。当电源所带的负载有所变化而导致输出电压有所变化时再根据对输出的电压的采样反馈通过调节输出信号的占空比可来稳定输出电压。
本设计中C8051F040工作在16位脉宽调制器方式下。在该方式下,16位捕捉/比较模块定义PWM信号低电平时间的PCA0时钟数。当PCA0计数器与模块的值匹配时,CEXn的输出被置为高电平;当计数器溢出时,CEXn输出被置为低电平。为了输出一个占空比可变的波形,新值的写入应与PCA0 CCFn匹配中断同步。置‘1’ PCA0CPMn寄存器中的ECOMn、PWMn和PWM16n位将使能16位脉冲宽度调制器方式。为了输出一个占空比可变的波形,应将CCFn设置为逻辑‘1’以允许匹配中断。16位PWM的占空比的计算公式为:占空比=(65536 − PCA0CPn)/65536
又根据电路中开关电源部分的原理,可以得到一个调节函数:占空比=f(∆E),其中∆E为设定电压值与采样回的输出电压值之差。从而便可通过不断调节占空比来减小∆E使输出电压达到设定值并且稳定在设定值,来完成恒压的功能。
6 结论
程控电源的设计采用C8051F040单片机作为控制核心。在PC的IDE开发环境中用C语言进行编程,通过开发板将程序下载到单片机中,进行联调。联调结果基本符合输出电压、电流值(0~100V,0~1A),由于所选器件精度问题,还存在一定误差。选取参数高的具有相同功能的器件,可以使输出电压、电流的范围变大。