您的位置:首页 > 其它

单片机AD采集电池电量

2018-01-15 09:47 218 查看
void get_power()
{
static float bat = 0;
uint8 battemp = BAT_AD();//信息采集
if(bat == 0) bat=battemp; //如果是第一次采集则把采集值赋给bat
bat += battemp *0.04;//如果是第2次及以后 一阶惯性滤波
CarInfo.BAT = (float)bat * ADconvert; //将AD值转化为电压值

}一阶滤波滞后法
采样值 = 本次采样值*a +上次滤波值 *(1 - a); a = 0 ~ 1

a = 采样时间比滤波时间;

优点 : 对周期性频率干扰有良好的抑制作用,适用于波动频率较高的场合;

缺点 :相位滞后,灵敏度低,滞后取决于a值大小,不能消除滤波频率高于采样频率1/2的感染
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: