hx711基本原理讲解
基本原理讲解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.25vR1 = 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 值为 y5Kg 传感器输出,发送给 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之间。因传感器线性斜率不同而定。每个传感器都要校准。