给你个711的参考吧:
//校准参数
//因为不同的传感器特性曲线不是很一致,每个传感器需要校准这里的参数才能使测量值准确
#define GapValue 1070
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) * 10; //计算实物的实际重量
}
else
{
Weight_Shiwu = 0;
}
}
上面只是ADC测出来的值,测出的值如果要换成相应的重量或者压力,需要标定一个转换公式,这个你要根据具体的传感器来进行比对。
我用的传感器后来就用了下面的公式,因为在我测量的那一段,相对来说它是呈线性的。
#define K_Value 24
#define B_Value 880
WeightTest = (u32)(Weight_Shiwu*K_Value)+B_Value;
这个只能测单方向的,及要么是拉力 要么是压力。首先获取毛重,然后用上面的函数算出实际的压力:
|