基于单片机的语音播报万用表设计
扫描二维码
随时随地手机看文章
1.引言
万用表是一种最常用的电工测量仪表,目前主要使用的有两种,即模拟以指针万用表和数字式万用表.这 两种万用表使用时存在一个共同的问题,就是测量时必须用眼睛观看被测点和刻度盘或数据显示屏,容易造成在观测测量结果时表笔脱离被测点,或者造成表笔金属 极在相邻电路上短路.随着语音技术的发展,在数字万用表中增加语音播报功能,为万用表使用性能的实质性进步开辟了一条新的途径,有了语音播报数值功能,可 以告诉测量数值和单位准确的确认读数的结果,大大减少读数出错的可能.不仅如此,本设计通过高精度A/D转换,提高万用表的测量精度,对其他电子仪器的改进有着重要的意义.
2.系统硬件设计
2.1 系统设计框图
语音播报万用表,最主要目的是对万用表测得数值进行显示和播放.系统采用模块结构设计,主要由微处理器模块.万用表测量电路.高精度A/D电路.语音电路.显示电路以及按键电路模块组成,整体框图如图1所示.
在图1 中, 系统微处理器处理器采用AT89S52,它是一种低功耗.高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器, 使得AT89S52为众多嵌入式控制应用系统提供高灵活.超有效的解决方案.万用表测量电路将各种测量值转化为电压信号,在通过高精度A/D电路将模拟信 号转换为数字信号传送给单片机,再由单片机进行算法处理后输出到显示电路,LCD显示测得的电压值,语音播放电路根据单片机算法运算后寻找存储该数值对应 的语音信号进行播报.
2.2 高精度A/D转换模块
万用表的实现采用将各种测量数值转化为直流电压值,再将直流电压值通过高精度A/D转换为数字信 号,进入单片机进行处理及输出.提高万用表精度的电压表的核心提高A/D转换的精度,系统采用16位A/D转换器AD7705将模拟电压转换为对应的数字 量,并送入单片机,单片机对该数字量进行规格化处理.
AD7705是16位AD转换器,外接晶体振荡器.精密基准源和少量去耦电容,即可连续进行AD转 换.它采用了Σ-Δ技术,可以获得16位无误码数据输出.AD7705采用的三线串行接口,能够方便地与各种微控制器连接,也比并行接口方式大大节省了 CPU的IO口[3]?采用AT89S52控制AD7705,对桥式传感信号进行模数转换,能直接将传感器测量到的微小信号进行AD转换.该器件还具有高 分辨率.宽动态范围.自校准.优良的抗噪声性能以及低电压低功耗等特点,非常适合仪表测量.
采用16位A/D可将测量电压值精度根据数字信号±1的误差,数据输出公式为,1/65535*5V=0.00007V,也就是说在不改变电压量程时,可达到0.1mV的精度.单片机与A/D转换的连接如图2所示.
2.3 万用表测量模块
万用表测量范围包括直流电压.交流电压.直流电流.交流电流.电阻及电容等参数.为了扩大万用表的测量范围,增加电阻分流.分压等功能,该部分设计原理基本相同,本设计未作改进.在交直流转换及电阻测量方面的设计进行改进,提高测量稳定性.
数字万用表中交流电压测量电路是在直流电压测量电路的基础上,在分压器或分流器之后加入一级交流-直流(AC-DC)变换器形成的,主要由集成运算放大器.整流二极管.RC滤波器等组成,还包含一个能调整输出电压高低的电位器,用来对交流电压进行校准之用,如图3为所示.
系统中的电阻档采用的是比例测量法,由稳压管ZD提供测量基准电压,流过标准电阻0 R和被测电阻X R 的电流基本相等.所以A/D转换器的参考电压RFE U 和输入电压IN U 有如下关系:
其电路如图4所示.
2.4 显示电路模块
为了能够更好的现实各种数字和符号,采用了12864LCD显示器等组成显示模块.AT89S52通过将电压信号的二进制值进行算法转换后的数值通过IO口输出到LCD显示实时数值,电路如图5所示.
2.5 语音播放模块
语音模块采用ISD4003语音录放芯片,是美国ISD公司推出的产品.该系列语音芯片采用多电平 直接模拟存储专利技术,声音不需要A/D转换和压缩,每个采样值直接存储在片内的闪烁存储器中.ISD4003语音芯片采用CMOS技术,内含晶体振荡 器.防混叠滤波器.平滑滤波器.自动静噪.音频功率放大器及高密度多电平闪烁存储陈列等,因此只需很少的外围器件就可构成一个完整的声音录放系统.芯片设计是基于所有操作由微控制器控制,操作命令通过串行通信接口送入.采样频率可为4.0Hz?5.3Hz?6.4Hz?8.0kHz,频率越低,单片录放语音时间8~16min.
语音录放模块电路主要由LM386功放电路.isd4003语音电路组成.LM386功放电路在放音电路中,输出端选用低电压通用集成功率放大器作为扬声器的驱动电路.isd4003语 音电路,录音时通过外部按键控制录音的开始和停止.录完后,每段语音信号都存储在一个不同的地址段,播放的时候,只要找到该段语音的起始地址就能播放出相 应的语音信号,语音录放电路如图6所示.
3.软件设计
万用表开启时进入测量及显示状态,并将显示的数值及对应的测量范围进行数字播报,主程序流程图如图7所示.
语音播报程序设计将根据AD采集的电压信号进行算法转换后的数值寻找存储在语音芯片中的语音信息.每段语音都有一个不同的存储地址,要播放相应的语音信息,只要找到该语音信号的存储地址即可.流程图如图8所示.
4.结论
通过采用了高精度A/D转换模块对参数的测量提高了万用表测量精度,同时采用12864显示及语音 播报芯片将通过语音和显示多种人机交互方式为测量提供方便,将进一步提高万用表的实用性.因此具有自动语音播报数值功能的语音万用表,会有较大的需求,设 计具有较好的应用前景.