HX711模块-A/D称重原理讲解

模拟技术

2414人已加入

描述

  HX711是一款专用于高精度电子秤而设计的24位A/D转换器芯片,其内部集成了差分处理电路、稳压电源、片内时钟振荡器等,使电子秤传感器电路大大地简化。

称重传感器

  主要参数

  * 工作电压范围:2.6~5.5V;* 内部差分电路可编程增益为32,64,128,其中通道B固定增益为32;* 可选择10Hz或者80Hz的数据输出速率;* 低功耗,其工作电流<1.6mA,断电电流<1uA;

  称重原理讲解

  1. 假设接入100kg称重传感器

  满量程输出电压=激励电压*灵敏度2.0mv/v 例如:供电电压是5v 乘以灵敏度2.0mv/v=满量程10mv。 相当于有100Kg 重力产生时候产生10mV 的电压。

  2. HX711对产生的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。

  步骤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:程序中数据如何转换

称重传感器

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);
}
   

 

  获取当前采样的 AD 值,最大4294967,存放在 long 型变量 HX711_Buffer 中, 因 long 型变量计算速率和存放空间占用资源太多,固除以100,缩放为 int 型,便于后续计算。

  步骤4:将 AD值转换为重力值

  假设重力为 X Kg 测量出来的 AD 值为 Y ;100Kg 传感器输出,发送给 AD 模块儿的电压为 X * 8.6mV / 100 = 0.086*X mV ;经过128倍增益后为 128 * 0.086 * X = 11.008*X mV ;转换为24bit 数字信号为 11.008*X * 2^24 /4.3V = 42949.67296*X ;所以 Y = 429496.7296X /100 = 429.4967296*X;因此得出X = Y / 429.4967296 Kg。

  审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分