用数字滤波呀,比如:连续采样10个数据,去掉2个最大值,2个最小值,其余6个数据求平均值。 |
hhh402 发表于 2019-11-1 17:57 软件上的处理能不能使数据准确些 ,那要这么做 ? |
数据波动大就对了,这个主要是电源的问题,这个芯片需要精密稳压电源才能准确,24位ADC对电源要求很高的,电源越稳定转换的数据就越稳定,hx711能够达到16位就不错了,几块钱的芯片不能要求太高。转换的程序看芯片提供的例程就好。 |
long ReadCount(void) { unsigned long Count; unsigned char i; ii=0; ADSK=0; //使能AD(PD_SCK 置低) ADDO=1; Count=0; while(ADDO&&ii<10000) //AD转换未结束则等待,否则开始读取 ii++; for (i=0;i<24;i++) { ADSK=1; //PD_SCK 置高(发送脉冲) Count=Count<<1; //下降沿来时变量Count左移一位,右侧补零 ADSK=0; //PD_SCK 置低 if(ADDO) Count++; } ADSK=1; Count=Count^0x800000; //第25个脉冲下降沿来时,转换数据 ADSK=0; return(Count); } 经过实物验证的程序 |