本人采集数据过程中,每个数值都是已经经过50次平均值计算,包括去掉最大值和最小者,但是还是出现干扰的杂波温度,实在不知道怎么消除了??
368 度 368 度 370 度 368 度 373 度 369 度 372 度 372 度 376 度 377 度 382 度 381 度 386 度 363 度 370 度
370 度 373 度 376 度 378 度 382 度 382 度 393 度 363 度 371 度 375 度 374 度 381 度 383 度 383 度 387 度
373 度 375 度 378 度 380 度 377 度 386 度 367 度 375 度 372 度 378 度 378 度 383 度 381 度 385 度 374 度
376 度 379 度 377 度 383 度 384 度 381 度 384 度 392 度 380 度 379 度 385 度 382 度 382 度 383 度 381 度
386 度 383 度 380 度 388 度 384 度 385 度 382 度 389 度 387 度 386 度 390 度 387 度 389 度 389 度 389 度
429 度 1130 度 391 度 396 度 394 度 394 度 395 度 394 度 393 度 397 度 399 度 395 度 401 度 565 度 399 度
412 度 405 度 399 度 400 度 402 度 406 度 407 度 406 度 408 度 406 度 405 度 468 度1720 度 401 度 407 度
402 度 407 度 407 度 404 度 878 度 400 度 525 度 404 度 462 度 400 度 406 度 405 度 407 度 408 度 403 度
408 度 408 度 409 度
max=mm=0;min=0xffff;WD = 0; //,WD(烙铁温度)
for(i=0;i<52;i++)
{
ADC_SoftwareStartConvCmd(ADC2, ENABLE); //ADC2转换使能
while(!ADC_GetFlagStatus(ADC2,ADC_FLAG_EOC)); //等待ADC2转换完成
mm=ADC_GetConversionValue(ADC2); //n次转换数值相加
if(max<mm)max=mm;
if(min>mm)min=mm;
WD = WD+mm;
}
WD = WD-max-min;
WD=WD/50;
WD=(WD+sWD+s1WD)/3;
s1WD=sWD;
sWD=WD;
谢谢 !!! |
还是从电路硬件上作滤波或消除干扰,是否是50HZ的干扰,则在数字哉上加专滤50HZ的滤波器。