一款基于STC12C5A60S2与PID算法的数控电源

时间:2014-07-15来源:网络

  一些开环式电源容易受负载的影响,当负载变化时,输出电压波动较大。为了解决这个问题,本系统设计一个电压反馈电路,使系统为闭环系统,即:输出电压经分压电阻后得到适合单片机采集的电压,经电压跟随器后输入到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算法对输出的电压进行快速地调整,得到较精确的电压值。系统控制精度高、反应速度快、输出稳定、操作简单,具有一定的实用价值。

1 2

关键词: STC12C5A60S2 PID BUCK

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版