基于單片機(jī)的水溫液位自動控制系統(tǒng)設(shè)計
設(shè)計一個測溫及液位自動控制系統(tǒng),水位和水溫都可以在一定范圍內(nèi)由人工設(shè)定,當(dāng)液位低于設(shè)定下限值時,系統(tǒng)能自動加水,以保持設(shè)定液位高度不變。當(dāng)溫度低于設(shè)定值時,系統(tǒng)能實現(xiàn)自動加熱,以保持設(shè)定的溫度基本不變。
系統(tǒng)設(shè)計具體要求如下:
(1)液位可在正常工作范圍內(nèi)任意設(shè)定,上、下限之間最大高度差為100mm;
(2)自動完成注水(液位偏差小于5mm),達(dá)到設(shè)定液位時要有明顯的聲音提示;
(3)具有液位超下限(可設(shè))自動注水功能,自動保持設(shè)定液位高度,偏差小于2mm;
(4)加熱溫度可在室溫至100℃之間任意設(shè)定;
(5)自動完成加熱(溫度偏差小于5℃),達(dá)到設(shè)定溫度時要有明顯的、有別于液位的聲音提示;
(6) 具有溫度超下限(可設(shè))自動加熱功能,自動保持設(shè)定溫度,偏差小于1℃;
(7) 通過手機(jī)完成對該裝置工作參數(shù)無線監(jiān)控。
整個系統(tǒng)采用單片機(jī)作為系統(tǒng)核心控制器,接+5V直流電壓源。按下系統(tǒng)總電源開關(guān)后,系統(tǒng)開始運(yùn)行,顯示器顯示系統(tǒng)當(dāng)前狀態(tài)。用戶可以通過藍(lán)牙手機(jī)遙控預(yù)置溫度和液位高度值。接下來系統(tǒng)會對容器內(nèi)的水溫和水位進(jìn)行檢測,判斷溫度和水位是否低于設(shè)定值,當(dāng)?shù)陀谒辉O(shè)定值時,單片機(jī)會通過控制繼電器的閉合來啟動水泵給容器內(nèi)上水;若是低于溫度設(shè)定值,則單片機(jī)會通過控制繼電器的閉合來啟動電熱壺進(jìn)行加熱操作。每次完成任務(wù)后系統(tǒng)都會有相應(yīng)的語音提示,讓用戶在操作過程中擁有良好的聽覺感受,這使整個系統(tǒng)的設(shè)計更加具有人性化。
溫度采集電路
本設(shè)計中對容器內(nèi)溫度的采集在控制系統(tǒng)中占有很重要的一部分,要想得到精準(zhǔn)的控制效果,精確的溫度信號是關(guān)鍵所在,因此在本設(shè)計中采用DS18B20溫度傳感器進(jìn)行溫度采集。DS18B20溫度傳感器具有獨(dú)特的單線接口,只需1個接口引腳即可通信,信息通過單線接口即可送入DS18B20或從DS18B20送出。與單片機(jī)電路連接圖如圖所示。
DS18B20與單片機(jī)的硬件連接圖
液位檢測電路
本設(shè)計中采用了US-100超聲波傳感器來檢測容器內(nèi)的水位,由單片機(jī)控制超聲波模塊****并進(jìn)行檢波接收,通過串口RX(P3.0引腳)輸出指令0x55到超聲波的Trig/TX管腳,超聲波傳感器會驅(qū)動超聲波****探頭向外****出超聲波,遇到障礙物后****出去的超聲波會被反射回來,超聲波傳感器檢測和處理后,結(jié)果會通過Echo/RX管腳輸出到單片機(jī)的P3.1口,共輸出包含兩個字節(jié)的距離值,前一字節(jié)代表距離高8位(HDate),后者代表距離低8位(LData),計算出(HData*256 +LData)的值即為傳感器距容器內(nèi)液面的高度,由單片機(jī)處理后控制顯示出來,其硬件連接圖如圖所示。
顯示電路
本設(shè)計中顯示模塊采用的是型號為LCD12864的液晶,通過它可以顯示出當(dāng)前水溫和水位的狀態(tài),使容器內(nèi)的水溫水位狀態(tài)有了一個更為直觀的顯示。串行連接除電源線接地線外,只連接3個管腳即可與單片機(jī)進(jìn)行通信。液晶的片選信號端CS、數(shù)據(jù)口SID端以及同步時鐘端SCLK分別按順序與單片機(jī)的P2.0、P2.1、P2.2口相連接,連接電路圖如圖所示。
藍(lán)牙傳輸電路
智能手機(jī)已經(jīng)成為了當(dāng)代人們必備的信息交流工具,而現(xiàn)在的智能手機(jī)都具有藍(lán)牙功能,本設(shè)計中利用外圍單片機(jī)通過串口對藍(lán)牙模塊進(jìn)行開發(fā),使藍(lán)牙模塊和藍(lán)牙手機(jī)建立連接,實現(xiàn)藍(lán)牙設(shè)備與藍(lán)牙手機(jī)之間的無線通信,使用者通過藍(lán)牙手機(jī)即可對該系統(tǒng)進(jìn)行參數(shù)設(shè)置,從而實現(xiàn)用手機(jī)完成對裝置工作參數(shù)的無線監(jiān)控的目的。系統(tǒng)采用型號為HC-06的藍(lán)牙模塊,該型號藍(lán)牙模塊結(jié)構(gòu)功能簡單合理,成本低且能滿足需求。
繼電器控制電路
繼電器實際上是一種用小電流控制大電流的“自動開關(guān)”,通常應(yīng)用在自動控制電路中,起著安全保護(hù)、自動調(diào)節(jié)等作用,是一種電子控制器件。本控制系統(tǒng)利用固態(tài)繼電器的常開觸點(diǎn)來作為接通輔助加熱器和加水裝置的開關(guān)。水溫的加熱是通過電熱壺來實現(xiàn)的,對于電熱壺這種大功率交流元件,STC12C5A60S2是不可能通過自己的引腳來完成的,而需要通過功率放大元件利用220V的交流電來實現(xiàn)加熱和加水。對繼電器動作與否的總控制信號是P1.3口。當(dāng)CPU向P1.3發(fā)高電平信號時,進(jìn)入三極管Q2,此時固態(tài)繼電器導(dǎo)通,同時D2發(fā)光二極管點(diǎn)亮,指示工作狀態(tài)為正在輔助加熱。
電加熱控制電路
水位的補(bǔ)償則是通過水泵來實現(xiàn)的,水泵是大功率交流元件,STC12C5A60S2無法通過自己的引腳來完成對它的控制,而需要通過控制繼電器的閉合220V的交流電來實現(xiàn)水泵加水,控制電路如圖所示。對繼電器動作與否的總控制信號是STC12C5A60S2的P1.4口線。當(dāng)CPU向P1.4發(fā)高電平信號時,進(jìn)入三極管Q1,此時固態(tài)繼電器導(dǎo)通,同時D1發(fā)光二極管點(diǎn)亮,指示工作狀態(tài)為正在加水。
水泵上水控制電路
主程序設(shè)計
主程序是整個系統(tǒng)軟件中的管理者,它管理著程序的走向以及各個子程序的調(diào)用。系統(tǒng)啟動時,程序開始運(yùn)行對各個I/O口進(jìn)行初始化操作,然后啟動超聲波傳感器和DS18B20溫度傳感器對容器內(nèi)的水溫水位進(jìn)行采集測量,并做出相應(yīng)的處理。然后將采集到的數(shù)據(jù)與設(shè)定值進(jìn)行比較,通過計算后根據(jù)PWM脈沖控制繼電器的閉合程度,從而控制水泵和電熱壺來實現(xiàn)水溫水位的調(diào)整。主程序流程圖如圖所示。
溫度控制程序設(shè)計
本系統(tǒng)的水溫采集系統(tǒng)是實時的,系統(tǒng)初始化時,將水溫監(jiān)測模塊對應(yīng)的DS18B20啟用。DS18B20測出的實際溫度送入單片機(jī)中與目標(biāo)值相比較,調(diào)用PWM脈沖產(chǎn)生子程序?qū)﹄姛釅厮鶎?yīng)的繼電器進(jìn)行控制。溫度控制流圖如圖所示。
水位控制程序設(shè)計
首先我們需要對串口進(jìn)行初始化設(shè)置好定時器的工作方式,然后通過程序驅(qū)動讓單片機(jī)向超聲波傳感器的Trig/TX管腳發(fā)送指令0x55,此時超聲波會****8個40KHZ的超聲波脈沖,檢測到回波信號后,將包含兩個字節(jié)的距離值傳送給單片機(jī),通過計算得出容器內(nèi)的液位高度,由單片機(jī)控制調(diào)用PWM脈沖產(chǎn)生子程序?qū)λ盟鶎?yīng)的繼電器進(jìn)行控制,并將當(dāng)前水位狀況送到液晶顯示出來。液位控制流程圖如圖所示。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。