请教hx711通过AD转换回来的值误差很大,如何解决?

2020-01-20 19:04发布

        我想通过hx711测回来的压力,然后通过方程转化为高度,。发现测回来的
高度和压力成非线性,导致误差好大,请问坛友如何解决?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
ilikemcu
1楼-- · 2020-01-20 20:03
你这个非线性应该来自于压力传感器自身吧,这个只有做线性修正了,软件处理。查表法,分段法,多次函数拟合等等很多方法。
根据实际需要的精度找个合适的来吧。
yuanpiggy
2楼-- · 2020-01-20 20:43
ilikemcu 发表于 2015-4-25 10:45
你这个非线性应该来自于压力传感器自身吧,这个只有做线性修正了,软件处理。查表法,分段法,多次函数拟合 ...
  1. void Get_Weight()
  2. {
  3.        
  4.         Weight_Shiwu = HX711_Read();
  5.         Weight_Shiwu = Weight_Shiwu - Weight_Maopi;                //获取净重
  6.         if(Weight_Shiwu >= 0)                       
  7.         {       
  8.                         Weight_Shiwu = (unsigned long)((float)Weight_Shiwu/GapValue);         //计算实物的实际重量

  9.         }
  10.         else
  11.         {
  12.                 Weight_Shiwu = 0;
  13.         }

  14.                 if(Weight_Shiwu>=0.0||Weight_Shiwu<=2.0)
  15.                 {
  16.                         high=(30.07*Weight_Shiwu);
  17.                 }
  18.        
  19.                 else
  20.                  if(Weight_Shiwu>=2.0||Weight_Shiwu<=3.0)
  21.                 {
  22.                         high=(32.94*Weight_Shiwu);
  23.                 }
  24.                 else
  25.         {
  26.                 high =0;
  27.         }
  28.        
复制代码

然后我用分段函数来写,但是为什么只会执行if(Weight_Shiwu>=0.0||Weight_Shiwu<=2.0)
                {
                        high=(30.07*Weight_Shiwu);
                }
        第二条都不会执行。

一周热门 更多>