李 鋒 周廣益 王安敏
(青島科技大學機電工程學院 青島266061)
隨著科技的進步,人們生活質(zhì)量提高,雙手也得到解放,像是自動洗衣機和刷鞋機的使用。但這些清洗設(shè)備也存在很多詬病,比如現(xiàn)有的刷鞋機,依靠滾筒工作,工作方式極其死板機械,容易對鞋子的外形造成傷害,嚴重影響美觀[1]。而且滾筒內(nèi)工作還會存在鞋子開膠,滾筒內(nèi)殘留鞋底污物等缺點。
根據(jù)這些問題的啟發(fā),本文設(shè)計了一種針對于關(guān)節(jié)假體且基于STC89C52RC單片機的智能清洗設(shè)備系統(tǒng)。該系統(tǒng)采用集成芯片HX711檢測壓力,確保假體不同也可以被夾緊,當清洗完畢后,蜂鳴器會報警提醒用戶取走假體;超聲波模塊來檢測工作機構(gòu)與假體的距離;液位控制模塊可以在設(shè)備水箱中水量不足時啟動水泵向水箱加水;報警信息等需要被顯示的數(shù)據(jù)將顯示到LCD1602液晶屏上。
本設(shè)計中最主要的芯片是STC89C52RC,用來控制各個模塊的協(xié)調(diào)配合。該系統(tǒng)大體分為電源模塊、壓力檢測模塊、液位檢測模塊、超聲波模塊、電機驅(qū)動模塊、輸出模塊,總體設(shè)計框圖如圖1所示。
圖1 系統(tǒng)總框架圖
電源是整個系統(tǒng)正常運行的前提條件,STC89C52RC和其他功能模塊都是在5V直流電源下工作的,所以要給系統(tǒng)提供5V的直流電源。一般家用電為220V交流電,所以須將此電流通過降壓變壓器將為12V交流電然后通過橋式整流器、電容濾波后得到10.8的直流電,還要再后面加一個集成穩(wěn)壓塊和一個較大電容儲能來穩(wěn)定電壓,使得輸出電壓不因負載變化而變化。為保證系統(tǒng)正常運行,還要在設(shè)計的5V電源后加TR1972-33,是的電壓保持在4.4V[2],電路圖如圖2所示。
圖2 電源電路圖
因為各種關(guān)節(jié)假體各不相同,所以要借助壓力檢測模塊讓系統(tǒng)知道關(guān)節(jié)假體是否被壓緊。壓力傳感器選用電阻應(yīng)變片壓力傳感器構(gòu)成電橋[3],將物體的重力轉(zhuǎn)化為電壓信號。因為單片機不能接收模擬信號,所以壓力檢測模塊得到的數(shù)據(jù)必須經(jīng)過模數(shù)轉(zhuǎn)換才可以被單片機所獲得。集成芯片HX711同時具有信號放大和模數(shù)轉(zhuǎn)換的功能[4],故選用該芯片。
因為該設(shè)備體積較小,存儲水量有限,所以需要液位檢測保證工作正常進行。該設(shè)計中選用的是電阻式傳感器,該傳感器成本和精度都可以滿足設(shè)備使用。它得到的是一種0V~5V的電壓信號,因此只要找到電壓與液位的關(guān)系,單片機控制系統(tǒng)就可以根據(jù)換算公式將得到的電壓信號轉(zhuǎn)換為液位高度[5],當液位過低時啟動進水裝置,達到設(shè)定液位停止進水裝置停止工作。
為保證設(shè)備的工作,超聲波傳感器可以確保工作端刷頭和關(guān)節(jié)假體的距離,保證刷毛可以最高效率的完成工作,選用HC-SR04超聲波模塊,電壓滿足直流5V,可以實現(xiàn)自動檢測信號是否返回,測試距離=(高電平時間*聲速(340m/s))/2,精度可以達到3mm[6]。
設(shè)備工作端、假體托桿伸長、進水裝置的工作都需要電機,而電機驅(qū)動模塊則是保證電機正常工作的重要手段,本設(shè)計中采用L293D驅(qū)動芯片驅(qū)動[7]。
輸出模塊分為顯示裝置和報警裝置,顯示裝置會把此時液位位置、壓力檢測模塊反饋值等數(shù)據(jù)顯示在LCD1602液晶屏上;報警裝置會在工作完成和液位長時間不足時報警。
本系統(tǒng)的所有軟件程序采用Keil uVision4的51版本編程[8~9],該程序提供在線仿真調(diào)試功能。主程序流程圖如圖3所示。
圖3 主程序流程圖
首先,對系統(tǒng)進行初始化,初始化結(jié)束后假體托桿開始工作,當壓力檢測模塊將接收的數(shù)據(jù)經(jīng)過模數(shù)轉(zhuǎn)換傳遞給單片機后,數(shù)據(jù)經(jīng)單片機STC89C53RC計算并把之前設(shè)定需要顯示內(nèi)容送到LCD1602液晶屏;設(shè)備工作端勻速向假體位置靠近,超聲波模塊會一直檢測其間的距離,直至到達程序設(shè)定的距離;到達設(shè)定距離,工作端刷頭開始工作,超聲波模塊繼續(xù)工作,當接收的數(shù)據(jù)達到程序認定的工作完成時,蜂鳴器響,報警系統(tǒng)工作,并在LCD1602上顯示“工作完成”,讓用戶知道是清洗結(jié)束。
其次,該設(shè)備還用到定時器中斷功能,保持每隔一段時間對液位進行檢測,即液位檢測模塊。
因為考慮到經(jīng)濟性和便利性,本設(shè)計的水箱的體積受到很大約束,進水速度和液位的起伏波動都會對液位檢測造成影響,這就要求提高供水系統(tǒng)的控制精度。
PID典型的控制算法為
其中,Kp為比例放大系數(shù),TI為積分時間,TD為微分時間。
上述只是PID控制算法的大體設(shè)計思路,但是,對于本系統(tǒng)而言,我們PID控制算法的設(shè)計采用實時監(jiān)測液位的方法,因此必須先對信號進行采樣,然后根據(jù)采樣時刻的偏差值來計算,所以對于式(1)要進行離散化處理[10]。處理之后的表達式為
由此可以看出本系統(tǒng)中我們對系統(tǒng)的電壓值的信號是使用的數(shù)字量,而不是模擬量,即經(jīng)過對算法系統(tǒng)的離散化,就轉(zhuǎn)變成了數(shù)字PID控制[11~14]。系統(tǒng)PID控制將采用圖4所示框架圖。
圖4 供水系統(tǒng)控制原理框圖
神經(jīng)網(wǎng)絡(luò)PID算法即將神經(jīng)網(wǎng)絡(luò)算法與PID算法相結(jié)合,神經(jīng)網(wǎng)絡(luò)算法的特點是對樣本值進行訓練,而對于本系統(tǒng)來講,如何獲取樣本值呢?對此,可以把進水裝置設(shè)備看作一個輸出層,直接讓神經(jīng)網(wǎng)絡(luò)對輸出的電壓值作為樣本進行訓練。本系統(tǒng)中,被控對象會通過神經(jīng)網(wǎng)絡(luò)算法反復訓練,尋找最佳控制方式,隨后對PID控制算法的參數(shù)進行修正。神經(jīng)網(wǎng)絡(luò)PID控制系統(tǒng)結(jié)構(gòu)框圖如圖5所示。
圖5 神經(jīng)網(wǎng)絡(luò)PID控制原理框圖
神經(jīng)網(wǎng)絡(luò)算法設(shè)計實現(xiàn)過程如下[15~16]。
設(shè)輸入網(wǎng)絡(luò)的數(shù)學表達式為
輸出層表達式為
這里三個輸出分量分別對應(yīng)于PID控制算法中三個可調(diào)節(jié)控制參數(shù),即:
輸出層激活函數(shù)為
性能指標函數(shù)為
由此可得輸出的訓練算法為
其中:
這樣,就可以對該系統(tǒng)進行神經(jīng)網(wǎng)絡(luò)算法的訓練,以達到更高的控制精度。
在系統(tǒng)開發(fā)過程中,運用了多個方面的傳感器技術(shù),對于傳感器檢測和單片機控制的對接,我們查閱了大量資料。傳感器的應(yīng)用讓我們的控制更加智能便捷,神經(jīng)網(wǎng)絡(luò)PID控制算法的加入也讓進水裝置控制精度和平滑度有了很大的提高。因為對自動清洗設(shè)備進行了工作方式優(yōu)化,所以自身清潔力度都有所削減,下一步將對此進行更深層的研究。