溫度是表征物體冷熱程度的物理量。針對生產(chǎn)中常遇到的多路溫度測控問題,提出以單片機(jī)系統(tǒng)為核心的4路溫度測控儀表的設(shè)計方案。該系統(tǒng)可監(jiān)控4路溫度,同時輸出控制信號直接作用于對象,而無需經(jīng)變換器,節(jié)省大量成本,同時該系統(tǒng)設(shè)計還具有結(jié)構(gòu)緊湊,測量精度高,抗干擾能力強(qiáng).測溫范圍廣。LCD中文界面友好,可遠(yuǎn)程通訊等特點(diǎn)。
2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)設(shè)計分析
溫度控制儀的硬件設(shè)計主要由電加熱爐溫度檢測、環(huán)境溫度檢測、A/D轉(zhuǎn)換、外部晶閘管調(diào)功、人機(jī)交互以及與PC機(jī)通信等部分組成。該系統(tǒng)儀表以單片機(jī)為核心,讀取計算由測量輸入通道進(jìn)入的被測信號,再通過一定的算法計算控制量,送至控制輸出通道至控制信號。同時,單片機(jī)通過通信模塊與PC機(jī)數(shù)據(jù)通信,以及通過人機(jī)交互模塊實(shí)現(xiàn)與操作者的信息交互。圖1為該系統(tǒng)硬件設(shè)計框圖。
4個通道先通過熱電偶測到的電壓值經(jīng)CD405l的八選一模擬選擇開關(guān),再經(jīng)MD轉(zhuǎn)換電路送至單片機(jī)P89V5lRD2,將測得的溫度值與由按鍵或RS-485接口通信接收的設(shè)定值相比較,計算控制量以控制晶閘管輸出,調(diào)整電加熱爐溫度值。液晶顯示模塊FYDl2864則將單片機(jī)測得的4路溫度與設(shè)定值予以顯示。RS-485接口通信模塊除由PC向單片機(jī)發(fā)送設(shè)定值外,還負(fù)責(zé)單片機(jī)通過MAX487向PC發(fā)送所測的溫度值,再傳輸至上位機(jī)進(jìn)行管理和繪圖。
2.2 儀表控制系統(tǒng)
儀表控制系統(tǒng)主要包括單片機(jī)P89V51RD2和看門狗X5045,它是系統(tǒng)的核心,用于系統(tǒng)控制和計算。
圖2中,振蕩器電路中晶體振蕩器頻率為11.059 2 MHz,電容C1和C2都是30 pF。單片機(jī)P89V51RD2的PO.O~P0.7用于連接液晶模塊的數(shù)據(jù)線,P2.0~P.3用于連接液晶模塊的控制線。P89V51RD2型單片機(jī)的Flash程序存儲器支持并行和串行在系統(tǒng)編程(ISP)。并行編程方式提供高速的分組編程方式,可節(jié)省編程花費(fèi)和開發(fā)時間。ISP允許在軟件控制下重復(fù)編程最終產(chǎn)品,其內(nèi)存容量大,4路溫控存取的數(shù)據(jù)較大,并具有較豐富的外設(shè)功能。X5045是一種在單片機(jī)系統(tǒng)中廣泛應(yīng)用的看門狗,內(nèi)置上電復(fù)位、看門狗定時器、電壓監(jiān)控和EEPROM等4種常用功能。其看門狗定時器和電源電壓監(jiān)控功能可對系統(tǒng)起到保護(hù)作用;512x8位的EEPROM用于存儲單片機(jī)系統(tǒng)的重要數(shù)據(jù)。X5045與MCU采用SPI總線接口,可與任意一款單片機(jī)的I/O端口直接連接。該器件內(nèi)部含有一個位指令移位寄存器,該寄存器可通過SI進(jìn)行訪問。數(shù)據(jù)在SCK的上升沿由時鐘同步輸入,在其整個工作期間,西必須是低電平且麗必須是高電平。如果在看門狗定時器預(yù)置的溢出時間內(nèi)無總線活動,說明西引腳電平發(fā)生變化,X5045將提供復(fù)位信號輸出以保證系統(tǒng)可靠運(yùn)行。X5045內(nèi)部有一個“寫使能”鎖存器,在執(zhí)行寫操作之前該鎖存器必須置位,在寫周期完成后,該鎖存器自動復(fù)位。X5045還有一個狀態(tài)寄存器,用于提供其狀態(tài)信息以及設(shè)置塊保護(hù)和看門狗的定時周期。
3 系統(tǒng)軟件設(shè)計
上位機(jī)采用VC++6.0編程實(shí)現(xiàn),一次完整的通信過程分為3個階段:主機(jī)詢問、從機(jī)應(yīng)答和鏈路釋放。系統(tǒng)中溫控儀為下位機(jī)。系統(tǒng)通信采用主從方式,即通信過程由上位機(jī)向下位機(jī)發(fā)送數(shù)據(jù)包,從而發(fā)起一個通信過程:下位機(jī)在接收到該數(shù)據(jù)包并完成相應(yīng)操作后向上位機(jī)回送一個數(shù)據(jù)包,從而結(jié)束該通信過程。這種方式稱為呼叫應(yīng)答式通信。其中下傳方向?yàn)镻C機(jī)向溫控儀傳送數(shù)據(jù),上傳方向?yàn)闇乜貎x向PC機(jī)傳送數(shù)據(jù)。
儀表軟件設(shè)計流程圖如圖3所示,系統(tǒng)上電后,首先進(jìn)行初始化,包括看門狗和液晶顯示的初始化,使系統(tǒng)進(jìn)入正常工作環(huán)境。在進(jìn)入系統(tǒng)前,要將工作經(jīng)驗(yàn)值錄入初始的PID控制參數(shù)和控溫要求。系統(tǒng)開始工作時,需要判斷上位PC機(jī)有無發(fā)送數(shù)據(jù),如果有,進(jìn)行接收并處理設(shè)計值,如果無,則直接處理設(shè)定值。根據(jù)采樣模塊,采樣4通道的溫度值后送到液晶顯示,單片機(jī)根據(jù)4路測量的溫度值與設(shè)定的4路溫度值比較,計算出4路的偏差量,根據(jù)PID控制參數(shù)分別計算四路的控制量,單片機(jī)根據(jù)4路的控制量分別控制晶閘管的導(dǎo)通與關(guān)閉,從而實(shí)現(xiàn)4路的溫度控制。在計算偏差量的同時。如果超過設(shè)定的偏差限幅,則溫高報警,關(guān)斷該回路的晶閘管控制,進(jìn)行故障檢修,避免危險發(fā)生。單片機(jī)根據(jù)測得的各個回路的溫度值及時發(fā)送至上位機(jī),實(shí)現(xiàn)溫度保存和曲線繪制,并根據(jù)測得的溫度值修改PID參數(shù)。在整個測控過程中.還要判斷有無按鍵按下,如果有,根據(jù)鍵盤操作程序判斷是停止測量還是參數(shù)修改,從而實(shí)現(xiàn)系統(tǒng)實(shí)時控制。
4 結(jié)論
4路溫度測控系統(tǒng)是以P89V51單片機(jī)為核心。采用CD4051為溫度測量電路,以數(shù)模轉(zhuǎn)換器ICL7135為輸出電路,完成4臺電加熱爐的溫度測控實(shí)驗(yàn),取得較好實(shí)驗(yàn)結(jié)果:利用串口實(shí)現(xiàn)儀表與上位機(jī)的通信,并用VC++編寫PC端的應(yīng)用程序。實(shí)際調(diào)試結(jié)果證明系統(tǒng)各項(xiàng)技術(shù)指標(biāo)均達(dá)到工業(yè)生產(chǎn)的要求,完成4路智能溫控儀產(chǎn)品樣機(jī)設(shè)計。