电子体重秤毕业论文_第1页
电子体重秤毕业论文_第2页
电子体重秤毕业论文_第3页
电子体重秤毕业论文_第4页
电子体重秤毕业论文_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、太原科技大学毕 业 设 计设计题目:电子体重秤系统的研究与设计 姓 名 罗大神 学院(系) 电子信息工程学院 专 业 测控技术与仪器 年 级 2011 指导教师 杨亚坤 2015 年 6 月12太原科技大学毕业设计摘要体重秤存在的最古老证据来源于印度河流域,至今大概有4000多年的历史。随着社会逐渐发展,人类的物质生活水平逐渐提高,越来越多的人因体重过高而患上高血压,高血脂等疾病,因此能实时了解自己的体重情况是生活中一件很重要的事。称重能及时发现自己体重健康状况,从而控制自己的体重,避免因肥胖而患上疾病。当前市场上已有各式各样的体重秤,它们能实现称重的目的,但是部分体重秤存在一些问题,比如称量

2、精度较低、比较耗电、可称量的范围较小、不能被一部分体重特殊的人群使用等问题。基于这种现状,本文提出一种简易的体重秤研究与设计方法,使人们花费很少的价格就能买到一款精度较高、响应速度快的体重秤。本设计采用四个相同的金属丝式应变片作为压力传感器,实现将被测重量转化为电阻的变化量,再将电阻的变化量转换为模拟电压的变化量,之后采用四臂全桥接线法的方式作为测量电路,并且将测到的模拟电压值接入HX711这款芯片,经过该芯片的电压信号放大和AD装换后用STM32单片机来采集数据并处理,最后通过LCD液晶屏显示出来。整个设计完成了量程为5kg150kg,显示精度为0.1kg的高精度体重秤,而且能快速实时的显示

3、体重,达到了商业衡器的精度,满足了实际生活中的基本称重需求,实现本设计的目的。 关键词: 重量,金属丝式应变片,压力传感器,HX711芯片,STM32单片机1ABSTRACT The oldest evidence of the existence of scales from the Indian River, has about 4,000 years of history. With the progressive development of society, people's material living standards gradually improved, more

4、 and more people were overweight and suffering from high blood pressure, high cholesterol and other diseases, so they can understand their own body weight in real-time situations is something very important in life thing. Weighing can find the health of their weight to control their weight, to avoid

5、 suffering from the disease of obesity. The current market has a wide range of scales, they can achieve the purpose of weight, but there are some problems portions scales, such as lower weighing accuracy, more power, smaller weighing range can not be part of the weight of special people to use and o

6、ther issues. Based on this situation, we propose a simple weight scale research and design methods to make people spend very little price you can buy a high precision, fast response scales. This design uses the same four wire strain gauges as pressure sensors, the measured weight into resistance var

7、iation, then the amount of change in resistance is converted to an analog voltage variation, followed by a four-arm full bridge wiring method way as the measuring circuit, and the analog voltage values measured access HX711 chip through the chip voltage signal amplification and AD with STM32 microco

8、ntroller to collect data exchange and after the installation process, and finally through the LCD screen display. The whole design complete range of 5KG 150KG, showing an accuracy of 0.1KG precision scales, and real-time display of weight quickly, reaching commercial weighing accuracy, to meet the r

9、eal-life needs of basic weighing to achieve this design purposes.Keywords: Weight, Wire strain gages,Pressure Sensors,HX711 chip,STM32 microcontroller1 目录摘 要IABSTRACTII第1章 绪论11.1 课题背景及意义11.2 体重秤的研究现状及发展趋势11.3 本文的主要研究方向2第2章 电子体重秤的设计思路32.1 总体流程图32.2 硬件部分32.2.1 体重秤面板32.2.2 传感器42.2.3 电压放大和AD转换芯片42.2.4 处

10、理器42.2.5 显示器52.3 软件流程图5第3章 系统设计与硬件选型73.1 金属丝式应变片的结构和受力分析73.1.1 金属丝应变片压力传感器的结构73.1.2 压力传感器的受力分析73.1.3 应变片受力后电阻变化原理83.1.4 全桥电路93.2 电压放大和AD转换芯片93.3 处理器选择103.4 显示器选择12第4章 软件的编写和组成134.1 编程方法134.2 具体实现及关键代码134.2.1 建立工程和模块编写134.2.2 关键代码144.3 软件调试问题及结果15第5章 调试结果及指标的实现165.1 调试过程175.2 本设计的体重秤和标准体重秤实测值对比175.3

11、精度指标和已经达到的精度17第6章 结论和展望196.1 结论196.2 展望未来19参考文献20致 谢21附 录22III第1章 绪论1.1 课题背景及意义称量器具的出现来源已久,从公元前2300年前到公元前1600年的印度河平原就已出现,地点在今天的巴基斯坦境内,在此之前,体重秤的使用没有被考证。古时候的很多国家都有自己的称重工具,在古埃及,称重的工具大概可以追溯到公元前1869年,后来自从达芬奇改良了体重称,真正的体重秤才算是诞生,中国古代也比较重视质量的称重。作为一种称量手段,称量的系统应用于各种行业,在各个国家的经济发展发挥着重要的作用。随着社会的发展,人们的生活水平逐渐改善,人们的

12、体重普遍增长,这也导致人们患上了很多疾病,比如高血压,高血脂,血管硬化等疾病。越来越多的人将控制体重变为生活中一件非常重要的事,因而体重秤的应用也十分普遍。比如医院、药店、甚至商城等都有体重称,这种环境对于人们及时了解自己的体重,并且改善自己的生活习惯起到了很好的效果。当前体重秤种类较多,部分体重秤有着明显的缺点。首先,对于目前的大多数体重秤来说,精度都偏低,有些体重秤误差能够达到1kg。其次,现在市场在售的体重秤测量的范围较小,一般的体重秤最大量程不到100kg,最小有效称量也要10kg。而且目前很多体重秤使用一段时间后精度变低。鉴于这种状况,本文设计的体重秤有较高精度,能够显示最小0.1k

13、g的灵敏度,并且量程从5kg到150kg,能满足绝大多数人群使用,而且本次设计的电子称能够长时间保持较高的精度不变。1.2 体重秤的研究现状及发展趋势 目前,体重秤的发展可谓百家争鸣,每个厂商都有自己的品牌与特点,体重秤一般分为机械式和电子式两种,鉴于目前状态下电子称成本相对较低,并且准确性较高,所以市面上绝大多数都是电子体重秤,因为其种类繁多,涉及的人群较广,受到世界各个国家所重视,为保护广大消费者的权益,各国也制定了相应的标准。体重秤的发展随着电子芯片的发展,逐年更新换代,再加上社会的需求逐渐增大,目前市场上流通的体重秤虽然功能齐全,价格便宜,但是也有自身的一些缺点,比如精度不高,称量范围

14、较小,例如宿舍买的品奥牌的体重秤,只有超过10kg以上的重量才能准确显示,并且显示精度在1kg以内,误差较大。还有很多体重秤随着使用时间的延长而精度变得越来越低,称量较小体重时误差很大,而且耗电量特别大,比如森花牌的体重秤,插入的五号电池用不了多久就需要更换,因此也导致了使用的不便,这些情况便是目前待解决的问题。未来,在体重秤的发展方向上,体重秤一定会朝着这五个方向发展,依次有小型化、模块化、智能化、集成化、多功能化。其技术性能趋向是速度快,稳定性高,可靠性高,以及准确性较高,其功能趋向是称重计量的的控制信息和其他功能的信息并重的“智能化”功能,其应用趋向是组合性和综合性,比如加上身高测量,血

15、压监测,胖瘦检测和体重状况记录等其它实用的功能。1.3 本文的主要研究方向经过前文已经了解到体重秤的现状及未来的发展方向,面对未来,体重秤必须朝着更好的方向发展,所以本设计即为改善当前体重秤的不足而努力。首先,本系统采用了金属丝式应变片压力传感器,价格便宜,精度较高,能获取一定精度的电压数据。其次,因为获取的电压值较低,必须经过电压放大后才能进行AD转换,所以须经过电压放大这个环节。再次,处理器只能处理数字信号,而传感器采集到的信号是模拟电压信号,所以还要经过模数转换。最后,数据才能交给单片机处理,并通过LCD液晶屏幕显示。本文第一章介绍了体重秤的背景、意义、和发展趋势,准确的把握体重秤的发展

16、前景和详细的分析了体重秤的现状。第二章主要描述了整个体重秤设计的思路和步骤,对整个流程进行总体分析。第三章主要介绍了每个硬件的选型以及使用,第四章概括了软件的编写和组成,以及核心代码的展示。第五章主要描述了调试结果以及遇到的问题和解决问题的思路历程。第六章描述了所获得的成果以及对未来的展望。整个结构为递进结构,从最初的传感器介绍,到传感器采集数据,信号放大处理,信号AD转换,最后经过单片机处理并通过LCD液晶屏幕显示,整个过程紧凑,分布进行,让人容易理解。最后完成一个精度较高,性能可靠,反应速度快的智能体重测量系统。- 13 -第2章 电子体重秤的设计思路 当需要去完成一个设计时,就需要去绘制

17、一个总体流程图,把这个流程图分成不同的模块,比如软件模块、硬件模块、以及相互的结合模块,然后去逐一实现。如果这样做,每次遇到问题就可以快速的找出是哪个模块的问题,这样利于解决问题,并且能加快设计的完成,下面是整个设计的流程及具体模块分析。2.1 总体流程图 要想制作一个体重计,首先得制作一个面板,人们踩在面板上,面板下方放着压力传感器,将压力信号转换为电压信号,然后使电压值放大到零伏至五伏之间,再经过AD转换,输入到STM32单片机,经过一定算法处理后通过STM32输出,并用LCD液晶屏显示出来,要求精确度在0.1kg以内,并且体重数据实时显示,完成整个过程便可以获得一个精确的体重测量系统,整

18、个流程如下图所示:液晶屏显示处理器AD转换电压放大压力传感器 图2.1 体重秤设计流程2.2 硬件部分本节详细的说明了本次设计需要的硬件种类,选择此硬件的原因,该硬件的优点,并综合各方面条件对硬件进行取舍。2.2.1 体重秤面板要制作体重秤,面板必不可少,必须要有人站在上面称量,将重力转换为电压值,才能够为后面的数据处理打下基础。因为需要称重较大重量,所以必须要求面板有足够的承重力。当然也可以将受力分散,最好的办法就是增大接触面积,这样可以减少压力,对面板的工艺要求可以放低。目前市面上体重称的面板一般是玻璃制品,因为价格较低,其次是玻璃制品外观好看并且相对牢固,因此日常使用中不会轻易损坏。本次

19、设计的体重称最大承重为150kg,而且最低称重5kg,由于市场上的不容易单买到合适的玻璃面板,本次设计采用了一块较厚的木板作为面板,它能满足本设计的使用要求。2.2.2 传感器 压力传感器需要有一定的范围精度和承重量,因为人的体重在一个范围内,有些人很轻,如小孩和儿童,他们只需要十几千克甚至几千克,而有的人体重很重,有的达到一百千克以上,人体重的差距导致在制造体重秤时需要考虑不同体重之间压力的变化。因此压力传感器需要承受最大150kg的重量,如达不到这个重量则有可能较重的人站上去就损坏了压力传感器,这样体重秤就不能再用来使用。另一方面还需要能精确称量最小5kg的物体。除此之外,还要求采集到的电

20、压值能达到1mv以上,这样便于进行AD转换,为最终得到精确的体重数据值做好铺垫。2.2.3 电压放大和AD转换芯片因为压力传感器受到重力的作用带来了微小电压的变化,要把微小的电压变成为单片机能处理的数字量,需要经过电压放大,电压的放大的倍数需要有一个确定的范围,因为如果电压放大的倍数不够,就不能进行较为精确的AD转换,因而单片机获得的数据也不准确。如果要有较为精确的AD转换数据,AD转换芯片的位数需要更高,此时才能得到准确的采集数据,否则便不满足要求。考虑到上面的需求,本次的传感器选择了电压放大和AD转换为一体的芯片,它便是海芯科技较为出色的芯片HX711。HX711有24位高精度数据采集的能

21、力,其内部集成稳压电源,自带片内时钟振荡器等其他外部电路需要的电路,它有电压放大功能,可选128倍、64倍、以及32倍电压信号放大器,并且具有稳定和反应速度快的特点,另一方面还有价格较低等因素而被广泛使用。2.2.4 处理器处理器的选择有很多种,比如51单片机,AVR单片机,MSP430单片机,以及飞思卡尔单片机,STM32单片机等。由于种类繁多,必须要综合选择一下。首先,必须要有较低的功耗,其次要运行速度快,再有就是价格低,基本要求主要就是这三个方面。经过综合研究和对比,本次设计选择了意法半导体的STM32单片机,它满足前面的这几个要求,并且有较高的主频,因此本次设计选择STM32单片机来的

22、完成设计。 2.2.5 显示器 单片机的显示器件主要有数码管和液晶显示器,各有自己的优点,数码管显示耗电较高,但是显示效果较为清晰,同时编程较为简单。而LED液晶显示屏显示效果没有设么突出,价格稍贵,但是它可以显示字符,同时显示速度相对较快。由于体重秤应用较为广泛,特别经常应用于医院、药店、商场等环境,对它的电量消耗较为重视,而数码管显示需要较高的耗电量,同时LCD液晶显示屏有耗电低,显示速度以及较好的显示效果,所以本次设计选择LCD液晶显示屏作为体重秤的显示器件。2.3 软件流程图本文用的是STM32单片机来处理数据,所以在软件编程时需要做很多准备工作,首先必须安装一个STM32开发工具,本

23、次设计选择的是Keil4,安装完Keil4后就开始创建本次设计需要的工程文件,创建工程需要配置很多步骤,在此不做具体陈述,网上可以找到很多关于此步的资料。其次是编写本次设计的数据采集和AD放大芯片的驱动程序,即编写HX711的驱动程序,然后编写获得毛坯的数据和编写获得体重值的程序,随后输入到STM32核心处理。最后编写LCD液晶屏的程序,并通过LCD液晶屏显示体重数据。在主函数里面编写出所有需要调用的函数以及函数的初始化,并将它们综合起来组成一个系统。下图是软件编写的流程图: 初始化 HX711数据采集 获取体重值是体重值是否超出限值 蜂鸣器报警否 STM32处理 LCD液晶显示 图2.2 软

24、件设计主要流程图 第3章 系统设计与硬件选型经过前面的思路分析与总体设计,已了解到每一步需要实现的功能,以及每一步的要求,所以接下来必须经过实物选择和整个称重系统的设计,最后合并成为一个合格的系统,能准确的称量人的体重。3.1 金属丝式应变片的结构和受力分析因为应变片压力传感器是采集数据的主要工具,所以必须详细了解应变片的结构和受力分析以及采集数据的原理,以下即为详细分析。3.1.1 金属丝应变片压力传感器的结构金属丝式应变片压力传感器主要有四部分组成:包括应变片、金属导线、压头和压板。以下是压力传感器的拆解图: (a)拆解前 (b)拆解后 (c)去除焊线 (d)应变片局部放大 图3.1 压力

25、传感器机械结构图3.1.2 压力传感器的受力分析 压力传感器的受力分析用下图表示,当压头受力时,压板两侧形成相反的剪切力,使应变片的电阻变化从而引起加在上面的电压变化,最终是重量转化为电压量。 图3.2 压力传感器受力作用图 3.1.3 应变片受力后电阻变化原理由学过物理知识可知,金属导线的电阻值R与其长度L成正比,与其截面积A成反比,若设金属导线的电阻率为,则用公式表示为 (3-1) 当金属导线由于受到其轴向的拉力而长度发生变化时,其电阻值理论上也要随着长度的变化而发生改变,这种现象称之为导线的受力电阻变化的性质。为了更好的解释这种现象的发生,可将公式(3-1)取对数同时微分,便得 (3-2

26、)公式中为金属导线长度的相对变化,可用表示,即 (3-3)为导线横截面积的相对变化,设导线直径为D,则 (3-4) 公式中为导线材料的泊松比。 将公式(3-1)和公式(3-2)代入式(3.3)即可得到 (3-5)式(3-5)表明,当金属导线受力而变形后,由于其几何尺寸和电阻率同时发生微小变化,从而使其电阻也随之而发生变化。我们可以设想,如若将金属电阻式应变片黏贴到其他构件表面上,当构件发生形变时,金属电阻应变片也将随之而发生变化,利用金属式电阻应变片的的应变效应就可将金属构件表面的应变量直接转化为电阻值的相对变化量。电阻应变片就是利用这一原理制成的应变敏感元件。 若令 (3-6)则式(3-5)

27、写成 (3-7)KS为金属式电阻应变片的灵敏系数,它象征着该应变片对所受力变化的灵敏系数,由公式(3-7)我们可以的到,这个系数随着导线材料的变化而变化,同时又和所受环境的温度和它变形后电阻率的改变而产生变化,理想状态下的灵敏系数希望与应变片受力的变化之间为线性关系,因此希望KS 变量为常数,经过大量的实验及其很多次实物制作的研究结果表明,百分之九十以上的金属电阻的电阻变化率和应变受力之间的关系呈线性关系的,在金属应变片的弹性范围内灵敏度(1 + 2u)一般为1.4到1.8之间。3.1.4 全桥电路 本次设计因为采用的是四个50KG的金属丝应变片压力传感器,这四个传感器通过并联的方式进行连接,

28、得到的电路为四个应变片的四臂全桥电路。总共引出4根线,有两根分别是5V电压线和接地线,另外两根作为模拟电压正负输出线,整个流程随着压力的变化引起电阻变化并导致电压变化,然后通过引线引入电压放大芯片,再经过AD转换后交给处理器处理并用LCD显示屏显示出来。3.2 电压放大和AD转换芯片 前一步得出了微小的电压,因为单片机只能处理0伏到5伏的电压,所以必须把得到的电压放大,最后在AD转换交给处理器处理,通过查询和筛选了一系列的芯片,最终找到一块芯片HX711,HX711接线如下图所示。 图3.3 传感器与HX711模块连接图 对于这块芯片有以下一系列优点,在此我们直接引用海芯官方给出的资料有 (1

29、)两路可选择差分输入; (2)片内低噪声可编程放大器,可选增益为32,64 和 128; (3)片内稳压电路可直接向外部传感器和芯片内A/D 转换器提供电源; (4)片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟; (5)上电自动复位电路; (6)简单的数字控制和串口通讯:所有控制由管脚输入,芯片内寄存器无需编程; (7)同步抑制 50Hz 和 60Hz 的电源干扰; (8)耗电量(含稳压电源电路):典型工作电流:< 1.6mA, 断电电流:< 1µA; (9)工作电压范围:2.6 5.5V; (10)工作温度范围:-40 +85; (11) 管脚的 SOP

30、-16 封装; (12)可选择 10Hz 或 80Hz 的输出数据速率; 等十二条优点以作说明。 3.3 处理器选择对于处理器的选择,经过多方面查资料发现STM32比较适合,下图是STM32F103开发板的实物图。图3.4 STM32F103开发板下面介绍STM32的优势,具体有以下几点: (1)ARM最新的Cortex-M3内核。优先级抢占的中断控制器,支持中断自动嵌套,硬件完成现场保护与恢复,中断嵌套时,只需保护和恢复一次现场,即使在恢复现场的时候再次中断也不需要再次保护现场,只需6个clk的调整时间。 (2)居然只需7个滤波电容就能构成最小系统; (3)外设的引脚居然可以重影射; (4)

31、RAM居然可以通过位绑定技术按位来访问; (5)居然装备了可编程的掉电监测器; (6)居然有带电池供电的数据备份寄存器; (7)芯片进入低功耗模式后可以通过“事件”唤醒,而无须执行中断子程序; (8)定时器居然有前置的倍频器; (9)2个12位的AD却拥有高达1M的采样速率,AD模式更是天花乱坠,传说中的注入模式; (10)GPIO刷新速率可设定,支持位的原子操作,还能锁定方向,居然还有个脚叫“入侵检测引脚”,发生“入侵”时硬件自动记录时间,只要有后备电池。为西门子保留了单脉冲的输出功能(据说用于PLC的); (11)原来还有一种狗叫模拟看门狗; (12)可检测PWM脉宽和频率(硬件直接支持)

32、; (13)集成电机控制和霍尔接口; (14)原来还有一种狗叫窗口看门狗过早或过晚喂狗,狗都会让系统复位;(15)还集成了第三只狗,独立看门狗,这种狗比较常见;(16)SPI还带硬件的CRC校验高达18Mb/s的通讯速度;(17)支持两个设备地址的I2C总线,据说任天堂的游戏机常用到这种功能,I2C同时支持SMBUS2.0和PMBUS模式;(18)USART速度高达4.5Mbps,不仅支持IrDA还与接触式的IC卡协议兼容;(19)还有CAN,USB。3.4 显示器选择经过比对和研究,本次设计选择了LCD液晶屏进行显示。该款芯片的型号为YB1602A,它具有三态总线输出,共阴极的数码管,还有缓

33、冲控制输入等优点,显示效果明显,能够实现实时显示,对于体重的变化能够做出快速反应。 YB1602A 是一种字符型液晶模块。共可以显示 2 行×16 个字符,每个字符是由 5×8 点阵组成的字符块集。字符型液晶显示模块由字符型液晶显示屏(LCD),控制驱动主芯片 SPLC780C 及其扩展驱动芯片 SPLC1OO,配以少量外围阻容元件结构件等装配在 PCB 板上 而成。YB1602A 采用 COB 工艺制作,结构稳定,使用寿命长。 YB1602A 应用于智能仪器仪表通讯办公自动化以及军工领域。 第4章 软件的编写和组成本次毕业设计采用Keil4作为编程开发工具,并且采用了HX

34、711作为数据采集芯片。首先需要对该芯片编写一个驱动程序,同时还要对于采集的信号进行滤波,并且中间还需要一个算法进行数据处理,最终通过数码管显示出来的才是体重的真实数据,下面主要介绍软件编写的方法及过程。4.1 编程方法STM32来自于意法半导体公司的主推芯片,所以该公司直接编写了一个硬件库,里面包含了各种功能库的使用例子和详细介绍,需要使用时可以直接调用已经编写好的的函数。本次设计采用的是模块化编程方法,把每一个模块单独分开,分别编写,并测试模块的正确与否,必须保证每个模块测试正确,才开始编写主函数,每个模块都给出相应的接口,以便主函数调用,这样的编写方法能降低整个过程的难度,同时,在编程的

35、时候可以很明确的了解到下一步应该做什么,只要掌握好输入与输出的连接接口关系,逐步求精后最后将其结合成一个完整的功能实现。模块化的编程是为了实现编程的简单化,降低程序的复杂度,在调试时方便找出问题以及维护程序和程序更新时简单明了,从而缩短整个写代码的周期,用更少的时间写出更多有效率的代码。4.2 具体实现及关键代码本次编程采用模块化编程,也注定了本设计具体实现时必须有个明确的模块分类,在STM32的编程中,本设计有较为明确分步编程具体步骤以及模块之间的独立编写,在下面的详细介绍中我将要具体说明步骤。4.2.1 建立工程及模块编写建立工程时就将工程文件分为六个文件,依次是CORE、MyCode、O

36、BJ、STM32_FWLIB、SYSTEM、USER,,其中CORE文件里面放的是STM32的启动文件,里面包括了几个汇编代码,每次当启动STM32核心的时候需要用到这部分代码,所以叫做CORE。MyCode这个文件里面放的是本次设计需要实现功能的代码,这里面包含有三个模块,每个模块包含一个h文件和c文件,三个模块分别是HX711模块,这是我们的数据采集芯片,它包括了电压放大和AD转换功能,我们不仅要给它编写驱动函数,并且还要让它返回一个体重值供主函数调用,其中还设计到一个算法,该算法主要调整一个体重指数,必须使指数符合该传感器才能返回一个精确的体重值。还有另一个模块是液晶屏的显示模块,其目的

37、是主要将HX711芯片获得的数据显示到液晶屏。最后一个模块是报警模块,就是蜂鸣器,当数据超过传感器的最大量程时,实现报警的功能。OBJ文件里面放的是编译时生成的中间文件和最终生成可供板子下载的hex文件。STM32_FWLIB里面放的是STM32的固件库文件,里面包含各种功能的h文件和c文件,比如中断,IO口,通讯等各种功能的库函数。SYSTEM里面包含着本次设计最常用的函数,有延时函数,管脚定义函数,和串行口函数,这些函数都是STM32处理器编写每个功能模块时经常用到的函数,放在这里可以让我们更好的调用。USER文件里面包含有建立工程时Keil4生成的工程文件,需要打开工程时就从这里找到工程

38、名字点击打开就可以实现。4.2.2 关键代码本设计的关键代码便是数据采集和AD转换后读取数据的代码,如下#define HX711_SCK PBout(0)/ PB0#define HX711_DOUT PBin(1)/ PB1u32 HX711_Read(void)/电压增益128倍unsigned long count; unsigned char i; HX711_DOUT=1; delay_us(1); HX711_SCK=0; count=0; while(HX711_DOUT); for(i=0;i<24;i+) HX711_SCK=1; count=count<<

39、;1;HX711_SCK=0; if(HX711_DOUT)count+; delay_us(1); HX711_SCK=1; count=count0x800000;/第二十五个下降沿到来时转换数据HX711_SCK=0; return(count);4.3 软件调试问题及结果在这次的软件编程中,遇到了很多问题,在编写HX711读取数值时管脚输入模式编写错误,以致读取不到数据。虽然官方给的驱动程序是51单片机的,但是每一步都是原封不动的改变为STM32的程序,可是一直读取不到数据,中间认为是不是传感器是坏的,数据没采集到,于是又找到万用表来测量传感器是否采集到模拟电压,经测量,采集到的电压是

40、正确的,而且随着重量的增加模拟电压也增大,说明传感器没有问题,然后我就认定不是程序有问题就是HX711这款芯片是坏的,可是经过多次测量发现该芯片应该是可以正常用,最终认定为自己的程序问题,并且多次改动也找不到问题,最后偶然发现是我对初始化HX711函数的时候对管脚定义的错误,开始我把Dout管脚设置为浮空输入,最终改为上拉输入就可以接收到数据。同时在数据的处理上也遇到问题,不能获得准确的体重数据,而且获得的体重值前后跳变较大。后面发现原因是用较小的质量去校准该参数,并且每次只取一次值便显示,随后改为取十次数据的平均值作为显示结果就解决了问题。因为用的传感器是四个50kg的传感器,所以对于较小物

41、体的测量误差较大,因为传感器的灵敏度低。发现这个问题后便多次试验并找出了最为合适的体重秤参数,使精度变得更高。- 29 -第5章 调试结果及指标的实现本次的设计是要制作一个精确的体重秤,其精确度应达到一定等级,并且能够实时显示体重,最终能够实现基本的称重功能。以下是完成的体重秤系统实物图: 图5.1 体重秤实物图展示5.1 调试过程每个系统的设计都需要经过不断的调试才能够得到更精确的结果,这次的体重秤也是经过很多次调试才最终完成的。首先,调试的内容是传感器是否稳定输出模拟电压值,经过多次调试才发现刚开始接的电压不对,开始接的是3.3v电压,不能准确的读出数据,液晶屏显示的数一直在跳变,不稳定,

42、后面换成5v电压才变得稳定。其次,对于最初对HX711芯片接收数据的管脚的输入模式有错误,本该是浮点输入的,编程的时候错误编写为上拉输入,最后导致采集不到应变片压力传感器的数据。最后,当本次设计得到的最小量值为克(g),但是当我将得到的数据除以1000而变为千克时,却不能显示出浮点数后面的小数点,后面小数点全部变为0,所以导致了精度的不高,最后我除以100,然后分别采样取前两位为千克值(kg),然后一位取0.1kg的值,就能够显示精度为0.1kg的体重值。5.2 本设计的体重秤和标准体重秤实测值对比虽然完成了体重秤,为了对体重秤的精度进行确认,我将几名同学在本次设计的体重秤称量的数据与在标准体

43、重秤上的数据进行对比。如下表:表5.1 本设计体重数据与标准体重秤数据对比同学标准体重秤测量数值(kg)本设计体重秤测量数值(kg)罗74.574.5王71.371.2陈66.866.9崔65.665.5由该表格数据可以知道,本次体重秤设计与标准体重秤的称量数据有一定偏差,大约误差范围为0.1kg到0.2kg。经过分析,原因是踩在体重秤面板上的位置不同,底下四个传感器的受力不一样,从而导致数据的偏差。5.3 精度指标和已经达到的精度电子体重秤的主要指标包括量程,分度值,分度数,和准确度等级,量程即为体重秤的最大承重量,假设为M。而分度值就是能够准确显示的的最小精度,设为d。分度数就是最大量程除

44、以能准确显示的最小精度数,所以分度数为M / d,而准确度等级的划分有分度数决定,准确度等级的具体划分如下表所示:表5.2 准确度等级划分标志及等级电子秤种类分度数范围特种准确度基准衡器n > 100000高准确度精密衡器10000 < n 100000中准确度商业衡器1000 < n 10000普通准确度粗衡器100 < n 1000 由于本次设计传感器的资料显示它的最大有效量值为150kg,而本次设计显示精度为0.1kg,则n = M/d = 1500,属于商业衡器类。故本次设计的电子称的准确度等级为商业衡器等级。第6章 结论和展望本次毕业设计,历时两个月,出现了很

45、多难解决的问题,但最终如愿以偿,完成了一些体重秤基本的功能,还是感觉不算完整,仍然有很多地方需要改进。6.1 结论本次毕业设计的主要内容是制作一个精度较高的体重秤,从刚开始的购买压力传感器,然后接线,到电压放大芯片和AD转换芯片的选择和购买,以及最后的的对处理器的选择和液晶显示屏的显示,这中间既有对压力传感器的知识的加深认识,和对传感器原理的掌握,也有对硬件电路的设计,软件的编程和芯片驱动程序的编写以及软硬件的相互结合调试,最终完成对一个较为精确的电子体重秤,显示精度为0.1kg,完成了最终的目标。这次毕业设计让我获得了很多收获,首先,不管做什么事,我们都会遇到不可预知的困难,但是我们一定要坚

46、持做下去,有句话说得好,“坚持就是胜利”,只有通过不断的试错,不断的改进,才能够达到自己想要的结果。其次,我了解了每个产品都需要较为严密的检验,和对需求的正确认识,编写代码必须注释,程序必须有较好的缩进方式才能够方便自己和别人阅读。最后,这次毕业设计给我的较大的启发,让我提高了自己的分析和解决问题的能力,让我对自己未来的工作做好更充分的准备。6.2 展望未来自从前几天小米的体重秤在网上开始售卖,不到一百块的小米体重秤,不仅有较好的外观,还有自动开关机和BMI胖瘦检测胖瘦以及与手机相连就能显示自己的体重情况和健康状况,让我看到了体重秤的未来一定是物联网的一个重要部分,也是未来人们健康检测的重要工

47、具。人们通过体重秤便能实时的了解自己的体重信息,并且能够知道今天增加或者减少了多少克重量,并且通过连网实时记录自己的体重增减情况,让人们及时知道自己的什么行为会增加重量,做的什么运动能够更好的控制自己的体重,并且知道什么运动是对自己保持健康体重的最好方法。这些具体信息都能够通过网络及时告诉我们,最终让我们更好的了解自己的健康状况,防止肥胖症、高血压、高血脂等因为体重过重而带来的疾病,保持我们的身体健康,能实时了解自己的健康状况,我认为就是未来体重秤发展的方向。 参考文献1 赵广平.电子秤设计M.清华大学出版社20132 张杰.传感器检测技术M.机械工业出版社M.2012.73 王红业.体重测量

48、之电子称J.西安电子科技大学出版社 20074 张易刚.STM32固件库J.2011.75 陈杰,李洪.体重秤设计与研究M.机械工业出版社20056 王宏伟.单片机原理M.北京理工大学出版社,20117 王建华.信息产业报道J.2012.2 8 曹少飞.传感器研究与分析R.传感器技术学报 2010.129 何芳.传感器技术M.南京:东南大学出版社,200210 何建民.STM32应用文集N.机械工业出版社,199611 Chen Guang,Wang Yong,Wu Gang.Frequency domain identification of flexible structure with

49、the resistance strain gauge sensorA.Intelligent Control and Automation, 2004. WCICA 2004. Fifth World Congress C.200412 谭浩强. C程序设计 北京:清华大学出版社,2004.13 Clarence W. de Silva.Signal Conditioning and Modification: Bridge CircuitsA.Vibration and Shock HandbookC.201114 Sifuentes, E,Casas, O.Direct interfac

50、e circuit to linearise resistive sensor bridgesJ.Sensors and Actuators. A, Physical,201015 M.K. Patra,K. Manzoor,M. Manoth.Nanotechnology Applications for Chemical and Biological SensorsJ.Defence Science Journal,200516 张兴.压力传感器的设计与研究N.传感技术学报,200817 陈付云.应变片传感器的设计M.机械工业出版社,200318 李宏.体重秤的设计与制造分析M.高等教育出

51、版社,201419 张平.传感器技术研究M.西安电子科技大学出版社,2006 致 谢这次论文历时两个月,其中遇到了很多自己无法解决的问题,感谢杨亚坤老师给我悉心指导,每次遇到困难,杨亚坤老师总是积极引导我一步一步解决问题,在论文的结构和具体布局上不断的指导我改正错误,使我写出的论文结构更紧凑、布局更为合理。同时,感谢陈秋林同学和耿伟超同学给我重要的帮助和支持,让我学到了很多重要而且自己不具备的解决问题的能力,让我以更快的速度解决设计中遇到的难题,从他们身上我学到较为先进创新的思想,感谢四年来教给我各种知识的老师,是你们让我有足够的基础知识去完成我的毕业设计,让我能够拥有比较扎实的基础去面对未来

52、的工作。最后,感谢所有关心和支持我的同学们和老师们!附 录附录A: 本次设计所用的代码1.数据采集的代码和获得体重值的程序#include "HX711.h"#include "delay.h"u32 HX711_Buffer;u32 Weight_Maopi;s32 Weight_Shiwu;u8 Flag_Error = 0;/校准参数/因为不同的传感器特性曲线不是很一致,因此,每一个传感器需要矫正这里这个参数才能使测量值很准确。/当发现测试出来的重量偏大时,增加该数值。/如果测试出来的重量偏小时,减小改数值。/该值可以为小数#define GapValue 20.5void Init_HX711pin(void)GPI

温馨提示

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

评论

0/150

提交评论