冯 喜,梁观胜,何志辉,杨 杰
(1.珠海立飞技术服务有限公司,广东珠海,519000;2.广东省珠海市质量计量监督检测所,广东珠海,519000;3.重庆出入境检验检疫局检验检疫技术中心,重庆,400020)
基于ATmega16单片机的数控稳压电源设计
冯 喜1,梁观胜2,何志辉2,杨 杰3
(1.珠海立飞技术服务有限公司,广东珠海,519000;2.广东省珠海市质量计量监督检测所,广东珠海,519000;3.重庆出入境检验检疫局检验检疫技术中心,重庆,400020)
设计一款基于ATmega16单片机的精密数控稳压电源,该单片机内置PWM方波发生器,内置10BIT高精度兰A/D转换器,采用LM317作功率调整器件,高速运放TL084作反馈控制单元,实现电压0-20V连续可调,调整精度±0.01V,最大允许电流2A,分辨率0.01A,输出纹波电压低于100mV,具有恒流输出功能。
数控稳压电源;功率器件LM317;高速运放TL084
目前,电子技术的高速发展,对电源的输出电压稳定性,纹波提出更高要求,传统电位器控制的串联稳压电源由于输出电压不稳,功耗大,已经不能使足使用需要,设计一款具于ATmega16单片机的数控稳压电源具有重要意义。
系统工作原理如图1所示。市电经电源变压器降压、桥式整流、滤波稳压后,给控制系统提供电源。ATmega16单片机作为系统的控制中心,ATmega16单片机通过按键读取预置电压值,经程序运算后输出相应宽度PWM方波,经过二阶滤波电路处理后送到高速运放TL084放大至足够幅度,控制LM317功率电路,得到预置的电压值。
图1 系统工作原理框图
图3 电压控制调整电路
电源启动输出后,电压采样电路取得电源的实时输出电压,通过单片机PA3端口送到A/D转换电路获得实际电压值,实际电压值与预置电压比较后,调整PWM的占空比,从而实现恒压输出。电流检测电路取得电源的实时输出电流值,通过电流/电压变换电路转换成电压值,送到以高速运放TL084为核心的误差放大电路,处理后电流信号送到单片机的A/D采样输入端,经程序运算后获得实时电流,实现恒流输出功能,若输出电流大于预置最大电流,发出报警信号同时关闭电源输出。
该数控电源硬件部分主要由6部分构成:系统电源电路、5110液晶屏显示模块、键盘输入模块、蜂鸣器报警模块、电压调整模块及ATmega16控制模块。控制程序主要由7部分构成:PWM脉宽;A/D转换;液晶显示;键盘;警告单元;电压调整控制;看门狗。
电压调整电路核心为可调式三端稳压器LM317。LM317的三个引出端中,电压调整端作为基准电压电路的公共端,通过控制该端的电压值可以控制LM317的输出电压。基准电压的典型值为1.25V。典型线性调整率为0.01%,负载调整率为0.1%,80dB的纹波抑制比。典型应用电路如图2。当稳压器离电源滤波器有一定距离时Cin是必需的;C0对稳定性而言不必要,但改进瞬态响应。在此典型电路中:
式中:IAdj分量小于100uA,这一项的误差可以忽略。
图2 LM317典型应用电路
控制输出电压,基于三端稳压管LM317的特性,只需要将LM317典型电路中R2电位器替换即可。本设计中,LM317的调节端由ATmega16输出PWM信号经二阶滤波后送到运算放大器U1B进一步放大,驱动LM317,见图3。电路中输出端与输入端间接入220Ω电阻,使得当控制端输入控制电压为-1.25V~18.75V时,便可实现输出0V~20V;
二阶滤波电路由电阻R10、R11、电容C32、C33组成,电阻电容的选择是由公式确定:
滤波得到的PWM平均电压则为理想电压。在这里将PWM的占空比0-100%与单片机的输出0-5V实现线性对应关系,即当PWM占空比为50%时对应单片机的2.5V,再由运算放大电路进行放大。这个放大了的控制电压信号输入到LM317的参考电压脚,实现输出电压的控制。这样便可以很方便的由程序控制调整PWM占空比的方式实现对输出电压的控制。
控制电压放大电路:该电路由电阻R1、R2、R3、R4电容C1及运算放大器U1B组成,电路的主要功能是将控制电压值放大到-1.25V-18.75V,原理图如图4所示。
式中:Ui1为输入电压,Uo1为输出电压
图4 控制电压放大电路
图6 显示模块电路图
图5 电流采样电路
电流采样电路:电路的主要功能是当有负载时,通过功率电阻串联到负载电路中,将电流信号变换成电压信号,送入ATmega16,再经程序运算测得负载电流值,其原理图如图5。可以计算得Ui2与Uo2间的关系为:
式中:Ui2为输入电压,Uo2为输出电压
显示模块:5110 LCD显示器通过SPI接口与MCU连接,自带背光,减少了外围电路,仅需7根线与MCU连接,即电源和地线,两根数据传输线(SDI和SDO)、一根设备使能信号线(CE)和一根时钟信号线(SCLK)。一根复位线(REST),其电路如图6所示。
系统主程序的功能是完成系统的初始化、输出电压和电流信号采集及处理、显示、按键扫描判断。根据系统工作特点,程序采用结构化的软件设计方法。按键判断子程序是先判断是否有按键按下,再进行按键扫描,这样可以节省系统资源,同时也降低系统的功耗。其程序流程图如图7所示。
图7 按键判断子程序流程图
图8 显示模块程序流程图
显示模块程序是通过使用ATmega16的SPI的通信功能对显示模块进行控制。只有设备使能线使能时,显示器被选中下才能工作。时钟信号线SCLK由单片机提供,SDI、SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输。这样,在至少8次时钟信号的改变后,就可以完成8位数据的传输。
写数据函数设置了两个unsigned char 的中间变量,变量“dat”为写入LCD5110的数据,变量 “command”为数据、指令选择标志判断位。ATmega16控制PB3输出低电平选中该显示模块LCD5110,判断即将写入的类型后,将二进制8位的数据寄存到寄存器SPDR中,数据传送结束后,PB3输出高电平。当SPI中断使能位SPIE置位,就会产生中断请求,通过IO口PB5需要写入的数据或指令将被传送给LCD5110,实现对显示的控制。流程图如图8所示。
A/D转换原理电压和电流的检测都是首先通过外围电路的转换取得一个低于5V的信号,电压检测端通过电阻分压获得;电流检测端通过并联功率电阻,再由放大器放大待测电压信号。电压检测选用ADC3通道,电流检测选用ADC4通道,因为本设计使用的单片机不能同时进行AD转换,需要先后开启通道ADC3和ADC4分别将待测信号送入ATmega16,经过片内10位的逐次逼近型A/D转换器计算,A/D 转化输出结果如公式:
式中:Vin为被选中引脚的输入电压值,Vref1为A/D 转换电路的参考电压值。
PWM产生原理:利用ATmega16单片机内置的PWM方波产生功能。设计选择PD6管脚的第二功能OC1B。选用10位快速PWM模式,输出口的匹配模式为匹配时清零,TOP时置一。计时器最大值由ICR1设定,本设计其值大小为399;通过设置寄存器OC1B中的匹配值(其值的确定由按键输入)来控制输出PWM的占空比,0-399对应输出0-5000mV,再由运算放大器放大控制输出电压。下面给出计算公式:
本文设计了一款基于ATmega16单片机的精密数控稳压电源,详细分析电源的硬件工作原理,软件的工作流程,设计中充分利用ATmega16单片机资源,具有外围电路简单,性能稳定,成本低等特点,具有一定的推广意义。
[1]刘凯.基于Atmega16的数控步进电源的设计[J].电源技术应用,2012,06:37-40.
[2]阎石.模拟电子技术基础[M].北京:高等教育出版社, 2009.
[3]胡大可.基于单片机8051的嵌入式开发指南:电子工业出版社,2001.
丁化成. AVR单片机应用设计[M].北京:北京航空航天大学出版社, 2002:24-31.
Design of digital controlled voltage power supply based on ATmega16 MCU
Feng Xi1,Liang Guansheng2,He Zhihui2,Yang Jie3
(1.Zhuhai Li Fei Technology Service Co., Ltd.,519000,Zhuhai Guandong;2.Guangdong Zhuhai Supervision Testing Institute Of Quality And Metrology,519000,Zhuhai Guandong;3.Chongqing Entry-Exit Inspection & Quarantine Bureau of the People's Republic of China,400020,Chongqing)
Based on ATmega16 MCU design a precision power supply,the built-in MCU PWM generator,the builtin high-precision blue 10BIT A/D converter using LM317 as a power adjustment device, high-speed op amp TL084 for feedback control unit to achieve voltage 0-20V continuously adjustable, adjust accuracy ± 0.01V, Maximum current 2A,resolution 0.01A, output ripple of less than 100mV, a constant current output.
Power supply;LM317;TL084