概述
一、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);
}
最后
以上就是虚拟方盒为你收集整理的称重传感器及HX711 24位ADC的重量参数检测一、HX711 24位ADC二、称重传感器的全部内容,希望文章能够帮你解决称重传感器及HX711 24位ADC的重量参数检测一、HX711 24位ADC二、称重传感器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复