《基于单片机的简易体脂秤的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于单片机的简易体脂秤的设计与实现.doc(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、装订线长 春 大 学 毕业设计(论文)纸目录第1章 绪论11.1课题研究的目的和意义11.2课题目前的研究现状21.3课题研究的主要内容3第2章 总体设计方案42.1系统总体设计方案42.2方案论证42.2.1 单片机选型42.2.2 压力传感器选择62.2.3 显示器选择62.2.4 AD转换芯片的选择72.2.5 通讯模块的选择8第3章 硬件电路设计93.1电源电路设计93.2单片机最小电路103.3称重电路设计103.3.1 A/D转换器43.3.2传感器原理 43.4显示电路设计153.5超限报警电路设计163.6按键输入电路设计173.7 蓝牙通讯模块电路设计17第4章 软件设计18
2、4.1系统软件编程环境介绍184.2主程序软件流程图184.3系统显示设计流程图194.4系统按键检测流程图204.5 A/D数据采集函数设计流程图214.6蓝牙接收处理程序流程图22第5章 系统整体调试235.1硬件电路调试中遇到的问题235.2系统实物调试效果图23第6 章系统设计总结24致谢26参考文献27附录29附录1 程序清单29附录2 原理图36II第1章 绪论1.1课题研究的目的和意义人们越来越关注身体真正的健康,不仅仅是瘦那么简单。与此同时,人们的消费观念随着经济文化的发展也都出现了较大的变革,在一日三餐的支出上逐渐增加消费占比,不仅要求吃饱更要求吃好吃精,喜欢越来越精细化制作
3、的食物,在口感和制作工艺的要求方面越来越讲究,以至于出现一种情况,在无形中摄入过多的脂肪,热量,和大量的人造食品添加剂,越不自知,日复一日,年复一年,这种饮食习惯增加了身体负担,造成了疾病的产生,比如高血压,高血脂,糖尿病等,这些三高人群已经不再是老年人群体,越来越向低龄化发展。许多人尤其是刚步入中年的人群,对于日常的锻炼意识比较薄弱,很容易患上肥胖症致使免疫力降低引起其他病症。而人体体脂率作为衡量人体肥胖程度最直观的参数,对于预防肥胖症状有着十分重要的意义。目前的体脂率检测技术中,有水下称重法、双能射线法等方法,但是他们拥有着检测成本高、操作复杂等问题,研究出一种能供家庭内日常使用的低成本,
4、简单易操作的,体积小不占地方的,最好容易便携的测量身体健康指数的系统产品具有重要的意义。相对传统的体重秤而言,多功能的体重秤秤不仅仅能测体重,还能测量脂肪的含量、水分等数据参数,普通的体重秤只能测量体重一个数据,越来越不能满足日常身体保健的需求,所以一款不仅能测量体重,还能反映身体脂肪比例的体脂秤就非常顺应时代的发展,也能满足日益增长的需求。市面上的大部分体脂秤采用的原理都是利用了身体不同组织结构拥有着差异明显的导电率,从而反映出体内脂肪的含量。而随体内脂肪的含量。随着科技的发展,现在智能体脂秤能测量的数据也越来越丰富,好的智能体脂秤还能为使用者提供健康报告,帮助使用者更好地管理健康。基于传统
5、的四电极方法,由于使用者要赤脚并且双脚同时站在四个电极上,由于使用者用餐前后身体内水分会有变化,从而导致导电性有所差异,会导致体脂测量出现误差,出现同一天内,测量结果不一致的情况,且考虑到赤脚测量带来局限性,不能更方便的随时随地检测,本设计决定将国际通用被认可的BMI值计算公式写入设计,可以得到具有参考价值的身体健康指数,通过微控制器向内部写入各种控制字代码,并且加入蓝牙模块,可在手机端进行操作,从而方便人们获取自身近期的健康状况信息。所以,我研究的简易体重体脂秤具有重要意义。1.2课题目前的研究现状目前,在临床医学上,双能X射线法、整个身体浸泡水下法以及生物的电阻抗法是目前医学和一些运动机构
6、主要采用的测量身体脂肪含量的方法。随着国内外智能医疗穿戴和智能医疗家居相关产品的不断涌现,从行业角度来看,医疗行业正在渐渐掀起一场家庭化的革命。但是前两种方法对于操作人员的专业性要求过高,且仪器的成本十分昂贵,并不能应用于日常的家庭生活里实现对各个家庭成员的体脂率进行监测,医疗指导意义比较一般。说到一种适用范围广泛而又十分经典的人体脂肪率测量法是水下称重法,它能够十分精准且有效地反映出人体中的脂肪和非脂肪物质的所占比,正是因为如此,水下称重法经常被人们成为测量人体成分的黄金标准。他的基本原理是有阿基米德原理通过利用排水法来求得人体的身体体积,之后根据磅秤得到人体的实际重量,最终根据上述条件推断
7、出人体的身体密度。双能X射线吸收法(DEXA)是建立在使用骨密度测量仪器对不同人群进行骨密度检测的基础上,拓展了其用途,使用在诸如人体脂肪量、骨骼矿物质含量等其他相关物质的检测范畴。这种方法的原理是:利用两种检测光子的不相等能量,让他们穿透人体的某一部位回。因为人体中密度不一样的部位对各个光子的衰减程度不一样,被检测到的部位对光子的吸收率和发出的射线透过脂肪部分的占比是正相关的,然而初始的光子所蕴含的能量是呈现指数函数走势逐渐降低的。之后通过对两种不同的光子能量在脂肪中的衰减程度来对人体的成分进行腿短,最终计算出人体脂肪率等参数。生物电阻抗测量法( bioelectric imped ance
8、 analysis,BIA)是利用不同的生物组织结构不同的组成成分,从而具有不同的导电性的这一特性,比如脂肪组织的主要成分是油脂,含水量极低,所以导电性差,而非脂肪组织,比如肌肉组织,含水量就高一些,所以相对应的,导电性也高一些,导电性能好。通常进行检测的手段是利用与人体皮肤表面相接触的电极片向待测对象体内注入一个微弱的交流信号(电流或电压),并在人体皮肤的另一端放置与之前注入激励信号电极片相对应的检测电极片,通过对采集到的电阻抗信息变化情况进行相应的分析,以此来获取相关的待测目标病理信息。基于传统的四电极方法,由于使用者要赤脚并且双脚同时站在四个电极上,由于使用者用餐前后身体内水分会有变化,
9、从而导致导电性有所差异,会导致体脂测量出现误差,出现同一天内,测量结果不一致的情况,且考虑到赤脚测量带来局限性,不能更方便的随时随地检测,本设计决定将国际通用被认可的BMI值计算公式写入设计,可以得到具有参考价值的身体健康指数,并且加入蓝牙模块,可在手机端进行操作,从而方便人们获取自身近期的健康状况信息。该方法的最大优势便是测量方法比较筒单且成本并不高,适用于家庭内测量。具有无创、低成本、低操作要求以及测量结果信息参考价值高的特点。1.3课题研究的主要内容本设计为简易体脂称的设计与实现。基于单片机和传感器模块以及多个相关功能模块作为整个设计的主要模块,可以测出人体体重和具有参考意义的体脂率指数
10、,最后加入了网络化模块供数据的无线传输与通信。基于传统的四电极方法,通过微控制器向内部写入计算相关身体质量指数的值,可以更好的计算出人体健康状况,而且更方便快捷的给出具有参考价值的体脂数值,不需要特定的检测场合和身体状况。第2章 总体设计方案2.1系统总体设计方案此设计整体的核心控制器件是单片机,和多个功能模块共同参与完成的,有信号收集处理,然后转化,输出到相关部件,协同完成多个功能。通过执行机构使使整个设计按照一定的顺序工作。这里包括:通过输入模块,事先可设置称重上限,相关传感器将得到的信号传递给单片机,当重量超出预设上限时,单片机对信号加以判断后发出指令触发报警模块。打开手机,通过通讯模块
11、,可连接体脂秤和手机,在移动终端实时显示被测值,下位机测量体重,通过通讯模块上传给手机,手机上输入身高,通过计算可以得到具有参考意义的身体质量指数,方便人们获取自身近期的健康状况信息并根据数值做出运动饮食等方面的积极调整。压力传感器单片机超限报警供电电源显示数据用户手机通讯模块输入键盘图2.1 系统结构框图 2.2方案论证2.2.1单片机选型因为单片机是整个系统的主要模块,所以单片机的型号选择至关重要,要满足拥有较大的内存空间,和较高的响应速率,还有通用,和其他模块要兼容,成本制作上也要贴切现实考虑。所以查阅相关资料后得出两个主要设计方案。方案一 51式通用型单片机51式通用型单片机其实从本质
12、上来讲,是一个统称,包含很多系列的单片机,也就是包含各种指令特性为Intel 803151的单片机,该系列的单片机使用周期很长,并且在不断改进,各方面都有很多进步,在工业使用中,也越来满足工业社会的发展需求,广为熟知的是被应用于工业化的测量控制领域较多。其中要提到的是,51系列也是基础的系列,适合新手和初学者,所以不可避免的自身带有局限性,不能用来编写,本身并不具备这个功能,也不是专门生产用来从事某个方面的,只是泛泛而谈的,简单就是会有功能上的局限性,端口也容易被占用,不能做复杂的电子设计中。所以此设计里没有选用。方案二 STC89C52此设计是基于单片机的设计,几乎所有的外加功能模块都是由单
13、片机处理,上面集成了很多电路,都是现成的电路,可以直接使用,因为此设计里设计了多个模块,所以需要使用的主控模块具有较大的内存空间,因为牵涉到多个模块,功能都不相同,从可操作的层面考虑,需要满足较高的数据处理速率和高通用性,也要考虑成本因素,毕竟要使整个设计可实现,成本控制在设计的考虑中也很重要,这也是设计里选用单片机的一个重要原因。上面自带的电路有晶振电路,一般简称为晶振,全称为晶体振荡器,这是用来做基础的准备,为单片机提供服务的,它可以产生初始化的时钟频率,然后经过用来专有的频率放大器进行放大或者缩小,最后就变成了我们所知道的不同的总线频率。从本质构成来讲,晶振其实就是他的字面意思,是用电量
14、损耗微乎其微的石英石(也就是石英晶体)经过现代科技的精细加工制作并安装在相应位置上,他的特性,比如机电效应,是由他的精密的加工方式决定的,后期不可更改。再利用他的热稳定性,可以将他看成一个振荡回路,在实际的应用和操作中,目的是利用晶振的物理特性,在单片机出现异常的时候,可以让其重新开始,重新工作,也就是做到复位电路的作用。而且该芯片具有以下主要特性:引脚和指令与芯片公司的初始系列兼容;时钟频率为033MHz;128字节片内做到随机读写RAM;32个可编程输入/输出引脚;2个16位定时/计数器;全双工串行通信接口;6个中断源,2级优先级;监视定时器;2个数据指针。总结:通过了解和以前的电子设计经
15、验,综合多方面因素,最终选定AT89S52作为整个系统的主控芯片。2.2.2压力传感器选择压力传感器是整个称重电路的核心元件,其目的是把力学信号转变为电学信号,要求其具有较高的灵敏度和较大的量程,避免物体重量超出量程而损坏。基于以上研究考虑,提出如下方案。方案一 压电传感器压电传感器在日常电子设计较为广泛,和自发电式传感器为同一种元器件,这种传感器是有源的。这种传感器的工作原理很简单,就是利用物质本身受到压力以后产生的形变量从而产生电荷的效应。这种根据形变量产生效果的传感器,具有一些优点,比如体积小,从而重量也相对较小,可以在静态的工作场合使用,而且他的特性也决定了,不适宜在动态的测量场景中使
16、用,功率也很小,不稳定,抵抗干扰的能力也较其他传感器弱,与其相配合的外部电路的要求就很高。方案二 电阻应变式传感器电阻应变式传感器就是可以将不同的力学变量,比如压力等,内部转换为电信号输出的传感器,利用了电阻应变效应来实现本身功能特性。可以单独使用,也可以结合具有弹性特性的元器件组成力学方面的变量传感器。使用范围广泛,用途也很广泛。设计里用到的量程为100kg,精确度到1g,应变片式传感器有如下特点:1.应变片的制作形式多样,可以满足多种机械制作要求。2.将形变转变为电信号,灵敏度高。3.抗干扰能力强,体积小,可在多种工作环境下正常使用。4.使用历史悠久,商业化应用成熟。 总结:通过对两种不同
17、工作原理,不同特性的传感器综合考虑分析,因为置物台的重量要考虑到,还有外部的不稳定性因素,例如晃动和冲击的分量等,同时,要注意保护传感器,我查阅了解了大量的传感器资料以后,决定使用电阻应变式传感器,从他的量程和精度上,满都很符合本设计。最终选择了第二种方案。2.2.3显示器选择此设计需要显示模块来显示被测物体重量,显示设置的上限值,方便直观的显示数据,从满足实际显示效果和实际可操作性考虑出发,提出如下两个方案。方案一 数码管显示设计里都会用到的发光二极管是构成数码管的基本组成单元,也就是半导体元器件。数码管有多种分类标准,可以按照段数划分,也可以按照单元连接方式划分。段数有8段和7段的两种。从
18、不同的相接方法看,分别是共阳极数码管,共阴极数码管,区别就是前者是将基本单元的阳极连接,后者是将基本单元的阴极连接。工作原理相同,只不过高低电平控制的字段亮暗是相反的,比如共阳极数码管,当它的阴极处于高电平时,相应字段就不亮,反之则亮。工作电压都为5V。工作原理简单,对应的可现实内容也过于单一。只能通过组合几个数码管用来显示较多的内容,这种连接方式会造成硬件设计方面的负担,而且多个数码管的采用无形中也增加了成本,后期显示结果也不容易处理。方案二 LCD字符液晶显示此设计里若选用LCD液晶显示,这类一般为字符型,它具有的特点是体积小巧,伴随的就是功率消耗低,显示的内容方面也较为多样等,目前,液晶
19、显示类型的模块已经发展为主流设计里的应用显示部分用件,用途广泛普遍,只是这种显示器件在同类显示里面价格偏高,使用成本偏大。总结:LCD1602液晶显示模块,需要一行显示重量,另一行显示设置的上限值,16个字符类型,数据总线不能多也不能少,一共为八条,控制端有三个,其正常工作电压也和设计整体相匹配,统一为5V,字符的对比度可调,背光也可调。综合以上考虑,虽然这种显示成本偏高,但是可以接受,而且满足了设计需求,利大于弊。2.2.4 AD转换芯片的选择此部分需要将压力传感器检测到的模拟量(压力)转变为数字量在显示模块上显示出结果。在A/D转换前的信号,可以是其他物理相关参考变量,但是在输入到A/D转
20、换器的输入信号后,就将之前的各种参考变量统一都变成了同种类型,也就是发挥它的转换器作用,变为电信号。用到的转换器的功能是实现两种信号的转变,也就是模拟量向数字量的转变。分类有积分型,逐次比较型,并行比较型/串并行比较型,调制型,电容阵列逐次比较型和压频变换型。在转换芯片的选择上,从芯片性能和成本考虑,提出如下两个方案。方案一 积分型AD转换芯片假设此设计里采用的转换芯片为积分型TLC7135,它具有操作简便的优势,只需要简单的电路就可以达到很高的分辨率,将输入的电压处理加工成脉冲宽度信号或者是脉冲频率,最后输出的是依靠定时器处理后的数字值。同时也是因其工作原理这一特性,它的局限性在于依赖定时器
21、或者计时器的处理,所以需要较多的时间,效率比较低,实际应用中并不方便快捷。在最初的很多设计应用中,这种积分类型的转换器使用较多,但是后期出现了逐次比较型,已经发展为主流趋势。方案二 HX711在选择设计里的转换器芯片的时候,考虑到成本原因,要能完成整个设计,这个部分的选择无比重要,要满足简单易操作,就需要这个转换芯片上面集成一些电路,如稳定电源的电路,片内时钟振荡器等外围电路。而且由于测量是实时测量,实时得出结果,所以这就硬性要求了选择的模块必须满足具备高度的反应处理转换速度,而且还能抵抗一定的干扰,保证结果的准确性和实用性。因为涉及的初衷是用来使用的,可以真正实现部分功能的体重体脂秤,了解了
22、大量的数字模拟芯片以后,发现HX711正好完美的满足的设计的需求,很多需要的外围电路全部集成在芯片上,设计中可直接使用。总结:此芯片模块为集成模块,提供的稳压电源可以直接向所需要的部分供电,有两部分,他们分别是称重系统和核心传感器,还有A/D转换器。另外的优点是不需要再考虑相关电源添加设计。上位电路自动复位的功能大大缩减了开机的初始化程序。综合分析考虑以上主要原因,最终选择HX711作为设计里的AD转换芯片。2.2.5通讯模块的选择本设计里用加入了移动终端手机显示测量结果的功能,所以需要加入通信模块,将整个设计测量到的结果无线传输到用户端。在通信模块的选择上,考虑到成本和可操作性,提出如下两个
23、方案。方案一 数传电台无线通信模块种类有:1、无线数传模块,这种模块已经被充分的商业化,有现成的数据,可直接通过串口收发数据,使用简单,当相对来说成本也比较高。2、无线收发模块,有两种主要调制模式,要依靠MCU的作用。3、ASK超外差模块,用在遥控(较为简易)还有数据的收发方面。假设设计里采用的无线通信模块为数传电台,这种数传电台有很多优点,适用与各种复杂的环境,传输速率为19.2Kbps,但终端设备费用较为昂贵,使用成本也高,安装起来较为复杂。所以设计未采取。方案二 蓝牙蓝牙是我们日常接触较多一款无线通信模块,它是一种无线技术的标准,可以用来交换数据,在移动终端,设备终端之间,但是只能短距离
24、使用,较多的应用在家用电器上面,设备联网速度快,10秒即可;因为蓝牙技术的使用历史很悠久,技术也很成熟,且它的模块集成性在同类型无线数据传输模块上很高,相对而言也更稳定。传输的速率也很可观,一般为1Mbps;成本低廉,安装较为简单,是一款适合短距离无线通信技术。总结:从满足设计的功能,可操作的简便性和成本方面考虑,设计采用蓝牙模块作为无线通信模块。第3章 硬件电路设计3.1电源电路设计该设计用到多种种电源,单片机和HX711模块中自带稳压电源,所以不用单独设计考虑,主要设计整个电路的外部供电电源。因为此设计用到了STC89C52单片机、HX711数字/模拟芯片,还有LCD1602液晶显示,他们
25、需要的工作电压都是5V,那就需要一个相对稳定可靠的外部电压源。此设计里用到的供电方式有USB 接口供电,为了后期调试考虑,同时也加入了外置电源充当整个系统的供电源,三端稳压器件 LM7805 被当做电源的稳压器件,目的是提供稳定的5V直流电压,外部接入的电压大小要大于5V,滤波电容也要加入保证运行电压稳定电源输出接口加上LED 电源指示灯,用来判定电源是否正常工作。C,C2两部分的功能是对电源滤波,过滤掉有可能都会电源产生影响的杂波,C4可以对电源电压产生稳定的辅助作用。当USB接口输出电压高时,C4可以储存电能,用来作为后续供电不足时的释放电源。LED0用作电源指示,其亮灭代表电源工作与否,
26、电阻R0放在这个地方起到限制电流作用,实质是保护LED。电池盒不稳定,而且在设计的过程中会涉及到多次修改和移动的问题,线路容易损坏,不便于保存。图中J2为USB输入的接口。图中SW2为电源开关,用来接通电源和断开电源。为了方便供电是否正常,又额外加入了一个小小的指示灯。其电路原理如下所示。图3.1电源电路图3.2单片机最小系统此设计是基于单片机的设计,上面集成了很多电路,都是现成的电路,可以直接使用,这也是设计里最终决定为单片机的不可忽视的原因。上面本身带有的的电路有晶振电路,一般简称为晶振,全称为晶体振荡器,这是用来做基础的准备,为单片机提供服务的,它可以产生初始化的时钟频率,然后经过用来专
27、有的频率放大器进行放大或者缩小,最后就变成了我们所知道的不同的总线频率。从本质构成来讲,晶振其实就是他的字面意思,是用电量损耗微乎其微的石英石(也就是石英晶体)经过现代科技的精细加工制作并安装在相应位置上,他的特性,比如机电效应,是由他的精密的加工方式决定的,后期不可更改。再利用他的热稳定性,可以将他看成一个振荡回路,在实际的应用和操作中,目的是利用晶振的物理特性,在单片机出现异常的时候,可以让其重新开始,重新工作,也就是做到复位电路的作用。其控制电路如图所示。图3.2单片机最小系统3.3 称重电路设计3.3.1 A/D转换器称重电路的功能主要由压电传感器、HX711AD模块和单片机共同完成。
28、称重传感器专用模拟/数字(A/D)转换器芯片:在选择设计里的转换器芯片的时候,考虑到成本原因,要能完成整个设计,这个部分的选择无比重要,要满足简单易操作,就需要这个转换芯片上面集成一些电路,如稳定电源的电路,片内时钟振荡器等外围电路。而且由于测量是实时测量,实时得出结果,所以这就硬性要求了选择的模块必须满足具备高度的反应处理转换速度,而且还能抵抗一定的干扰,保证结果的准确性和实用性。因为涉及的初衷是用来使用的,可以真正实现部分功能的体重体脂秤,了解了大量的数字模拟芯片以后,发现HX711正好完美的满足的设计的需求,很多需要的外围电路全部集成在芯片上,设计中可直接使用。它的部分特点如下:1.两路
29、可选择差分输入。2.编程放大器可以通过片内低噪声来编译,根据需求增益为68或者128。3.集成的稳压电路可解决芯片的供电问题,无需外加电源。4.时钟振荡器位于片内,现成可直接使用,如果有需要的话,也可以加入晶振或者控制周期的时钟电路。5.芯片自带的上电复位电路非常简单,均由管脚控制,也不用额外编写软件程序。6.有两种可供选择输出数据速率。6.抑制两种不同的电源干扰。7.工作电压范围:2.65.5V。16管脚的SOP-16封装。图3.3 SOP-16 L封装图模拟输入:电桥式平衡传感器的查分输出接口可以和模拟差分输入通道A无隔阂相连接,这里面将A/D转换器的输入动态范围最大化的利用了,其增益满足
30、设计需求,为128或者64,最大化利用的原因是电桥平衡式传感器的输出信号很小,需要进一步处理放大。而A通道的满量程差分输入电压有两种,分别为20mV和40mV。另一个通道B,增益为设定好不可更改的32,此通道相应的满量程差分输入电压也只有一种,为80mV。这里特别说明,该通道在本设计里被用在了电池在内的参数检测方面。供电电源:设计里面用到的稳压电源是基本一致的,包括单片机模块的数字供电电源部分,HX711模块上集成电路自带的稳压电路,都是相同的。而且HX711模块上自带的稳压电源既向转换器提供稳定的模拟电源,也向与他连接的传感器部分提供相同的电源。决定这个稳压电源值的公式是VAVDD=VBG(
31、R1+R2)/R2,公式里的R1和R2是外部分压电阻,这个值也受到芯片的输出参考电压影响。在输出电压的选择上,要选比稳压电源的VSUP至少少100mv。还有一种方法,那就是不采用自带的芯片内部稳压电路,那么VSUP和AVDD这两个管脚就只能相连接,还要接到低噪声模拟电源上,其电压范围在2.65.5V。其余的三个管脚的处理也很简单,就可以让BASE不需连接,接地的管脚为VBF,外接电容也无需另加在VBG管脚上。图3.4 HX711内部方框图时钟选择:在时钟选择上,设计需求是可以输出准确无误的数据速率,并且让输入信号的幅值低于150mv。根据这个设计要求,有两种选择方式,一是利用HX711模块自带
32、的时钟振荡器,当接地的管脚是XI时,就会自动启用内部的时钟振荡器了,如果利用这种时钟,此时输出的数据速率为两种,可能为10Hz,也可能是80Hz,并不能确定到底是哪种速率。考虑第二种选择方式,利用外部的输入时钟,需要另外加隔直电容,并将之前接地的引脚XI接到这个大小为20pF的隔直电容上,从而无法让自带的时钟振荡器工作,所以会自动关闭,外部的输入时钟电路就会顺理成章的开始发挥作用。输出的速率,两者的关系有固定的遵循方法,保证结果输出的可靠性。而且使用这种方法,对外部的时钟信号并不做严格指定某种波形,不一定只能为方波。PD_SCK的输入时钟脉冲数,介于2527之间,如果不在这个正常范围内,串口会
33、受到不利影响。如果在转换器的通道和增益变化以后,仍要保持DOUT从高电平转变为低电平,继续输出有效的数据,那么久不要4个数据输出周期来保持转换器的稳定,从而DOUT 的输出时间也会增加到4个周期。图3.5数据输出,输入通道和增益选择时序图表3-1时序图说明表符号说明最小值典型值最大值单位T1DOUT下降沿到PD_SCK脉冲上升沿0.1s T2PD_SCK脉冲上升沿到DOUT数据有效0.1s T3PD_SCK正脉冲电平时间0.250s T4PD_SCK负脉冲电平时间0.2s 复位和断电:通电时,单片机内部自带的上电复位电路会自动开始工作,芯片复位。HX711模块通过指定的管脚,来控制其断电,芯片
34、可以正常发挥作用的条件是该管脚处于低电平状态。如果该管脚转为高电平,而且持续的时间大于60s,那么不仅HX711就会自动断电,与之连接的传感器和A/D转换器都会一并断电,这种情况的出现是基于采用片内稳压电源的情况产生的。当该管脚重新进入低电平状态,以上相关部分就又重新开始工作,A/D转换器的输入通道选择为通道A,增益倍数为128增益,其余的通道选择和增益倍数将由该管脚选择,同时,需要的稳定周期为4个数据输出周期。图3.6断电控制原理图3.3.2传感器原理(1)传感器原理为:满量程时的输出电压计算公式为:激励电压乘以灵敏度1.0mv/v下面用一个例子来具体说明假设供电的电压是5v,那么带入以上公
35、式中,相当于有5Kg重力产生时候产生5mV的电压。(2)HX711对上面得到的满量程电压5mv的处理过程为,首先做采样处理,然后利用A通道带有128倍信号增益的特性把满量程电压做放大处理,放大倍数为128倍,接下来就是输出24比特的转换值。HX711模块上有两种电压,分别为图里所示的E+、E-,这两种电压也可以用VAVDD、AGND来表示。(3)计算的公式为VAVDD=VBG(R1+R2)/R,里面有一个固定的参数,模块的基准电压为1.25V,也可以称作VBG。电阻应变式传感器就是可以将不同的力学变量,比如压力等,内部转换为电信号输出的传感器,利用了电阻应变效应来实现本身功能特性。可以单独使用
36、,也可以结合具有弹性特性的元器件组成力学方面的变量传感器。使用范围广泛,用途也很广泛。应用到的电阻应变效应其实就是内部导体的电阻根据外部受到的力学量而发生机械形变的现象。电阻应变片把机械应变信号转换为R/R后,因为形变量很微乎其微,想要测量精确的变化量比较困难,所以设计里要应用放大电路和转换电路,使其直观可视方便处理操作捕捉。因此,要采用转换电路把应变片的R/R变化转换成电压或电流变化。设计里用到的转换电路是测量电桥,这种电路较为常用。直流电桥本身的特点是抗干扰性能强,它所产生或者接收到的信号不会轻易受到其他元器件和相关导线的分布电感及的差异性影响,同时,这也带来了局限性,因为他是利用机械形变
37、,所以输出的信号很小,这就造成了对高增益个较高稳定性的放大器来放大信号。图3.7为直流供电的平衡电阻电桥,接直流电源E。R1R3R2R4供电+ 供电-输出t图3.7 应变式压电传感器的电路工作原理无穷大的负载电阻被接在平衡电桥的输出端时,此时可以将输出端看做开路状态,这个情况下,直流电桥就变成了只有电压输出的电压桥。如果我们忽略电源里面分布的内阻,由分压原理公式(3-1)得到:当满足条件R1R3=R2R4时,即R1/R2=R4/R3 (3-2)当=0时,即电桥平衡,式(3-2)称平衡条件。测量时,电桥已经达到平衡,输出电压只与应变片检测的应变量触发的电阻值的变化相关。若差动工作,即R1=R-R
38、,R2=R+R,R3=R-R,R4=R+R,按式(3-1),则电桥输出为:3.4显示电路设计显示的选择经过多次试验,采用LCD1602,液晶显示,它的字符有5X7和5X10点阵,排列在它的液晶显示板上面。每个字符占用一个显示位,在规格上选择范围也很大,有8位,16位,20位,一直到40位。在分类上,有三种,分别是一行的,两行的,四行的,这里用到的是两行的。LCD1602的接地和电源引脚是很标准容易辨别的,为1号接地和2号引脚接电源,涉及到调节背光的引脚是3号,调节背光亮度功能由一个电位器来实现,连接MCU的P2.0到P2.2的三个引脚是它的4到6号引脚,也是选控引脚,而7到14号引脚全部为数据
39、接口,与MCU连接,用来传递数据,LCD1602的背光控制接地脚为15,电源为16号。LCD1602的两行显示的内容为,从上到下依次是实时重量,单位为千克;下面的是预设的最大值,也就是报警值,重量单位也是千克,显示部分原理图如下所示。图3.9显示电路3.5 超限报警电路设计超上限值报警电路的功能是,当所测物体的质量超出提前设置好的最高上限值时,蜂鸣器便发挥作用震动发声,可以更好地维护传感器,此设计里的三极管选用的不是NPN,型号,是相反型号的9012,电子设计里常用到的器件,MCU的IO口P11用来掌控PNP的基极,当MCU的IO口为低电平输出时,PNP正极通过工作,蜂鸣器的正极和外部电源连通
40、,蜂鸣器震动发声。那么相反的情况就是蜂鸣器停止工作,当超重的物体拿走后,或者重量范围在预设上限值以内,其原理图如下所示。图3.10超限报警电路3.6 按键输入电路设计本设计里选用简单的4X4矩阵键盘来实现设置上限值的功能,按照从左到右的顺序,依次是S2,这是加数值的键,S3,这是减数值的键,S4,这是确认键。S2、S3、S4这三个键按下时均为低电平,放开后,均为高电平,一般键盘都是遵循的同样的高低电平的输入与输出,此设计里也应运而生。当放置在置物台上的物体重量超过预先设置好的上限值时,相应的继电器就开始工作,与继电器相连接的蜂鸣器可以接收信号并工作。矩阵键盘电路如图3.11所示。图3.11 按
41、键输入电路3.7蓝牙通讯模块电路设计蓝牙电路用来作为整个设计的无线通讯模块,作为无线通讯模块的蓝牙模块的RX引脚连接MCU的TX,它的TX与MCU 的RX相连。电源供电后,手机搜索蓝牙,自动连接,此蓝牙模块为主从一体模块,不需要串口电路,可以向手机传输数据。主要功能为完成手机与单片机的数据收发功能。MCU开发板自带上位电路,无线通讯模块的蓝牙模块的指示灯从而转入快速闪亮的效果显示,由此代表蓝牙已经自动和手机端相连接并成功连接,即可搜索到蓝牙,当观察到蓝牙的指示灯变为双闪的显示效果,则说明连接成功。至此连接成功,准备发送数据。蓝牙模块电路如图3.12所示。图3.12 蓝牙电路第4章 软件设计4.
42、1系统软件编程环境介绍本体脂称设计采用C语言编程,C语言编译软件对于初级设计者来说更简单易学方便操作,而且大学期间,我所学的转呀用到的编程语言都为C语言,相对其他编程语言更为熟悉,而且在使用过程中,它具有独特的优势,功能很丰富,满足了我的各种需求,整个软件的设计结构很整齐,功能区都简单易懂,而且编译完程序可以立刻执行,还可以发现并提示错误,便于后续修改。很多函数也都在库里面包含,具有一套系统的调试开发功能,用户操作的页面也很适合电脑的windows系统。不仅如此,C语言产生可得到的有效代码效率很高,编译完的代码距离紧凑整齐,非常容易新手理解。此毕业设计涉及到的有几个重要部分,分别是初始化的子程
43、序系统、键盘按键检测的系统、还有就是数据的采集,数据的处理,数据的显示系统。这些子系统的操作要求都在整个设计的主要程序中来执行。因此,参考以往的设计经验,此次设计里的软件部分全都采用统一的结构模块的结构,目的是使软件这种不同于实物的看不见摸不到的事物更生动完整的表达出来,便于理解和后期的修改。4.2主程序软件流程图本设计的系统本身就具备了复位功能,无需另外设计考虑。紧接着,系统的主函数部分要完成系统的初始化工作,主要作用是定义整个系统的变化量,以及给很多基础模块赋予变量初值,然后驱动HX711模块,通过控制单片机,进行进制转化,具体为将将HX711模块输出的24位的二进制,这种串行数据,在芯片
44、内部,转化为十进制的串行数据,然后剥离出四位十进制数据的千位、百位、十位、个位,LCD1602数码管显示器进行显示,显示与位选相对应的数值,软件部分的流程图如下所示。开始初始化置零键按下启动AD转换数据处理手机APP建立蓝牙连接显示图4.1主程序流程图4.3系统显示设计流程图显示子程序主要是来判断是否需要显示,以及如何去显示,LCD1602数码管展示的信息是非静态的,随时根据物体的重量变化而变化的,按照顺序扫描输出四位参数,从大到小分别是千位、百位、十位、个位。为了更好地设置显示效果,将四位位选的延时时间都设置为100ms,因为多次调整发现,如果设置的时间偏长,那么从视觉效果上会发现四位不是统
45、一同时显示在屏幕上,会有延迟的效果。如果设置的时间过短,显示屏的亮度会由明变暗,不方便数据的观察。设计的程序框图如下所示。开始显示初始化界面N有无按键显示按键功能N检测重物显示重量信息返回图4.2显示设计流程图4.4系统按键检测流程图在本设计的按键电路的设计上,按键电路没有用到很多,为简单的常用4X4矩阵式键盘,在软件程序的设计里,设计了预先对按键的编码做出相关指令识别判断,接下来,按照预判的编码将按键所代表的参数值递送到与之相匹配的独立存储单元,最后,或进行功能的选择,或者进行处理数据。这个部分的软件设计流程图如下所示。开始LCD初始化界面字符显示N按键按下YN调用LCD显示返回键按下图4.
46、3按键设计流程图4.5 A/D数据采集函数设计流程图开始A/D数字/模拟模块的数据采集函数,主要是利用称重系统的压电式传感器对重量的处理后输出的很微弱的电流信号,因为设计里用到的压电式传感器灵敏度很高,HX711模块的内部结构以上已经介绍过,为现成模块,此部分不再赘述,其内部的前面的收集相关数据的脉冲,为ADSK脉冲,这个步骤共有24个需要采集的数据,进制格式为二进制,与之前的相同,随后,下次的A/D收集的增益以及通道则顺其自然的由后面的一到三个脉冲去选择,在脉冲选择上,设计里用到了一个脉冲,选择的通道A,其增益参数为128。这部分的软件流程图如下所示。A/D端口初始化采样24位串行数据选择下次采集通道和增益输出数据编码返回图4.4 A/D数据采集函数设计流程图4.6蓝牙接收处理程序流程图在本设计里用到的蓝牙模块是HC-05,蓝牙模块有主和从之分,为了设计制作的便捷,选用了两者一体的蓝牙模块,此蓝牙模块较为常用,且便于操作,用于数据的