趙海霞 王少豪 尹 權(quán) 付天帥
(青島科技大學(xué)機(jī)電工程學(xué)院 青島 266061)
隨著社會(huì)的快速發(fā)展,人們生活水平的提高,對(duì)雞類產(chǎn)品的需求也越來越多,但是現(xiàn)有養(yǎng)雞場(chǎng)的添加混合供水操作方法明顯不適用于大規(guī)模的現(xiàn)代化養(yǎng)殖,添加劑、水的添加都需要相關(guān)工作人員親力親為,隨著小雞的長大及夏季的來到,水的消耗量會(huì)迅速增加,這就需要專門的工作人員進(jìn)行此項(xiàng)工作,工作人員的勞動(dòng)強(qiáng)度被極大的增加,費(fèi)時(shí)費(fèi)力,為了減少這類情況的發(fā)生,本設(shè)計(jì)以STC89C52RC 單片機(jī)為控制核心,多個(gè)輔助單元為支撐通過多學(xué)科融合設(shè)計(jì)了一種基于的智能混合液體系統(tǒng),該系統(tǒng)用流量傳感器來檢測(cè)注入混合罐水和添加劑的含量,來確保注入水和添加劑含量的精度,使用液位傳感器來檢測(cè)液位,當(dāng)液位傳感器檢測(cè)到混合液降至指定液位時(shí),重新向混合罐內(nèi)注水并循環(huán)以上過程。當(dāng)添加劑不足時(shí)蜂鳴器響,報(bào)警系統(tǒng)工作。以上過程都由傳感器全程監(jiān)測(cè)并在LCD1602上顯示,可以讓用戶清晰地知道注入水和添加劑的含量。
本設(shè)計(jì)主要包括軟件和硬件兩個(gè)部分,軟件中以Keil uVision4 的51 版本進(jìn)行編程,硬件中STC89C52RC 單片機(jī)為控制核心,此外還要有多個(gè)檢測(cè)模塊、執(zhí)行模塊、電源模塊以及人機(jī)交互系統(tǒng),由軟硬件之間協(xié)調(diào)配合,實(shí)現(xiàn)液體混合。檢測(cè)模塊主要由液位檢測(cè)模塊、流量檢測(cè)模塊兩個(gè)部分,執(zhí)行模塊由電機(jī)驅(qū)動(dòng)模塊和電磁閥組成,輸出模塊由顯示裝置和報(bào)警裝置組成。總體設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)總框架圖
電源是整個(gè)系統(tǒng)的動(dòng)力源,為系統(tǒng)的正常運(yùn)行提供保障,是模塊平穩(wěn)運(yùn)行的重要基礎(chǔ),在本系統(tǒng)中的控制模塊和檢測(cè)模塊的工作電壓為5V 直流電,而生活電壓一般為220V 交流電。因此首先我們需要將220VAC 處理為5VDC,主要通過降壓、橋式整流、電容濾波、穩(wěn)壓等一系列方式達(dá)到目的。具體電路圖如圖2所示[1]。
圖2 電源電路圖
根據(jù)本系統(tǒng)的需要,選用STC89C52RC 微控制器為本系統(tǒng)的控制核心,STC89C52RC 是一款具有高性能、低功耗且具有8K 字節(jié)系統(tǒng)可編程Flash 存儲(chǔ)器,操作簡單方便快捷,適用于本系統(tǒng)的控制工作。單片機(jī)控制電路如圖3所示[2]。
圖3 STC89C52控制電路
在本設(shè)備中我們需要將水和添加劑按照一定的比例混合,因此我們需要流量檢測(cè)模塊對(duì)所需添加的水和添加劑和含量進(jìn)行檢測(cè)。本設(shè)計(jì)選用液體渦輪流量計(jì),本流量計(jì)可以用來測(cè)量水油等各種液體體積流量,并且具有小、輕、精的特點(diǎn)。此外還可以搭配定量控制箱,通過流量計(jì)通過流量計(jì)提供流量信號(hào)給單片機(jī)控制模塊,在單片機(jī)中設(shè)定需要的定量值,當(dāng)注入水的含量達(dá)到設(shè)定的液位高度時(shí),注水電磁閥關(guān)閉注入添加劑的電磁閥開啟,到達(dá)水和添加劑設(shè)定比例時(shí)自動(dòng)關(guān)閉電磁閥。
在本設(shè)備中需要往混合罐中添加的主體有兩個(gè),并且需要按照比例進(jìn)行混合,只有一個(gè)流量傳感器控制流量,在流量傳感器出現(xiàn)故障時(shí),會(huì)出現(xiàn)流量無法控制的尷尬場(chǎng)景,因此本設(shè)計(jì)采用液位檢測(cè)傳感器進(jìn)行容錯(cuò),限制設(shè)置注入水的最高液位和混合液的最高液位,即使流量傳感器出現(xiàn)故障也可以最大程度地保障水和添加劑的比例混合,由于是容錯(cuò)裝置,所以精度不需要很高,在本設(shè)計(jì)中選用較為傳統(tǒng)的電阻式液位傳感器,這種傳感器價(jià)格較低,精度方面也可以滿足需要。該傳感器的輸出電壓在0~5V之間隨著液位高度的變化而產(chǎn)生對(duì)應(yīng)的電壓波動(dòng),控制系統(tǒng)可以根據(jù)傳感器的輸出電壓判斷出相應(yīng)的液位高度[3],當(dāng)注入水的含量達(dá)到設(shè)定的液位高度時(shí),注水電磁閥關(guān)閉,注添加劑的電磁閥開啟,到達(dá)水和添加劑設(shè)定比例時(shí)電磁閥關(guān)閉。
本設(shè)備要求使水與添加劑完全攪拌混合,因此在混合罐內(nèi)設(shè)置的攪拌機(jī)用于使液體充分混合,在設(shè)備正常運(yùn)轉(zhuǎn)時(shí)進(jìn)水裝置以及攪拌器都需要電機(jī)驅(qū)動(dòng),一般來講定量控制液體進(jìn)入混合罐中伺服電機(jī)是最好的選擇,但是本著節(jié)約成本的原則,本設(shè)計(jì)采用步進(jìn)電機(jī)和L293D 驅(qū)動(dòng)器驅(qū)動(dòng)[4]可以實(shí)現(xiàn)同樣的目的。
輸出模塊部分由報(bào)警裝置和顯示裝置兩部分組成,本設(shè)計(jì)采用LCD1602 液晶進(jìn)行人機(jī)交互界面的顯示控制,它是一款點(diǎn)陣型液晶模塊[5]。在電子表、汽車、空調(diào)等電子領(lǐng)域廣泛應(yīng)用,可以將混合罐中的液位信息、注水和添加劑的流量信息如數(shù)反映在液晶顯示屏上,可以更加直觀地觀察到設(shè)備的工作狀態(tài)。報(bào)警裝置提供報(bào)警功能,在傳感器出現(xiàn)故障以及添加劑液位不足時(shí)報(bào)警,蜂鳴器發(fā)出警報(bào)。液晶顯示電路原理圖如圖4 所示[6]。
本系統(tǒng)所采用的編程軟件為Keil uVision4 的51版本[7~8],該程序可以在線仿真調(diào)試,能夠方便快捷地編寫所需程序。主程序流程圖如圖5所示。
圖5 主程序流程圖
對(duì)程序進(jìn)行初始化設(shè)計(jì),然后由儲(chǔ)水罐向混合罐內(nèi)注水,此時(shí)流量檢測(cè)模塊開始工作,檢測(cè)注入混合罐水的流量數(shù)據(jù),流量傳感器將檢測(cè)到的數(shù)據(jù)經(jīng)過處理后傳遞給單片機(jī)STC89C53RC 并實(shí)時(shí)顯示在液晶顯示屏上,當(dāng)達(dá)到指定水流量時(shí)停止水的注入,并開始向混合罐內(nèi)加入添加劑,當(dāng)達(dá)到添加劑所需容量時(shí),停止注入添加劑,啟動(dòng)攪拌電機(jī)使混合液攪拌均勻,然后輸送到各個(gè)雞舍,當(dāng)液位傳感器檢測(cè)到混合液降至指定液位時(shí),重新向混合罐內(nèi)注水并循環(huán)以上過程。當(dāng)添加劑不足時(shí)蜂鳴器響,報(bào)警系統(tǒng)工作。以上過程都由傳感器全程監(jiān)測(cè)并在LCD1602上顯示,可以讓用戶清晰地知道注入水和添加劑的含量。
此外,該設(shè)備還用到定時(shí)器中斷功能,混合罐需要每隔一段時(shí)間進(jìn)行一次清洗,保持混合罐的清潔以保證混合精度以及小雞的健康。
在本設(shè)計(jì)中,在往混合罐中注水和添加劑的過程中,電磁閥的出水口為非線性狀態(tài),并且在檢測(cè)液位的過程會(huì)有較大的滯后性,在進(jìn)行數(shù)學(xué)模型的建立時(shí),必然后帶來精確度不足[9]的缺陷,為了減少甚至消除這種滯后性帶來的影響,需要選擇合適的算法。傳統(tǒng)意義上的PID 調(diào)控算法有很好的可靠性和魯棒性,但缺點(diǎn)也很明顯具有很大的超調(diào)量值,所以我們?yōu)榱颂岣吖┧到y(tǒng)的控制精度,點(diǎn)這里采用神經(jīng)網(wǎng)絡(luò)PID進(jìn)行禽舍液體混合控制。
對(duì)比例控制方法而言,傳統(tǒng)PID 算法是最為簡易也是最為常見的的一種控制算法,其控制原理如圖6所示。
圖6 PID控制原理圖
上圖中,c(t)-輸出響應(yīng);s(t)-輸入信號(hào);并引入負(fù)反饋和輸入信號(hào)。PID是由比例(P)、積分(I)、微分(D)所構(gòu)成的控制器,該P(yáng)ID 控制器為線性操控,依據(jù)r(t)和y(t)來搭建偏差e(t)的表達(dá)式,即
將t時(shí)刻的實(shí)際輸出值與設(shè)定值的偏差e(t)輸入這三個(gè)部分進(jìn)行計(jì)算可以得到控制量p(t),即:
其中,Kp為比例放大系數(shù),TI為積分時(shí)間,TD為微分時(shí)間。
對(duì)于本系統(tǒng)而言,儲(chǔ)料罐中混合液的液位處于一個(gè)波動(dòng)變化的狀態(tài),所以我們需要對(duì)液位的高度變化進(jìn)行實(shí)時(shí)的監(jiān)測(cè),并把所采集的信息送入PID控制臺(tái),然后根據(jù)采樣時(shí)刻的偏差值來運(yùn)算,所以要對(duì)控制量p(t)進(jìn)行離散化處理[10]。處理之后的表達(dá)式為:
神經(jīng)網(wǎng)絡(luò)PID 算法將神經(jīng)網(wǎng)絡(luò)算法和PID 算法相結(jié)合,由于神經(jīng)網(wǎng)絡(luò)算法是模仿人大腦思維方法的數(shù)學(xué)模型,因此需要通過對(duì)樣本值加以訓(xùn)練與掌握進(jìn)而能夠適應(yīng)環(huán)境的改變,而對(duì)本系統(tǒng)而言,我們也可以將注水裝置設(shè)備作為一個(gè)輸出層,直接由神經(jīng)網(wǎng)絡(luò)對(duì)輸出的電壓值作為樣本加以練習(xí)。得到最佳的控制樣本,對(duì)PID 控制算法的P、I、D 三個(gè)參數(shù)進(jìn)行修正。神經(jīng)網(wǎng)絡(luò)PID 控制系統(tǒng)結(jié)構(gòu)框圖如圖7所示。
圖7 神經(jīng)網(wǎng)絡(luò)PID控制原理框圖
神經(jīng)網(wǎng)絡(luò)算法設(shè)計(jì)實(shí)現(xiàn)過程如下[15~16]:
設(shè)輸入網(wǎng)絡(luò)的數(shù)學(xué)表達(dá)式為
輸出層表達(dá)式為
這里三個(gè)輸出分量分別對(duì)應(yīng)于PID 控制算法中三個(gè)可調(diào)節(jié)控制參數(shù),即:
輸出層激活函數(shù)為
性能指標(biāo)函數(shù)為
由此可得輸出的訓(xùn)練算法為
其中:
這樣,就可以完成對(duì)該系統(tǒng)的神經(jīng)網(wǎng)絡(luò)算法的訓(xùn)練,使其能夠適應(yīng)液位變化情況,從而達(dá)到更高的控制精度。
在系統(tǒng)開發(fā)過程中,運(yùn)用STC89C52 作為本設(shè)計(jì)的控制單元,并且運(yùn)用傳感器技術(shù),實(shí)現(xiàn)傳感器檢測(cè)和控制單元的對(duì)接,更好地實(shí)現(xiàn)了智能化控制,采用神經(jīng)網(wǎng)絡(luò)PID 控制算法,使得進(jìn)水裝置控制精度和抗干擾性都有了很大的提高。確保所需添加的水和添加劑達(dá)到預(yù)期的含量,在家禽養(yǎng)殖生長飲用水的添加上具有廣泛的前景和實(shí)用性。