体重秤上云-7,称重传感器

发布时间:2018年12月28日 阅读:288 次

七 称重传感器



本来零妖打算使用单片机自带的16位差分ADC来检测重量传感器的输出从而计算重量。

考虑到了更多朋友的感受,要移植到其他场合,就选择了一个专用芯片解决问题,CS1237,24位差分ADC芯片。

这篇文章将讲解体重秤中的体重传感器和CS1237芯片的单片机程序移植方法,将物体的重量简单地显示到了数码管上。



重量传感器仔细研究的话有很多种类型,零妖拆解的这个是体重秤。体重秤里面有四个传感器,放置到四个角落里会让人站上去的时候稳当。

普及体重秤的基础知识。常见的体重秤是由四个传感器组合使用的,每个传感器的量程是50Kg,属于半桥式重量传感器。

超过200Kg的物种站上去会爆表。

半桥式重量传感器内部有一个“应变片”,当重量变化的时候“应变片”本身的阻值会发生变化。其内部电路等效为两个电阻串联一下。

每个半桥式重量传感器会有三根线,四个传感器需要按照顺序依次串联起来。

完成之后留给你的只有四根线了,分别叫做E+,E-,S+,S-。前面两个叫做激励电压的输入,后面的两个叫做差分信号的输出。CS1237模块就是为了这个场合而设计的,按照上图的接线定义对号入座就行了。



传感器的连线捋一下,用胶带粘到塑料外壳里就行了,然后CS1237模块也正好放得进去,就可以进行测试了。

CS1237模块的电源正常接,通信接口根据你的单片机IO口而决定。零妖已经把驱动函数写好了,你要是移植的话只修改下面这部分就行了。

底层的驱动读取到的仅仅只是对应重量时刻的ADC数值,你还需要把这个数值计算一下,得到实际重量。

任何传感器在实际使用之前都需要校准,零妖再给你普及一个校准的原则。拿体重秤为例子,我们的设计量程是200Kg,那么校准的时候用100Kg的砝码最好,能保证在常用的体重范围内的精度。

找了半天没找到100Kg的“砝码”,不过发现了一个体重44Kg的小美女,来吧,贡献你的身体吧,哈哈。

校准的数据需要有一个“皮重”,就是秤上什么都不放的时候的ADC数值,还需要有一个“44Kg重量”。

上图就是校准的逻辑代码。仿真一下程序,走一遍校准流程,记录下来两个校准数据,这样就有一个大概的参考数值了,每一次校准时候就不用麻烦小美女“献身”了。

记录了这两个数据后,就可以在每次开机的时候,计算一个“称重系数”。这个系数就能计算出来每个ADC对应的重量。




你的体重由四个半桥称重传感器转化为了电压信号,这个电压信号又被CS1237转化为了数字信号,这个数字信号被单片机读取之后经过了一次校准,最后单片机就可以计算出重量了。

计算的这个重量显示到了数码管上,通过一桶4L的桶装水来简单地检测一下误差是否能接受。理论上显示是4Kg。你看看这精度,侧面反映了小美女的体重很准确啊。



体重秤地核心功能就是测量体重。为了保证秤的准确度,要隔一段时间校准一次,那么每隔一段时间零妖就能找小姐姐聊天了…….

微信公众号偶尔更新

Tag:体重秤上云 阿里云 IOT
相关文章