数字电压表(原创)
0赞上周做了一个智能换挡的数字电压表,相信已经有很多关于数字电压表DIY的文章,但是还是和大家交流下自己的做法吧。
下面以完整报告形式呈现:
******************************************************************************************************************************************
数字电压表
摘要:随着电子测量技术的发展,技术员对电压的测量精度提出了更高的要求。本数字电压表用以测量5V以内直流电压,并且可以通过按键调档以实现精确测量,它以MSP430F1611单片机为主控芯片,采用处理器内部A/D采样模块对待测信号进行采样测量,最终通过LCD显示电压值,超出量程蜂鸣器报警,LCD显示超出量程提示信息。
关键词:数字电压表;A/D采样;单片机
一、任务与要求
制作数字电压表
1、量程为0~5V、0~2.5V、0~1V可调
2、显示电压值
3、超出量程蜂鸣器报警,并且显示屏予以显示超出量程信息
4、测量值最好精确到毫伏
二、方案设计与论证
1、微处理器
方案一:使用C8051型单片机,由于此单片机管脚较少,不满足需求,况且此系统使用相对复杂,故这个不选取此方案。
方案二:系统功能不是很多,控制比较简单,由于实验室有TI公司生产的msp430f1611单片机,对其功能和内部模块相对了解,它有十六个外部中断接口,系统运行速度也比较块,12位A/D采样,能够实现电压精度的测量,故完全可以实现此系统的功能,所以核心控制模块用此单片机。
2、液晶显示模块
方案一:使用七段数码管来显示数据,优点是使用起来很方便,软件编程很简单,缺点是,此题要求显示的数据和文字偏多,这就需要多个数码管,使用起来不方便。
方案二:使用液晶显示,其显示的数据容量很大,而且还能够显示汉字信息,只用一块液晶就完全可以达到题目的要求,在系统主程序并不复杂的情况下,完全可以使用它。故采用LCD1602液晶模块进行显示。
3、电压处理模块
方案一:使用电阻分压,将原始信号降到单片机可以接受的范围后输入进行采样。
方案二:使用电压跟随器增大输入阻抗,然后在接入电阻分压,分压后选通模拟开关经过运放调整放大倍数最终输入单片机采样。
根据题目要求和整体方案的选取,本数字电压表由五个模块组成,下面是系统的整体框图:

图1 数字电压表整体框图
三、硬件设计
1、降压处理模块
题目要求中最大测量电压为5V,所以在用单片机进行A/D采样时需要将待测电压最大值降到2.5V即可,因为单片机可以接受的电压最大值为3.3V,为了方便最终计算,因此将电压值以一半计算。本电路中待测电压首先输入到射极跟随器,射极跟随器具有高的输入阻抗和低的输出阻抗,因此经过射极跟随器后电压值并不变化,但是输出的电流明显减小,这样小电流经过后续的分压时才会在分压电阻上消耗相对较小的电能,这对于电压测量的准确性至关重要,最终经过分压后,信号经由PORT2输入单片机进行初步采样。最终选通模拟开关调档进行准确测量采样,并且将最终信号经由PORT3输出给单片机采样。

图2 电压调档电路
2、蜂鸣器报警模块
当设置某一个量程时,输入待测电压超出量程,那么蜂鸣器立即报警,电路如图所示,当单片机采样的电压超出设定的量程,则输出高电平将三极管导通,从而驱动蜂鸣器报警。PORT1是单片机检测到采样电压超出量程时输出的驱动蜂鸣器的信号。

图3 蜂鸣器报警模块
3、LCD显示模块
采样得到的电压经过预置的算法得出测量电压,然后处理器控制LCD1602显示测得的电压值,并且当待测电压超出量程时,LCD显示“超出量程”以提醒用户停止测量。
四、理论分析与参数计算
待测定的电压经过电压跟随器后电压值保持不变,但是因为电压跟随器具有高输入阻抗,因此输出的电流很微弱,当最大待测信号输入5V再经过电阻分压后以最大2.5V的电压值输入给单片机,单片机通过A/D采样计算得出输入的电压值,再经过内部算法(采样信号的二倍)换算成待测信号的真实值进行初步估算用来实现选通模拟开关当输入电压0-1V时K1导通,0-2.5V时K2导通,0-5V时K3导通,最后将信号真实值用LCD1602显示,因为采样有误差,所以设定在一定时间内采样多次,然后取这些采样值的平均数作为最终的采样值显示,这样可以减小采样误差。
五、软件设计
1、整体流程

图4 系统主程序流程图
2、软件处理流程
系统经过初始化后一直检测有无电压的输入,当有电压输入时立即开启A/D采样对输入电压进行采样,设定固定的1ms内采样10次,通过计算这十次采样的平均电压值进行扩大二倍后用LCD显示,当此电压值大于本次测量的量程时,LCD显示“超出量程”,并且同时单片机输出高电平驱动蜂鸣器报警。并且根据瞬时单片机检测到的电压值自动调整适合的测量档位进行测量。
六、测试数据与结果分析
表1 电压测量表
|
档位 |
测量次数 |
本系统测量值(V) |
标准电压表测量值(V) |
|
0-5V |
1 |
3.6 |
3.7 |
|
2 |
3.5 |
3.8 |
|
|
3 |
3.6 |
3.8 |
|
|
0-2.5V |
1 |
1.8 |
1.9 |
|
2 |
1.8 |
2.0 |
|
|
3 |
1.7 |
1.9 |
|
|
0-1V |
1 |
0.5 |
0.6 |
|
2 |
0.4 |
0.6 |
|
|
3 |
0.5 |
0.6 |
对比本系统测量值和标准电压表测量值可以看出本系统测量值普遍比标准电压表测量值偏低,因为虽然待测电压经过电压跟随器后输出电流已经很小,但是这部分电流在分压电阻上消耗了部分电能,模拟开关也有部分电能损失,输入的待测电压因此稍有所下降,导致最终采样值普遍偏低,因此在软件上最终添加0.1V的电压补偿,最终结果在误差允许范围之内,因此,测量结果满足要求。
七、总结
本次系统设计基本完成了题目整体要求,所测试数据均在允许范围之内,并且特别精度已将误差减少到最小,测试结果准确,但是误差还是有的,有待提高的是采用哪种电压调理设计能够将误差降至最小,还有电压调理电路设计相对简单,含金量并不是很高,有待加强信号在调理电路方面的研究与讨论,可以测量的档位虽然符合题目要求,但是还应该将量程做的在大些以适应多种情况下的电压测量。
参考文献
[1]沈建华,杨艳琴.MSP430系列16位超低功耗单片机原理与实践[M].北京:北京航空
航天大学出版社,2008.
[2] 康华光.电子技术基础[M].北京:高等教育出版社,1979.
*********************************************************************
说明:
1.如果需要可以将量程做的再大些,那么可以在分压时通过调节分压电阻值来控制输入单片机的电压大小,保证不大于3.3V即可,后续调档通过选择反馈电阻值设定所需要的档位。(向大家请教其他电压调理和换挡的方法)
2.关于精确度:因为电路中有耗能,虽然射极跟随器已经将电流降到足够小,但是在后续电路中还是不可避免的有电压损失,虽然经过多次测量在软件上可以予以补偿,但是毕竟估计值不准确,在这方面还有待改进。(求指导)
3.也可以用外部的AD来采样,选用位数高些的采样速率大的,应该对精确度有些帮助,还未尝试。
4.器件选择:主要的三中芯片均是用TI的芯片做的,主控制器MSP430F1611,双运放LM358,单通道模拟开关TS5A3166,TI其他同类芯片也是可以胜任的。
5.由于本系统需要设计的部分相对集中,报告中加入了些很简单的模块充字数了,见笑了哈!
6.希望交流下大家的调理电路做法和精确度的提高等问题.
