专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
51单片机
AD HX711 的数据处理!
2019-07-15 15:49
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
51单片机
10141
11
1706
假如现在输入 3mv的信号 经hx711(24位)转换为一个二进制数,存到aa中 现在如何将这个值转换为电压值??然后将这几个数分离出来 显示在1602上,该怎么做??
unsigned long ReadCount(void)
{
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
himol
2019-07-15 21:33
基本原理讲解
1. 5kg 传感器
满量程输出电压=激励电压*灵敏度1.0mv/v
例如:供电电压是5v 乘以灵敏度1.0mv/v=满量程5mv。
相当于有5Kg 重力产生时候产生5mV 的电压。
2. 711模块对产生的5mV 电压进行采样。
概述:711模块 A 通道带有128倍信号增益,可以将5mV 的电压放大128倍,然
后采样输出24bit AD 转换的值,单片机通过指定时序将24bit 数据读出。
详细讲解程序计算原理:
小强电子设计
步骤1 :如何计算传感器供电电压
HX711可以在产生 VAVDD 和 AGND 电压,即711模块上的 E+和 E-电压。
该电压通过 VAVDD=VBG(R1 +R2 )/R2计算。
VBG 为模块儿基准电压1.25v
R1 = 20K,R2 = 8.2K
因此得出 VAVDD = 4.3V
(为了降低功耗,该电压只在采样时刻才有输出, 因此用万用表读取的值可能低
于4.3v,因为万用表测量的是有效值。 )
步骤2 :如何计算 AD 输出最大值
在4.3V 的供电电压下5Kg 的传感器最大输出电压是4.3v*1mv/V = 4.3mV
经过128倍放大后,最大电压为4.3mV*128 = 550.4mV
经过 AD 转换后输出的24bit 数字值最大为:
550.4mV*2 24 /4.3V ≈ 2147483
步骤3 :程序中数据如何转换
小强电子设计
程序中通过
HX711_Buffer = HX711_Read();
获取当前采样的 AD 值,最大2147483,存放在 long 型变量 HX711_Buffer 中,
因 long 型变量计算速率和存放空间占用资源太多,固除以100,缩放为 int 型,
便于后续计算。
Weight_Shiwu = HX711_Buffer/100;
Weight_Shiwu 最大为21474。
步骤4 :如何将 AD 值反向转换为重力值 。
假设重力为 A Kg, (x<5Kg),测量出来的 AD 值为 y
5Kg 传感器输出,发送给 AD 模块儿的电压为 A Kg * 4.3mV / 5Kg = 0.86A mV
经过128倍增益后为 128 * 0.86A = 110.08AmV
转换为24bit 数字信号为 110.08A mV * 2 24 / 4.3V = 429496.7296A
所以 y = 429496.7296A /100 = 4294.967296 A
因此得出 A = y / 4294.967296 Kg ≈ y / 4.30 g
所以得出程序中计算公式
Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/4.30+0.05);
//+0.05是为了四舍五入百分位
特别注意:
因为不同的传感器斜率特性曲线不一样,因此,每一个传感器需要矫正这里
的4.30这个除数。
当发现测试出来的重量偏大时,增加该数值。
如果测试出来的重量偏小时,减小改数值。
该数值一般在4.0-5.0之间。因传感器线性斜率不同而定。
每个传感器都要校准。 最佳答案
加载中...
查看其它11个回答
一周热门
更多
>
相关问题
【东软载波ESF0654 PDS开发板活动】开箱
1 个回答
东软载波ESF0654 PDS开发板外部中断
1 个回答
东软载波ESF0654 PDS开发板高级控制定时器AD16C4T
1 个回答
用串口调试助手为什么只能在hex模式接收发送而在文本模式不行
9 个回答
触摸芯片SC02B/SC04B在地砖灯的设计方案
1 个回答
相关文章
51单片机与蓝牙模块连接
0个评论
51单片机的硬件结构
0个评论
基于51单片机的无线遥控器制作
0个评论
51单片机 AD转换
0个评论
51单片机数码管递增显示
0个评论
如何实现对单片机寄存器的访问
0个评论
基于51单片机的指纹密码锁
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
51单片机
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
1. 5kg 传感器
满量程输出电压=激励电压*灵敏度1.0mv/v
例如:供电电压是5v 乘以灵敏度1.0mv/v=满量程5mv。
相当于有5Kg 重力产生时候产生5mV 的电压。
2. 711模块对产生的5mV 电压进行采样。
概述:711模块 A 通道带有128倍信号增益,可以将5mV 的电压放大128倍,然
后采样输出24bit AD 转换的值,单片机通过指定时序将24bit 数据读出。
详细讲解程序计算原理:
小强电子设计
步骤1 :如何计算传感器供电电压
HX711可以在产生 VAVDD 和 AGND 电压,即711模块上的 E+和 E-电压。
该电压通过 VAVDD=VBG(R1 +R2 )/R2计算。
VBG 为模块儿基准电压1.25v
R1 = 20K,R2 = 8.2K
因此得出 VAVDD = 4.3V
(为了降低功耗,该电压只在采样时刻才有输出, 因此用万用表读取的值可能低
于4.3v,因为万用表测量的是有效值。 )
步骤2 :如何计算 AD 输出最大值
在4.3V 的供电电压下5Kg 的传感器最大输出电压是4.3v*1mv/V = 4.3mV
经过128倍放大后,最大电压为4.3mV*128 = 550.4mV
经过 AD 转换后输出的24bit 数字值最大为:
550.4mV*2 24 /4.3V ≈ 2147483
步骤3 :程序中数据如何转换
小强电子设计
程序中通过
HX711_Buffer = HX711_Read();
获取当前采样的 AD 值,最大2147483,存放在 long 型变量 HX711_Buffer 中,
因 long 型变量计算速率和存放空间占用资源太多,固除以100,缩放为 int 型,
便于后续计算。
Weight_Shiwu = HX711_Buffer/100;
Weight_Shiwu 最大为21474。
步骤4 :如何将 AD 值反向转换为重力值 。
假设重力为 A Kg, (x<5Kg),测量出来的 AD 值为 y
5Kg 传感器输出,发送给 AD 模块儿的电压为 A Kg * 4.3mV / 5Kg = 0.86A mV
经过128倍增益后为 128 * 0.86A = 110.08AmV
转换为24bit 数字信号为 110.08A mV * 2 24 / 4.3V = 429496.7296A
所以 y = 429496.7296A /100 = 4294.967296 A
因此得出 A = y / 4294.967296 Kg ≈ y / 4.30 g
所以得出程序中计算公式
Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/4.30+0.05);
//+0.05是为了四舍五入百分位
特别注意:
因为不同的传感器斜率特性曲线不一样,因此,每一个传感器需要矫正这里
的4.30这个除数。
当发现测试出来的重量偏大时,增加该数值。
如果测试出来的重量偏小时,减小改数值。
该数值一般在4.0-5.0之间。因传感器线性斜率不同而定。
每个传感器都要校准。 最佳答案
一周热门 更多>