分類:其他文章瀏覽:7977發表時間:2020-06-10 22:44:07
首先,確保你的溫度控制器有上限和下限報警功能。如果主控制OUT設置為300℃,上限設置ALM1設置為320℃,下限設置ALM2設置為280℃,主控制長開觸點閉合,開始加熱。當溫度超過280℃時,ALM2觸點閉合,當觸點釋放時,報警停止。當溫度升至300℃時,主控制器停止加熱,當溫度低于295℃時再次開始加熱。當溫度超過320℃時,al m1的觸點將關閉并發出警報。
正確連接儀器電線后,將開關設置為& ldquo下限設置,同時轉動相應的下限設定旋鈕,此時數字顯示所需的下限溫度值,并將開關轉到& ldquo上限設置,同時旋轉相應的上限設定旋鈕,此時數字顯示所需的上限溫度值;將開關轉到& ldquo衡量& rdquo,該數字顯示被測對象的實際溫度值。當實際溫度值低于下限設定值時,綠燈將點亮,上限繼電器將始終點亮和熄滅。當實際值達到或超過下限設定值但仍低于上限設定值時,綠燈和紅燈都熄滅,下限繼電器總是低通,總高通,上限繼電器總是低通,總高通。當實際值達到或超過上限設定值時,紅燈亮。這里,上限繼電器總是低通,總高通。一般情況下,下限繼電器可作為輔助加熱控制輸出,上限繼電器可作為加熱控制輸出,下限繼電器可作為溫度控制輸出,上限繼電器可作為超溫報警輸出。后綴加& ldquoF & rdquo上限要求溫度必須調整到高于下限要求溫度的值。當實際值低于下限值時,綠燈亮,繼電器始終處于低電平,溫度上升;當實際值高于下限值且低于上限值時,仍為總低通,溫度上升;當實際值高于上限值時,紅燈亮,繼電器的總高通和總低通關閉,加熱停止。只有當實際溫度值低于下限值時,綠燈亮,并重復總低通。整個過程只有一個繼電器輸出,方便與負載匹配。
如何設置溫度控制器信號輸出的上限和下限?也就是說,當測量值達到上限時,停止值小于設定值。
1.下限偏差報警設置:按設置鍵選擇& ldquoSLP。,綠色顯示屏顯示參數值,選擇shift、increment和decrement鍵來設置或修改參數。該參數表示報警點低于主控制設定點的差值。
2.上限偏差報警設置:按set鍵選擇& ldquoSHP。,綠色顯示屏顯示參數值,選擇shift、increment和decrement鍵來設置或修改參數。該參數表示報警點高于主控制設定點的差值。
3.刻度范圍設置:按設置選擇& ldquoP & rdquo,綠色顯示屏顯示參數值,選擇shift、increment和decrement鍵來設置或修改參數。& ldquoP & rdquo該值越高,恒溫器的主控制繼電器輸出的靈敏度越低。P & rdquo該值越小,恒溫器主控制繼電器輸出的靈敏度越高。
4.積分時間設置:按設置鍵選擇& ldquo我& rdquo,綠色顯示屏顯示參數值,選擇shift、increment和decrement鍵來設置或修改參數。積分時間設置越短,積分效果越強。
5.差分時間設置:按set鍵選擇& ldquoD & rdquo,綠色顯示屏顯示參數值,選擇shift、increment和decrement鍵來設置或修改參數。儀表設定的微分時間越長,微分動作的校正就越強。
6.刻度周期設置:按設置選擇& ldquoT & rdquo,綠色顯示屏顯示參數值,選擇shift、increment和decrement鍵來設置或修改參數。
7.自調整設置:按設置鍵選擇& ldquoa &τ;& rdquo,綠色顯示屏顯示參數的值,選擇shift、增量和減量鍵來設置或修改參數;設置為& ldquo00。指示自調整已關閉并設置為& ldquo01 & rdquo指示自調整啟動。
8.鎖定參數設置:按設置鍵選擇& ldquoLOK & rdquo,綠色顯示屏顯示鎖定狀態,選擇shift、遞增和遞減鍵來設置或修改該參數;設置為& ldquo00。表示沒有鎖定,設置為& ldquo01 & rdquo指示只有主參數以外的參數被鎖定;設置為& ldquo02 & rdquo指示所有參數都已完全鎖定。參數鎖定后,其他人不能修改;如果需要修改,必須解鎖,即設置為& ldquo00。。
9.主控溫度上限設置:按設置鍵選擇& ldquo個體戶。,綠色顯示屏顯示參數的值,選擇shift、增量和減量鍵來設置或修改參數;該參數表示主控制繼電器的工作溫度不能高于該值,否則主控制設定溫度無效。
10.溫度校正設置:按設置鍵選擇。供應鏈,綠色顯示屏顯示參數的值,選擇shift、增量和減量鍵來設置或修改參數;當溫度控制器在長期運行后產生測量誤差時,該功能可用于校正誤差。如果測量值小于2℃,該參數可設置為02;如果測量值大于2℃,該參數可設置為-2。
人工智能溫控器不僅具有模擬輸出,固態繼電器的低壓側為模擬輸出,還具有正常狀態下的繼電器輸出,即常開、常閉和公共端,以控制接觸器的線圈、多個加熱控制回路和接觸器。如果原來的主控輸出是控制晶閘管,想把它變成接觸器,用戶不太可能,接觸器只能由儀表的上下限報警輸出控制。
根據工作環境的溫度變化,開關內部會發生物理變形,從而產生一些特殊效果。溫度控制器溫度控制開關產生一系列自動控制元件,用于進行或斷開操作,也稱為溫度控制開關、溫度保護器、溫度控制器或簡稱溫度控制器。或者通過溫度傳感器將溫度信號傳輸給溫度控制器,溫度控制器發出開關指令,控制設備運行,達到理想的溫度和節能效果,應用范圍非常廣泛,如熱水系統、烤箱、蔬菜大棚、孵化器、陶瓷窯爐等。
附件是溫度控制程序的源代碼,可以設置上限和下限,僅供參考!
/* -
P0段,位P2。布線從低端開始,段a-h對應于P0.0 - P0.7,位1和2。。對應p 2.0-p 2.7-*//單片機:89C 52//晶振:12MH
#包括《AT89X 52 . h》#包括& ldquoDS18B20.h & rdquo#定義schar有符號字符#定義uint無符號整數
# definecuhar無符號字符//宏定義
sbit set=p3^1;//定義調整鍵sbitdec = P3 2;//定義減少鍵SBIT加= P3 3;//定義添加鍵
sbit jiawen=p3^6;//定義加熱
bit shanshuo _ st//閃爍間隔標志bitbeer _ st//升溫間隔標記
uchar x = 0;//計數器
夏爾姆,PD;//溫度值全局變量uchar n;//溫度值全局變量uchar set _ ST = 0;//狀態標志
schar shangxian = 50//上限報警溫度,默認值50夏爾夏仙= 25;//降低報警溫度,默認值為25 uchar
代碼LEDData[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x 90 };//公共陽碼發光二極管數據1 [] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x 10 };//公共正數代碼/* * * *延遲子程序* * * * */無效延遲(uint num){ while(-num);}
/* * * * * *初始化計時器0 * * * * */void inittimer(){ tmod = 0x 1;TH0=0x3c。TL0=0xb0。//50ms (12m晶振)
/* * * *定時器0中斷服務程序* * * * */void定時器0 (void)中斷1 {
TH0=0x3c。TL0=0xb0。x++;}
/* * * *外部中斷0服務程序* * * * */void int0 (void)中斷0 { ex0 = 0//如果(DEC = = 0 & amp& ampset_st==1) { if(DEC==0)延遲(80);//500
if(DEC==0) {尚賢-;
do { while(DEC = = 0);延遲(80);// }同時(DEC = = 0);如果(尚賢《夏縣》)
尚賢=夏賢;} }否則,如果(DEC = = 0 & amp& ampset_st==2) { if(DEC==0)延遲(80);//if(DEC = = 0){ Xia xian-;do { while(DEC = = 0);延遲(80);// }同時(DEC = = 0);
if(Xia xian《0 》) Xia xian = 0;} } }
/* * * *外部中斷1服務程序* * * * */void int1 (void)中斷2 { ex1 = 0;//如果(ADD = = 0 & amp& ampset_st==1) { if(ADD==0)延遲(80);//500 if(ADD = = 0){ shanxian ++;執行{ while(ADD = = 0);延遲(80);//500 }同時(ADD = = 0);
如果(尚賢)=99,尚賢= 99;} }否則如果(ADD = = 0 & amp& ampset_st==2) { if(ADD==0)延遲(80);//if(ADD = = 0){ Xia xian++;執行{ while(ADD = = 0);延遲(80);//500 }同時(ADD = = 0);如果(Xia xian)Xia xian = shanxian;} } }
/* * * *讀取溫度*****/無效檢查_杜文(){
uint a、b、c;c =讀取溫度()-5;//獲取溫度值,減去DS18B20 a=c/100的溫度漂移誤差;//計算十位數b = c/10-a * 10;//計算得到一個位數m = c/10;//計算得到整數位n = c-a * 100-b * 10;//如果(m0) {m = 0,計算得出小數;n = 0;}//如果(m) "99) {m = 99,設置溫度顯示下限;n = 9;}//設置溫度顯示上限}
/* * * * * *顯示啟動初始化等待屏幕* * * * */Disp _ init(){ P0 = 0x BF;//顯示-P2 = 0xf7;延遲(200);P2 = 0x FB;延遲(200);P2 = 0 xfd;延遲(200);P2 = 0x Fe;延遲(200);P2 = 0x ff;//關閉顯示}
/* * * *顯示溫度子程序* * * * */
顯示溫度()//顯示溫度{ P0 = 0xc6//顯示P2 = 0x Fe;延遲(200);P0 = LedData[n];//顯示位P2 = 0 xfd;延遲(200);P0 =數據1[m % 10];//顯示十位P2 = 0x FB;延遲(200);P0 = LedData[m/10];//顯示100位P2 = 0xf7;延遲(200);P2 = 0x ff;//關閉顯示}
/* * * * * *顯示報警溫度子程序* * * * */DISP _報警(烏恰寶晶)
P0 =0xc6。//顯示P2 = 0x Fe;延遲(200);P0 = LEDData寶晶% 10];//顯示10位P2 = 0 xfd;延遲(200);P0 = LEDData寶晶/10】;//顯示100位P2 = 0x FB;延遲(200);如果(set _ ST = = 1)P0 = 0x 89;否則,如果(set _ ST = = 2)P0 = 0x C7;//上限H和下限L標記為P2 = 0xf7;延遲(200);P2 = 0x ff;//關閉顯示}
/* * * *添加和刪除子程序* * * * */void alarm(){ if(x)= 0){ BEEP _ ST = ~ BEEP _ ST;x = 0;}
//if((m )= shanxian & amp;& ampbeep_st==1)||(m《夏縣& amp& ampbeep_st==1)) //文佳= 0;//否則//上限和下限的兩端被加熱,中間不被加熱//文佳= 1;如果(m) =尚賢)//大于上限停止{文佳= 1;}如果(m "=夏縣)//下降到下限時預熱{文佳= 0;} }
/* * * *主功能* * * * */void main(){ uint z;initTimer();//初始化定時器EA = 1;//全局中斷開關
TR0 = 1;//開始時間0
IT0 = 1;//定時器0脈沖觸發模式,下降沿有效IT1 = 1;//定時器1脈沖觸發模式,下降沿有效校驗_杜文();check _杜文();對于(z = 0;z《300;z++) { Disp _ init();}
而(1) {
如果(SET==0) {延遲(600);//2000 do { } while(SET = = 0);set_st++;x = 0;shan Shu _ ST = 1;if(set _ ST)2)set _ ST = 0;} if(set _ ST = = 0){ EX0 = 0;//關閉外部中斷0 EX1 = 0//關閉外部中斷1 check _杜文();顯示溫度();警報();//加熱測試
否則如果(set_st==1) {文佳= 1;//關閉加熱EX0 = 1;//打開外部中斷0 EX1 = 1;//打開外部中斷1if(x)= 10 { shan Shu _ ST = ~ shan Shu _ ST;x = 0;} if(shan Shu _ ST){ Disp _ alarm(尚賢);} }
否則如果(set_st==2) {文佳= 1;//關閉加熱
EX0 = 1;//打開外部中斷0
EX1 = 1;//打開外部中斷1if(x)= 10 { shan Shu _ ST = ~ shan Shu _ ST;x = 0;} if(山碩_st) {Disp_alarm(夏縣);} } }
/*單片機89C 52 */
#如果定義ds18b 20 _ H #的索引包括《at89x 52 . H 》#定義無符號整數
# definecuhar無符號字符//宏定義
sbit dq=p3^7;//定義DS18B20總線輸入/輸出/* * * * * *延遲子程序* * * * */
void Delay _ DS18B 20(int num){ while(num-)}
/* * * * * *初始化ds18b 20 * * * * */void init _ ds18b 20(void){ uchar x = 0;DQ = 1;//DQ復位延遲_ DS18B 20(8);//稍微延遲8 DQ = 0;//單片機拉DQ下延時_ DS18B 20(32);//精確延遲,大于480 us 80 DQ = 1;//上拉總線延遲_ DS18B 20(14);//14x = DQ;//稍微延遲后,如果x=0,初始化成功,如果x=1,初始化失敗。延遲_ DS18B 20(20);//20 }
/* * * * * *讀取一個字節* * * * */uchar readonechar(void){ uchar I = 0;uchar dat = 0;對于(I = 8;I " 0;I-){ DQ = 0;//至脈沖信號DAT " = 1;DQ = 1;//給出脈沖信號
if(DQ)dat | = 0x 80;延遲_ DS18B 20(4);//4 }
返回(dat);}
/* * * * *寫一個字節* * * * */void write one char(uchardat){ uchari = 0;對于(I = 8;I " 0;I-){ DQ = 0;DQ = dat & amp;0x01延遲_ DS18B 20(5);//5 DQ = 1;dat ”= 1;} }
/* * * * * *讀取溫度* * * * */u形溫度(void){ u char a = 0;uchar b = 0;uint t = 0;浮點TT = 0;init _ DS18B 20();write OneChar(0xCC);//跳過讀取序列號列號WriteOneChar(0x44)的操作;//開始溫度轉換初始化_ DS18B 20();write OneChar(0xCC);//跳過讀取序列號列號WriteOneChar(0xBE)的操作;//讀取溫度寄存器a = ReadNecHar();//讀取低8位b = ReadNecHar();//讀取高8位t = b;t《8 》;t=t|a。tt = t * 0.0625t = TT * 10+0.5;//將輸出放大10倍,并四舍五入(t);}
#endif
/****結束*****/