基于ATC51的新型数控直流电源设计
2 系统软件设计
系统的主要任务是根据按键的输入值,通过单片机控制输出PWM波占空比的改变,控制三极管的导通时间和导通状态,进而达到控制可控稳压芯片LM317输出电压的目的。系统软件设计的重点在于单片机的编程。系统主程序流程如图6所示。
单片机编程主要包括初始化程序,键盘处理程序,外部中断程序和PWM波输出程序等。初始化包括硬件的初始化和定时器的初始化;键盘处理程序主要包括键盘扫描和防抖动;外部中断程序起保护电路的作用;产生PWM波采用中断延时配合循环指令。
系统工作流程为:单片机上电复位,初始化系统内部定时器寄存器,固定输出的PWM管脚,系统按键值,通过内部定时器定时产生定器最小的中断时间,通过按键扫描程序检测需要输出的电压值和变量累加到达输出不同要求的占空比的方波,以控制稳压芯片控制管脚,并通过LED显示扫描程序显示实际输出电压值。
其中有以下两点需要注意:
1)键盘在定时中断服务程序中读取,用中断间隔时间实现键盘去抖动,不必编写另外的延时程序,提高CPU的效率。键盘值存入数据缓冲区,在主程序中读数据缓冲区的内容。
2)外部中断为高优先级中断,编制子程序实现电源过流,短路保护时,要充分考虑到电源启动瞬间会产生数倍于额定电流的冲击电流,大约会持续3~5 ms,应在软件上采取措施,避免短路和电源开启的误判。确定电源过流、短路后,切断电源输出。间隔一段时间后,试接通电源开关,当发现过流、短路信号已消除,则恢复电源的输出,否则电源开关仍然保持断开。
核心程序代码:
中断函数产生PWM程序
3 测试数据分析
在实验室环境下,对该电源进行功能测试和误差分析。在输出范围1~15 V内共测试16组数据,平均间隔值为1 V。首先通过键盘输入预期值,同时记录输出显示值,再进行记录对比。数据如表1所示。由表1可见,在测试范围内输出误差在5%之内,在中间段误差相对较大。
4 结束语
本文设计了一种基于ATC51的新型高精度数控直流电源以解决传统数控直流电源价格昂贵,误差较大的问题。本电源通过键盘输入值控制单片机输出不同占空比的PWM波,进而控制可控稳压芯片LM317的输出。在整个系统中,由专门的电源稳压模块提供稳定电压以减小误差。输出电压范围为0.00~15.00 V,电流范围0~1 A,误差不超过5%,具有使用灵活,精度高,工作稳定,成本低的优点,适宜推广使用。
- 数字电位器在DC-DC变换器中的应用(11-30)
- 使用数字分压器实现车灯调光应用(03-17)
- 用单电位器控制双声道的音量(10-19)
- 利用数字电位器实现数控低通滤波器(11-25)
- 用数字电位器替代机械电位器(01-17)
- 高分辨率数字电位器的软件实现(01-26)