原理图:
引脚介绍:
VCC和GND引脚分别为HX711芯片的电源输入端口。
VCC引脚是连接到5V或3.3V的正电源,GND引脚是连接到地的负电源。
DOUT是HX711芯片的数据输出端口,它输出经过A/D转换处理后的24位数据。
SCK是HX711芯片的时钟输入端口,用于控制A/D转换的时钟。
工作原理:
HX711芯片内部包含一个模拟前置放大器和一个24位的模数转换器。当HX711芯片的模拟输入引脚接入压力传感器时,传感器输出的微小电压信号首先被模拟前置放大器放大,然后再转换成数字信号输出。
HX711芯片有两个输入引脚:一个是传感器输入引脚,一个是时钟引脚。工作时,先将时钟引脚拉低,然后向传感器输入引脚输入一个脉冲,此时HX711芯片会自动读取传感器输出的电压信号并转换成数字信号输出。获得数字信号后,可以通过微处理器或其他数字电路进行处理、显示和存储。
需要注意的是,HX711芯片的输入电压范围只有0V~AVDD,因此需要通过电路设计将传感器输出信号偏置到该范围内,常用方法是通过电桥电路实现。
HX711主要参数:
1满额度差分输入范围V(inp)-V(inn)±0.5(AVDD/GAIN)V
2输入共模电压范围AGND+0.6AVDD-0.6V
3使用片内振荡器,RATE=010
4使用片内振荡器,RATE=DVDD80
5外部时钟或晶振,RATE=0fclk/1,105,920
6输出数据速率
7外部时钟或晶振,RATE=DVDDfclk/138,240Hz
8输出数据编码二进制补码8000007FFFFF(HEX)RATE=0400
9输出参考电压(VBG)1.25V
10外部时钟或晶振频率111.059230MHz
11模拟电源电流(含稳压电路)1600μA断电0.3μA
注意事项:
“去毛”:实物称重开始时,会有一个初始值,俗称“毛皮重量”,我们要去掉这个重量的过程就叫“去毛”。
//****************************************************
//获取毛皮重量
//****************************************************
void Get_Maopi(void)
{
Weight_Maopi = HX711_Read();
}
void Get_Weight(void)
{
HX711_Buffer = HX711_Read();
if(HX711_Buffer > Weight_Maopi)
{
Weight_Shiwu = HX711_Buffer;
Weight_Shiwu = Weight_Shiwu - Weight_Maopi; //获取实物的AD采样数值。
Weight_Shiwu = (s32)((float)Weight_Shiwu/GapValue)-478; //计算实物的实际重量
//因为不同的传感器特性曲线不一样,因此,每一个传感器需要矫正这里的GapValue这个除数。
//当发现测试出来的重量偏大时,增加该数值。
//如果测试出来的重量偏小时,减小改数值。
}
}