電路

核心程式
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);
}
}
實物


測驗效果

總結
目前和福綠克萬用表測溫比較了一下,直接計算溫差有17度(說明電路和計算存在誤差),修正誤差以后,和福綠克測溫對比,只有2度的誤差,
后面會再次優化電路和演算法,并且支持多路測溫,
原創,未經允許,不得轉載,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/249545.html
標籤:其他
