陳巍(1970-)
男,江西撫州人,碩士,講師,主要從事電子教學(xué)及研究。
摘要:本文針對全國大學(xué)生電子設(shè)計(jì)大賽運(yùn)動控制試題之一《液體點(diǎn)滴速度監(jiān)控》的控制要求,提出了一種基于單片機(jī)和步進(jìn)電機(jī)液滴自動監(jiān)控的研究方法。考慮到控制的可靠性及精確性,在軟件設(shè)計(jì)中使用了PID軟件算法進(jìn)行液滴速度的測算,形成一個閉環(huán)傳遞控制系統(tǒng)實(shí)現(xiàn)精確的控制。
關(guān)鍵詞:光電傳感器;PID算法;步進(jìn)電機(jī);單片機(jī);液晶顯示
Abstract: Aiming at the controlling requirement of the Monitoring of Dropping Rate of Liquid, one of the motion control test questions of National Undergraduate Electronic Design Contest,this paper offers a research method of the automatic monitoring based on SCM and stepper motor. In view of the reliability and accuracy of the control, PID software algorithm is used in software design to measure and calculate the dropping rate, and a transfer system with the closed loop is formed to realize accurate control.
Key words: photosensor; PID algorithm; stepper motor; SCM; liquid-crystal display
1 控制要求概述
2003年全國電子設(shè)計(jì)大賽F題為設(shè)計(jì)并制作一個液體點(diǎn)滴速度監(jiān)測與控制裝置,要求:
(1)如圖1所示,滴斗處檢測點(diǎn)滴速度并制作一個數(shù)顯裝置,能動態(tài)顯示點(diǎn)滴速度。
(2)通過改變儲液瓶高度控制點(diǎn)滴的速度控制,點(diǎn)滴速度可以用鍵盤設(shè)定并顯示,設(shè)定范圍為20~150滴/分。
(3)當(dāng)液面高度降到警戒值(2~3cm),能發(fā)出報警信號。
(4)設(shè)計(jì)并制作有主站控制16個從站的有線控制系統(tǒng)。
根據(jù)上述要求將任務(wù)分解為:液滴檢測任務(wù)、液滴速度控制任務(wù)、液面過低報警任務(wù)、主站從站通信任務(wù)。本論文將根據(jù)上述任務(wù)從如下幾個方面對其進(jìn)行闡述:
a 系統(tǒng)的總體硬件結(jié)構(gòu)設(shè)計(jì)將以硬件結(jié)構(gòu)圖的形式予以闡述,以控制核心為主體,進(jìn)行輸入與輸出的分析并從硬件的選擇包括檢測裝置,液晶顯示和通信傳輸裝置進(jìn)行闡述。
b 軟件設(shè)計(jì)主要從系統(tǒng)流程的設(shè)計(jì),算法的實(shí)現(xiàn)等方面進(jìn)行分析和闡述。
c 結(jié)果分析
圖1 點(diǎn)滴裝置示意圖
2 硬件結(jié)構(gòu)設(shè)計(jì)
本設(shè)計(jì)是基于STC89C52單片機(jī)為控制核心,通過步進(jìn)電機(jī)控制輸液瓶的高度來實(shí)現(xiàn)液體滴定的速度,利用光電開關(guān)實(shí)現(xiàn)對液滴速度的檢測并將相關(guān)數(shù)據(jù)顯示在液晶顯示屏上,當(dāng)液面降至禁戒線時發(fā)出聲光報警。硬件結(jié)構(gòu)框圖如圖2所示。
2.1點(diǎn)滴速度控制
該點(diǎn)滴裝置采用步進(jìn)電機(jī)來調(diào)節(jié)輸液瓶的高度,由于步進(jìn)電機(jī)精度高,無位置累積誤差,可靠性高等特點(diǎn),能夠滿足其控制滴斗中液滴滴下速度的精確性要求,因其可以通過電脈沖來改變步進(jìn)電機(jī)的步進(jìn)角精確實(shí)現(xiàn)輸液瓶的高度控制從而實(shí)現(xiàn)點(diǎn)滴速度控制。此系統(tǒng)采用L298對步進(jìn)電機(jī)進(jìn)行控制,電機(jī)控制模塊硬件圖如圖3所示。

圖3 電機(jī)驅(qū)動模塊原理圖
2.2 液滴速度檢測控制
選用光電開關(guān)進(jìn)行液滴的速度檢測,其優(yōu)點(diǎn)是測量范圍遠(yuǎn),靈敏度高;將光電開關(guān)安裝在滴斗壁上,當(dāng)液滴滴下時,會給光電開關(guān)產(chǎn)生一個信號,通過在一分鐘內(nèi)采集數(shù)個信號所用的時間就可以計(jì)算出液滴滴下的速度。其工作原理如圖4所示。

圖4(a) 光電開關(guān)原理圖

圖4(b) 利用光電開關(guān)檢測液滴速度
2.3 單片機(jī)通信總線
主站與從站之間通信總線采用485總線,通信接口芯片采用SN75LBC184,實(shí)現(xiàn)STC89C52的異步串行接口與RS232C標(biāo)準(zhǔn)串行通信電路之間的電平轉(zhuǎn)換,通信電路可以將16個輸液從站與主站的主機(jī):連接起來構(gòu)成輸液監(jiān)控網(wǎng)絡(luò),從而實(shí)現(xiàn)輸液的遙測,遙控。
2.4 液晶顯示模塊
利用1602液晶顯示如圖5所示,其優(yōu)點(diǎn)是顯示直觀,內(nèi)容豐富;其用來顯示液滴滴速和顯示報警信息。

圖5 液晶顯示原理圖
2.5 鍵盤設(shè)計(jì)
本設(shè)計(jì)采用的是4*4掃描鍵盤,其由四條I/O線作為行線,4條I/O線作為列線,在行線與列線的交叉點(diǎn)上設(shè)置交叉點(diǎn),使其形成矩陣式排列,如圖6所示。

圖6 矩陣鍵盤原理圖
2.6 警戒線檢測
利用光電開關(guān)對輸液瓶中液體進(jìn)行檢測,當(dāng)高度低于警戒值給單片機(jī)發(fā)送報警信號。將光電開關(guān)安裝在輸液壁上,當(dāng)液面高于警界線時,會給光電開關(guān)產(chǎn)生一個信號,使其保持高電平,當(dāng)沒有接收到信號時,產(chǎn)生低電平,從而予以報警。如圖7所示。

圖7 光電傳感器檢測原理圖
3 軟件的算法及軟件設(shè)計(jì)
3.1 液滴速度的算法
控制輸液瓶的高度來控制液滴地下的速度,假設(shè)滴斗到儲液瓶的高度為H1且滴速夾固定不變,如圖8所示。
由圖中所示可以得到液滴在高為H1處落下所產(chǎn)生的壓強(qiáng)的物理公示:

考慮到滴速夾,輸液管的摩擦等原因,將影響到理想情況下的液體壓強(qiáng),假設(shè)所有阻尼為f,假設(shè)在管子的某個截面上產(chǎn)生了重力引起的壓強(qiáng)和一個向上的阻尼,經(jīng)過多次的實(shí)驗(yàn)測試,可以得到其重力引起的壓強(qiáng)和阻尼之間存在著線性關(guān)系,從而對液滴速度產(chǎn)生影響。

圖8 系統(tǒng)框圖
根據(jù)功率可得方程:

由上式可以得到滴速v的表達(dá)式,其中f受管道摩擦和滴速夾影響,所以要保證f不變就必須保證滴速夾固定不變。
3.2 采用PID算法調(diào)速
要得到H1與液滴速度v之間的關(guān)系,需要用到PID算法,此算法能夠解決復(fù)雜的工程計(jì)算。其實(shí)質(zhì)是根據(jù)輸入的偏差值,按一定的函數(shù)關(guān)系進(jìn)行運(yùn)算,其運(yùn)算結(jié)果用以控制輸出。
在此系統(tǒng)中,PID采用差分方程表示:

通過上式可以求得其輸出控制量 u(k) 對應(yīng)于系統(tǒng)的輸出y(位置),是全量輸出,形成了一個閉環(huán)傳遞函數(shù),系統(tǒng)框圖如圖8所示。

圖9 位置型PID算式
3.3 點(diǎn)滴周期算法
通過采集幾個相鄰間隔脈沖信號周期Ti,平均得到相鄰間隔脈沖信號的周期T,這樣就可以得到點(diǎn)滴速度


圖10 點(diǎn)滴速度測量
3.4 電機(jī)驅(qū)動設(shè)計(jì)算法
此系統(tǒng)采用L298對步進(jìn)電機(jī)進(jìn)行控制,可以通過電脈沖來改變步進(jìn)電機(jī)的步進(jìn)角,且能提供步進(jìn)電機(jī)所需負(fù)載。用過該步進(jìn)角來改變輸液瓶的高度從而實(shí)現(xiàn)液滴速度的改變。通過集成芯片L298可以直接驅(qū)動步進(jìn)電機(jī)。本系統(tǒng)中使用的步進(jìn)電機(jī)所需要的脈沖電流幅度是0.6A,電壓幅度是12V,繞組阻抗是20Ω,力矩為8.5 Kg×cm,力臂40mm。通過集成芯片L298可以直接驅(qū)動步進(jìn)電機(jī)。單片機(jī)輸出四路脈沖信號控制電動機(jī)轉(zhuǎn)動相位角。單片機(jī)產(chǎn)生四相四拍脈沖信號的波形如圖11所示。
3.5 點(diǎn)滴速度檢測算法
以每分鐘記錄點(diǎn)滴數(shù)。通過乘法計(jì)算出點(diǎn)滴速度,此方法在點(diǎn)滴速度恒定的情況下,可以采用多個單位時間取均值,從而求得單位時間的平均點(diǎn)滴數(shù),這種方法可以實(shí)現(xiàn)較高的精度。設(shè)T=200ms,當(dāng)檢測到第一個到來的脈沖信號時,程序進(jìn)行中斷處理,將計(jì)數(shù)器存儲內(nèi)容讀出,再將計(jì)數(shù)器清零作為記錄脈沖信號的,當(dāng)定時器定時到達(dá)200ms時,程序中斷檢測輸入信號是否有脈沖信號到來,同時計(jì)數(shù)器加1,另外設(shè)定計(jì)數(shù)器記錄檢測到的脈沖信號個數(shù),設(shè)定計(jì)數(shù)器的存儲單元是10,這樣可以通過循環(huán)存儲脈沖個數(shù)。在定時器中取出5個相臨脈沖信號點(diǎn)這樣就能計(jì)算出5個脈沖點(diǎn)所需要的時間為:

其中sum=n2-n1根據(jù)上面的理論分析和計(jì)算,得到點(diǎn)滴速度測量的程序框圖如圖12所示。

圖11 四相四拍脈沖信號

圖 12 點(diǎn)滴速度測量
4 測速結(jié)果及結(jié)果分析
表1

由表格中數(shù)據(jù)可見,該電路可靠性高,誤差小,主要得益于步進(jìn)電機(jī)的精確控制和軟件算法的合理運(yùn)用,所以只要選用的測試方法合理,控制方案及調(diào)節(jié)手段合適完全可以得到良好的控制效果。
[1] 陶永華等.新型PID控制及其應(yīng)用[M].北京: 機(jī)械工業(yè)出版社.
[2] 王治剛.單片機(jī)典型系統(tǒng)設(shè)計(jì)[M].北京: 電子工業(yè)出版社.
[3] 張愛萍.硬件電路設(shè)計(jì)原理[M].哈爾濱: 哈爾濱工業(yè)大學(xué)出版社.
[4] 張偉.Protel 99SE高級應(yīng)用[M].北京: 人民郵電出版社.
信息來源:自動化博覽