文号
823816
阅读
24968
回复
7
收藏
4
DIY电子秤
2016/08/01
IP:山东
家里电子秤质量不好,彻底坏掉了,于是利用粘在玻璃上的压力传感器重新做了个

为了方便制作,使用了自带放大器和A/D转换器的电子秤专用芯片HX711。直接从网上买了模块,很便宜,几块而已。
1.jpg
先稍说下HX711
HX711是专为高精度电子秤而设计的24位A/D转换器芯片,同时还集成了稳压电源、片内时钟振荡器,放大器等。
2.jpg
两个输入通道。通道 A 模拟差分输入可直接与桥式传感器的差分输出相接。该通道的可编程选择增益,可选择128 或64。B通道增益为固定32。我选择的是A,B通道接地。
串口通讯线由管脚PD_SCK 和DOUT 组成,用来输出数据,选择输入通道和增益。当数据输出管脚DOUT 为高电平时,表明 A/D 转换器还未准备好输出数据,此时串口时钟输入信号PD_SCK 应为低电平。当DOUT 从高电平变低电平后,PD_SCK 应输入25 至27 个不等的时钟脉冲。其中第一个时钟脉冲的上升沿将读出输出24 位数据的最高位,直至第24 个时钟脉冲完成,24 位输出数据从最高位至最低位逐位输出完成。第25至27 个时钟脉冲用来选择下一次A/D 转换的输入通道和增益。
3.jpg



下面就是制作了
来张遗照
4.jpg
手头只有98S52,只好用这个,虽说有些大材小用
5.jpg
为了减小体积,方便安装以及安装后拆卸单片机,使用了不带电阻的P0口
7.jpg
6.jpg
然后直接和电子秤的桥式传感器相连
8.jpg
9.jpg
先测试下显示屏连线
10.jpg
为了确定HX711输出和实际压力的比例关系,先写了个小程序读取来记录
11.jpg
然后发现了一个问题。虽然是24位,然而数据波动极大,后8位数据极不准确,效果比只有16位好不了多少,不过还好,对于0.1千克的精度,还可以满足。
空载输出
12.jpg
60多次采样记录
13.png
加上500克砝码的输出
14.jpg
60多次采样记录
15.png
可以看出波动不小,所以先求平均值,然后求出比例关系
之后写程序时,数据也是读取10次求平均值
开机时首先校零
16.jpg
17.jpg
装好就能用了
19.jpg
称洗衣粉
20.jpg
7
10年4个月前IP:广东
823837
1楼
分辨率做到g都没问题,你竟然是0.1kg……
引用
评论
1
10年4个月前IP:广东
823843
2楼
网上买模块要买那种带屏蔽壳的,读数会稳定很多。再一个是电源要下功夫,以及输出数据要进行一定的滤波。至于分辨率,取决于传感器量程。
引用
评论
ne555作者
10年4个月前IP:山东
823868
3楼
引用 amo:
分辨率做到g都没问题,你竟然是0.1kg……
按楼上所说,精度应该还能提高,但个人认为实现1g精度很难。现在传感器是体重秤的,因此对克级别的质量感应并不好,即便是128倍的增益,电压变化幅度也不大。加上其本身价格也很低廉,想必放大器噪声也不小。
引用
评论
ne555作者
10年4个月前IP:山东
823869
4楼
引用 novakon:
网上买模块要买那种带屏蔽壳的,读数会稳定很多。再一个是电源要下功夫,以及输出数据要进行一定的滤波。至于分辨率,取决于传感器量程。
本以为采样频率不高,没什么问题,没想到屏蔽的影响这么大
引用
评论
10年4个月前修改于 10年4个月前IP:四川
823874
5楼
引用 amo:
分辨率做到g都没问题,你竟然是0.1kg……
普通100kg级别的应变传感器做不到g级分辨率(十万分之一),即使采样出这么高分辨率也是毫无意义的,线性不足。磁平衡传感器都要精心设计才做得到。
引用
评论
10年4个月前IP:广东
823934
6楼
引用 ne555:
按楼上所说,精度应该还能提高,但个人认为实现1g精度很难。现在传感器是体重秤的,因此对克级别的质量感应并不好,即便是128倍的增益,电压变化幅度也不大。加上其本身价格也很低廉,想必放大器噪声也不小。
搞错了抱歉,当时没注意到你用的是普通健康秤传感器,只注意到了ADC,呵呵
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的