(天津滨海职业学院,天津 塘沽 300451)
摘要:设计以FPGA为控制核心的精密数控电源,通过硬件设计和参数计算,设计基于Verilog HDL相关程序,完成基于PWM的精密数控电源设计,通过调节PWM占空比实现输出电压的精密调节,调节精度达0.011V,具有一定的实用价值。
关键词:PWM;鼠标滚轮编码器;二阶RC滤波器
一、引言
做为电子领域常用的设备,直流稳压电源在教学、科研等领域广泛应用。传统的多功能直流稳压电源功能简单、精度低且体积大、复杂度高。精密数控电源精度高、输出电压调节方便已经替代传统电源,在教学、科研等领域广泛使用。
精密数控电源广泛以单片机为控制核心,通过控制D/A电路、经集成运放转换为数控电压,最后由三极管放大、RC网络滤波,最终得到稳定数控电压。为单片机核心的精密数控电源,电路功能模块化,设计简单,结构紧凑,价格适中,性能卓越。本文提出基于PWM的精密数控电源,以FPGA/CPLD为控制核心,通过控制PWM占空比,信号经RC滤波器滤波,转换为稳定数控电压,最后由三极管进行电流放大得到稳定数控电压。本设计结构非常简单,价格便宜,调节精度高。
二、系统硬件设计与参数计算
基于PWM的精密数控电源系统的硬件由输出电压调节、二阶RC滤波器、三极管电流放大、A/D电压采集、数码显示五部分组成。采用altera公司的EPF10K10LC84为控制核心,使用40MHZ时钟频率,VCCIO电压取5V。
(一)、输出电压调节部分设计与参数选择
输出电压调节部分采用鼠标滚轮编码器,鼠标滚轮编码器本质是两个开关,在旋转的过程中,两个开关依次闭合,编码器产生A、B两路脉冲。当鼠标滚轮编码器顺时针旋转时,A路输出脉冲波形超前B路输出脉冲波形90°,当鼠标滚轮编码器逆时针旋转时,A路输出脉冲波形比B路输出脉冲波形延迟90°,通过判断A路输出脉冲上升沿时,B路输出脉冲的电平就可以判断鼠标滚轮编码器的旋转方向。鼠标滚轮编码器顺时针旋转时,PWM占空比增加;鼠标滚轮编码器逆时针旋转时,PWM占空比减小。输出电压调节部分电路图如图1所示。
图1、鼠标滚轮编码器
在图1中,R1、R2是上拉电阻,R9、C2和R10、C3起滤波作用,电阻取10K电容取103pf。MEA、MEB端输出A、B路脉冲。
(二)、二阶RC滤波器设计与参数计算
二阶RC滤波器由两个串联电阻、两个并联电容构成,为计算简单,选两电阻参数一致,两电容参数一致。
本设计采用8位PWM,一般要求1次谐波对输出电压的影响不超过1位的精度,即5V/256近似取0.02V。由于VH=5V,VL=0V,所以1次谐波的最大值是5*2/pi=3.1831V,RC滤波器提供的衰减=-20*lg(3.1831/0.02)=-20*2.2=-44。PWM的频率=40Mhz/256=156.25khz,记作f1。对2阶RC滤波器,截止频率f2按下式计算:-20lg(1+(f1/f2)^2)=-44,得f2=12.45Khz。按公式f2=1/(2*pi*r*c)计算二阶RC滤波器得r、c值,近似取C=103pf r=1.22K,用1K和220串联实现。
(三)、三极管放大、A/D电压采集、数码显示部分
三极管放大部分采用三极管共射极结构,基极直接接二阶RC滤波器输出,集电极接VCC,发射极接电阻,电阻接地,电阻同电容并联。电阻两端的电压就是精密数控电源的输出电压。
A/D电压采集使用ADC0832,ADC0832采用单端模式,选择ADC0832的通道1接三极管发射极, 测量精密数控电源的输出电压。数码显示部分采用动态显示模式,用三个共阴极数码管并联实现。
三、系统软件设计
在完成硬件搭接后,PWM程序设计可以实现指定占空比时输出对应电压,A/D电压采集程序获取输出电压的值,占空比调节程序设计改变占空比值实现输出电压精密调节,采用Verilog HDL语言编程。
一)、PWM程序设计
PWM有多种实现方法,程序在时钟信号上升沿触发。首先对8比特变量cnt加一,则cnt将在0至255范围内变化。后采用if语句用cnt和占空比值high进行比较,cnt大于等于high时输出低电平,反之输出高电平。PWM效果如表1所示:
由于三极管Vbe电压原因,所以占空比值超过32时,输出电压才大于零,此值决定占空比调节程序中参数min的取值。占空比取240时,输出电压为2.35V。电压调节值为2.35v/(240-32)=0.011V。
二)、A/D电压采集程序设计
ADC0832进行转换时, CS引脚置于低电平并且保持低电平直到转换完全结束;向ADC0832的CLK引脚输入时钟脉冲,设置DI引脚选择输入通道功能。在第1 个时钟脉冲的上升沿之前DI引脚设置为高电平,表示起始信号;在第2、3个时钟上升沿之前,设置DI引脚2位数据用于选择通道功能。
当2 位数据为“10”时,只对CH0 进行单通道A/D转换。当2位数据为“11”时,只对CH1进行单通道A/D转换。当2 位数据为“00”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行A/D转换。当2 位数据为“01”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行A/D转换。
第4个时钟脉冲下沉开始由DO端输出转换数据最高位DATA7,随后每一个时钟脉冲下降沿DO端输出下一位数据,直到第11个脉冲发出最低位数据DATA0,一个字节的数据输出完成。随后开始输出下一个相反字节的数据,即从第11个时钟的下降沿输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成[1]。
三)、占空比调节程序设计
占空比调节程序在用户旋转鼠标滚轮编码器时,改变PWM的占空比值,当占空比达到极值时,就不再变化。实现代码如下:
//占空比调节程序代码
parameter min=8'd32,max=8'd240;
always@(posedge mea or negedge rst)
if(!rst)
pwmcnt=min;
else
begin
if(meb==1)
if(pwmcnt<max)
pwmcnt=pwmcnt+1;
else
if(pwmcnt>min)
pwmcnt=pwmcnt-1;
end
四、结语
本设计以FPGA为控制核心,采用Verilog HDL语言编程,利用PWM技术,实现精密数控电源。本设计结构简单、模块功能清晰、价格低廉。输出短路保护、电流控制功能是有待添加的功能。
参考文献
[1]ADC0831/ADC0832/ADC0834/ADC0838datasheet[Z]. www.national.com,2002年.P16
作者简介:刘景文(1968—),男,天津市人,天津滨海职业学院电子信息工程技术教研室主任,副教授,硕士。研究领域:嵌入式应用、计算机视觉
论文作者:刘景文
论文发表刊物:《知识-力量》2018年12月上
论文发表时间:2018/11/2
标签:电压论文; 精密论文; 脉冲论文; 数控论文; 编码器论文; 滤波器论文; 鼠标论文; 《知识-力量》2018年12月上论文;