摘要:基于單片機控制步進電機的水位控制系統,通過金屬棒和水的導電性采集水位信號,結合了單片機輸出電平控制繼電器來控制抽水機的實驗,實現了連續(xù)控制和跟蹤水位,并以液晶實時顯示水位。該方案具有原理簡單、想法新穎、容易實現、精度高等特點,控制系統對于提高工業(yè)自動化水平和提高生活供水質量具有重要的意義。
關鍵詞:水位控制;單片機;步進電機;抽水機
在生產領域中,實現水位自動檢測和控制是工業(yè)過程控制的一項關鍵技術,對于提高工業(yè)過程控制的自動化水平有著重要的意義。
在生活領域中,供水方式過去一般是通過人工來實現控制,容易造成對水資源的浪費,所以現在人們越來越關注水資源的問題。
目前,水位控制系統是受到廣泛應用的供水系統,水位控制可以有多種實現方法,如機械控制、邏輯電路控制、機電控制、傳感器控制等,但傳統的控制方式存在控制精度低、能耗大、不能實現連續(xù)控制和跟蹤水位的特點,所以本論文設計出更方便更準確的水位控制系統。
1 總體方案設計
本系統主要由單片機最小系統電路、水位檢測電路、步進電機驅動電路、水位顯示電路、水泵驅動電路、軟件設計等。設計系統框圖如圖1所示。圖1中的單片機控制模塊為系統的核心部件,鍵盤和顯示器用來實現人機交互功能,其中通過鍵盤將所需要設置的參數和狀態(tài)輸入到單片機中,并且通過控制器顯示到顯示器上,當水箱里的水位下降時,移動探頭也隨著下降,再通過簡單的算法,顯示器實時顯示水箱里的水位。
2 硬件系統設計
2.1 控制器模塊設計
單片機控制器主要用于產生步進電機控制脈沖,對步進電機當前步數進行采集處理,再經過簡單的算法,在終端LCD上顯示當前的水位。對于控制器的選擇采用AT89S52作為系統控制的方案。AT89S52單片機算術運算功能強,軟件編程靈活、自由度大,可用軟件編程實現各種算法和邏輯控制。相對于FPGA來說,它的芯片引腳少,在硬件很容易實現。并且它還具有功耗低、體積小、技術成熟和成本低等優(yōu)點。
2.2 電機驅動模塊設計
本次設計的主要目的是控制電機的轉速,其電機采用兩相四線步進電機,因此電機驅動模塊是必不可少的,其方案決定采用專用的電機驅動芯片L298N,此電機驅動芯片的電路設計簡單、抗干擾能力強、可靠性好。其電路原理圖如圖2所示。
2.3 水位檢測模塊設計
傳統的水位檢測有采用壓力傳感器,再經過AD轉換,傳送到單片機,運算復雜,精度不夠高,或者是采用接觸式拾取信號,在水箱的不同位置安裝若干個金屬棒來感知水位的變化,直接利用金屬和水的導電性采集水位信號,運算簡單,但不能實現連續(xù)水位的監(jiān)控。本次設計利用單片機控制步進電機,在步進電機上懸掛一個移動探頭,探頭接觸到水,則單片機采集到信號為高電平,否則為低電平。本設計能進行連續(xù)水位的監(jiān)控,程序運行簡單,控制精度高,成本低。其電路圖如圖3所示。
2.4 顯示模塊設計
本設計方案采用128x64LCD液晶顯示器,該顯示器功率低,驅動方法和硬件連接電路較為簡單,顯示屏幕大、可對漢字和字符進行顯示。
2.5 進出水模塊設計
在連續(xù)水位控制系統中,系統要對水箱里的水進行出進水控制,本設計采用繼電器控制水泵來控制進出水,單片機控制繼電器簡單,適合工業(yè)的進出水。其電路圖如圖4所示。
3 軟件設計
為了使控制系統各種硬件設備能夠正常運行,有效地實現實時控制和管理,除了要設計合理的硬件電路,還必須要有高質量的軟件支持。軟件設計包括各個模塊的驅動程序的設計,主程序軟件的設計,控制算法的實現。各驅動模塊有鍵盤識別程序,LCD液晶顯示器顯示程序,控制設置程序等。主程序流程圖如圖5所示,鑒于篇幅所限,在此不提供程序源代碼。
4 實驗結果及分析
4.1 給定水位測試
用鍵盤輸入給定的水位高度,其結果如表1所示。
4.2 液面跟蹤測試
啟動跟蹤測試程序,顯示器LCD實時顯示水位的高度,其測試結果如表2所示。
從以上結果來看,誤差值在允許范圍里,電機驅動負載的功率比較低,需要該用性能較好的電機。
5 結論
1)優(yōu)化的軟件算法,智能化的自動控制,誤差補償;2)本課題設計的優(yōu)點在于設計了連續(xù)控制和液面跟蹤水位的系統,這種控制系統克服了傳統基于電極式水位控制系統的缺陷,方案新穎,算法簡單,容易實現,精度高,對實現水位自動檢測和控制具有實際的應用價值。