• 全国 [切换]
  • 深圳市鼎达信装备有限公司

    扫一扫关注

    当前位置: 首页 » 新闻动态 » 真空技术 » 正文

    基于ATmega16单片机的数显电压表设计

    放大字体  缩小字体 发布日期:2022-02-14 10:42:50    浏览次数:75    评论:0
    导读

    【摘 要】针对测试仪器内部直流电平检测的需要,设计了一款以ATmega16为核心,结合电阻分压网络以及反相求和电路的数显电压表。用单片机自带的十位内部ADC进行模拟数据的采集和转换,设计软件精度校准的方法实现对-19.9~+19.9 V正负量程范围内直流电平的精确测量,并用三位数码管显示,超过设定阈值产生报警。实际测试结

    【摘 要】针对测试仪器内部直流电平检测的需要,设计了一款以ATmega16为核心,结合电阻分压网络以及反相求和电路的数显电压表。用单片机自带的十位内部ADC进行模拟数据的采集和转换,设计软件精度校准的方法实现对-19.9~+19.9 V正负量程范围内直流电平的精确测量,并用三位数码管显示,超过设定阈值产生报警。实际测试结果表明,该系统误差不超过0.1 V,具有测量精度高、成本低、性能可靠、显示清晰等优点,有着很好的实用价值。

    【关键词】ATmega16;数显电压表;内部ADC;软件校准;正负量程

    1 引言

    声波触发是一种非接触的触发方式,具有响应速度快、可靠性强以及受环境因素影响小等优点,不会因障碍物遮挡而无法输出触发信号,在现代测试各个领域中有着广泛应用[1-2]。其基本工作原理是通过声音传感器对信号进行识别,转换成电信号,之后通过后续电路滤波、放大、整形等处理形成触发信号,为了判断触发系统是否工作正常,通常需要直流电平检测电路对其各部分输出进行测量。

    数字电压表是采用数字化测量技术,把连续的量转换成不连续、离散的数字化形式并加以显示的仪表[3-4]。当前,数显电压表的设计中大都采用专用的A/D转换器进行模拟数据的采集和转换,一定程度上增加了系统设计的复杂度,且测量范围仅局限于正量程范围,不符合光电测速仪器对于内部直流电平检测的需要。为此,利用ATmega16作为核心器件设计了一款高精度数显电压表,该系统简单可靠,具有很好的实用性,并且便于扩展,可同时检测8路直流电平信号。

    2 系统总体设计方案

    本文所设计的电压表的量程范围为-19.9~+19.9 V,内部 ADC 的采样时钟设为 187.5 kHz,采样速率为7.5 kS/s,待测直流电平通过三位数码管动态显示。为了减少连线便于仪器面板的安装,采用移位寄存器和控制器74HC595作为数码管的驱动芯片。数显电压表系统原理框图如图1所示,主要包括数值转换模块、主控模块、显示模块以及超阈值报警模块。数值转换模块用于将待测电平值转换为5~0 V范围内单片机可识别的信号值,内部ADC通过PA0口进行模拟数据的采集和转换,之后主控模块实现对数据的处理并驱动数码管显示。若待测信号超过设定阈值将通过报警模块鸣笛报警。

    图1 数显电压表系统原理框图

    3 系统的硬件电路设计

    利用Proteus对系统硬件电路进行仿真的原理图如图2所示,图中待测直流电平的探针读数为-18.62 V,利用三位数码管显示读数为-18.6 V。

    图2 数显电压表硬件电路原理图

    3.1 主控芯片的选择

    ATmega16是一款高性能、低功耗的8位AVR微处理器,采用先进的RISC结构设计[5]。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1 MI/s/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。单片机的8个PA口均可作为模拟数据的采集口,因而系统便于进行功能扩展,可以同时对多路直流电平进行检测。本设计采用PA0口采集待测数据。

    3.2 数值转换电路

    由于单片机模数采集口所能识别的电压范围在0~5 V之间,要想对-19.9~+19.9 V范围内的直流电平进行测量需要设计数值转换电路进行电平转换,如图3所示。

    图3 数值转换电路原理图

    数值转换电路包括电阻分压网络、电压跟随器以及反相求和电路[6]。电阻分压网络按照9∶1将待测电压进行比例缩放;电压跟随器的输入阻抗很高,输出阻抗很低,用作缓冲器降低前一级电路的损耗;反相求和电路用于将比例缩放之后的电压整体抬高,即将-2.21~+2.21 V的模拟信号搬移到0~5 V区间范围之内。数值转换电路的输出电压与输入电压关系式如式(1)所示。

    3.3 内部自带模数转换器ADC

    ATmega16内部集成了一个10位逐次比较型的ADC电路,具有0.5LSB积分非线性误差、±2LSB的绝对精度、13~260 μs的转换时间,以及最大精度下可达到15 kS/s的采样速率,因此使用AVR可以非常方便地处理输入的模拟信号量。ATmega16的ADC与一个8通道的模拟多路选择器连接,能够对以PORTA作为ADC输入引脚的8路单端模拟输入电压进行采样。其功能单元包括采样保持电路,用以确保在模数转换过程中的输入信号保持恒定。本系统通过设置模拟多路选择复用寄存器ADMUX的REFS1,REFS0来选用外部引脚输入VCC作为ADC的参考电源,同时通过设置其MUX4:0选用PA0作为模拟信号的输入口,进而通过设置ADCSR寄存器来控制ADC的使能、转换开始和结束、触发方式的选择以及采样时钟的设定。

    3.4 数显驱动电路与鸣笛报警

    为了便于系统安装,本文选用74HC595作为点亮三位数码管的驱动芯片,与单片机以及数码管的连接如图2所示。74HC595内部集成8位移位寄存器和一个存储器,具有三态输出功能。设置单片机的PB5和PB7分别作为存储器和移位寄存器的时钟脉冲输入口,PB6作为显示数据的传送口。在SH_CP引脚输入时钟的上升沿,显示数据通过DS引脚进入移位寄存器,同时Q7’也会串行输出移位寄存器中的最高位;在ST_CP引脚输入时钟的上升沿到来时8位数据进入存储器并通过Q0~Q7输出,从而实现对数码管的位选和段选。

    用蜂鸣器、三极管组成简单报警装置,待测信号超过11 V绝对值时,单片机控制PB4口输出低电平产生鸣笛报警。

    4 系统的软件设计

    数显电压表的程序编写采用C语言模块化设计,编程效率高且可读性强[7],主程序流程图如图4所示。初始化用于完成模数转换所需参考电源的选择、数据采集口的选取、转换模式的设置、ad数据存放格式以及采样时钟频率的设定等。初始化完成之后采用单次转换模式进行数据的循环采集,然后进行ad数据的处理和显示,最后根据显示结果判断是否需要驱动蜂鸣器发出报警。

    4 主程序流程图

    4.1 数据的处理

    数据处理子程序如图5所示,参数d0,d1,d2分别代表待测0 V,-19.9 V,+19.9 V所对应ad数据。首先将模数转换结果赋给参数dat,进而根据dat值判断待测电平的正负,最后根据显示结果与dat的数值关系求出待测电压。由于待测信号是从求和电路的反相输入端输入的,因此负电平的转换结果大于d0,正电平的转换结果小于d0。

    图5 ad数据处理子程序流程图

    4.2 软件精度校准

    进行实际测量之前,由于焊接电阻的阻值与理想值有一定偏差,直接影响到测量的准确度,本文设计了软件精度校准的方法进行补偿。对d0进行微调的流程图如图6所示,首先选用性能可靠的万用表作为参考标准对待测信号进行测量,调节待测电平幅值使其万用表读数为0.00 V,然后再用所设计的系统进行测量,通过编程反复微调参数d0使得数码管显示为0.0 V,进而采用相同方法确定d1和d2两个参数即可保证设计的准确度。

    图6 微调d0流程图

    5 实测数据

    经过软件校准后利用系统实物进行测量的数据如表1所示,Ui是万用表对待测直流电平测量的读数,Uo是设计的数显电压表的测量读数。系统实物如图7所示。

    表1 实测数据

    图7 系统实物

    6 总结

    针对测试仪器内部直流电平检测的需要,本文以ATmega16为核心,电阻分压网络以及反相求和电路为基础,结合软件精度校准的方法设计了一款三位数码管显示电压表。实测结果表明,该系统能够实现对直流电平的精确测量,最大误差不超过0.1 V。由于内部模数转换器ADC具有十位精度,测量-19.9~+19.9 V电压的最大分辨率为0.039 V,在电压分辨率要求不高的场合,该系统简单可靠,具有很好的实用价值。


     
    (文/小编)
    打赏
    免责声明
    • 
    本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:https://2024.dingdx.com/news/show.php?itemid=6924 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
    0相关评论
     

    © Copyright 深圳市鼎达信装备有限公司 版权所有 2015-2022. All Rights Reserved.
    声明:本站内容仅供参考,具体参数请咨询我们工程师!鼎达信作为创新真空产品研发制造商,我们提供海绵吸具,海绵吸盘,真空吸盘,真空发生器,真空泵,真空鼓风机,缓冲支杆,真空配件,真空吊具等等产品

    粤ICP备17119653号