2019-07-21 07:31发布
comprends 发表于 2016-8-31 17:31 你是指这个吗?Weight_Shiwu = (unsigned int)((float)Weight_Shiwu/4.30+0.05);,改这个4.3?我获得的数 ...
comprends 发表于 2016-8-31 17:37 而且不知道为什么,读这个数据的时候,数据不是一个稳定的小范围,而是一直递增,后三位增个100左右再递减 ...
Clivia 发表于 2016-9-1 11:40 滤波你是怎么做的啊?能发来看下吗?之前一直没考虑过这个,因为我用起来感觉波动可以接受。因为用的150k ...
hyxhyx 发表于 2016-9-1 13:49 可以提供一下您的称重公式吗?
Clivia 发表于 2016-9-1 13:58 dWeight_Shiwu = dWeight_Shiwu - dWeight_Maopi; dWeight_Shiwu = (u32)((float)dWeight_Shiwu/G ...
最多设置5个标签!
滤波你是怎么做的啊?能发来看下吗?之前一直没考虑过这个,因为我用起来感觉波动可以接受。因为用的150kg的传感器,而且对精度要求只到小数点后一位就好。
你这个情况就不对了,能把你读数据的代码贴一下吗
可以提供一下您的称重公式吗?
dWeight_Shiwu = dWeight_Shiwu - dWeight_Maopi;
dWeight_Shiwu = (u32)((float)dWeight_Shiwu/GapValue);
这个dWeight_Shiwu是用前边那个read函数读出来的。
你这个GapValue就是那个系数吗,读数据的代码是一样的。
[mw_shl_code=c,true]unsigned long Read_HX711(void) //¶áHX711D¾Æ¬êä3öêy¾Y
{
unsigned long val = 0;
unsigned char i = 0;
GPIO_SetBits(GPIOB,GPIO_Pin_5); //DOUT=1
GPIO_ResetBits(GPIOB,GPIO_Pin_6); //SCK=0
while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)); //μè′yDOUT=0
DelayUs(1);
for(i=0;i<24;i++)
{
GPIO_SetBits(GPIOB,GPIO_Pin_6); //SCK=1
val=val<<1;
DelayUs(1);
GPIO_ResetBits(GPIOB,GPIO_Pin_6); //SCK=0
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)) //DOUT=1
val++;
DelayUs(1);
}
GPIO_SetBits(GPIOB,GPIO_Pin_6);
val = val^0x800000;
DelayUs(1);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
DelayUs(1);
return val;
} [/mw_shl_code]
一周热门 更多>