導航:首頁 > 電器電路 > 測溫度電路板

測溫度電路板

發布時間:2022-04-27 19:47:38

1. 紅外測溫槍能不能用來近距離測量電路板上各元件的溫度

測PCB電路板對紅外熱像儀要求很高,解析度和精確值都要很高的配置,我們部門用的是艾睿光電M300,有觸摸屏定點測溫,數據也精確。

2. 電路板老化實驗中的溫度控制問題

估計你的溫度感測器在發熱板上,所以控制板的模擬測試可以用數學模擬或電路模擬。各有優缺點。但數學模擬對問題的解決更為深刻徹底。數學模擬可以這樣:

測出發熱器的3個等效參數:

  1. 加熱器的輸入電壓和溫度的比例系數K.

  2. 溫度時間常數T

  3. 加熱滯後時間r(如果有較大滯後的話)

測量時,需要在實際工況下測試,因為設備及工件的散熱與吸熱等對溫度的上升快慢等有影響。

測出後,便可寫出加熱器的數學模型。

這樣,就可以用軟體模擬加熱過程。用電腦模擬2500w的發熱板在內的整個加熱環境,對控制板老化前後進行測試。電腦中加入一塊多路採集卡,可以同時對多塊控制板測試。

3. 在設計的一塊電路板中,客戶要求有對電路板的溫度監控,並且時刻上報當前電路板的溫度!

一般溫度感測來器在電路板上的擺源放位置應放在溫升最高的元器件上或其近旁。這位置一般都是功率較大的器件,例整流元器件(散熱器)變壓器,功放器件等處。這些地方溫度不高,那麼其他地方一定是安全的。溫度感測器可根據使用要求取NTC熱敏電阻或IC,這要根據對後續處理電路的要求來決定。

4. 什麼是溫度控制器電路板線纜連接圖 具體點

溫度控制器電路板就是指具有一定功能的電路板,線纜連接圖,是指電路板上有的地方需要線纜進行連接或者介面出的線纜連接進行示意的圖,叫線纜連接圖。就如你買一個音響一樣,說明書都會說明介面線纜的功能以及接入何處。

5. 電路板在溫度箱中進行測試,平均每次升高5℃,每次升溫要停留多長時間,電路板的溫度才能達到溫度箱溫度。

你看溫度箱的說明書呢。或都放一個測溫器進去。

我覺得你這種測試沒用很較真,差不多就行了。沒必要考慮這么周全。

6. 紅外測溫槍能不能用來近距離測量電路板上各元件的溫度比方測量台式機電腦ATX電源內部各元器件的溫度

能測但是效果不令人滿意,測溫槍一般有一個測溫范圍,不適合測點狀元件溫度,紅色激光是定點用的。

7. 通過什麼東西可以簡單的測出電路板的溫度分部 (不需很精確)

手持紅外測溫儀,很方便的。我們經常檢查電路板和元器件溫度。試試吧。

8. 基於單片機的溫度檢測及其顯示電路板要哪些元件用的C51單片機。DS18B20溫度感測器。1602液晶顯示器,

你可以買現成的851開發板,從幾十到200元的都有,還附帶各種程序。給你個截圖

#include<REG52.H>程序太長傳不完,把時鍾部分刪了,其他自己看吧

#include<intrins.h>

#defineuintunsignedint

#defineucharunsignedchar

sbitDS1302_CLK=P1^1;//實時時鍾時鍾線引腳

sbitDS1302_IO=P1^2;//實時時鍾數據線引腳

sbitDS1302_RST=P1^3;//實時時鍾復位線引腳

sbitwireless_1=P3^0;

sbitwireless_2=P3^1;

sbitwireless_3=P3^2;

sbitwireless_4=P3^3;

sbitACC0=ACC^0;

sbitACC7=ACC^7;

charhide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year;//秒,分,時到日,月,年位閃的計數

sbitSet=P3^4;//模式切換鍵

sbitUp=P3^5;//加法按鈕

sbitDown=P3^6;//減法按鈕

sbitout=P3^7;//立刻跳出調整模式按鈕

sbitDQ=P1^0;//溫度傳送數據IO口

chardone,count,temp,flag,up_flag,down_flag;

uchartemp_value;//溫度值

ucharTempBuffer[5],week_value[2];

voidshow_time();//液晶顯示程序

/***********1602液晶顯示部分子程序****************/

sbitLcdRs =P2^2;

sbitLcdRw =P2^1;

sbitLcdEn =P2^0;

sfrDBPort =0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.數據埠

//內部等待函數**************************************************************************

unsignedcharLCD_Wait(void)

{

LcdRs=0;

LcdRw=1; _nop_();

LcdEn=1; _nop_();

LcdEn=0;

returnDBPort;

}

//向LCD寫入命令或數據************************************************************

#defineLCD_COMMAND 0//Command

#defineLCD_DATA 1//Data

#defineLCD_CLEAR_SCREEN 0x01//清屏

#defineLCD_HOMING 0x02//游標返回原點

voidLCD_Write(bitstyle,unsignedcharinput)

{

LcdEn=0;

LcdRs=style;

LcdRw=0; _nop_();

DBPort=input; _nop_();//注意順序

LcdEn=1; _nop_();//注意順序

LcdEn=0; _nop_();

LCD_Wait();

}

//設置顯示模式************************************************************

#defineLCD_SHOW 0x04//顯示開

#defineLCD_HIDE 0x00//顯示關

#defineLCD_CURSOR 0x02 //顯示游標

#defineLCD_NO_CURSOR 0x00//無游標

#defineLCD_FLASH 0x01//游標閃動

#defineLCD_NO_FLASH 0x00//游標不閃動

voidLCD_SetDisplay(unsignedcharDisplayMode)

{

LCD_Write(LCD_COMMAND,0x08|DisplayMode);

}

//設置輸入模式************************************************************

#defineLCD_AC_UP 0x02

#defineLCD_AC_DOWN 0x00//default

#defineLCD_MOVE 0x01//畫面可平移

#defineLCD_NO_MOVE 0x00//default

voidLCD_SetInput(unsignedcharInputMode)

{

LCD_Write(LCD_COMMAND,0x04|InputMode);

}

//初始化LCD************************************************************

voidLCD_Initial()

{

LcdEn=0;

LCD_Write(LCD_COMMAND,0x38);//8位數據埠,2行顯示,5*7點陣

LCD_Write(LCD_COMMAND,0x38);

LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);//開啟顯示,無游標

LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);//清屏

LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);//AC遞增,畫面不動

}

//液晶字元輸入的位置************************

voidGotoXY(unsignedcharx,unsignedchary)

{

if(y==0)

LCD_Write(LCD_COMMAND,0x80|x);

if(y==1)

LCD_Write(LCD_COMMAND,0x80|(x-0x40));

}

//將字元輸出到液晶顯示

voidPrint(unsignedchar*str)

{

while(*str!='')

{

LCD_Write(LCD_DATA,*str);

str++;

}

}

/***********DS1302時鍾部分子程序******************/

typedefstruct__SYSTEMTIME__

{

unsignedcharSecond;

unsignedcharMinute;

unsignedcharHour;

unsignedcharWeek;

unsignedcharDay;

unsignedcharMonth;

unsignedcharYear;

unsignedcharDateString[11];

unsignedcharTimeString[9];

}SYSTEMTIME; //定義的時間類型

SYSTEMTIMECurrentTime;

#defineAM(X) X

#definePM(X) (X+12) //轉成24小時制

#defineDS1302_SECOND 0x80//時鍾晶元的寄存器位置,存放時間

#defineDS1302_MINUTE 0x82

#defineDS1302_HOUR 0x84

#defineDS1302_WEEK 0x8A

#defineDS1302_DAY 0x86

#defineDS1302_MONTH 0x88

#defineDS1302_YEAR 0x8C

voidDS1302InputByte(unsignedchard) //實時時鍾寫入一位元組(內部函數)

{

unsignedchari;

ACC=d;

for(i=8;i>0;i--)

{

DS1302_IO=ACC0; //相當於匯編中的RRC

DS1302_CLK=1;

DS1302_CLK=0;

ACC=ACC>>1;

}

}

unsignedcharDS1302OutputByte(void) //實時時鍾讀取一位元組(內部函數)

{

unsignedchari;

for(i=8;i>0;i--)

{

ACC=ACC>>1; //相當於匯編中的RRC

ACC7=DS1302_IO;

DS1302_CLK=1;

DS1302_CLK=0;

}

return(ACC);

}

voidWrite1302(unsignedcharucAddr,unsignedcharucDa) //ucAddr:DS1302地址,ucData:要寫的數據

{

DS1302_RST=0;

DS1302_CLK=0;

DS1302_RST=1;

DS1302InputByte(ucAddr); //地址,命令

DS1302InputByte(ucDa); //寫1Byte數據

DS1302_CLK=1;

DS1302_RST=0;

}

unsignedcharRead1302(unsignedcharucAddr) //讀取DS1302某地址的數據

{

unsignedcharucData;

DS1302_RST=0;

DS1302_CLK=0;

DS1302_RST=1;

DS1302InputByte(ucAddr|0x01);//地址,命令

ucData=DS1302OutputByte();//讀1Byte數據

DS1302_CLK=1;

DS1302_RST=0;

return(ucData);

}

voidDS1302_GetTime(SYSTEMTIME*Time)//獲取時鍾晶元的時鍾數據到自定義的結構型數組

{

/***********ds18b20子程序*************************/

/***********ds18b20延遲子函數(晶振12MHz)*******/

voiddelay_18B20(unsignedinti)

{

while(i--);

}

/**********ds18b20初始化函數**********************/

voidInit_DS18B20(void)

{

unsignedcharx=0;

DQ=1;//DQ復位

delay_18B20(8);//稍做延時

DQ=0;//單片機將DQ拉低

delay_18B20(80);//精確延時大於480us

DQ=1;//拉高匯流排

delay_18B20(14);

x=DQ;//稍做延時後如果x=0則初始化成功x=1則初始化失敗

delay_18B20(20);

}

/***********ds18b20讀一個位元組**************/

unsignedcharReadOneChar(void)

{

uchari=0;

uchardat=0;

for(i=8;i>0;i--)

{

DQ=0;//給脈沖信號

dat>>=1;

DQ=1;//給脈沖信號

if(DQ)

dat|=0x80;

delay_18B20(4);

}

return(dat);

}

/*************ds18b20寫一個位元組****************/

voidWriteOneChar(uchardat)

{

unsignedchari=0;

for(i=8;i>0;i--)

{

DQ=0;

DQ=dat&0x01;

delay_18B20(5);

DQ=1;

dat>>=1;

}

}

/**************讀取ds18b20當前溫度************/

voidReadTemp(void)

{

unsignedchara=0;

unsignedcharb=0;

unsignedchart=0;

Init_DS18B20();

WriteOneChar(0xCC); //跳過讀序號列號的操作

WriteOneChar(0x44); //啟動溫度轉換

delay_18B20(100);//thismessageisweryimportant

Init_DS18B20();

WriteOneChar(0xCC); //跳過讀序號列號的操作

WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器)前兩個就是溫度

delay_18B20(100);

a=ReadOneChar(); //讀取溫度值低位

b=ReadOneChar(); //讀取溫度值高位

temp_value=b<<4;

temp_value+=(a&0xf0)>>4;

}

voidtemp_to_str()//溫度數據轉換成液晶字元顯示

{

TempBuffer[0]=temp_value/10+'0';//十位

TempBuffer[1]=temp_value%10+'0';//個位

TempBuffer[2]=0xdf;//溫度符號

TempBuffer[3]='C';

TempBuffer[4]='';

}

voidDelay1ms(unsignedintcount)

{

unsignedinti,j;

for(i=0;i<count;i++)

for(j=0;j<120;j++);

}

/*延時子程序*/

voidmdelay(uintdelay)

{ uinti;

for(;delay>0;delay--)

{for(i=0;i<62;i++)//1ms延時.

{;}

}

}

voidoutkey()//跳出調整模式,返回默認顯示

{ucharSecond;

if(out==0||wireless_1==1)

{mdelay(8);

count=0;

hide_sec=0,hide_min=0,hide_hour=0,hide_day=0,hide_week=0,hide_month=0,hide_year=0;

Second=Read1302(DS1302_SECOND);

Write1302(0x8e,0x00);//寫入允許

Write1302(0x80,Second&0x7f);

Write1302(0x8E,0x80);//禁止寫入

done=0;

while(out==0);

while(wireless_1==1);

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////

voidUpkey()//升序按鍵

{

Up=1;

if(Up==0||wireless_2==1)

{

mdelay(8);

switch(count)

{case1:

temp=Read1302(DS1302_SECOND);//讀取秒數

temp=temp+1;//秒數加1

up_flag=1;//數據調整後更新標志

if((temp&0x7f)>0x59)//超過59秒,清零

temp=0;

break;

case2:

temp=Read1302(DS1302_MINUTE);//讀取分數

temp=temp+1;//分數加1

up_flag=1;

if(temp>0x59)//超過59分,清零

temp=0;

break;

case3:

temp=Read1302(DS1302_HOUR);//讀取小時數

temp=temp+1;//小時數加1

up_flag=1;

if(temp>0x23)//超過23小時,清零

temp=0;

break;

case4:

temp=Read1302(DS1302_WEEK);//讀取星期數

temp=temp+1;//星期數加1

up_flag=1;

if(temp>0x7)

temp=1;

break;

case5:

temp=Read1302(DS1302_DAY);//讀取日數

temp=temp+1;//日數加1

up_flag=1;

if(temp>0x31)

temp=1;

break;

case6:

temp=Read1302(DS1302_MONTH);//讀取月數

temp=temp+1;//月數加1

up_flag=1;

if(temp>0x12)

temp=1;

break;

case7:

temp=Read1302(DS1302_YEAR);//讀取年數

temp=temp+1;//年數加1

up_flag=1;

if(temp>0x85)

temp=0;

break;

default:break;

}

while(Up==0);

while(wireless_2==1);

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////

voidDownkey()//降序按鍵

{

Down=1;

if(Down==0||wireless_3==1)

{

mdelay(8);

switch(count)

{case1:

temp=Read1302(DS1302_SECOND);//讀取秒數

temp=temp-1; //秒數減1

down_flag=1;//數據調整後更新標志

if(temp==0x7f)//小於0秒,返回59秒

temp=0x59;

break;

case2:

temp=Read1302(DS1302_MINUTE);//讀取分數

temp=temp-1;//分數減1

down_flag=1;

if(temp==-1)

temp=0x59;//小於0秒,返回59秒

break;

case3:

temp=Read1302(DS1302_HOUR);//讀取小時數

temp=temp-1;//小時數減1

down_flag=1;

if(temp==-1)

temp=0x23;

break;

case4:

temp=Read1302(DS1302_WEEK);//讀取星期數

temp=temp-1;//星期數減1

down_flag=1;

if(temp==0)

temp=0x7;;

break;

case5:

temp=Read1302(DS1302_DAY);//讀取日數

temp=temp-1;//日數減1

down_flag=1;

if(temp==0)

temp=31;

break;

case6:

temp=Read1302(DS1302_MONTH);//讀取月數

temp=temp-1;//月數減1

down_flag=1;

if(temp==0)

temp=12;

break;

case7:

temp=Read1302(DS1302_YEAR);//讀取年數

temp=temp-1;//年數減1

down_flag=1;

if(temp==-1)

temp=0x85;

break;

default:break;

}

while(Down==0);

while(wireless_3==1);

}

}

voidSetkey()//模式選擇按鍵

{

Set=1;

if(Set==0||wireless_4==1)

{

mdelay(8);

count=count+1; //Setkey按一次,count就加1

done=1; //進入調整模式

while(Set==0);

while(wireless_4==1);

}

}

voidkeydone()//按鍵功能執行

{ucharSecond;

if(flag==0)//關閉時鍾,停止計時

{Write1302(0x8e,0x00);//寫入允許

temp=Read1302(0x80);

Write1302(0x80,temp|0x80);

Write1302(0x8e,0x80);//禁止寫入

flag=1;

}

Setkey(); //掃描模式切換按鍵

switch(count)

{case1:do //count=1,調整秒

{

outkey(); //掃描跳出按鈕

Upkey();//掃描加按鈕

Downkey();//掃描減按鈕

if(up_flag==1||down_flag==1)//數據更新,重新寫入新的數據

{

Write1302(0x8e,0x00);//寫入允許

Write1302(0x80,temp|0x80);//寫入新的秒數

Write1302(0x8e,0x80);//禁止寫入

up_flag=0;

down_flag=0;

}

hide_sec++;//位閃計數

if(hide_sec>3)

hide_sec=0;

show_time();//液晶顯示數據

}while(count==2);break;

case2:do //count=2,調整分

{

hide_sec=0;

outkey();

Upkey();

Downkey();

if(temp>0x60)

temp=0;

if(up_flag==1||down_flag==1)

{

Write1302(0x8e,0x00);//寫入允許

Write1302(0x82,temp);//寫入新的分數

Write1302(0x8e,0x80);//禁止寫入

up_flag=0;

down_flag=0;

}

hide_min++;

if(hide_min>3)

hide_min=0;

show_time();

}while(count==3);break;

case3:do //count=3,調整小時

{

hide_min=0;

outkey();

Upkey();

Downkey();

if(up_flag==1||down_flag==1)

{

Write1302(0x8e,0x00);//寫入允許

Write1302(0x84,temp);//寫入新的小時數

Write1302(0x8e,0x80);//禁止寫入

up_flag=0;

down_flag=0;

}

hide_hour++;

if(hide_hour>3)

hide_hour=0;

show_time();

}while(count==4);break;

case4:do //count=4,調整星期

{

hide_hour=0;

outkey();

Upkey();

Downkey();

if(up_flag==1||down_flag==1)

{

Write1302(0x8e,0x00);//寫入允許

Write1302(0x8a,temp);//寫入新的星期數

Write1302(0x8e,0x80);//禁止寫入

up_flag=0;

down_flag=0;

}

hide_week++;

if(hide_week>3)

hide_week=0;

show_time();

}while(count==5);break;

case5:do //count=5,調整日

{

hide_week=0;

outkey();

Upkey();

Downkey();

if(up_flag==1||down_flag==1)

{

Write1302(0x8e,0x00);//寫入允許

Write1302(0x86,temp);//寫入新的日數

Write1302(0x8e,0x80);//禁止寫入

up_flag=0;

down_flag=0;

}

hide_day++;

if(hide_day>3)

hide_day=0;

show_time();

}while(count==6);break;

case6:do //count=6,調整月

{

hide_day=0;

outkey();

Upkey();

Downkey();

if(up_flag==1||down_flag==1)

{

Write1302(0x8e,0x00);//寫入允許

Write1302(0x88,temp);//寫入新的月數

Write1302(0x8e,0x80);//禁止寫入

up_flag=0;

down_flag=0;

}

hide_month++;

if(hide_month>3)

hide_month=0;

show_time();

}while(count==7);break;

case7:do //count=7,調整年

{

hide_month=0;

outkey();

Upkey();

Downkey();

if(up_flag==1||down_flag==1)

{

Write1302(0x8e,0x00);//寫入允許

Write1302(0x8c,temp);//寫入新的年數

Write1302(0x8e,0x80);//禁止寫入

up_flag=0;

down_flag=0;

}

hide_year++;

if(hide_year>3)

hide_year=0;

show_time();

}while(count==8);break;

case8:count=0;hide_year=0;//count8,跳出調整模式,返回默認顯示狀態

Second=Read1302(DS1302_SECOND);

Write1302(0x8e,0x00);//寫入允許

Write1302(0x80,Second&0x7f);

Write1302(0x8E,0x80);//禁止寫入

done=0;

break;//count=7,開啟中斷,標志位置0並退出

default:break;

}

}

voidshow_time()//液晶顯示程序

{

DS1302_GetTime(&CurrentTime);//獲取時鍾晶元的時間數據

TimeToStr(&CurrentTime);//時間數據轉換液晶字元

DateToStr(&CurrentTime);//日期數據轉換液晶字元

ReadTemp();//開啟溫度採集程序

temp_to_str();//溫度數據轉換成液晶字元

GotoXY(12,1);//液晶字元顯示位置

Print(TempBuffer);//顯示溫度

GotoXY(0,1);

Print(CurrentTime.TimeString);//顯示時間

GotoXY(0,0);

Print(CurrentTime.DateString);//顯示日期

GotoXY(15,0);

Print(week_value);//顯示星期

GotoXY(11,0);

Print("Week"); //在液晶上顯示字母week

Delay1ms(400);//掃描延時

}

main()

{

flag=1;//時鍾停止標志

LCD_Initial();//液晶初始化

Init_DS18B20();//DS18B20初始化

Initial_DS1302();//時鍾晶元初始化

up_flag=0;

down_flag=0;

done=0;//進入默認液晶顯示

wireless_1=0;

wireless_2=0;

wireless_3=0;

wireless_4=0;

while(1)

{

while(done==1)

keydone();//進入調整模式

while(done==0)

{

show_time();//

9. 冰箱電路板上LCZF和LCKJ怎麼測一個溫度探頭

今天看了一下電路板,這幾個分別指環境溫度感溫頭,冷藏室感溫頭,冷凍室感溫頭。
電路板的名稱有:陶瓷電路板,氧化鋁陶瓷電路板,氮化鋁陶瓷電路板,線路板,PCB板,鋁基板,高頻板,厚銅板,阻抗板,PCB,超薄線路板,超薄電路板,印刷(銅刻蝕技術)電路板等。線路板按層數來分的話分為單面板,雙面板,和多層線路板三個大的分類。
首先是單面板,在最基本的PCB上,零件集中在其中一面,導線則集中在另一面上。
因為導線只出現在其中一面,所以就稱這種PCB叫作單面線路板。

10. 單片機中一塊具有監測溫度和壓力(或氣壓、液壓)的電路板,實物展示的時候有什麼方法可以改變這些數據

既然是監測溫度和壓力,就要有感測器,如熱源靠近溫度感測器,溫度升高就對了,液體壓力感測器可放入水中,氣體壓力感測器可放入橡膠袋內進行擠壓,都可以使數據改變。
當然你要保證你的感測器量程合適,如果量程是幾兆帕,用手擠或放入1米深水中,數據是不會有明顯變化的。

閱讀全文

與測溫度電路板相關的資料

熱點內容
佛山大雄傢具 瀏覽:871
聯想一體機上門維修電話 瀏覽:694
遼寧地震儀器設備維修中心 瀏覽:835
去摩托羅拉售後修手機要帶什麼意思 瀏覽:953
維修配件合同印花稅屬於什麼類 瀏覽:264
國家電網擬錄取審核什麼意思 瀏覽:747
萬利達深圳維修點 瀏覽:170
西安2小米售後在哪裡 瀏覽:603
長沙華凌空調維修售後 瀏覽:31
昕動保修 瀏覽:469
地鐵一公里防水多少錢 瀏覽:396
華為保修期去保修要帶什麼過去 瀏覽:528
株洲市水電維修哪個平台好 瀏覽:674
佳能武漢維修點 瀏覽:119
滎經宏達家電在哪裡 瀏覽:714
iPad如何找售後 瀏覽:688
惠普刀片伺服器售後電話 瀏覽:779
家電維修自製工具 瀏覽:111
電梯維修費多少 瀏覽:235
宏發傢具廠在哪裡 瀏覽:14