多功能语音电子秤设计_第1页
多功能语音电子秤设计_第2页
多功能语音电子秤设计_第3页
多功能语音电子秤设计_第4页
多功能语音电子秤设计_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论1.1研究目的及意义多功能语音电子秤的设计研究是基于当前社会的需求而产生的。现代社会的生活节奏越来越快,人们需要更加智能化、快速的测量方法来提高使用的便捷性和效率。它经历了几千年的发展进程,由简单、粗糙的结构变成的精密、复杂仪器。但是随着电子技术的不断发展,生活水平的提高,电子秤技术也越来越成熟,微处理器逐渐更新成熟,电子秤已经在我们的日常生活中占据了很高的地位。通过上面的因素我们根据实际生活的具体情况设计了一种由单片机设计的电子秤。传统的电子秤需要人们亲自操作,输入称重物品的编号、名称等信息,过程较为繁琐。多功能语音电子秤的出现,也使得电子秤市场上出现了一种新型产品。与传统的电子秤相比,多功能语音电子秤不仅具备了测量功能,还具有语音识别和语音交互功能,能够实现人机语音交互,提供更加智能化的使用体验。用户只需通过简单的语音指令,即可完成称重、查询、存储等操作,大大减轻了使用者的工作量,提高了效率。同时,语音电子秤还具有广泛的适用性和使用场景。为人们的生活和工作提供了许多便捷。在多功能语音电子秤的设计研究中,技术创新是必不可少的。语音识别技术是多功能语音电子秤的核心技术之一,它的稳定性和准确性对产品的使用效果有着至关重要的影响。因此,需要对语音识别技术进行深入的研究和开发,以确保其在产品中的稳定性和准确性。同时,在多功能语音电子秤的设计中,用户体验也是非常重要的。产品的外观设计、操作界面、语音提示等方面都需要考虑到用户的需求和使用习惯,使得用户可以更加轻松地使用产品,提高产品的易用性和人性化。另外,多功能语音电子秤在应用领域方面也具有很大的潜力。它可以应用于物流、商业、家庭等不同领域,为用户提供更加便捷、高效的重量测量服务。在物流领域,语音电子秤可以大幅度提高物流公司的工作效率和准确性,减少了人为操作的错误率,提高了工作效率。在家庭领域,语音电子秤可以帮助用户更加方便地测量物品的重量,避免了传统电子秤需要用户盯着屏幕读数的不便。总之,语音电子秤的设计研究具有重要的现实意义和实用价值。它的出现不仅使得测量更加方便快捷,还能够推动智能硬件的发展,语音电子秤是语音识别技术与电子秤技术的有机结合,这也体现了物联网技术的应用。在这个数字化时代,物联网技术正在不断地发展,智能硬件的应用也变得越来越广泛。多功能语音电子秤的设计研究可以为智能硬件的发展提供新的思路和创新点,为人们提供更加便捷、高效的测量方法。在未来的发展中,语音电子秤有着广泛的应用前景和市场潜力,可以为人们的生活带来更多的便利。1.2国内外研究现状在现代社会,电子秤已经随处可见,它不仅种类多种多样而且功能繁多,对电子秤的要求也大大提高了。2020年,王佳在《多功能电子称设计》明确指出,智能电子秤是一种通过数字信号处理技术实现重量测量的装备。该系统主要由数据采集模块、控制器模块和人机交互模块三部分组成。数据采集模块主要包括压力传感器和信号前置放大器。将转换后的信号传输到控制模块,由控制模块对数字信号进行处理。控制器模块是电子秤的核心部分,其主要任务是将模拟信号转换为数字信号进行数据处理。最后,人机交互模块通过液晶显示屏、按键等部件将测量结果反馈给用户。为了增强电子秤的功能,2022年,李哲在《多功能电子装备诊断模型与层次化建模方法研究》中指出了AT89S52单片机。它具有更大的储存空间和更强的程序储存能力。相比于传统的电子秤,它可以实现更多的功能和算法,例如储存和处理测量数据、进行温度补偿等。此外,使用AT89S52单片机还可以实现电子秤的数字化,将重量数据输出到计算机等其他设备当中,方便数据的分析和管理。2019年,马雅盼、刘忠富、李美仪、赵诗文、雷禹等人在《多功能电子秤的优化设计与实现》提出最重要的组成部分是称重传感器,主要体现在,电子秤的性能决定了稳定性。在恶劣的环境下,称重传感器所占比重会更大,这就要求电子秤的传感器具有更高的防护性能和稳定性。当传感器的误差达到电子秤整体误差的50%-70%时,如果环境非常恶劣,传感器误差的比例会非常大。因此,在设计电子秤时,传感器是非常重要的。在2015年的研究中,CasiniIsabella,AngenentLargusT.,MolitorBastian《GeneticEvidenceRevealstheIndispensableRoleofthereGeneforAutotrophyandtheImportanceofaFunctionalElectronBalanceforNitrateReduction》中提出电阻变压的传感器主要包括以下两个方面,第一个是弹性敏感元件,当通过被测的重量转换成应变性。除此之外还有电阻应变器,这时传感器的弹性应变,也会转化为电阻应变。当电阻应变器的质量增加的时候,电阻变化率也在不断增加。当电阻变化比较小的时候,通过测量小路的方式,将电阻转化为电流,通过二次仪表显示出来,电阻应变主要通过桥式电路将电阻化为电压。2017年,WenZongLiu,MinHuaCui,YingShiZhu在《Enhancedmethaneproductioninanup-flowmicrobialelectrolysisassistedreactors:Hydrodynamicscharacteristicsandelectronbalanceunderdifferentspatialdistributionsofbioelectrodes》中提出对于高精度传感器来说,只利用4个应变器检测电路是不够的,弹性材料受热不均匀,对于工艺的处理,温度变化都会产生影响了,这也会造成传感器出现误差。为了尽可能减少误差,提高一起的精密程度,需要在桥路两端加入一些补偿元件,以对传感器的输出进行调整和校正。在实际应用中,电阻变压传感器常常被用于测量物体的重量和压力等参数。这种传感器的优点在于结构简单、体积小、响应速度快、灵敏度高等。不过,对于不同的测量对象和环境,需要根据实际情况来选择合适的传感器类型和参数。此外,对于传感器的使用和维护也需要进行相应的操作和注意事项,以确保传感器的正常工作和准确测量。2019年,HaoruiZhang,YanyanJing在《Evaluationofbiohydrogenyieldpotentialandelectronbalanceinthephoto-fermentationprocesswithdifferentinitialpHfromstarchagriculturalleftover》中提出,随着计算机技术的不断发展,键盘作为计算机输入设备的重要组成部分,能够直接接受用户的指令,实现人机交互。键盘输入是重要组成部分,用户的指令能够直接被它接受。键盘主要由若干个主键构成,每个键都代表着一个特定的功能或字符,键的多少主要根据系统用途来进行确定。单片机接收到键盘信号之后,会进行相应的处理和调整,根据用户输入的指令来控制系统的运行。因此,键盘接口被视为连接人和计算机之间的桥梁,扮演着非常重要的角色。键盘由若干个主键构成,键的多少主要根据系统用途来进行确定的。当一个键的打开的时候,触点闭合,当键松开时,触点断开。接收到信号的单片机要进行调整对应的功能,与单片机相比,键盘接口更加重要。总的来说,我国的研究团队在多功能语音电子秤的设计和开发方面取得了显著的进展。他们致力于技术创新、健康管理、数据分析与云平台、用户体验和设计、应用领域拓展等方面的工作,为多功能语音电子秤的发展提供了重要的参考和借鉴。随着技术的不断进步和市场需求的增长,多功能语音电子秤有望在我国得到更广泛的应用和推广1.3主要研究内容本系统主要设计一个多功能语音电子秤,系统主要包括LCD1602液晶显示器、矩阵键盘输入模块、去皮功能、计价功能、常用价格存储功能、语音芯片、单片机。多功能语音电子秤主要包括以下几个方面:1.液晶显示的质量,单价,总价,显示年月日,可以设置时间。2.矩形键盘3.具有去皮清零功能,微调校准4.计价,计总价5.分辨率1g,误差<1g。6.储存价格。7.语音芯片播报1.4电子秤的工作原理当物体被放在秤上时,其重量通过秤体传递给称重传感器,秤体发生弹性变形,引起阻抗变化。同时,励磁也发生变化,产生力-电效应。变化的模拟信号输出,经放大电路放大后输出到模数转换器。将数字信号转换成易于处理的数字信号,然后输出到CPU进行处理。CPU根据键盘命令和各种功能开关对其进行判断和分析,并根据键盘输入内容和各种功能开关的状态通过软件控制各种计算。

第2章系统总体结构2.1设计方法根据本设计功能的要求,通过查找资料,结合所学过的知识,有以下几个方法进行设计并完成所要求的设计,分别是文献研究法、功能分析法、定性分析法、经验总结法。文献研究法。通过查阅文献来获得研究资料,对系统设计中所涉及到的相关内容,如PVDF传感器技术、鼾声检测技术等,初步构想系统要实现的功能及其运用的技术并搜集相关资料,作为系统设计的材料。功能分析法。主要是社会科学的方法,是常用的调查分析法,这个系统方法主要对各项功能进行具体分析,从而展开发展目标。定性分析法。通过对文献进行研究,通过归纳推理,分析演绎,利用软件和硬件进行仔细分析,熟悉各个模块之间的关系,更我更多的工作原理。确定开发流程。经验总结法。希望通过已有的每一块功能的结合进行总结,设计出一套优良的系统,并规范的编写程序。2.2功能需求分析2.2.1技术路线(1)硬件部分主要包括LCD1602液晶显示模块、语音芯片、称重模块、单片机;(2)软件平台程序用keil5;(3)画原理图用AD;(4)编程语言用C语言;(5)设计结构框图。2.2.2预期结果作品展示,设计一个多功能语音电子秤,并且该设计能实现如下功能:多功能语音电子秤主要有以下功能:1.液晶显示的质量,单价,总价,显示年月日,可以设置时间。2.矩形键盘3.具有去皮清零功能,微调校准4.计价,计总价5.分辨率1g,误差<1g。6.储存价格7.语音芯片播报2.3总体方案设计第一:准备理论知识,学习内容,掌握相关课题知识。第二:明确各个模块,梳理模块之间的联系,收集相关信息。第三:进行主题策划,明确系统组织,勾勒出总体框架,并列出原理框架图。第四:通过软件完成相应的电路原理图,将系统各部件与电路连接在一起,并绘制电路原理图。第五:根据相关系统控制,绘制流程图。第六:进行仿真,检查系统控制功能,整理论文。2.4单片机型号选择选择主控制器,这是选择美国的单片作为系统控制芯片,并且性价比比较高,功能也非常强大。这种单片机要求比较低,性能比较高,耗能比较少,从功耗角度来看性能非常好。非常便捷,受到了行业内的喜欢。本设计采用的最小系统如图2-1所示。图2-1STM系列单片机电源插脚共有两个,分别是VCC(40)VCC单片机电源为阳极,单片机的电源直接对准阴极,直接接触地面。在设计方案当中,主要利用外部震荡方式,它的具体布线如下图所示,走线非常简单,具有较好的实用价值。在设计方案中主要利用RST,并且对此展开说明,其他引脚不进行详细介绍。当脉冲信号超过两个周期之后,RST引脚比较合理,控制器的程序也进行复位,微控制器对准第一个流程,在具体实行的时候,脉冲信号要对准控制器,如下图2-2所示。图2-2单片机最小系统电路图

第3章系统的硬件部分设计3.1系统总体设计系统主要包括LCD1602液晶显示模块、HX71称重模块、语音播放芯片、矩阵按键、蜂鸣器、上位机和单片机。单片机能够实现电子秤的功能,使电子秤逐渐微型化。下图3-1是它的总体原理图。图3-1总体原理图3.2系统的主要功能模块设计3.2.1系统超重报警指示电路设计超重报警系统主要对重量进行测量,当超出最高值的时候,单片机控制三极管,通过三极管来驱动报警系统,蜂鸣器发出报警。如果三极管驱动停止,然后蜂鸣器不再报警。该模块测量物体的重量,并将其与预设的重量阈值进行比较,以确定物体是否超重,并向用户发出警报指示。该电路模块主要由以下几个部分组成:传感器模块、单片机模块、报警指示灯模块和音频输出模块。系统超重报警指示电路模块也是多功能语音电子秤设计中的重要组成部分。首先,传感器模块用来测量物体的重量。常见的重量传感器使用应变片或称重传感器来测量电阻的变化,以确定物体的重量。传感器将测得的力信号转换成电信号,送至模数转换器进行处理。单片机通过模数转换器将模拟信号转换为数字信号。然后进行计算和比较。它与预设的重量阈值进行比较,确定物体是否超重。当单片机检测到物体超重时,它将触发报警指示模块。报警指示模块通常使用LED或蜂鸣器来提醒用户。LED可以发出明亮的光线,而蜂鸣器则发出高频的声音。这些报警信号可以吸引用户的注意力,提醒他们物体超重。此外,音频输出模块可以进一步增强报警功能。它可以连接到单片机模块,通过扬声器播放预先录制的语音提示,例如"超重警告,请取出物体"等。这样的语音提示可以使报警更加直观和明确,帮助用户更好地理解报警信息。综上所述,系统超重报警指示电路模块是基于单片机的多功能语音电子秤设计中的一个重要组成部分。它通过传感器模块测量物体的重量,单片机模块进行重量比较和计算,并通过报警指示模块和音频输出模块提醒用户物体是否超重。这样的设计可以提高电子秤的功能性和用户体验,使其更加智能和便捷。图3-2蜂鸣器报警原理图3.2.2系统按键输入电路设计输入电路对电子秤进行测量,电路主要通过矩阵键盘的方式来实现。开机后电子秤就会测量托盘的重量,托盘会出现清零的情况,在称重的过程中需要对托盘进行去皮,才能称量出物体实际的重量。系统按键输入电路模块是基于单片机的多功能语音电子秤设计中的一个关键组成部分。该模块负责接收用户的按键输入,并将输入信号传递给单片机进行相应的处理和响应。这个电路模块主要由以下几个部分组成:按键组件、电阻网络、解码器和单片机接口。首先,按键组件是用户与电子秤进行交互的主要方式。常见的按键组件包括机械按键、触摸按键或者触摸屏。用户可以通过按下相应的按键来实现不同的功能,如重置秤的归零、切换单位、选择功能模式等。接下来,电阻网络用于对按键进行编码。每个按键都与电阻网络中的一个特定位置相连。当按下某个按键时,电阻网络中相应位置的电阻值发生变化。这样的编码设计可以有效地减少所需的输入引脚数量,并简化电路设计。解码器是按键输入信号的解码和处理单元。它可以根据电阻网络的变化情况,将按键的位置译码为对应的二进制码。解码器通常采用专用集成电路,如74HC138等。解码器将译码后的二进制码输出到单片机接口,以供单片机进行后续处理。最后,单片机接口是将解码器输出的二进制码连接到单片机的电路接口。单片机通过读取接口上的二进制码,可以识别用户按下的具体按键,并执行相应的操作。根据不同的按键输入,单片机可以控制秤的显示、功能选择、数据存储等。综上所述,系统按键输入电路模块是基于单片机的多功能语音电子秤设计中的重要组成部分。它通过按键组件接收用户的按键输入,并通过电阻网络、解码器和单片机接口将输入信号传递给单片机进行处理。这样的设计使得用户可以方便地与电子秤进行交互,并实现不同的功能操作,提高了电子秤的便利性和可操作性。图3-3矩阵按键模块电路图3.2.3液晶显示模块电路设计液晶显示模块电路模块是基于单片机的多功能语音电子秤设计中的一个重要组成部分。该系统的液晶显示模块主要用于重量、单价以及总价,提供用户友好的界面和交互体验。这个电路模块主要由以下几个部分组成:液晶显示屏、驱动电路、单片机接口和电源电路组成。液晶显示屏,作为显示模块的核心组成部分,扮演着至关重要的角色。在实际应用时,人们往往根据自己对信息需求的不同来选择一种或几种类型的液晶显示屏,以便满足不同用户对各种信息的要求。在我们的日常生活中,我们常常会遇到两种不同类型的液晶显示屏,一种是具有字符型结构的,另一种则是图形型。字符型液晶显示器可呈现文字和数字,而图形型液晶显示屏则能够呈现更为复杂的图形和图像,呈现出更为精细的视觉效果。液晶显示屏则可以通过一系列的液晶单元和控制电路,将输入的数据信号转化为可见的图像或文字。驱动电路是液晶显示屏的控制和驱动单元。它主要包括液晶驱动芯片、时序控制电路及电压转换电路。时序控制电路根据液晶屏显示状态,通过比较输入端与输出端的不同时间来控制液晶显示器的亮度及位置变化。单片机所发出的信号经过液晶驱动芯片的处理,被转换为符合液晶显示所需的电压和信号格式。液晶显示所需的工作电压可通过电压转换电路进行转换。时序控制电路负责产生精确的时序信号,确保液晶显示屏能够按照正确的顺序更新和显示数据。单片机接口是将单片机与液晶显示模块连接的桥梁。它负责将单片机产生的显示数据和控制信号传输给驱动电路。通常采用并行接口或串行接口进行数据传输。通过单片机接口,单片机可以向液晶显示屏发送具体的显示内容和指令,控制液晶显示屏的显示效果。电源电路为液晶显示模块提供工作所需的电源稳定性。综上所述,液晶显示模块电路模块是基于单片机的多功能语音电子秤设计中的重要组成部分。为了要求显示模块的美观化,选用合适的显示模块很重要。根据设计要求,由众多显示单元构成的点阵图液晶,如果LED有16行,一共有32列,每4列有4行,一共有8个字,一共有32个点。如果每个字节都相互对应,那么字节的内容和显示屏亮暗也是相互对应的,这也是LED的基本原理所在。LCD1602数码管模块电路图3.2.4语音播报模块电路设计语音播报在人们的日常生活中被广泛使用,本设计根据要求,要具有语音播报功能,因此语音播报模块会将生成的语音信号通过内部的音频输出接口输出到扬声器上。在语音播放结束后会马上停止工作,芯片进入停止状态,因为这些设计的原因使该模块变成了一个具有低功耗的模块。扬声器是一种小型电磁式扬声器。使用扬声器可以将生成的语音信号转换为相应的声音,以便用户进行听取。在设计语音播报模块时,需要综合考虑芯片的筛选、音频放大器的构造以及扬声器的型号选择等多个方面的问题。另外,为了保证系统稳定可靠地工作,还要注意电源管理和时钟电路的设置。在挑选语音芯片时,需综合考虑语音库的品质、接口的种类等多种因素。对于音频系统而言,声音信号是由不同频率和相位的声波组成的,所以要根据实际情况来进行匹配工作。在音频放大器的设计过程中,需要综合考虑放大器功率、噪声等多个因素,以确保其性能达到最佳状态。在扬声器的方面,要考虑它的灵敏度和阻抗等原因。图3-5语音播报模块原理图3.2.5称重模块电路设计基于单片机的多功能语音电子秤是一种集成了称重和语音提示功能的先进电子设备。其称重模块是该设备的核心部分,下面对称重模块进行简要介绍。称重模块采用高精度传感器,能够准确测量物体的重量。传感器通过负载电阻变化来感知重力作用,并将信号传递给单片机进行处理。单片机通过对传感器输出进行放大、滤波和数字转换等处理,获得物体的准确重量。该称重模块具备广泛的应用范围和多种功能。首先,它可以用于普通的称重任务。其高精度的测量能力确保了准确度和稳定性。其次,该模块还支持多功能语音提示。通过内置的语音芯片和扬声器,系统能够根据称重结果提供语音提示,例如通过音频播报物体的重量,方便用户直观了解称重结果,尤其适用于视觉障碍人士和老年人。此外,称重模块还具备一些附加功能。例如,它可以支持单位切换,用户可以通过按键选择不同的重量单位,如千克、磅等。另外,该模块还可以具备储存功能,记录并保存多次称重结果,方便用户进行比对和追溯。总之,基于单片机的多功能语音电子秤的称重模块是一个高精度、多功能的电子秤核心部分。它通过高精度传感器和单片机处理,实现了准确测量物体重量的功能,并结合语音提示、单位切换和储存等附加功能,提供了更便捷、智能的称重体验。所使用的传感器如图3-6所示。第4章系统的软件设计4.1软件主流程图当全部系统软件通电时,首先进行的是单片机的初始化,成功完成后下位机中的红外检测控制模块和超声波测距传感器同过对当前阶段环境和距离进行更好的控制,对于环境进行精准测量,采集相应模块传输到控制板。控制器也要读取相应的数据做出分辨。如果检测的数据在一定的范围之内,就可以进行下一轮检测。如果超出控制范围,返回对应设备,设置操控方式,舵机对其做出相对应的操作。如图4-1所示。开始开始初始化完成,矩阵键盘设定所需质量显示屏显示实时数据是否超出阈值蜂鸣器警报,灯闪烁发送单片机数值判断压力传感器检测质量否是图4-1整体流程图4.2超重报警系统模块设计在当前社会生活中,超重报警系统广泛应用于日常生活当中,根据社会和市场的需求,它的亮点更加突出,更加简便,功能更加强大是人们现在所需要的,而超重报警系统就具备了这样的特点。作为一种计量工具,电子秤具有一定的称量范围,一旦被测物体重量超过其量程范围,我们的内置称重传感器将会遭受损坏,因此在考虑实用性和性价比的前提下,我们设置了一套超重报警电路。当电子秤上有物品或重物达到设定的重量时,该电路就会发出信号给蜂鸣器进行警报提醒用户注意。把被测物放入称重模块上,反馈给单片机查看是否超出量程,超出量程则蜂鸣器报警,没有则输出结果。如图4-2所示。开始开始称重模块单片机是否超重蜂鸣器报警结果是否图4-2超重报警模块设计流程图4.34*4矩阵按键软件设计结果开始单片机初始化数据传输按键输入信号检测初始化成功结果开始单片机初始化数据传输按键输入信号检测初始化成功数据是否在范围内否否是是图4-34*4矩阵按键模块流程图4.4LED灯模块设计LED灯模块设计是从一开始单一的功能模块开始的,其具有功能单一,特性明确,易于加工等特点。其中最重要的就是P-N结,正向是导通的作用,反向为截止,当为正向电压的时候,电子从N到P,空穴从P到N,载流子之间进行复合而发光。通过不一样的材料,让LED发出不一样颜色的光。如图4-4所示。开始单片机初始化开始单片机初始化红外信号检测数据传输结果初始化成功数据是否在范围内否否是是图4-4LED灯模块设计流程图4.5声音模块软件的设计开始单片机初始化成功结束执行开始单片机初始化成功结束执行声音模块声音采集声音强度是否达到阈值否否是是图4-5声音模块流程图4.6压力传感器设计在电子秤的演进过程中,压力传感器扮演着一个不可或缺的角色,其重要性不言而喻。随着电子技术的进步以及对电子秤功能需求的增加,电子秤压力传感器也得到了迅速发展。一般而言,电子秤的压力传感器可分为电阻式、磁浮式以及电容式三种类型。其中电阻式和磁浮式由于具有较好的线性度和灵敏度以及稳定性,因此得到了广泛地应用。电阻式因其高精度而被广泛应用,而磁浮式则因其更高的精度而成本更高,而电容式则因其更大的体积优势而备受青睐。压电传感器是一种基于材料受力所产生的力-电效应的主动传感器。这种力电耦合现象称为压电效应。压电传感器以其高度敏感、微小体积、轻盈重量、简约结构和可靠工作等特点,成为动态力学测量的理想选择。在工业检测中得到了广泛的应用。目前广泛应用于测量加速度、动态力或压力等方面的参数。压力传感器由两个主要组成部分构成,一个是具有弹性的形变器,另一个则是用于传感器电路的元件。弹性形变器具有较高的灵敏度与可靠性,并且具有一定的柔性,在使用过程中能够对外界环境进行适应,所以被广泛地应用于各种领域之中。弹性形变器是一种金属片,其具有可塑性,能够在受到外部压力时表现出可塑性。弹性形变器具有良好的机械强度,能够承受一定的外力而不被破坏。弹性形变所产生的电信号,在传感器电路的放大电路中被转化为数字信号,并通过模数转换器进行处理,最终输出到单片机中。随后,根据键盘命令和程序结果,这些数字信号会被输出到显示器中。

第5章系统测试5.1系统实物图这是一个基于STM32智能语音电子秤,它分别由液晶显示模块、语音播报模块、矩阵按键模块、测重模块等组成。该电子秤结合了重量测量和语音播报功能,为用户提供便捷的重量获取和交互体验。该电子秤的主要特点和功能:高精度测量、清晰的显示、语音播报功能、多种语音提示、操作简便、具有可靠性和稳定性。基于STM32的多功能语音电子秤广泛应用于商场、超市、家庭等场景,提供快速准确的重量测量,并通过语音播报功能增强用户的交互体验。其高精度、清晰显示和简便操作使得重量获取变得更加便捷和直观。根据系统原理图的设计,对各个元器件进行参数计算,并根据结果选择相应的器件,最终制作出了实际的电子秤。进行了一系列调试工作,并对调试过程中出现的一些故障进行了分析处理,取得满意效果。首先进行连线与原理图的比对,检查是否存在短路、虚焊等缺陷。请检查器件的型号、规格和极性是否存在误差,以及插接的方向是否符合要求。如果出现上述现象则说明电路中有故障存在,需要进行维修处理。在完成检查后,使用检测仪可以检测电路板正负电源之间的电阻,从而排除电源可能存在短路的情况。根据设计的电路图,利用工具组装好所有模块,完成如图5-1所示的系统完整实物图。图5-1系统完整实物图5.2测试原理在进行软件调试时,首先需要对其进行单独的测试,然后再将其组装起来进行测试。如果有错误的话,则直接把它删除。在确认程序运行无任何异常后,进行全面的调试工作。对于复杂的软件系统来说,如果采用传统的方式来实现调试的话,需要花费大量时间和精力。在进行程序调试之前,务必对硬件模块之间的连接情况进行仔细检查,以确保不会出现任何断路或故障。如果有的话再对各个接口都做一些检测工作。一旦确认系统连接无误,即可启动调试程序。如果需要对所有硬件模块都进行测试的话,则要先查相关软件和文件中所提供的测试工具。在进行正式的调试之前,我们需要先进行全面的系统调试,以观察系统的运行状态,以确定是否存在任何潜在问题。对于存在问题的硬件模块及其程序,我们将进行全面的硬件模块调试,以确保问题得到更加精准的发现和解决。物体通过给压力传感器施加压力使传感器发生弹性形变,进而通过阻抗的改变使电压发生改变,输出了一个模拟信号。点击上位机上方开启服务器后,手动设置上位机中声音大小、语音识别,并观察到了上方有所获得的实时数据。如图5-2所示图5-2上位机5.3机械功能模块测试电子秤是一种利用物体施加压力于压力传感器,从而实现重量测量的高精度设备。由于电子秤本身并没有物理机械结构,所以其内部电路也就相对简单。当电子秤接收到物体时,由于其重力作用,压力传感器会发生一种弹性的形变。由于压力传感器和电子秤之间存在着电阻性耦合,因此在称重过程中产生了电容效应。通过连接传感器和电子秤电路,这种形态变化会导致阻抗的变化,从而引起输出电压的波动,最终形成一个具有可变性的仿真信号。为了实现更多功能和方便用户操作,一旦成功启动,用户可以观察到实时数据的显示。这些数据包括当前的重量测量结果以及其他相关信息。通过显示屏的界面,用户可以直观地看到这些数据的变化,并根据需要进行记录或分析。用户可以实现更多的功能和灵活性。例如,可以将测量结果保存到数据库中,进行数据分析和报表生成。另外,通过语音识别功能,用户可以以语音的方式获取重量数据,提供更加人性化的交互体验。总结而言,用户可以获得实时数据,并进行更多功能的定制和操作。这种电子秤的使用更加灵活,为用户提供了更多便利和个性化的选项。当开启服务器后上位机将获得各个传感器器的参数,根据各个传感器参数大小,之后将参数上下限设置完毕,决定是否移动。最后得出完整的调试结果,实现了预期功能。如图5-3所示。图5-3将各项参数上下限设置完毕

第6章总结与展望6.1总结随着社会的进步,电子秤技术也随之逐渐更新换代,传统的称重工具逐渐被淘汰,智能化,精密化的智能电子秤渐渐取代了传统工具。在系统软件的调试过程中并不顺利,一些问题也在调试过程中显露出来,对电路中对设计的各种影响因素没有考虑到位。但在老师的悉心指导下,我发现了一些不足的地方,并解决了其中的问题。主要包含如下几个方面。(1)在进行功率模块模拟仿真过程中,发现调试的输出值未达到设计规定。检查到了其中的问题后,发现电路板焊接出现了问题,于是进行重新焊接。(2)利用仿真应用的软件,找到错误的代码。通过调整可以发现,在流程进行启动的时候,单片机并没有复位,需要获得批准才能进行操作。(3)在进行具体模拟的时候,提醒端口存在逻辑错误,有可能不会对实际效果产生影响,但是在印刷的时候,可能会产生错误代码,无法进行仔细辨别,在制定以后添加忙碌,系统恢复正常,对信息也不会产生任何影响。6.2展望通过这次的研究设计让我学到了很多东西,让我的动手能力得到了提高。此外在这次设计以区域监控管理系统制造连动为研究对象时,在进行具体分析之后,对于单片机的控制系统进行连接,并进行设计,全部设计如下,(1)查阅相关资料和国家相关标准,对周围设备进行检测,在此基础上,对于声音大小,指令操作作为最主要的目的。(2)从上一部分我们可以看出,利用传感器的数据,对单片机进行设计并提出相应的解决方案。尽管模拟仿真说明全部设计彻底可以技术规定,可是全部系统软件还具有一些问题和优化的地区,必须在之后的探讨中进行健全。尽可能模拟全部设计,并严格按照相关规定,对于全部的软件进行优化。(3)本论文的设计中,没有设计优化算法,在实际应用当中,通过模糊算法,神经网络控制法,进一步进行优化,提高工作效率(4)在之后的研究当中,工业触摸屏要进行更好的开发。通过计算机界入口,保证每个节点的语音数据,开发设计相应的智能手机软件,工作人员随时可以对产品进行监测。

参考文献[1]唐凯.基于单片机的语音播报电子秤设计[J].电子制作,2021(17):74-76+97.[2]李伟.物流一体化测控设备软件设计与实现[D].华中科技大学,2021.[3]刘博,冯芳.智能输液监测系统的设计[J].电子测试,2020(12):9-12.[4]杨杰,余红英,刘辉.基于STM32的智能称重系统优化设计[J].曲阜师范大学学报(自然科学版),2020,46(01)[5]陈婷,李永科,邓小红,龚代平.基于微控制器的语音电子秤设计[J].信息通信,2019(06):58-59.[6]王佳.多功能电子秤设计[J].电子质量,2019(04):24-29.[7]谷汝楠,葛欣.基于单片机基础的多功能电子秤设计[J].电子技术与软件工程,2017(06):245.[8]袁书豪.电子秤智能控制的改进及应用[J].设备管理与维修,2017(14):88-89.[9]徐伦,邓涛.一种基于STM32的多功能精密电子秤[J].数字技术与应用,2016(10):148-149.[10]刘西平,刘锦辉.基于单片机的简易电子秤设计与实现[J].电脑知识与技术,2016,12(10):[11]祝闽琼,顾鹏宇,李佳佳.语音播报测重值设计[J].软件导刊,2013,12(06):136-139.[12]唐立军.防作弊高精度电子秤研究[D].湖南大学,2011.[13]岳利维,马强,秦茂盛.改进型实用语音电子秤设计[J].仪器仪表用户,2011,18(01):66-69.[14]王健,常攀峰,冯洁.基于SPCE061A的智能测重系统[J].仪器仪表学报,2006(S1):240-241+246.[15]韩明海,金延国.微机称重系统设计实例[J].衡器,2003(03):16-17.[16]马雪静.语音电子秤之语音发生装置的设计[J].小型微型计算机系统,2000(04):448-440.[17]张卫斌,陈春晓.电脑语音合成系统[J].浙江气象科技,1997(03):49-51.[18]高志华,张博文.语音合成技术在电子秤上的应用[J].中国计量学院学报,1993(02):66-70.[19]GaoHairong,GuoRui,ShiKaili,YueHuanfang,ZuShaoying,LiZhiwei,ZhangXin.EffectofDifferentWaterTreatmentsinSoil-Plant-AtmosphereContinuumBasedonIntelligentWeighingSystems[J].Water,2022,14(4).[20]AnbumaniV,GeethaV,PraveenKumarV,SabareeD,SivananthamK.DevelopmentofCloud-BasedAgricultureMarketingSystemwithIntellectualWeighMachine[J].IOPConferenceSeries:MaterialsScienceandEngineering,2021,1055(1).[21]PanasonicIntellectualPropertyManagementCo.Ltd.;ResearchersSubmitPatentApplication,"SmartWeighingScaleAndMethodsRelatedThereto",forApproval(USPTO20200240829)[J].Defense&AerospaceWeek,2020.[22]AnushaMudgal,AnuradhaKumari,ApoorvMittal,ArchitAgarwal,VishalChoudhary.DesignandDevelopmentofaSmartWeighingScaleforSugarMill[J].InternationalJournalofComputerApplications,2020,176(23).

附录电路图

源代码#include<stdint.h>/*definecompilerspecificsymbols*/#ifdefined(__CC_ARM)#define__ASM__asm/*!<asmkeywordforARMCompiler*/#define__INLINE__inline/*!<inlinekeywordforARMCompiler*/#elifdefined(__ICCARM__)#define__ASM__asm/*!<asmkeywordforIARCompiler*/#define__INLINEinline/*!<inlinekeywordforIARCompiler.OnlyavaiableinHighoptimizationmode!*/#elifdefined(__GNUC__)#define__ASM__asm/*!<asmkeywordforGNUCompiler*/#define__INLINEinline/*!<inlinekeywordforGNUCompiler*/#elifdefined(__TASKING__)#define__ASM__asm/*!<asmkeywordforTASKINGCompiler*/#define__INLINEinline/*!<inlinekeywordforTASKINGCompiler*/#endif/*###################CompilerspecificIntrinsics###########################*/#ifdefined(__CC_ARM)/*RealViewCompiler*//*ARMarmccspecificfunctions*//***@briefReturntheProcessStackPointer**@returnProcessStackPointer**Returntheactualprocessstackpointer*/__ASMuint32_t__get_PSP(void){mrsr0,pspbxlr}/***@briefSettheProcessStackPointer**@paramtopOfProcStackProcessStackPointer**AssignthevalueProcessStackPointertotheMSP*(processstackpointer)Cortexprocessorregister*/__ASMvoid__set_PSP(uint32_ttopOfProcStack){msrpsp,r0bxlr}/***@briefReturntheMainStackPointer**@returnMainStackPointer**ReturnthecurrentvalueoftheMSP(mainstackpointer)*Cortexprocessorregister*/__ASMuint32_t__get_MSP(void){mrsr0,mspbxlr}/***@briefSettheMainStackPointer**@paramtopOfMainStackMainStackPointer**AssignthevaluemainStackPointertotheMSP*(mainstackpointer)Cortexprocessorregister*/__ASMvoid__set_MSP(uint32_tmainStackPointer){msrmsp,r0bxlr}/***@briefReversebyteorderinunsignedshortvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinunsignedshortvalue*/__ASMuint32_t__REV16(uint16_tvalue){rev16r0,r0bxlr}/***@briefReversebyteorderinsignedshortvaluewithsignextensiontointeger**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinsignedshortvaluewithsignextensiontointeger*/__ASMint32_t__REVSH(int16_tvalue){revshr0,r0bxlr}#if(__ARMCC_VERSION<400000)/***@briefRemovetheexclusivelockcreatedbyldrex**Removestheexclusivelockwhichiscreatedbyldrex.*/__ASMvoid__CLREX(void){clrex}/***@briefReturntheBasePriorityvalue**@returnBasePriority**Returnthecontentofthebasepriorityregister*/__ASMuint32_t__get_BASEPRI(void){mrsr0,basepribxlr}/***@briefSettheBasePriorityvalue**@parambasePriBasePriority**Setthebasepriorityregister*/__ASMvoid__set_BASEPRI(uint32_tbasePri){msrbasepri,r0bxlr}/***@briefReturnthePriorityMaskvalue**@returnPriMask**Returnstateoftheprioritymaskbitfromtheprioritymaskregister*/__ASMuint32_t__get_PRIMASK(void){mrsr0,primaskbxlr}/***@briefSetthePriorityMaskvalue**@parampriMaskPriMask**Settheprioritymaskbitintheprioritymaskregister*/__ASMvoid__set_PRIMASK(uint32_tpriMask){msrprimask,r0bxlr}/***@briefReturntheFaultMaskvalue**@returnFaultMask**Returnthecontentofthefaultmaskregister*/__ASMuint32_t__get_FAULTMASK(void){mrsr0,faultmaskbxlr}/***@briefSettheFaultMaskvalue**@paramfaultMaskfaultMaskvalue**Setthefaultmaskregister*/__ASMvoid__set_FAULTMASK(uint32_tfaultMask){msrfaultmask,r0bxlr}/***@briefReturntheControlRegistervalue**@returnControlvalue**Returnthecontentofthecontrolregister*/__ASMuint32_t__get_CONTROL(void){mrsr0,controlbxlr}/***@briefSettheControlRegistervalue**@paramcontrolControlvalue**Setthecontrolregister*/__ASMvoid__set_CONTROL(uint32_tcontrol){msrcontrol,r0bxlr}#endif/*__ARMCC_VERSION*/#elif(defined(__ICCARM__))/*ICCCompiler*//*IARiccarmspecificfunctions*/#pragmadiag_suppress=Pe940/***@briefReturntheProcessStackPointer**@returnProcessStackPointer**Returntheactualprocessstackpointer*/uint32_t__get_PSP(void){__ASM("mrsr0,psp");__ASM("bxlr");}/***@briefSettheProcessStackPointer**@paramtopOfProcStackProcessStackPointer**AssignthevalueProcessStackPointertotheMSP*(processstackpointer)Cortexprocessorregister*/void__set_PSP(uint32_ttopOfProcStack){__ASM("msrpsp,r0");__ASM("bxlr");}/***@briefReturntheMainStackPointer**@returnMainStackPointer**ReturnthecurrentvalueoftheMSP(mainstackpointer)*Cortexprocessorregister*/uint32_t__get_MSP(void){__ASM("mrsr0,msp");__ASM("bxlr");}/***@briefSettheMainStackPointer**@paramtopOfMainStackMainStackPointer**AssignthevaluemainStackPointertotheMSP*(mainstackpointer)Cortexprocessorregister*/void__set_MSP(uint32_ttopOfMainStack){__ASM("msrmsp,r0");__ASM("bxlr");}/***@briefReversebyteorderinunsignedshortvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinunsignedshortvalue*/uint32_t__REV16(uint16_tvalue){__ASM("rev16r0,r0");__ASM("bxlr");}/***@briefReversebitorderofvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebitorderofvalue*/uint32_t__RBIT(uint32_tvalue){__ASM("rbitr0,r0");__ASM("bxlr");}/***@briefLDRExclusive(8bit)**@param*addraddresspointer*@returnvalueof(*address)**ExclusiveLDRcommandfor8bitvalues)*/uint8_t__LDREXB(uint8_t*addr){__ASM("ldrexbr0,[r0]");__ASM("bxlr");}/***@briefLDRExclusive(16bit)**@param*addraddresspointer*@returnvalueof(*address)**ExclusiveLDRcommandfor16bitvalues*/uint16_t__LDREXH(uint16_t*addr){__ASM("ldrexhr0,[r0]");__ASM("bxlr");}/***@briefLDRExclusive(32bit)**@param*addraddresspointer*@returnvalueof(*address)**ExclusiveLDRcommandfor32bitvalues*/uint32_t__LDREXW(uint32_t*addr){__ASM("ldrexr0,[r0]");__ASM("bxlr");}/***@briefSTRExclusive(8bit)**@paramvaluevaluetostore*@param*addraddresspointer*@returnsuccessful/failed**ExclusiveSTRcommandfor8bitvalues*/uint32_t__STREXB(uint8_tvalue,uint8_t*addr){__ASM("strexbr0,r0,[r1]");__ASM("bxlr");}/***@briefSTRExclusive(16bit)**@paramvaluevaluetostore*@param*addraddresspointer*@returnsuccessful/failed**ExclusiveSTRcommandfor16bitvalues*/uint32_t__STREXH(uint16_tvalue,uint16_t*addr){__ASM("strexhr0,r0,[r1]");__ASM("bxlr");}/***@briefSTRExclusive(32bit)**@paramvaluevaluetostore*@param*addraddresspointer*@returnsuccessful/failed**ExclusiveSTRcommandfor32bitvalues*/uint32_t__STREXW(uint32_tvalue,uint32_t*addr){__ASM("strexr0,r0,[r1]");__ASM("bxlr");}#pragmadiag_default=Pe940#elif(defined(__GNUC__))/*GNUCompiler*//*GNUgccspecificfunctions*//***@briefReturntheProcessStackPointer**@returnProcessStackPointer**Returntheactualprocessstackpointer*/uint32_t__get_PSP(void)__attribute__((naked));uint32_t__get_PSP(void){uint32_tresult=0;__ASMvolatile("MRS%0,psp\n\t""MOVr0,%0\n\t""BXlr\n\t":"=r"(result));return(result);}/***@briefSettheProcessStackPointer**@paramtopOfProcStackProcessStackPointer**AssignthevalueProcessStackPointertotheMSP*(processstackpointer)Cortexprocessorregister*/void__set_PSP(uint32_ttopOfProcStack)__attribute__((naked));void__set_PSP(uint32_ttopOfProcStack){__ASMvolatile("MSRpsp,%0\n\t""BXlr\n\t"::"r"(topOfProcStack));}/***@briefReturntheMainStackPointer**@returnMainStackPointer**ReturnthecurrentvalueoftheMSP(mainstackpointer)*Cortexprocessorregister*/uint32_t__get_MSP(void)__attribute__((naked));uint32_t__get_MSP(void){uint32_tresult=0;__ASMvolatile("MRS%0,msp\n\t""MOVr0,%0\n\t""BXlr\n\t":"=r"(result));return(result);}/***@briefSettheMainStackPointer**@paramtopOfMainStackMainStackPointer**AssignthevaluemainStackPointertotheMSP*(mainstackpointer)Cortexprocessorregister*/void__set_MSP(uint32_ttopOfMainStack)__attribute__((naked));void__set_MSP(uint32_ttopOfMainStack){__ASMvolatile("MSRmsp,%0\n\t""BXlr\n\t"::"r"(topOfMainStack));}/***@briefReturntheBasePriorityvalue**@returnBasePriority**Returnthecontentofthebasepriorityregister*/uint32_t__get_BASEPRI(void){uint32_tresult=0;__ASMvolatile("MRS%0,basepri_max":"=r"(result));return(result);}/***@briefSettheBasePriorityvalue**@parambasePriBasePriority**Setthebasepriorityregister*/void__set_BASEPRI(uint32_tvalue){__ASMvolatile("MSRbasepri,%0"::"r"(value));}/***@briefReturnthePriorityMaskvalue**@returnPriMask**Returnstateoftheprioritymaskbitfromtheprioritymaskregister*/uint32_t__get_PRIMASK(void){uint32_tresult=0;__ASMvolatile("MRS%0,primask":"=r"(result));return(result);}/***@briefSetthePriorityMaskvalue**@parampriMaskPriMask**Settheprioritymaskbitintheprioritymaskregister*/void__set_PRIMASK(uint32_tpriMask){__ASMvolatile("MSRprimask,%0"::"r"(priMask));}/***@briefReturntheFaultMaskvalue**@returnFaultMask**Returnthecontentofthefaultmaskregister*/uint32_t__get_FAULTMASK(void){uint32_tresult=0;__ASMvolatile("MRS%0,faultmask":"=r"(result));return(result);}/***@briefSettheFaultMaskvalue**@paramfaultMaskfaultMaskvalue**Setthefaultmaskregister*/void__set_FAULTMASK(uint32_tfaultMask){__ASMvolatile("MSRfaultmask,%0"::"r"(faultMask));}/***@briefReturntheControlRegistervalue**@returnControlvalue**Returnthecontentofthecontrolregister*/uint32_t__get_CONTROL(void){uint32_tresult=0;__ASMvolatile("MRS%0,control":"=r"(result));return(result);}/***@briefSettheControlRegistervalue**@paramcontrolControlvalue**Setthecontrolregister*/void__set_CONTROL(uint32_tcontrol){__ASMvolatile("MSRcontrol,%0"::"r"(control));}/***@briefReversebyteorderinintegervalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinintegervalue*/uint32_t__REV(uint32_tvalue){uint32_tresult=0;__ASMvolatile("rev%0,%1":"=r"(result):"r"(value));return(result);}/***@briefReversebyteorderinunsignedshortvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinunsignedshortvalue*/uint32_t__REV16(uint16_tvalue){uint32_tresult=0;__ASMvolatile("rev16%0,%1":"=r"(result):"r"(value));return(result);}/***@briefReversebyteorderinsignedshortvaluewithsignextensiontointeger**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebyteorderinsignedshortvaluewithsignextensiontointeger*/int32_t__REVSH(int16_tvalue){uint32_tresult=0;__ASMvolatile("revsh%0,%1":"=r"(result):"r"(value));return(result);}/***@briefReversebitorderofvalue**@paramvaluevaluetoreverse*@returnreversedvalue**Reversebitorderofvalue*/uint32_t__RBIT(uint32_tvalue){uint32_tresult=0;__ASMvolatile("rbit%0,%1":"=r"(result):"r"(value));return(result);}/***@briefLDRExclusive(8bit)**@param*addraddresspointer*@returnvalueof(*address)**ExclusiveLDRcommandfor8bitvalue*/uint8_t__LDREXB(uint8_t*addr){uint8_tresult=0;__ASMvolatile("ldrexb%0,[%1]":"=r"(result):"r"(addr));return(result);}/***@briefLDRExclusive(16bit)**@param*addraddresspointer*@returnvalueof(*address)**ExclusiveLDRcommandfor16bitvalues*/uint16_t__LDREXH(uint16_t*addr){uint16_tresult=0;__ASMvolatile("ldrexh%0,[%1]":"=r"(result):"r"(addr));return(result);}/***@briefLDR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论