PT100测温 程序+电路 LM358+TL431+PT100+单片机自带AD

电路
PT100测温 程序+电路 LM358+TL431+PT100+单片机自带AD_第1张图片
核心程序

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("\r\n温度为:");
		printf("%f",y6);
		printf("度");
		LED0=!LED0;
		delay_ms(200);	
	}
}

实物
PT100测温 程序+电路 LM358+TL431+PT100+单片机自带AD_第2张图片
PT100测温 程序+电路 LM358+TL431+PT100+单片机自带AD_第3张图片
测试效果
PT100测温 程序+电路 LM358+TL431+PT100+单片机自带AD_第4张图片

总结
目前和福绿克万用表测温比较了一下,直接计算温差有17度(说明电路和计算存在误差),修正误差以后,和福绿克测温对比,只有2度的误差。
后面会再次优化电路和算法,并且支持多路测温。

原创,未经允许,不得转载。

你可能感兴趣的:(嵌入式电路和算法,单片机,算法,c语言)