称重传感器及HX711 24位ADC的重量参数检测

一、HX711 24位ADC

HX711采用了海芯科技集成电路专利技术,是一款专为高精度电子秤而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。

有需要下载相关数据手册的,可以在立创商城找到该芯片,并下载其芯片手册(好像HX711的不全,可以看看HX712的,读数据部分都差不多的,只是712只能读一个传感器,而且带电池检测,适合低功耗的产品)。

二、称重传感器

        大部分做小玩意用的都是这种称重传感器,总共4根线,是一个全桥电阻,可以看上面的电路图,通过测量其电阻,两两之间的阻值一样,说明是相邻的线,一般红黑为一组,白绿为一组,E+/E-/A-/A+分别对应红/黑/白/绿。

        但是也有可能用到这种50KG人体称重传感器,一个上面有3根线,4个为一组,一般都是成组匹配购买并使用。

该传感器内部是一组半桥应变片,使用方法可以有以下三种:

1、使用一只传感器配合外界电阻组成全桥测量,量程为一个传感器的量程: 50kg。对外界电阻要求较高。

2、使用二只传感器组成全桥测量,量程为两只传感器的量程之和:50kg×2=100kg。

3、使用四只传感器组成全桥测量,量程为四只传感器的量程之和:50kg×4=200kg。

 

三、HX711驱动代码(适用于STC15F2K60S2)

1.头文件

#ifndef __HX711_H__
#define __HX711_H__

#include <STC15F2K60S2.H>
#include <intrins.h>

#ifndef uchar
#define uchar unsigned char
#endif
#ifndef uint
#define uint unsigned int
#endif

//IO设置
sbit HX711_DOUT=P2^6; 
sbit HX711_SCK=P2^7; 

//extern long Water;//每次称重时的桶+水的总重量
//extern long Water1;    //刚装水时的桶+水的总重量
//extern long Water_bucket;    //桶的重量
//extern uchar Water_percentage;      //剩余水量的百分比

//函数或者变量声明
void Delay__hx711_us(void);
unsigned long HX711_Read(void);

#endif

2.主函数

#include "HX711.h"

//****************************************************

//延时函数1us

//****************************************************

void Delay__hx711_us(void)

{

        unsigned char i;

        _nop_();

        _nop_();

        _nop_();

        i = 5;

        while (--i);

}



//****************************************************

//读取HX711

//****************************************************

unsigned long HX711_Read(void)       //增益128

{

        unsigned long count;

        unsigned char i;

  HX711_DOUT=1;

        Delay__hx711_us();

  HX711_SCK=0;

  count=0;

  while(HX711_DOUT);

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

        {

          HX711_SCK=1;

          count=count<<1;

                HX711_SCK=0;

          if(HX711_DOUT)

                       count++;

        }

        HX711_SCK=1;

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

        Delay__hx711_us();

        HX711_SCK=0; 

        return(count);

}

 

  • 9
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值