概述
电路
核心程序
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测温 程序+电路 LM358+TL431+PT100+单片机自带AD所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复