陳 娟
(鄭州西亞斯學(xué)院電子信息工程學(xué)院,河南 鄭州 451150)
隨著嵌入式系統(tǒng)的迅猛發(fā)展, 這種嵌入式應(yīng)用系統(tǒng)正逐步取代傳統(tǒng)的以單片機為中心的應(yīng)用, 成為未來智能化儀表中的主力軍。目前,工業(yè)生產(chǎn)控制過程需要應(yīng)用大量智能控制儀表,尤其是溫度控制。至今,全世界的溫度控制系統(tǒng)大部分都使用傳統(tǒng)的PID 控制調(diào)節(jié)器,這是因為調(diào)節(jié)器具有規(guī)律簡單、運行可靠、易于實現(xiàn)的特點。然而,溫度是一種常見的過程變量,溫度控制系統(tǒng)大都含有純滯后環(huán)節(jié), 如果使用傳統(tǒng)調(diào)節(jié)器則容易引起系統(tǒng)超調(diào)和振蕩以及系統(tǒng)參數(shù)的變化,這種隨機產(chǎn)生的和不可準(zhǔn)確預(yù)計的變化, 無疑增加了高精度溫度控制的難度。為了解決傳統(tǒng)控制算法在基于智能儀表的溫度控制效果不佳的狀況, 利用現(xiàn)代電子技術(shù), 通過對所需要恒溫裝置進(jìn)行溫度實時高精度采集和控制相關(guān)驅(qū)動電路來使裝置處在恒溫狀態(tài)。
恒溫系統(tǒng)的運用在工業(yè)領(lǐng)域最為常見, 隨著電子技術(shù)的快速發(fā)展, 對工業(yè)領(lǐng)域的現(xiàn)場溫度測控也由以前的指針溫度計、刻度溫度計向數(shù)字式、觸摸屏顯示的智能溫度儀表發(fā)展, 對恒溫系統(tǒng)的精度要求也不斷提高。傳統(tǒng)的利用單片機設(shè)計的恒溫系統(tǒng)己經(jīng)逐漸不能適應(yīng)日漸復(fù)雜的恒溫系統(tǒng)的需求,高精度數(shù)據(jù)處理、友好的人機交互界面、遠(yuǎn)距離智能化的監(jiān)控系統(tǒng)將成了現(xiàn)代智能化系統(tǒng)的迫切需求[3]。伴隨著嵌入式系統(tǒng)的迅猛發(fā)展, 以單片機為中心的傳統(tǒng)應(yīng)用正逐步被嵌入式系統(tǒng)的應(yīng)用所取代[1],成為未來智能化儀器儀表發(fā)展趨勢。
恒溫控制系統(tǒng)的主要功能是實現(xiàn)對溫度的自動控制。溫度傳感器采集水的溫度,經(jīng)過模數(shù)轉(zhuǎn)換得到相應(yīng)的數(shù)據(jù),利用控制芯片STC89C52 對數(shù)據(jù)進(jìn)行處理,通過單片機處理信號后將溫度值顯示在LCD1602液晶顯示屏上,并控制相應(yīng)的設(shè)備對水的溫度實現(xiàn)自動調(diào)節(jié)??傮w設(shè)計思路見圖1。
圖1 系統(tǒng)的總體設(shè)計
主控芯片是STC89C52,其為STC 公司的80C52系列的單片機,存儲器大小為8KB,具有性價比高、功耗低、抗干擾能力強等特點。STC89C52 共計40 個外部引腳,其中24 個I/0 口,即為P0、P1、P2,每個I/0 口含有8 個引腳;電源類的引腳兩個VCC 和GND;晶振引腳XTAL1 和XTAL2;控制類引腳RST/VPP 和ALE/PROG 等。STC89C52 外部引腳圖見圖2。
圖2 STC89C52 外部引腳
溫度傳感器DS18B20 是一款數(shù)字式的溫度傳感器,供電電壓范圍在3 V~5 V 之間,傳感器中采用單總線的接口方式,只需要一個端口就可以實現(xiàn)傳感器與控制芯片之間的數(shù)據(jù)傳輸;測溫范圍為-55 ℃~125℃,以0.5 ℃遞增,實現(xiàn)不同精度測量溫度。并且在傳感器內(nèi)部已近將溫度轉(zhuǎn)換為串行數(shù)字信號[2]。其測溫電路圖見圖3。
圖3 DS18B20 測溫電路
顯示部分是用LCD1602 液晶顯示屏,是一種圖形點陣顯示器,其顯示的工作原理為電壓的改變會引起兩塊平行板之間的液晶材料內(nèi)部分子的填充排列狀況的改變,背光透過顯示屏的的變化來來顯示不同的圖像的變化,而且在兩塊平板間再加上彩色濾光層,就可實現(xiàn)顯示出彩色圖像。LCD1602 性價比高,每行字符串16 個字符,總可以顯示共32 個字符,操作比較簡單,使用時穩(wěn)定可靠,其顯示電路圖,見圖4。
圖4 顯示電路
根據(jù)系統(tǒng)所需要完成的功能和各部分硬件電路所需要的要求,設(shè)計一套基于控制芯片的控制邏輯或控制算法,并將其裝載到控制芯片之中,實現(xiàn)對相應(yīng)硬件設(shè)備的控制,實現(xiàn)該系統(tǒng)所要設(shè)計實現(xiàn)的功能。本設(shè)計主要完成的功能是實現(xiàn)對水溫的檢測、采集,顯示和恒溫控制,為了實現(xiàn)系統(tǒng)功能,需要完成系統(tǒng)初始化程序,按鍵掃描程序,溫度測量程序,顯示程序,數(shù)據(jù)處理程序,設(shè)備控制程序各子程序和主程序的編寫,主程序流程圖見圖5。
圖5 主程序流程
當(dāng)電源開關(guān)按下,主程序開始執(zhí)行,系統(tǒng)初始化,然后判斷系統(tǒng)中溫度設(shè)定鍵是否被按下,若按鍵已經(jīng)按下,則運行按鍵掃描程序?qū)崿F(xiàn)對設(shè)定溫度值的調(diào)整,然后開始執(zhí)行溫度測量程序;若按鍵沒有被按下,則直接運行溫度測量程序。然后運行顯示程序?qū)崿F(xiàn)對設(shè)定值和測量值的顯示,最后經(jīng)過單片機對數(shù)據(jù)的處理然后控制相應(yīng)的設(shè)備工作完成水溫的恒溫自動調(diào)節(jié)。
本次設(shè)計中采用DS18B20 溫度傳感器來測量溫度,要實現(xiàn)將傳感器所測量的溫度值讀取到單片機中,還需要對傳感器寫入相應(yīng)的指令實現(xiàn)對傳感器的控制,讀取到相應(yīng)的溫度數(shù)據(jù),從而實現(xiàn)系統(tǒng)對水溫的測量[7]。而指令的寫入需要調(diào)用傳感器寫數(shù)據(jù)相關(guān)程序,溫度數(shù)據(jù)的讀取需要用到單片機讀數(shù)據(jù)相關(guān)程序。
設(shè)備通過上述程序已經(jīng)可以實現(xiàn)測量溫度和設(shè)定溫度的獲取和顯示,單片機需要對數(shù)據(jù)進(jìn)行處理控制相應(yīng)設(shè)備以實現(xiàn)水溫的自動調(diào)節(jié)[4]。本設(shè)計采用PID 調(diào)節(jié)的方法,通過單片機運算得到設(shè)備的開啟斷開時間,進(jìn)而控制水溫。
首先設(shè)定PID 算法的參數(shù),然后對測量溫度和設(shè)定溫度進(jìn)行比較[8],若測量溫度大于設(shè)定溫度且相差大于20 ℃,則只打開冷水設(shè)備,相差小于20 ℃,則通過進(jìn)行PID 運算得到冷水設(shè)備和熱水設(shè)備的開啟時間。若測量溫度小于設(shè)定溫度且相差大于20 ℃,則只打開熱水設(shè)備,相差小于20 ℃,則通過進(jìn)行PID 運算得到冷水設(shè)備和熱水設(shè)備的開啟時間。
為了保證系統(tǒng)能夠正常運行,需要對系統(tǒng)硬件部分以及軟件部分進(jìn)行調(diào)試。
硬件調(diào)試主要是對硬件系統(tǒng)和各部分電路進(jìn)行檢查,保證各硬件部分可以接受正確的信號和電壓。需要測試未上電狀態(tài)和上電狀態(tài)兩種狀態(tài)[5]。
未上電條件下,檢查各個部分的線路,各個元器件的型號、大小是否和設(shè)計圖上相符。元件的極性是否接反,各個元器件的連接是否正確,元件的極性是否接反,各元件之間的連接是否正確,確認(rèn)無誤后并利用萬用表檢查元件之間的線路是否存在虛焊,漏焊等問題。
檢查無誤后,對系統(tǒng)上電,觀察系統(tǒng)電路板上是否有元件發(fā)熱、燒壞等情況,觀察各元件是否正常工作,然后再使用萬用表測量各元件引腳上的電壓是否符合標(biāo)準(zhǔn)。
軟件調(diào)試一般是指保證硬件一切正常的情況下驗證程序執(zhí)行的時序是否正確,邏輯和結(jié)果是否與設(shè)計要求相符,能否滿足功能和性能要求等。本設(shè)計軟件設(shè)計在Keil uVision4 上編寫,通過檢查無錯誤后,編譯并加載到硬件系統(tǒng)上看是否能達(dá)到系統(tǒng)的功能要求,然后再進(jìn)行修改,直到系統(tǒng)可以完成預(yù)定的功能。
經(jīng)過硬件調(diào)試和軟件調(diào)試沒有問題之后需要將程序?qū)懭胨龅挠布O(shè)備之中,測試系統(tǒng)是否可以實現(xiàn)水溫的恒溫控制,觀察系統(tǒng)是否穩(wěn)定,并通過調(diào)節(jié)相關(guān)硬件和修改軟件使系統(tǒng)功能更加完善。
本研究主要對基于微處理器的水溫恒溫控制系統(tǒng)的設(shè)計,完成硬件電路及軟件部分的設(shè)計,根據(jù)產(chǎn)業(yè)背景和技術(shù)背景,對恒溫混水閥控制器系統(tǒng)的進(jìn)行方案分析,提出了一套有效可行的方案,完成了對整體硬件電路的設(shè)計和軟件的設(shè)計[10]。完成控制器的硬件電路設(shè)計,該硬件電路以處理器為核心處理器,外擴了實現(xiàn)控制器功能必要的一些外設(shè)電路,包括液晶屏電路、電機驅(qū)動電路、觸摸屏電路、溫度采集電路等[9]。對每一個硬件電路模塊進(jìn)行詳細(xì)的原理分析及電路設(shè)計,同時對如何提高控制器在使用上的簡便穩(wěn)定進(jìn)行設(shè)計。通過設(shè)定出水溫度及溫度采集電路所采集到的反饋溫度值來進(jìn)行對步進(jìn)電機控制,實現(xiàn)熱水器的恒溫出水。在恒溫控制上,該系統(tǒng)在實時性與精確上能達(dá)到企業(yè)要求;能快速地得到設(shè)定的溫度值,同時混水閥出水溫度在℃的波動范圍穩(wěn)定出水[6]。針對目標(biāo)板上的硬件資源完成嵌入式μⅡ的裁剪和配置,完成在上移植μⅡ內(nèi)核,同時在移植μ 圖形界面系統(tǒng);在μⅡ上進(jìn)行多任務(wù)開發(fā),使系統(tǒng)具有較強的實時性,同時提供的接口函數(shù)進(jìn)行人機界面設(shè)計,給用戶提供安全穩(wěn)定的溫度控制效果,達(dá)到了恒溫精準(zhǔn)、自動控制的目的。