电路

核心程序
int main(void)
{
u16 adcx;
float temp;
float y1,y2,y3,y4,y5,y6;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //初始化延时函数
uart_init(115200); //初始化串口波特率为115200
LED_Init(); //初始化LED
Adc_Init(); //初始化ADC
while(1)
{
adcx=Get_Adc_Average(ADC_Channel_5,20);//获取通道5的转换值,20次取平均
y1=(3.0f*(1.0f/21.0f));//桥电压
y2=(float)((adcx*(3.3f/4096.0f))/100.0f);
y3=(float)y1+y2;//PT电阻电压
y4=(float)(2000.0f*y3)/(3.0f-y3);//普通电阻阻值
y5=(float) (y4-100.0f)/0.385f; //电阻
y6=y5+17.2f;
printf("rn温度为:");
printf("%f",y6);
printf("度");
LED0=!LED0;
delay_ms(200);
}
}
实物


测试效果

总结
目前和福绿克万用表测温比较了一下,直接计算温差有17度(说明电路和计算存在误差),修正误差以后,和福绿克测温对比,只有2度的误差。
后面会再次优化电路和算法,并且支持多路测温。
原创,未经允许,不得转载。
最后
以上就是着急香氛最近收集整理的关于PT100测温 程序+电路 LM358+TL431+PT100+单片机自带AD的全部内容,更多相关PT100测温内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复