基于STC12C5A60S2与PID算法的数控电源
扫描二维码
随时随地手机看文章
导读:基于提高电源效率的目的,设计了采用PID算法的数控电源。系统采用STC12C5A6052自带的PWM控制BUCK电路,同时对其输出电路进行采样,组成了一个高速的闭环控制系统。文中给出了数控电源的接口电路及PID算法的软件设计。实验结果表明:该数控电源具有纹波小、高效率的优点。
随着电力电子技术的飞速发展和各行业对用电没备控制要求的提高,人们对供电的电源要求也越来越高。电源的性能直接影响着整个电路系统的性能、寿命。以往所采用的电源大多数是旋钮式电位器进行调节,输出电压无法实现精确的步进。数控电源是从上世纪80年代发展起来的,到现在大多产品的电源仍存在误差较大、分辨率不高、功率较低、效率低、可靠性较差等缺点。因此,设计一款高效率、高性能、高精度的数控电源是非常有必要的。
根据实际需要,本设计以输出电压可在0~24.0V范围内任意设定,精度±0.1 V,最大电流为5 A,纹波优于1%,效率达70%以上为目标。数控电源以STC12C5A60S2单片机做为CPU,通过按键设定输出电压,单片机给出一定占字比的PWM信号对BUCK电路中的开关管进行控制,经电感、电容滤波后输出一电压。输出端先采用电阻进行分压,然后经反馈电路,最后送入单片机ADC口进行采样。基于PID算法的原理,单片机将输出值与设定值进行比较,得到偏差,然后利用偏差对PWM信号的占空比进行控制,最终系统输出一个稳定的电压值。
1 总体设计
该数控电源系统总体结构如图1所示,主要由STC12C5A60S2单片机最小系统、变压整流滤波模块、BUCK电路、电压反馈电路、显示电路、按键控制电路等组成。单片机最小系统是数控电源的核心组成部分,负责产生BUCK电路所需的PWM信号;同时实吋检测电压反馈电路的电压。变压整流滤波模块一方面提供单片机、电压反馈电路、显示模块等所需的电源;另一方面经过降压式变换电路(BUCK电路)后直接提供给负载。显示电路主要用于显示设置电压和实际输出的电压。系统将反馈电压与按键控制电路设置的电压进行比较,得到PID算法所需的各个变量,进而控制PWM信号的占空比,得到与没定电压误差非常小的电压。
2 系统硬件设计
2.1 STC12C5A60S2单片机最小系统
数控开关稳压电源丁作在开关状态,其能量损失只有小部分消耗在开关管的导通压降上,效率高。BUCK电路在开关稳压电源中应用非常广,故本系统选择BUCK电路进行设计。
一方面,BUCK电路工作频率通常为几千赫兹到几兆赫兹,通过定时器来控制普通IO口产生PWM已无法满足;另一方面,为了实时对输出电压进行检测,这时系统必须具备A/D转换功能。采用专门的A/D转换芯片,固然可实现输出电压的检测,但电路变得复杂且成本偏高。经综合考虑,本系统采用STC12C5A60S2单片机作为系统的主控制器。
STC12C5A60S2是一款功能强大,性价比高的单片机。STC12C5A60S2单片机是宏晶科技生产的1个时钟/机械周期(1T)的单片机,工作频率为0~35 MHz,相当于传统8051的0~420 MHz。内部集成MAX810专用复位电路,使系统更加稳定可靠地运行。内部集成了两路可编程计数器阵列(PCA)模块,用于输出PWM信号。常温下,使用内部RC振荡器作为单片机时钟时,可输出14~19 kHz的PWM信号;使用外部32MHz晶振作为时钟时,频率最高可达125 kHz。STC12C5A60S2有8路10位高速ADC,90个时钟周期转换一次,CPU工作频率32 MHz时,ADC转换速率约为356kHz。为了实现数控电源内部高速运算,本系统时钟采用外部32 MHz晶振作为时钟源。
STC12C5A60S2单片机最小系统由时钟电路、复位电路组成,其电路如图2所示。单片机最小系统实现按键输入识别、显示控制、PID算法等。
2.2 变压整流滤波模块的设计
为了提高数控电源的效率、输出电压、输出电流,最终输出稳定的电压,变压整流滤波模块至关重要。变压器的效率为数控电源效率的关键因素之一。如果变压器功耗大,发热量大,能量就会白白地浪费变压器上。基于以上因素考虑,本系统采用效率较高的环牛变压器。
变压整流滤波模块电路如图3所示,其中包含降压电路、整流电路、滤波电路、稳压电路。市电220 V交流电经环牛变压器后得到两路的交流电。电压、功率较低的一路可经过整流、滤波、稳压电路供给单片机、显示模块、反馈电路等;电压、功率较大的一路经整流、滤波电路后直接送入BUCK电路。
2.3 BUCK电路设计
BUCK电路是一种压降式DC—DC变换电路。其功耗小、效率高、体积小等优势而被广泛应用于各类电源中。BUCK电路基本结构如图4所示,本系统使用N沟道的MOS管。当开关管Q导通时,通过电感的电流增加,电感L、C电容储能,其电路等效如图5所示;当Q断开时,通过电感的电流减小,电感L、C电容释放能量,其电路等效如图6所示;当Q的G极为一个高低电平交替变换的PWM信号,要求PWM信号频率比电感L、电容C储能和释放能量的频率高,此时充电速度比放电速度快,输出端就会得到一定的电压。PWM信号的占空比改变时输出的电压随之改变。
2.4 电压反馈电路设计
一些开环式电源容易受负载的影响,当负载变化时,输出电压波动较大。为了解决这个问题,本系统设计一个电压反馈电路,使系统为闭环系统,即:输出电压经分压电阻后得到适合单片机采集的电压,经电压跟随器后输入到STC12C5A60S2单片机的ADC0脚。系统利用单片机内置的ADC对输出电压进行实时测量,以调整PWM信号的占空比。系统电压反馈电路如图7所示。
2.5 按键控制与显示电路设计
一个数控电源人机交互界面是必不可少的,它包括按键控制电路和显示电路。
为了简单便捷地输入设置电压,系统采用4个轻触开关作为控制按键。按键功能分别为:步进增加、步进减小、输出增加、输出减小。
本系统要进行设置电压、步进电压的显示,显示电路通常有液晶显示或数码管显示。数码管成奉低、寿命长,但显示内容过少、线路复杂且亮度受供电电源影响较大,故本系统选择使用低功耗、无闪烁、可靠性高的LCD1602液晶。
系统按键控制与显示电路如图8所示。
3 系统软件设计
3.1 总体软件设计
该数控电源软件设计主要包括:PWM信号产生程序、ADC采样程序、PID控制算法程序、按键处理程序、数据显示程序。系统总体流程图如图9所示。系统开始进入初始化程序,包括LCD1602初始化、PID程序初始化、PWM相关寄存器初始化等。单片机处于按键检测状态,有按键输入时,调用按键控制程序,输出一定占空比的PWM,并将设定的电压值显示于LCD1602。另外,单片机对经BUCK电路输出的电压进行ADC釆集,与设定值比较得到PID控制的各项参数,经PID算法,调节PWM占空比,最终得到与设定值非常接近的输出电压。
3.2 PID软件设计
数控电源的PID算法系统组成形式如图10所示。系统通过按键设定一定的电压值r后,给出相应占空比值,同时单片机通过ADC采集输出电压,得到测量值z,与给定值对比得到偏差e,计算出PID算法中所需的P、I、D变量值,最终得到准确的被控量y。
4 实验测试
按键没定输出电压和实际输出电压测试,其结果如表1所示。数控电源输出的纹波测试如表2所示。由表1可见,输出电压值越低,偏差越小;输出电压值越高,偏差越大,但均不大于0.1V。由表2可见,输出电压越高,纹波越大,但均小于1%。由此可见,系统有较高的精准度。
5 结论
测试结果表明,文中设计的基于STC12C5A60S2单片机的数控电源能够较精确地输出设定的电压值,通过运用PWM技术和PID算法对输出的电压进行快速地调整,得到较精确的电压值。系统控制精度高、反应速度快、输出稳定、操作简单,具有一定的实用价值。
5次