大家好,又见面了,我是你们的朋友全栈君。
(本文均出于个人理解而写,仅用于学习和交流,某些过程可能不一定正确,希望各位提出意见进行交流,共同进步)
前段时间接触到一个项目,类似于现在网上热卖的那种智能称,如下图所示
于是便顺便了解了下智能称的实现原理,并实现了类似的功能。
我们买了一款智能称,并把它拆了。这些智能称一般都是具备这样的功能:
(1)测体重(这是称的本职工作)
(2)测人体水分,体脂含量,肌肉,骨量等等。(看似具备了很多的功能)
然而这种智能称,其硬件的实现一般只有两个功能:体重测量和人体阻抗测量。
体重测量基本上都是用压力传感器。下图是我在某宝上面随便找的一款智能称的图:
其称的外形和地面都有四个接触点,四个接触点那里其实放着下面这种压力传感器:
压力传感器将人体的重量转换成电信号,后经过处理器AD采样,再经过换算便可以得到人体的体重,体重秤的测量原理比较简单。
智能称的另一个功能,便是测量人体脂肪,水分,肌肉等多种功能。为何功能这么强大呢?其实称里面的硬件只有另一个功能,我们先看一下下图:
可以发现在称的表面都有四个电极,这四个电极完成的功能就是测量人体的阻抗。因为一般智能称所配套的APP需要我们输入性别,年龄和身高等信息,通过公式便可以推算出人体的各种成分的数据。
人体存在阻抗,为了测量人体各部分的阻抗,可以将人体分为左上肢、 右上肢、 躯干、 左下肢和右下肢共 5 段。如下图所示:
信号产生电路产生的正弦电流源作为系统的激励信号通过电极施加到人体的相应部位上。比较准确的做法是采用八电极( 4 对) 测量系统,每一对包括一个激励电极和一个检测电极。
但是一个称用8电极显然不大合适。智能称应该是比较方便的,因此现在市面上的称都是采用四电极法测量的,我们所看到的智能称面上的四个电极,其中两个是用于产生激励信号的激励电极,另外两个是用于测量电压的检测电极。通过激励电极产生正弦激励信号,分别加在人体的两个脚上,然后另外两个电极分别在两个脚上采集电压,严格意义上讲,这测量的并不是人体的全部阻抗,但是没有关系,后期的算法总是有办法通过所测量的阻抗拟合出人体的各种成分的数据。
现在我们明白了智能称的大致原理,因为测量体重方面比较普遍,而测量人体阻抗之前还没做过,于是便打算做一下这个功能。
通过网上的查找,我们找到了一款智能称的实现方案,是TI公司的一套智能称的实现方案,该方案的特点如下:
(1)采用 AFE4300 同时进行生物阻抗身体成分测量和体重测量
(2)MSP430F5528 微控制器用于保留校准数据并计算重量、TBW、ECW 以及身体成分分析
(3)采用 TI CC2541 的 BLE 模块连接
我们拆的那款智能称,价格比较便宜,里面的硬件比较简单,同个公司的还有另一款,价格稍贵。我们通过查找和比较,我们所买的那个公司的智能称那一款稍贵的,极有可能就是TI的方案,作为学生的练习项目,我们也决定采取TI公司的方案。
官网有的参考资料在上面两个链接基本上都可以找到,我们之前做的时候也想找个前辈问下,在TI的论坛上找到一个湖南某学校的师姐,她用这个做硕士的论文,但是好像还没有做好,可以看出还是有一定的难度的,有问题有时候可以访问TI的论坛,去上面提问,TI的工程师有时候会帮忙解答一些问题,之后会有博客介绍我自己的一些过程和理解,希望各位提出批评和建议。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128326.html原文链接:https://javaforall.cn