基于单片机的体脂秤设计Word下载.docx

上传人:聆听****声音 文档编号:6220795 上传时间:2023-05-06 格式:DOCX 页数:32 大小:494.39KB
下载 相关 举报
基于单片机的体脂秤设计Word下载.docx_第1页
第1页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第2页
第2页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第3页
第3页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第4页
第4页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第5页
第5页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第6页
第6页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第7页
第7页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第8页
第8页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第9页
第9页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第10页
第10页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第11页
第11页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第12页
第12页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第13页
第13页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第14页
第14页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第15页
第15页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第16页
第16页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第17页
第17页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第18页
第18页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第19页
第19页 / 共32页
基于单片机的体脂秤设计Word下载.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机的体脂秤设计Word下载.docx

《基于单片机的体脂秤设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的体脂秤设计Word下载.docx(32页珍藏版)》请在冰点文库上搜索。

基于单片机的体脂秤设计Word下载.docx

ABSTRACT II

第一章绪论 1

1.1课题研究背景 1

1.2国内外研究背景 1

1.3设计报告内容的安排 1

第二章体脂秤的总体设计 3

2.1设计目标 3

2.2体脂秤的整体结构框图 3

2.3体重测量方案 3

2.3.1体重测量模块设计 3

2.3.2压力传感器的选择 4

233AD转换芯片的选择 4

2.4人体阻抗测量方案 5

2.4.1人体阻抗测量原理 5

2.4.2人体阻抗测量模块的选择 5

2.4.3电极片的选择 5

2.5显示屏的选择 6

2.6按键的选择 6

2.7主控制器的选择 6

2.8电源模块的选择 7

2.9秤体的选择 7

第三章体脂秤的硬件设计 8

3.1主控制器 8

3.2体重测量模块的电路设计 8

3.3人体阻抗测量模块的电路设计 9

3.4显示模块的电路设计 10

3.5按键模块的电路设计 11

3.6电源模块电路设计 11

3.7体脂秤的总体电路设计 12

第四章体脂秤的软件设计 13

4.1体脂秤的总体原理 13

4.2体重测量模块程序设计 14

4.3人体阻抗测量模块程序设计 16

4.3.1AD5933寄存器配置以及数据处理子程序设计 16

4.3.2IIC通信子程序设计 18

4.4按键模块子程序设置 20

4.5显示模块子程序设计 21

第五章体脂秤的调试过程 22

5.1体重测量模块的调试 22

5.2人体阻抗测量模块的调试 23

5.3调试结果对比 24

结论 25

参考文献 26

附录A 27

附录B 28

附录C 29

致谢 48

基于单片机的体脂秤设计

第一章绪论

1.1课题研究背景

随着社会的发展,科技的进步,国家逐步进入小康社会,人们对于自身的生活质量有着越来越高的标准,对于自己的健康状态也更加地重视。

体脂秤是近年来比较兴起的一款产品,它比起单纯只能测量体重的体重秤更加能够体现出人体指标的变化,更加有助于人们对自身健康状态的判断,在人们合理地制定饮食计划,运动计划能够起到相当大的作用。

合理的使用体脂秤制定生活计划可以很大程度的改善人们的生活质量。

1.2国内外研究背景

目前国内外对体脂率的研究主要集中于对生物人体阻抗测量的准确度提高上,研究方向主要有两方向。

第一个方向是针对人体的双手,双脚以及躯干五个部分的阻抗进行分别测量,得到这五个部分的非脂肪含量然后进行一定方法的合成进而计算出人体的脂肪率。

另一个方向是研究出人体阻抗与体脂率相关的回归方程,通过水下称重法得出人体的体脂率,再用测量阻抗的仪器对人体进行多次的数据采集,研究数据与体脂率的关系,进而得出相应的回归方程。

1.3设计报告内容的安排

本次设计的体脂秤通过对人体的体重以及人体的阻抗进行测量,基于BIA生物电阻抗分析法通过相应的回归方程进行计算得出人体的体脂率。

设计报告内容安排如下:

第一章说明体脂秤的设计背景

第二章提出对体脂秤的总体设计方案,确定相关功能。

第三章对体脂秤进行硬件设计,包括对主控芯片的选择,对体重测量的电路设计,对人体阻抗测量的电路设计,对按键模块的电路设计,对显示模块的电路设计,对电源模块的电路设计。

第四章主要说明了体脂秤软件程序设计,包括主程序流程,HX7n驱动子程序,AD5933阻抗转换器的IIC通信子程序,LCD1602显示屏的驱动子程序,按键控制的程序,AD5933寄存器配置的程序,主控模块对HX7n和AD5933的数据处理程序。

第五章对体脂秤的调试过程进行记录,并将测试结果和标准值进行了比较,说明本设计达到任务书中的要求。

第二章体脂秤的总体设计

2.1设计目标

本次设计要求设计一个体脂秤。

要求具有调零功能所以整个测量流程应是如下过程。

在人站到秤体上之前如果示数不为零可以先按下调零键调零,在示数置零之后再站上秤体,当人站到秤体上之后显示屏可以显示出人的体重,通过按下模式键可以进入人的身高,年龄与性别模式,然后通过加减键设置人体的身高,年龄与性别的值,当设置完成后两手分别捏住两个电极再按下模式键便可以显示出人体的体脂率。

2.2体脂秤的整体结构框图

本设计通过单片机利用体重测量模块与人体阻抗测量模块测得人体的体重以及阻抗,通过按键模块输入人体的身高,年龄以及性别,再通过显示模块显示出经过回归公式计算出的体重以及体脂率,而电源模块则是对整个电路进行供电。

体脂秤的整体结构框图如图2.1所示。

图二.1体脂秤的整体结构框图

2.3体重测量方案

2.3.1体重测量模块设计

关于体重测量模块的设计,主要为硬件与软件相结合的设计,在硬件方面需要对所选择的压力传感器、放大电路与AD转换芯片进行电路的分析与设计,在软件7

方面需要的则是对所选取的硬件元器件进行程序编写,从而驱动所选取的硬件元器件能够工作,再经过主控芯片的数据读取、处理得到需要的体重数据。

2.3.2压力传感器的选择

要测得人体的体重,主要的思路方法就是用压力传感器测量出人体的重力,在市面上的家用体重秤所用的都是三线式的应变片压力传感器,便宜,方便,具有很大的性价比,所以此次设计使用的压力传感器即为与家用体重秤相同的三线式应变片压力传感器。

一片应变片压力传感器大约为50kg,所以需要四片进行串接使得量程上到200kg,这样子才能够得到应有的承重量,既能测得人体的压力信号又不会损坏压力传感器,应变片压力传感器主要由四部分组成,包括应变片,金属导线,压头以及压板。

三线式应变片压力传感器如图2.2所示。

图二.2三线式应变片压力传感器

2.3.3AD转换芯片的选择

如果要检测到压力传感器带来的微小电压变化,并且将这个模拟量变为数字量,就需要对此电压信号进行电压放大还有AD转换,面对这些需求,此次设计选择了集电压放大与AD转换于一体的HX7U芯片,此芯片具有24位高精度数据采集信号的能力,可以非常精准的将电压信号的模拟量转换成数字量,不但反应速度快、稳定性高,而且便宜、性价比高,可以非常好的完成本次设计的需要。

HX711AD转换芯片引脚图如图2.3所示。

图二.3HX711AD转换芯片引脚图

2.4 人体阻抗测量方案

2.4.1人体阻抗测量原理

人体阻抗测量的基本原理为生物电阻抗分析法(BIA),即人体的肌肉含水量高,而人体的脂肪几乎不含有水分,所以人体的肌肉导电性好,而人体的脂肪几乎不导电。

因此不同的人阻抗不同,人体的阻抗高则体脂率高,反之体脂率低。

因此在硬件设计时,需要有一个能够产生与生物特性频率相近的激励源、激励与响应电极、放大电路以及AD转换模块。

而软件方面则是通过编写程序来驱动所选的硬件元器件进行信号源产生,信号放大以及AD转换等功能,进而测得人体的阻抗。

2.4.2人体阻抗测量模块的选择

使用AD5933测量人体阻抗的工作方式,即发出的正弦波激励信号源通过激励电极进入人体后再通过响应电极输出的电压信号进行放大以及AD转换,再将转换后的数据用单片机进行处理。

本次设计使用的AD5933是一个1M采样率,12位分辨率的阻抗转换器,它集成了ADC,DSP,和数字频率发生器DDS,能直接输出阻抗的实部与虚部,可以应用于生物电阻抗分析。

AD5933芯片引脚图如图2.4所zKo

图二.4AD5933芯片引脚图

2.3.4电极片的选择

关于电极片的选择,其材质可以是铜、铝、铁、不锈钢、最好是使用医疗用的Ag/AgCl电极片,不过在该设计中所需的电极片接触面积非常小,使用两片铁质的薄铁片经过略微加工即可,其材料简易方便,性价比高。

铁质电极片如图2.5所示。

图二.5铁质电极片

9

2.5显示屏的选择

因为本次设计所需要显示的数据主要就是体重值与体脂率,所以只需要使用一片LCD1602显示屏就可以达到本设计的需求,所以本次设计选择的显示屏就是LCD1602液晶屏。

LCD1602显示屏如图2.6所示。

图2.6LCD1602显示屏

2.6按键的选择

因为此次设计按键模块需要完成的功能都非常简单,所以选择的就是最简单的立式四脚按钮开关。

按键如图2.7所示。

图二.7按键

2.7主控制器的选择

本次使用的控制器为51系列的STC89C51单片机,该单片机功耗低性能高,可以达到本次设计所需的基本要求,所以选择了该单片机进行设计。

STC89c51芯片如图2.8所示。

图二.8STC89c51芯片

2.8电源模块的选择

根据生活中的小常识,可以知道市面上的体脂秤的电源供电方式主要有两种,一种是使用生活中经常可以看到的干电池进行供电,另一种则是通过可循环充电式的锂电池进行供电。

在本次设计中使用的是两节干电池进行供电,因为干电池价格便宜,方便,不需要考虑类似可充电锂电池的损耗寿命问题。

而两节干电池的电压不够,需要进行升压处理,并且要稳定的输出5V电压,经过查阅资料决定使用MT3608升压电源模块实现本次功能要求,该电源模块结构简单,使用方便,并且可以调节输出稳定的5V电压。

可以很好的完成本次设计的需要。

MT3608电源模块引脚图如图2.9所示。

图二.9MT3608电源模块引脚图

2.9秤体的选择

既然是要测量人体的体脂率,那么最基本的要求就是秤体的材料必须能够承受住人体的重量,所以本次设计所用的秤体就是市面上所常见的玻璃秤体。

11

第三章体脂秤的硬件设计

3.1主控制器

本设计使用的主控制器是51系列的STC89C51单片机,该单片机是本设计中对各模块所得数据的接收和处理的核心,该单片机也控制着本设计中各个模块的工作情况。

该单片机的最小系统如图3.1所示。

图三.1STC89C51单片机最小系统

3.2体重测量模块的电路设计

经过查找资料并研究之后,此次体重测量模块的硬件元器件主要为四片三线式的应变片压力传感器以及已一片HX711AD转换芯片。

因为一片压力传感器的量程仅为50kg左右,而要应对生活中大多数人的情况,一片压力传感器是远远不够的,为了方便设计,也为了平衡与美观,此次设计使用了四片压力传感器,每片压力传感器使用的是双联片,因此有三条线,一般来说这三根线的颜色分别为黑红白,红线作为公共出线居中,而黑白两根线则在红线的两侧,将这四片压力传感器进行串接,可以得到接近200kg量程的压力传感器,而进行串接的办法是相邻的两片压力传感器白线接白线,黑线接黑线,而红线则需要接到HX7HAD转换芯片相对应的引脚上,当串接完成,四个压力传感器便组成了一个全桥电路,经过并联的方式连接后,能引出四根红线,有两根分别为电源线与接地线,另外两根则是模拟电压正负输出线,压力传感器的压头受力后,压力传感器的压板两边就会得到方向相反的剪切力,这样就会引起电阻值的变化从而导致电压信号的变化,变化的电压信号则需要进入所选取的HX711AD转换芯片进行处理。

所选取的HX711AD转换芯片是集电压放大与AD转换功能于一体的芯片,在12

体重测量的设计中是不二之选。

在此次设计中HX711芯片中的E+,E-引脚分别与压力传感器的电源线与接地线连接,而A+,A-引脚则分别与压力传感器的模拟电压正负输出线相连,到此压力传感器与HX711芯片的线路连接完毕。

而关于HX711芯片与主控器的电路连接则主要为HX711芯片的DOUT数据引脚与PD_SCK时钟引脚与51单片机相连,连接完成后,这时只要与人站到秤体上,压力传感器就会有微弱的电压信号产生,这时电压信号进入到HX711芯片进行电压放大以及AD数据转换,再通过主控器的数据处理传到显示屏进行数据显示,便可以得到人体的体重数据,到此体重测量模块的电路设计基本完成。

体重测量模块的原理图如图3.2所示。

图三.2体重测量模块原理图

3.3人体阻抗测量模块的电路设计

在本次的人体阻抗测量模块的电路设计中,主要使用的硬件元器件有两片铁质的小铁片作为激励电极与响应电极,还有一块AD5933阻抗转换器,AD5933具有产生正弦信号激励源、信号放大、AD转换等功能,能够比较好的实现关于本次对人体阻抗进行测量的设计,关于AD5933的内部主要由IIC接口、发射级,接收级

以及DSP内核组成,其内部的功能框图3.3如图所示。

图三.3AD5933内部功能框图

13

AD5933的发射级包含了一个具有27位的相位累加器内核,它可以以特定的频率提供输出输出激励信号,利用此部分的功能,就可以得到一个可编程设定的激励信号源。

而AD5933的接收级则由电流电压放大器、可编程增益放大器、抗混叠滤波器与ADC组成,流经人体的电流信号通过接收级的电流电压转换器的输出端得到一个电压信号,再经过电流电压放大器进行信号放大,然后再对放大后的信号进行低通滤波处理就可以出现在ADC的输入端。

经过12位分辨率,1M采样率的ADC进行采样处理的数据便会直接被送到DSP内核,DSP内核会对每一个频率点的数据进行DFT计算,得出每个频率点的阻抗实部与虚部,其实部与虚部的数据会以二进制补码的形式存放在两个16位寄存器中。

当需要其阻抗的实部与虚部数据只需要变成从相应的寄存器中读取即可。

两片电极片与阻抗转换器的VIN与VOUT引脚进行焊接,这样方便让激励信号通过激励电极进入人体再通过响应电极进入阻抗转换器进行数据处理,AD5933使用的是IIC通信,IIC接口中的SCL时钟线与SDA数据线需要与主控器进行连接,主控器对阻抗转换器的控制都是通过这两根线进行,当人们捏住两个电极片后,经过AD5933与主控器的地数据处理便能够得到人体的阻抗。

到此人体阻抗测量模块的电路设计基本完成。

人体阻抗测量模块的原理图如图3.4所示。

图三.4人体阻抗测量模块原理图

3.4显示模块的电路设计

关于本次显示模块的电路设计,使用的是LCD1602显示屏,它有16个引脚,

而主要应用到,需要需主控器进行连接的有11个引脚,其中包括RS数据命令引

脚、R/W读写操作引脚、EN使能引脚以及8个数据引脚,只要将想要显示的数据

通过主控器进行数据的处理,再通过主控器对LCD1602显示屏进行控制以及数据

传输,就能够在LCD1602显示屏上显示出经过主控器处理的数据,虽然该显示屏

只可以显示数字以及英文字母等一些比较常规的字符,在字符数量上也最多只能显

14

32个,但是对于本次的设计要求已经足够用了,在成本以及难度方面也都大大地降低了,所以此次设计就选择了这款显示屏,到此显示模块的电路设计基本完成。

显示模块的原理图如图3.5所示。

图三.5显示模块原理图

3.5按键模块的电路设计

在此次的按键模块电路设计中,使用的是最简单的立式四脚按钮开关,一共四个,分别对应调零键,模式键,加减键,只需要简单的将按键的一端分别与主控器的四个引脚进行连接另一端接地便可。

当按下相应的键便可以完成对应的调零、设置、加减功能。

按键模块的电路原理图如图3.6所示。

图3.6按键模块原理图

3.6电源模块电路设计

关于本次电源模块的电路设计,使用的是MT3608升压电源模块,该模块可以将低电压进行升压,在本次设计中使用的是两节5号干电池进行供电,但是两节5号干电池仅为3V,此次设计需要的总体供电电压为5V,该电源模块可以通过手动调节3296电位器来调节输出电压,其输出电压范围大致为0-28V,而本次设计仅需要输出电压为5V所以该模块完全符合要求,并且结构简单,使用方便,不需要程序设定,只需要将电池与输入电压引脚进行连接,用万用表校准需要的输出电压,再将输出电压引脚与用电器相连即可。

在本次设计中,通过万用表测量可知总电路电流约为70mA,再根据所查找的

资料可知一节5号干电池的电量约为2400mAh,所以两节5号干电池的总电量大约为4800mAh,所以可以知道两节5号干电池可以持续使用的时间为4800mAh/70mA^:

68.57h,假设每天使用该体脂秤5min,则可以根据时间的换算,两节5号干电池大约可以使用两年零三个月,再考虑到时间比较长,电池的寿命可能会缩短,但是使用一年的时间绰绰有余,所以使用两节5号干电池来对该体脂秤进行供电完全可以达到需求。

电源模块的原理图如图3.7所示。

图三.7电源模块原理图

3.7体脂秤的总体电路设计

关于本次的体脂秤总体电路设计,主要由主控电路设计模块、体重测量电路设计模块、人体阻抗测量电路设计模块、按键电路设计模块、显示电路设计模块以及电源模块组成,其中体重检测模块的电路设计中包括了对三线式应变压力传感器与HX7UAD转换芯片的应用,而人体阻抗测量模块的电路设计中包括了两个电极与AD5933阻抗转换器的应用,将这六个模块结合到一起便可以得到一个完整的体脂秤总体电路设计,通过体重测量模块测得人体体重、人体阻抗测量模块得到人体的阻抗、按键模块设置人体的参数以及完成调零功能,显示模块显示经过一系列的数据处理以及计算的数据,而电源模块对整个电路进行供电。

到此体脂秤的总体电路设计基本完成。

体脂秤的总体电路原理图见附录B。

%:

非脂肪部分重量;

H:

人的身高;

%:

人的体重;

Zr:

阻抗值;

Sex:

性别,男为0,女为1;

Age:

年龄;

第四章体脂秤的软件设计

4.1体脂秤的总体原理

关于本次体脂秤的主程序设计,主要是对体重测量模块程序、人体阻抗测量模块程序、按键模块程序、显示模块程序的调用,再根据这些模块程序得到的数据进行处理以及计算,最终得到人体的体重值以及体脂率。

体重测量模块程序完成的功能是获取经过HX711芯片AD转换以及放大的电压信号数据,然后进行处理计算得到体重值。

人体阻抗测量模块程序完成的功能是对AD5933阻抗转换器所得到的阻抗虚部与实部进行数据处理以及计算得到人体阻抗值。

按键模块程序完成的功能是进行调零操作、模式选择以及设置参数。

显示模块程序完成的功能是根据模式的不同显示所需要的数据。

首先需要测量者站在体脂秤的秤体上,压力传感器就会产生微弱的电压变化,然后根据体重测量模块程序中的驱动程序可以驱动HX711AD转换芯片对此微弱的电压信号进行放大以及模数转换处理。

再根据获得初始重量值得程序以及获得实物重量值的程序进行简单的减法计算便可以得到人体的体重值,但是获得初始重量值并不是一直在进行而是在初始化后,如果按下调零键才会获得初始重量值,再经过减法运算便可清零数据达到调零的功能。

然后测量者两手分别捏住体脂秤的激励电极以及响应电极,根据人体阻抗测量模块子程序中的IIC通信程序进行数据的接收发送,以及AD5933寄存器配置程序进行对激励源频率的设置和阻抗转换器工作方式的控制,可以得到人体阻抗的虚部与实部,将这两个数据经处理计算可以得到人体的阻抗值。

然而,要得到体脂率还需要应用一个与人的体重、身高、年龄、性别有关的回归方程进行数据处理,经过此公式计算得出人体的体脂率。

此回归公式如式4.1,式4.2所示。

倘若只需要测量体重,只需要进行到模式一就可以了,倘若想测得体脂率那么则需要按下按键模块子程序中设计的模式键对自己的身高,年龄,以及性别进行设置,然后在模式五中可以得到人体的体重值与体脂率,而这五个模式中的数据显示则需要显示模块子程序对LCD1602显示屏进行程序编写控制以及数据转换显示,到此体脂秤的总体程序设计基本完成。

体脂秤的总体程序设计流程图如图4.1所示。

图四.1总体程序设计流程图

4.2体重测量模块程序设计

关于体重测量模块程序的设计,主要包括编写HX711驱动程序、获取初始重

量值与实物重量值程序以及对这两个值进行减法运算的程序,HX7n使用串口通讯进行时序控制,当数据管脚为低电平时,时钟线不应发出少于25或多于27个时钟脉冲,HX711在第2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2