目录
原理图:
引脚介绍:
HX711介绍工作原理:
程序讲解:
整套工程:
发送的代码工程,与博客的不一致,如果编译有报错请按照报错和博客进行修改
原理图:
引脚介绍:
VCC引脚是连接到5V或3.3V的正电源,GND引脚是连接到地的负电源。
DOUT是HX711芯片的数据输出端口,它输出经过A/D转换处理后的24位数据。
SCK是HX711芯片的时钟输入端口,用于控制A/D转换的时钟。
后两个用于接单片机的GPIO口
HX711介绍工作原理:
HX711传感器由一个二进制模数转换器(ADC)和一个放大器组成。ADC可以将模拟信号转换为数字信号,而放大器可以扩大信号的幅度,以便更精确地测量。在称重应用中,HX711传感器可以通过应变量来测量物体的质量。
应变量是由当物体受到压力时会发生应变的特殊材料制成的。将应变量粘贴到测量物体的表面,当物体受到压力并伸展时,应变量也会发生变化。压力越大,应变量的变化也越大。
HX711压力传感器的工作原理基于万用表电桥原理,利用压力传感器的阻值变化来实现重量的测量。
具体的工作流程如下:
-
通过引脚A+和A-接入压力传感器。在未加载的情况下,两个引脚之间的电阻为R1。
-
在HX711芯片中,使用一个基准电压(通常为VCC/2)来作为压力传感器电桥电路的中心点。
-
当压力传感器开始承受载荷时,电桥电路会产生一个微小的电压差。
-
这个电压差通过A+和A-引脚输入到HX711芯片中,并经过内置的差分放大器放大。
-
放大之后的信号被送到24位的A/D转换器中进行数字化处理,并通过DOUT引脚输出。
-
PD_SCK引脚则是用于通过时钟信号来同步转换器的输出数据。
-
最终,通过对输入信号的放大和数字化处理,HX711芯片可以输出重量数据。
程序讲解:
1.HX711初始化
void Init_HX711pin(void)//初始化 { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能PF端口时钟 //HX711_SCK GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // 端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化GPIOB //HX711_DOUT GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//输入上拉 GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_SetBits(GPIOB,GPIO_Pin_0); //初始化设置为0 }
2.读取HX711
u32 HX711_Read(void) //增益128 { unsigned long count; unsigned char i; HX711_DOUT=1; delay_us(1); HX711_SCK=0; count=0; while(HX711_DOUT); for(i=0;i