900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 称重传感器的应用(HX711)

称重传感器的应用(HX711)

时间:2023-08-07 00:04:31

相关推荐

称重传感器的应用(HX711)

HX711模块原理图

基本原理讲解

1. 100kg 传感器

满量程输出电压=激励电压*灵敏度2.0mv/v

例如:供电电压是5v 乘以灵敏度2.0mv/v=满量程10mv。

相当于有100Kg 重力产生时候产生10mV 的电压。

2. 711模块对产生的10mV 电压进行采样。

概述:711模块 A 通道带有128倍信号增益,可以将10mV 的电压放大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 的供电电压下100Kg 的传感器最大输出电压是4.3v*2mv/V = 8.6mV

经过128倍放大后,最大电压为8.6mV*128 = 1100.8mV

经过 AD 转换后输出的24bit 数字值最大为:

1100.8mV*(2^24) /4.3V ≈ 4294967

步骤3 :程序中数据如何转换

小强电子设计

程序中通过

HX711_Buffer = HX711_Read();

获取当前采样的 AD 值,最大4294967,存放在 long 型变量 HX711_Buffer 中,

因 long 型变量计算速率和存放空间占用资源太多,固除以100,缩放为 int 型,

便于后续计算。

Weight_Shiwu = HX711_Buffer/100;

Weight_Shiwu 最大为42949。

步骤4 :如何将 AD 值反向转换为重力值 。

假设重力为 A Kg, (x<100Kg),测量出来的 AD 值为 y

100Kg 传感器输出,发送给 AD 模块儿的电压为 A Kg * 8.6mV / 100Kg = 0.086A mV

经过128倍增益后为 128 * 0.086A = 11.008AmV

转换为24bit 数字信号为 11.008A mV * 2^24 /4.3V = 42949.67296A

所以 y = 429496.7296A /100 = 429.4967296 A

因此得出 A = y / 429.4967296 Kg

特别注意:

因为不同的传感器斜率特性曲线不一样,因此,每一个传感器需要软件校正调零。

每个传感器都要校准。

驱动程序:

unsigned long ReadCount(void)

{

unsigned long Count;

unsigned char i;

SCL=0; //使能AD(PD_SCL 置低)

Count=0;

while(SDA); //AD转换未结束则等待,否则开始读取

for (i = 0; i < 24; i++)

{

SCL = 1; //PD_SCL 置高(发送脉冲)

Count=Count<<1; //下降沿来时变量Count左移一位,右侧补零

SCL=0;//PD_SCL 置低

if(SDA) Count++;

}

SCL=1;

Count=Count^0x800000;//第25个脉冲下降沿来时,转换数据

SCL=0;

return(Count);

}

加油。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。