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