基于STM32的语音电子秤的设计.docx
- 文档编号:16869953
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:36
- 大小:1.40MB
基于STM32的语音电子秤的设计.docx
《基于STM32的语音电子秤的设计.docx》由会员分享,可在线阅读,更多相关《基于STM32的语音电子秤的设计.docx(36页珍藏版)》请在冰点文库上搜索。
基于STM32的语音电子秤的设计
基于STM32的语音电子秤的设计
学生专业:
测控技术与仪器
学生姓名:
张城照
导师姓名:
张福才
摘要
质量是测量领域中的一个非常有意义的被测参数,称重技术的发展从古至今被人们所重视,称重在日常生活中随处可见,如首饰店测量贵金属重量,工厂原料定量配比,市场上称菜,货车过地磅等。
秤是最普通、最普及的计量设备。
传统的机械秤体积庞大,结构繁琐,易受外界挤压、碰撞变形,在长期使用中由于金属腐蚀,机械磨损会给机械秤带来不可逆的损害直接导致机械秤精度下降。
电子秤相比机械秤拥有诸多优点,例如成本低、响应快、稳定、高智能等。
随着社会的迅猛发展,人们的需求日益多元化,多元化的电子秤将具有极其广阔的市场前景。
本设计采用STM32F103作为主控芯片,外接电桥式称重传感器和24位高精度A/D转换芯片来完成称重,以TFT液晶屏和触控芯片实现人机交互,独特的语音播报功能给本设计增添了个性特点,实时温度和实时时钟方便了使用者的日常生活。
关键词质量电子秤STM32F103语音
Abstract
Qualityisanimportantparametertomeasuredinthefieldofmeasurement,weighingtechnologyispaidgreatattentionbypeoplesinceancienttimes,weighingcanbeseeneverywhereinourdailylife,suchasjewelryshopmeasuringweightofpreciousmetals,quantitativeratioofrawmaterials,weighingfoodonthemarket,truckspassloadometer,etc.Balanceisthemostcommon,themostpopularmeasuringequipment.Thetraditionalmechanicalscaleislarge,thestructureiscomplicated,vulnerabletoexternalextrusion,collisiondeformation,duetothemetalcorrosioninthelong-termuse,mechanicalwearwillbringirreversibledamagetomechanicalscaledirectlyledtothedecreaseoftheprecisionofmechanicalscale.
Electronicscalemechanicalscalecomparedwithmanyadvantages,suchaslowcost,fastresponse,stability,highintelligence,etc.Withtherapiddevelopmentofsociety,thedemandofpeopleincreasinglydiversified,diversifiedelectronicscalewillbeextremelybroadmarketprospect.
ThisdesignusesSTM32F103asthemastercontrolchip,externalbridgetypeweighingsensorsand24bithighprecisionA/Dtransformationchiptocompletetheweighing,TFTLCDscreenandtouchchiptorealizehuman-machineinteraction,uniquespeechfunctionaddindividualitytothedesigncharacteristicsofreal-timetemperatureandrealtimeclockisconvenientforuser'sdailylife.
Keywords QualityElectronicscaleSTM32F103Speech
不要删除行尾的分节符,此行不会被打印
行后加一空行
CONTENTS
行后加一空行
第1章绪论
1.1课题来源及研究的目的和意义
电子称重技术是测控工程的重要技术之一。
自60年代初期出现的机电结合式电子秤以来,经过几十年的不断改进与完善,电子秤从最初的全机械式到机电结合式再发展到现在的全电子式和数字化智能式。
由于数字智能化式的电子秤具有称量准确、快速、读数方便、环境适应性强、便于与计算机结合而实现过程控制自动化等特点,在工商贸易、冶金矿山、能源交通、医药卫生、航空航天、轻工食品等部门得到广泛的应用[12]。
最近几年来,伴随着称重传感器技术和计算机技术的迅猛发展,以及现代科学技术间的相互渗透,电子称重技术有了新发展。
称重计量方法从模拟测量向数字发展;称重技术从静态称重向动态发展;测量特点从单参数测量向多参数发展。
快速称重和动态称重的研究与应用,已成为世界各国所关注的焦点之一。
电子称重技术水平的高低已成为衡量一个国家测量控制技术水平的标志之一。
电子称重技术是集电子、材料、传感器、管理为一体的综合技术,发达国家一直以来都很重视电子称重技术的研究,它们研究开发的重点不再是单纯的称重,而是自动控制领域和生产过程的称重系统,这使得称重计量的内涵被不断扩展,由狭义到广义,单项到系统,新型的现代称重一跃成为当代世界瞩目的技术与行业。
电子秤的发展过程经历了从粗糙到精密、从单纯机械结构到机电结合再到全电子化、从功能单一到多功能化的过程。
尤其是最近20年以来,各个生产工艺流程中配料的称重、药物定量、饲料配比、以及产品质量的监督把关等,都离不开能输出电信号的电子秤。
电子称重信号的输出方便了自动化控制,能作为系统中的一个重要参数承担着自动控制和检验的功能,从而有力地推进贸易交往合理化、生产工艺标准化、材料配比科学化和工业生产自动化。
从80年代至今,我国测控行业已经走上了按专业和产品归类的行业管理化轨道中,且已经开创了由机械向数字电子过渡的全新局面,但与发达工业国家相比,我国的电子称重技术的研究与应用仍然出于较低水平,有很大的进步空间,电子称重行业的总体水平还跟不上国内需求的发展步伐。
1.2本论文的技术要求和主要工作
本论文设计的电子秤是以STM32单片机为主要部件,使用C语言进行软件设计,硬件则以全桥应变片电阻传感器、WT588D语音模块和触控液晶屏模块为主。
量程为0~10kg,最小分度值为1g,误差达到±2g,具有超上限值报警的功能。
本设计完成的电子秤的主要优点是:
1.人性化的人机交互界面;
2.具有超量程报警功能;
3.测量精度高;
4.实时显示环境温度和实时时钟;
5.具有语音播报重量、价格、报警等功能。
主要工作如下:
1.大量收集和查阅国内外关于电子秤设计的资料,最好开发前的准备;
2.电子秤主板硬件系统设计;
3.电子秤的软件系统设计;
4.通过标准质量的砝码校准电子秤;
5.整机测试。
第2章电子秤的总体设计方案
2.1电子秤称重系统的整体设计方案
本设计采用STM32F103RBT6作为主控芯片,通过TFT液晶屏幕显示数据,以触控方式操作电子秤,DS18B20作为温度传感器采集实时温度,播报重量、价格、商品名等语音信息使用Flash芯片存储配合语音芯片WT588D发音,采用电阻应变片桥式连接的称重传感器采集重量,以24位的HX711作为A/D转换芯片[6][7]。
系统结构框图如图2-1。
图21系统整体框架图
架构为Cortex-M3的STM32F103RBT6工作频率为72MHz,16位并行连接TFT液晶屏,能实现快速刷屏,显示效果良好,通过SPI通讯方式连接触控芯片XPT2046,以触控方式操作电子秤,以单总线方式连接DS18B20采集实时温度,主控芯片以一线串口模式控制语音芯片WT588D播报重量、价格、商品名等信息,以上模块对速度都有苛刻的要求,普通的51单片机达不到要求,所以采用了工作频率为72MHz的STM32F103RBT6,它内部的单周期乘法和硬件除法方便了价格计算和累计,采用型号为YZC-1B的电阻应变片式电桥结构的称重传感器,以24位的电子秤专用A/D芯片HX711作为A/D转换芯片[1][2]。
2.2系统基本功能及其性能指标
本论文设计的电子秤测量系统包括重量测量、液晶屏显示、触摸控制、语音播报、实时时钟、实时温度、单价存储、自动计价、价格累计、去皮、超重报警等功能,主要技术指标如表2-1。
表21测量装置的主要技术指标
基本功能
测量范围
分度值
误差
测重
0~10kg
1g
±2g
实时时钟
1970.1.1~2099.12.31
1秒
±3秒/年
实时温度
-55~125℃
0.1℃
±0.5℃
计价
0~999.99元
0.01元
0
2.3称重传感器要求及选择
称重传感器是将非电量(质量或重量)转换成电量的转换元件,它把重量变换成电信号或其它形式适合计量的信号以方便数字处理器处理。
称重传感器一般由敏感元件、转换元件以及后续处理部分组成。
按照称重传感器的结构形式不同,可分为应变式传感器(电阻应变式、声表面谐振式)和直接位移式传感器(电位计式、电容式、电感式、空腔谐振器式、振弦式等)或是利用压电、压阻和磁弹性等物理特性的传感器。
考虑到本设计的产品应用在市场、工厂和户外等环境比较恶劣潮湿的场合,使用直接位移传感器和物理效应的传感器容易受到外界干扰,综合各方面因素选择电阻应变式传感器。
本设计对称重传感器的要求主要有:
输入的重量与输出的电量应该保持一一对应,即具有良好的线性关系;具有较高的灵敏度;能在恶劣的条件下工作;对被称物体的状态的影响要小;具有较好的频率响应特性;具有重现性;稳定可靠。
就以上要求本设计所使用的称重传感器为YZC-1B型传感器,该传感器是10kg量程的电阻应变片式传感器,在激励电压为5V的条件下输出,满量程时输出为10mV,该称重传感器的实物如图2-2。
图22称重传感器实物图
其结构为由电阻应变片搭接的惠更斯全臂电桥贴于铝块载体上。
应变片是镍铬丝或康铜丝绕成栅状(或使用薄金属箔腐蚀成栅状)夹在两层绝缘的薄片中制成。
YZC-1B称重传感器上表面镶嵌两片应变片,同时下表面也有两个同样的应变片,上下连接形成全臂电桥,当应变片不受外力时,输出的电压为零,当受外力作用时,上表面的应变片电阻变大,下表面的应变片电阻变小,使电桥不平衡,由于相同的电阻丝其电阻的变化量相同,所以输出的电压与电阻的变化量成线性关系,再经相应的测量电路把这一电阻变化转换为电压信号,此过程完成了将外力转换为电信号的过程,这样就测量出重量的大小。
外接的5根线分别是一根屏蔽线,两根输出线,两根供电线。
当未载物时传感器内部电桥桥臂上的电阻满足这样的条件:
R1*R3=R2*R4,电桥平衡,输出的电压为零;载物时铝块发生微小形变,致使贴在上面的电阻应变片也发生形变,从而导致应变片电阻发生变化,破坏电桥平衡,使电桥输出微弱电压,其输出的电压与电阻的变化量(外力变化量)成近似的线性变化,线性度小,这极大地方便了后续软件根据A/D值计算处理得到重量。
2.4质量的计算
由于本设计所选的YZC-1B型电阻应变片式电桥结构的称重传感器具有良好的线性度,所以为后续数据处理带来了很大方便。
本设计使用线性拟合软件CurveExpert1.3来拟合A/D值与实际重量之间的函数关系。
主控芯片内部的单周期乘法和硬件除法为重量的快速计算提供硬件支持。
随着质量的增大,称重传感器的线性度下降,再配以人工补偿,以保证精度。
在校正精度时,选用了M1等级的高精度不锈钢砝码以确保电子秤的精度。
第3章电子秤硬件电路设计
3.1A/D采集的电路设计
对于电子秤的设计,核心问题是A/D转换。
只有正确的选择A/D转换芯片的类型才能才能做出高精度的电子秤。
本论文设计的电子秤使用一款24位的Σ-Δ(SigmaDelta)型A/D转换芯片HX711。
在电子秤的实际使用中,由于人们对重量测量速度的要求不高,所以使用这款高分辨率的慢速A/D转换芯片。
Σ-Δ型的A/D芯片是由1位A/D转换器、数字滤波器、积分器和比较器等组成[8]。
在原理上近似于积分型A/D,将输入电压量变换成脉冲宽度(即时间信号)信号,经过数字滤波器的处理之后得到数字量[9]。
电路的数字部分容易做到单片化,因此极易做到高分辨率。
由于输出的数字量与模拟输入量之间有较长的延时,所以这类A/D芯片适用于那些模拟信号近似直流或变化很慢的应用场合,如温度测量、流量测量和压力测量等。
HX711与同类型其它A/D芯片相比,其内部集成其它同类型芯片所需要的外围电路,如内部时钟振荡器和稳压电源等,具有集成度高、抗干扰性强、响应速度较快等优点,使用该芯片设计的电子秤既能降低了整机成本又提高了电子秤的可靠性和抗干扰性。
该芯片与主控芯片的连接电路非常简单,只有DATA和SCLK两条线连接与主控芯片连接,两个控制信号由管脚驱动,且无需对芯片内部的寄存器编程。
在输入指定的脉冲数可任意选取通道A或通道B以及增益,通道A的可编程增益为128和64,对应满额度的差分输入信号幅值分别为±40mV和±20mV,通道B则为固定为64增益。
芯片内部的稳压电源可以直接向外部传感器供电,系统板上无需另外提供电源,可以保证传感器的准确度。
HX711的工作温度范围为-20~+85℃,工作电压范围为2.6~5.5V,可同步抑制50Hz和60Hz的电源干扰,典型工作电流:
<1.7mA(含稳压电源电路),断电电流:
<1µA,可见该芯片是功耗极低的,适合运用于充电的便携式设备中,较大的工作温度范围和宽电压决定了该芯片能应用在较恶劣的场合。
HX711的硬件电路如图3-1。
图31HX711的硬件电路
图中E+和E-分别连接5V和地线,为芯片供电,S+和S-连接称重传感器的输出端。
本设计使用HX711内部时钟振荡器(引脚XI接地),10Hz的输出数据速率(引脚RATE接地)。
芯片供电电压取用5V,片内稳压电源电路通过片外三级管8550和滑动变阻器R11向传感器提供稳定的低噪声模拟电源(图中E+和E-)。
在程序设计中选用通道A,所以INNA和INPA与传感器相连,通道B接地。
3.2单片机外扩电路设计
3.2.1STM32F103RBT6的最小系统硬件设计
本设计采用STM32F103RBT6作为主控芯片。
该芯片使用Cortex-M3架构,支持Thumb-2指令集,最高支持72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHz,而且具备单周期乘法和硬件除法。
在存储器方面,该片有128K字节的闪存程序存储器和高达20K字节的SRAM。
片内的带校准功能的32kHzRTC振荡器和后备供电VBAT,可为实时时钟提供精确的定时和掉电不掉时提供支持[1][2]。
2.0~3.6V的供电电压和睡眠、停机和待机模式可为电子秤的低功耗提供硬件支持。
该芯片还拥有多达51个快速I/O端口,并且所有I/O口可以映像到16个外部中断,几乎所有端口均可容忍5V信号,即兼容5V数字电平[1][2]。
STM32F103RBT6的引脚图如图3-2。
图32STM32F103RBT6引脚图
主控芯片外接8MHz和32.768kHz的石英晶振,最高工作频率达72MHz,其中,32.768kHz的晶振作为RTC的输入频率,为实时时钟提供精确的频率[14]。
外接晶振的硬件电路如图3-3。
图33外接晶振电路图
图3-3为主控芯片的复位电路和后备电源电路。
当系统上电时,电容C1充电,此时RESET为0电位,芯片复位,C1充满电后,电路相当于断路,RESET为高电平,进入工作状态。
当按键KP1按下时,RESET接地,使RESET为0电位,产生复位,一般低电平持续20us之后,可实现有效复位[15]。
后备电池BAT1通过二极管D2连接到主控芯片的VBAT脚,实现系统“掉电不掉时”的功能,如图3-4。
图34复位电路和后备电源电路
3.2.2TFT液晶屏的硬件电路设计
TFT-LCD(ThinFilmTransistor-LiquidCrystalDisplay)即薄膜晶体管液晶显示器。
TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。
实物如图3-5。
图35TFT触控液晶模块
本设计使用的TFT-LCD液晶屏使用的控制芯片为ILI9320,屏幕尺寸为2.8寸,320*250像素,26万真彩,通过16位并行方式连接主控芯片。
该液晶刷频速度快,显示效果能满足实际需求。
该液晶模块中还整合了触控芯片XPT2046,通过SPI通讯和主控芯片连接,以实现快速触摸识别[10]。
该液晶模块和主控芯片的硬件连接图3-6。
图36TFT触控液晶模块连接电路
3.2.3WT588D语音模块的硬件电路设计
本设计的语音功能采用WT588D语音模块来实现。
这是带32Mbit的SPI-Flash存储器、内嵌DSP高速音频处理器、13Bit的DA转换器和12Bit的PWM输出的DIP28封装的语音模块。
DSP高速音频处理器让该模块有较快的音频处理速度,12Bit的PWM输出让该快具有良好的音质,可直接驱动0.5W/8Ω扬声器,推挽电流充沛。
该模块可以通过专业的上位机软件VoiceChipV-B建立语音工程,可随意组合语音块、插入10ms~25min的静音,插入的静音不占用内存的容量,一个已加载语音可重复调用到多个位置,语音工程编译之后用USB下载方式下载到模块中,支持在线下载和脱机下载,在WT588D语音芯片通电的情况下,也一样可以正常下载数据到模块中。
语音块支持WAV格式的6K~22KHz采样率的音频。
该模块的BUSY引脚能输出语音播放状态信号,为编程提供方便。
该模块的工作电压为直流2.8V~5.5V,在语音播放停止时会马上进入休眠模式,芯片转为完全停止状态,静态休眠电流小于10uA,这些都决定了该模块是一个低功耗的模块。
WT588D语音模块的结构如图3-7。
图37WT588D语音模块结构图
WT588D与主控芯片的硬件连接如图3-8。
图38WT588D与主控芯片的硬件连接图
图中P2为0.5W/8Ω的扬声器,与模块的正负PWM输出连接,该模块的复位引脚连接主控芯片的IO口PA3,由于该模块与主控芯片为一线串口通讯模式,所以只需使用模块的P03引脚即可,这里我们连接主控芯片的PA2口。
该模块的VDD供电为DC2.8~5.5V,VCC为DC2.8~3.6V。
采用DC3.3V供电时,可以直接短接VDD跟VCC,但考虑到使用环境声音嘈杂,故VDD供5V以提供较大的音量。
BUSY连接发光二级管指示模块的工作状态,当模块发音时二极管亮,不发音时不亮。
3.2.4电源模块的硬件电路设计
本设计的主控芯片和TFT触控液晶模块需要3.3V电压,WT588D语音模块、HX711芯片和蜂鸣器需要5V电压。
考虑到本设计产品的功耗较低和方便携带的问题,使用9V层积电池作为主电源供电,具体电路如图3-9。
39系统电源电路图
如图使用9V层积电池为主电源,通过稳压芯片AMS1117-3.3得到3.3V的电压,供主控芯片和TFT触控液晶模块使用,通过稳压芯片LM7805得到5V的电压,供WT588D语音模块、HX711芯片和蜂鸣器使用[3]。
第4章测量装置的软件设计及其优化
对于一个测量系统来说,功能的实现除了硬件电路之外,软件处理是必不可少的。
硬件是系统的肉体,软件是系统的灵魂,软件决定了产品的思想,对一个产品至关重要。
4.1单片机软件设计流程
本设计的软件部分大致流程如图4-1。
图41软件流程图
系统上电后首先执行各个功能模块的初始化,初始化包括功能模块内部功能的设置和与主控芯片连接的IO口模式的设置,初始化完后该系统会读取A/D值然后作为零重量的A/D值(取零点),在取完零点后显示该系统固定不变的内容,如键盘,显示项目等。
在做完所有准备工作之后系统进入程序死循环,在死循环中主要完成A/D值的采集,数据处理和数据显示刷新。
触摸程序的处理是在中断程序中执行的
4.2各个模块的程序设计思路及部分代码
4.2.1TFT触控液晶模块部分
本设计选用的TFT触控液晶模块的显示部分程序流程如图4-2。
图42TFT触控液晶模块程序流程图
TFT触控液晶屏的初始化包括主控芯片与模块相连IO口工作模式的设置和显示驱动芯片ILI9320的初始化,其具体设置如下:
IO口PB0~15作为液晶显示的数据口,采用16位并行方式连接。
当主控芯片从模块读数据时设置为上拉输入模式,写数据时设置为上拉输出模式。
其余引脚如8080并口的信号线CS、WR、RD和RS都设为推挽输出模式[11]。
对于显示驱动芯片ILI9320的初始化,首先读取TFTLCD的控制芯片的型号,然后再根据具体型号向芯片写入一系列的特定命令,例如开启振荡器、设置纵向26万色显示、设置纵向更新GRAM等,然后启动TFTLCD的显示,整屏填充白色[13]。
在程序工程中初始化函数为:
voidLCD_Init(void)。
通过函数将字符和数字显示到TFTLCD模块上。
本设计编写的各个功能函如下:
显示数字的函数:
voidLCD_ShowNum(u16x,u16y,u32num,u8len,u8size,u8mode);
显示一个字符串的函数:
voidLCD_ShowString(u16x,u16y,constu8*p);
显示汉字的函数:
voidShow_Str(u16x,u16y,u8*str,u8mode);
绘制矩形的函数:
voidLCD_DrawRectangle(u16x1,u16y1,u16x2,u16y2);
系统显示界面如图4-3。
图43开机前的初始化界面
图44使用时的主界面
TFT触控液晶屏的触控部分程序流程如图4-5。
图45触控部分程序流程图
在初始化程序中主要执行TFT触控液晶模块和主控芯片连接的IO配置和中断初始化,触控芯片XPT2046与主控芯片采用模拟SPI通讯,接口MOSI、SCK、CS都设为推挽输出模式,SPI的MISO和触控标志PEN设置为上拉输入模式。
此外还初始化了外部中断,当有触控动作时,触控动作产生的下降沿会触发中断,进而执行中断服务函数[11]。
中断服务函数中包括了键值扫描(根据触摸位置返回不同键值)和一些设置界面的标志位处理。
在初始化完后还要进行触控点和液晶显示位置的匹配。
每触摸一次屏幕,触控芯片XPT2046都会得出一个触控点坐标,液晶屏自身有像素坐标,这两个坐标之间的关系是线性的,因此计算公式如下:
XLCD=Xfac*Px+xoff;
YLCD=Yfac*Py+yoff。
式中的XLCD和YLCD是液晶屏上的像素坐标;Xfac和Yfac是触摸屏上读出的触控点坐标;Px和Py分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 语音 电子秤 设计