|

楼主 |
发表于 2012-4-5 12:54:56
|
显示全部楼层
考拉 发表于 2012-4-4 22:48 
LZ这个水温控制的精度高么??
精度还可以!你在程序里DS18B20测温精度提高到0.01度, 估计最终误差范围属于0.0几的啦!不过PID参数得调整一下!
由于DS18B20测温误差有0.5摄氏度,就没去那么弄了! 程序里是0.1摄氏度的精度!
//main.c
85行左右 else //正温度
{
tp_flag=0;
/*
emperture=((TPH<<8)|TPL)*0.0625 //温度输出值范围(125.00,-55.00)
temperture=((TPH<<8)|TPL)*0.625+0.5; //温度值放大10倍,精确到1位小数 范围(+1250.00,-550.00)
temperture=(unsigned int)( (unsigned long)( ( (TPH<<8) +TPL )*6.25+0.5 ) );
//温度值放大100倍,精确到2位小数 范围(+12500.00,-5500.00)
*/
temperture=(unsigned int)( (unsigned long)( ( (TPH<<8) +TPL )*0.625+0.5 ) ); // +0.5四舍五入 精度只到小数后一位
}
return(temperture);
} |
|