引 言
隨著時代的發展,數字化控制無疑是人們追求的目標之一,它給人們帶來的方便也是不可否定的,其中數字溫度計就是一個典型的例子,它在信息、電子、物流等許多領域都有廣泛的應用。隨著人們對它的要求越來越高,為現代人工作、科研、生活提供更好、更方便的設施,就需要從單片機技術人手,朝著數字化、智能化控制方向發展。
這里介紹一種數字溫度計的設計制作方案。該設計控制器使用單片機STC89C58,測溫傳感器使用LM94022,用FM1602C液晶顯示實現溫度顯示,設計制作了寬量程高精度多功能數字溫度計能準確達到各種要求。本文設計研制的數字溫度計與傳統的溫度計相比,具有讀數方便,測溫范圍廣,測溫準確的特點,其輸出溫度和時間采用數字顯示,該數字溫度計不僅分辨率高,還可以設置報警溫度上下限,當溫度達到高、低限溫控制點發出聲光報警。該設備主要用于對測溫比較準確的場所或科研實驗室。
1 系統設計方案的論證與比較
1.1 運用LED數碼管顯示與運用LCD液晶顯示溫度及時間
運用LED顯示,提供的信息較少,界面不美觀,顯示時間和溫度極不方便,所占體積也大,且在要表達較多信息時(如兩路溫度值時和時間),需要大量的LED和占用較多的引腳,軟件設計也相對復雜。
LCD可以提供較強的頁面顯示功能,功率小,頁面相對于LED顯示更直觀,更明了;在顯示信息較多時,比LED所占的空間小,性價比更高。
很容易看出,在本設計中采用LCD作為顯示更好。
2.2 靈敏度選擇端GS0及GS1
LM94022根據對GS0,GS1施加的不同電平有4種靈敏度供用戶選擇,如表2所示。用戶可根據測溫范圍及接口電路的工作電壓條件合理選擇。靈敏度由GS0及GS1的電平確定,高電平要求VDD>1.5 V;低電平要求VDD<0.5 V。
2.3 LM94022的輸出特性
LM94022的輸出特性如圖2所示,這是測量溫度與輸出電壓在不同靈敏度時的特性。由于輸出電壓隨溫度升高而下降,其靈敏度為負值。在VDD=5 V時,不同靈敏度下幾個特定溫度值的輸出電壓如表2所示(典型值)。
數字溫度計電路設計的總體方案如圖3所示。采用STC89C58單片機作為主控器件;LCD采用FM1602,單片機中的P0作為其接口,并由P2.5~P2.7控制,用以驅動LCD的顯示;時鐘芯片采用DS1302,用腳P2.2~P2.4作為時鐘芯片控制引腳;LM94022作為溫度傳感芯片,并用TLC2543將其轉化成數字信號,用P3.2~P3.6作為ADC的控制引腳;P1口作為鍵盤的輸人口,用以接收由鍵盤輸出的信號;用P2.1和P2.0分別作為溫度過高和溫度過低的報警控制引腳,P3.7作為蜂鳴器的控制引腳。
3.1 溫度采樣
LM94022采用“10”模式,在0~100℃范圍內,用轉化公式:
T=(1 568-V)×0.122 699 38
對輸出電壓采樣(用運放LM2015作電壓跟隨器)并用ADC轉化,由單片機提取,計算并轉化成溫度。
3.2 時鐘電路
時鐘采用備用電池,在第一次設定時間后,所儲存的信息不會丟失,待下一次電路啟動的時候,無需再次設定時間,方便使用。
3.3 人機交換電路
系統由鍵盤作為人機交換器,4×4結構如圖4所示。其中,Time用于時間設定;L-tem和H-tem分別用于低溫和高溫設定;Return用于返回主界面。
3.4 復位功能
當按下復位鍵時,對系統初始化,系統的低溫設置為0.0℃,高溫設置為90.0℃。
3.5 顯示界面
第一行顯示時間,第二行顯示第一路和第二路的溫度,當出現緊急情況時,第二行顯示原因,第一行顯示第幾路出錯,并將有蜂鳴器鳴叫和LED燈提示。
3.6 數據存儲
硬件存儲功能沒有實現,由于分工出現一些小的問題,導致軟硬件結合不當,設計脫節,最終沒能實現存儲功能。
4 系統軟件設計
系統的軟件由三大模塊組成:主程序模塊、功能實現模塊和運算控制模塊。
4.1 主程序流程
系統上電復位后,進行初始化:選擇T0中斷(工作方式1)并設置定時器初值,溫度測試電路初始化,顯示電路初始化。若有按鍵按下,禁止T0中斷,顯示處理相應事件的界面。處理完事件后,按下Return鍵,T0中斷重新開啟,回到正常的溫度顯示界面;沒有按鍵按下時,如果T0中斷,則更新溫度值,如圖5所示。
4.2 顯示更新程序流程
圖6為顯示更新程序流程圖。如果T0中斷,讀取溫度值并更新溫度值,溫度更新時間為50 ms。對新讀取的溫度值進行處理,如果高于或低于設定溫度值,發出警報,相應二極管發光。最終讀取并顯示溫度信息及時間。
5 測試與結果分析
5.1 系統調試參數分析
測試儀器:萬用表,加熱儀器。
采用程序模擬,事先在電腦軟件上將其模擬好后再下載到單片機中,由于時間有限,有部分硬件程序并未實現。下面就測試結果做大概描述:
表3給出了用萬用表測量LM94022在“10”模式下的電壓輸出值和PDF上的溫度值。
由表3得出顯示溫度比LM94022輸出所代表的溫度小0.46℃,于是將線性公式加以修正:
Tem=Tem+0.46
原因分析:可能是與限流電阻的壓降作用有關,由于限流電阻的作用是必不可少的,而且LM94022輸出電壓波動不大,故用一修正值來彌補這一壓降,以達到較高精度。
5.2 系統實現的功能
(1)能數字顯示被測溫度,測量溫度范圍為0~100℃;
(2)分辨率不低于0.5℃;
(3)提高溫度測量精度,使分辨率不低于0.1℃;
(4)帶有計時和時間顯示功能;
(5)至少有高、低兩路限溫控制輸出接口控制外部電路,實際制作時可用發光二極管模擬顯示其控制狀態輸出;
(6)高、低兩路限溫控制點可在0~100℃范圍內獨立設置;
(7)當溫度達到高、低限溫控制點發出聲光報警;
(8)自動順時測量溫度值;
(9)多路溫度巡檢(至少兩路)。
另外,溫度傳感器可通過導線連接而移動,方便測量不同地點的溫度,切實達到多路測量可移動的效果,改變測量地點時操作方便。
6 結 語
該文報道的溫度計采用了高分辨率的溫度測控芯片LM94022,用FM1602C液晶顯示實現溫度顯示,以STC89C58單片機為控制中心,設計制作了寬量程、高精度、多功能數字溫度計能準確達到各種要求。與傳統的溫度計相比,該數字溫度計具有讀數方便,測溫范圍廣,測溫準確,其輸出溫度和時間采用數字顯示的特點,不僅分辨率高,還可以設置報警溫度上下限,當溫度達到高、低限溫控制點發出聲光報警,在實際溫度控制系統中有廣泛的應用。