|
1.1
光電鼠標(biāo)代替?zhèn)鹘y(tǒng)的檢測器件的方法,通過AT89S51單片機實現(xiàn)現(xiàn)場的PID控制,使帶傳動速度達到滿意的要求。1檢測系統(tǒng)硬件組成 1.1 OM02光學(xué) 傳感器芯片及鼠標(biāo)控制器這款光學(xué)CMOS傳感器是一款針對個人計算機所配置的非接觸式光電鼠標(biāo)芯片,集成有數(shù)字信號處理器DSP、雙通道正交輸出端口等。在芯片底部有一個感光眼,能夠不斷地對物體進行拍照,并將前后兩次圖像送入DSP中進行處理,得到移動的方向和距離。DSP產(chǎn)生的位移值,轉(zhuǎn)換成雙通道正交信號,配合鼠標(biāo)控制器,將雙通道正交信號轉(zhuǎn)化成單片機能夠處理的PS/ 2數(shù)據(jù)格式。設(shè)備安裝在一套塑料的光學(xué)透鏡設(shè)備上,并配有一個高強度的LED。此外,它可提供高達400點7 in的分辨率以及16 in/ s(1in=25.4mm)以內(nèi)的檢測速度。因OM02芯片為CMOS型傳感器,因此必須配有與之相適應(yīng)的高強度發(fā)光二極管, 發(fā)射角度與底板之間的夾角為30~45。在標(biāo)準(zhǔn)安裝配合后,底板距離工作表面的有效距離在O~2 mm內(nèi),OM02芯片可進行正常的數(shù)據(jù)接收檢測。
1.2
檢測控制原理及系統(tǒng)硬件設(shè)計本系統(tǒng)采用全閉環(huán)控制方式,如圖2所示。將鼠標(biāo)檢測到的位移增量反饋回單片機,并進行數(shù)字式PID控制,然后將運算結(jié)果通過D/ A轉(zhuǎn)換芯片傳給變頻器,進而控制電機的轉(zhuǎn)速。系統(tǒng)主要由電動機、傳動部分、執(zhí)行部分和控制部分組成。機械傳動系統(tǒng)作為機器的重要組成部分,不僅應(yīng)能實現(xiàn)預(yù)期功能,而且應(yīng)具有良好性能。為此,采用三相交流異步電機Y2 --63M1--4型, O.12 kW、變頻器富士FRNO.4C1S--4C、30: 1蝸輪蝸桿減速器、v型B相帶傳輸裝置、P204型球軸承及軸承座等作為模擬工業(yè)設(shè)備的主要傳動及執(zhí)行部分。通過單片機調(diào)整數(shù)模轉(zhuǎn)換器的輸出電壓U,可改變變頻器的輸出頻率,從而改變電機轉(zhuǎn)速。
單片機片機的數(shù)據(jù)通信方式采用PS
鼠標(biāo)的物理接口為6腳圓形接口。使用中只需第1引腳Data、第3引腳GND、第4引腳5VPower和第5引腳Clock這4個引腳即可。鼠標(biāo)履行-種雙向同步串行通信協(xié)議,在時鐘信號的作用下串行發(fā)送或者接收數(shù)據(jù)。通常情況下,單片機在總線上具有總線控制優(yōu)先權(quán),可在任何時候抑制來自于鼠標(biāo)的通信。從鼠標(biāo)到單片機的數(shù)據(jù)在時鐘的下降沿被讀取;相反,單片機到鼠標(biāo)的數(shù)據(jù)在時鐘的上升沿被讀取。時鐘信號總由鼠標(biāo)內(nèi)部的芯片提供,時鐘頻率般在10~20kHz。1單片機對鼠標(biāo)的通信根據(jù)協(xié)議要求,單片機對鼠標(biāo)的控制只需把時鐘線拉低最少100us以上來禁止其通信,并且單片機拉低數(shù)據(jù)線使之處于請求發(fā)送狀態(tài)。時鐘線升為高電平后被PS/2設(shè)備重新拉低,即可開始單片機向鼠標(biāo)的通信。2鼠標(biāo)對單片機的通信因單片機對總線具有控制權(quán),當(dāng)鼠標(biāo)要向單片機發(fā)送信息時,必須先檢查時鐘線是否為高電平。當(dāng)時鐘線出現(xiàn)高電平、數(shù)據(jù)線出現(xiàn)低電平時,表明鼠標(biāo)請求發(fā)送,單片機可以接收來自鼠標(biāo)的數(shù)據(jù)。
第3樓3單片機發(fā)送的控制數(shù)據(jù)按照鼠標(biāo)的PS/2協(xié)議規(guī)范,實際編程時先對鼠標(biāo)發(fā)送Oxff使其復(fù)位,默認(rèn)采樣頻率為100次/ s,縮放比例為1: 1,數(shù)據(jù)報告禁止。使用Oxea命令進入strearn模式,使用Oxe8、0x03命 令設(shè)置解析度為8點/mm,使用Oxf4命令使能數(shù)據(jù)報告。配合AT89S51單片機的定時器功能,將其時間常數(shù)設(shè)置為0.1 s,每次中斷時發(fā)送Oxeb命令讀取位移數(shù)據(jù)信息,每發(fā)出一次,單片機接收到的位移數(shù)據(jù)包都包含有位移信息和按鍵動作信息。具體格式如表1所列。編譯時也只需提取X3的有效數(shù)據(jù)包即YA方向位移增量。
2.2
PID控制軟件算法對該交流變頻調(diào)速系統(tǒng)建模,首先取電壓輸入為一個隨機值,再測得其轉(zhuǎn)速值。取兩個數(shù)值構(gòu)成一個數(shù)據(jù)對,然后對大量數(shù)據(jù)對用Matlab仿真求得其幅頻特性和相頻特性,并且對其幅頻特性和相頻特性進行相似的擬合。根據(jù)擬合的曲線可以近似求得其傳遞函數(shù)為:使用神經(jīng)網(wǎng)絡(luò)PID自適應(yīng)控制對系統(tǒng)進行Matlab的仿真測試,效果令人滿意。但因其輸入層、隱含層、輸出層的多階矩陣運算使得單片機的運算時間大幅度增加,造成時間上的不確定因素增大:同比使用增量型PID控制,盡管后者需調(diào)整3個控制參數(shù),但同樣可使精度達到預(yù)期的效果,運算時間也大幅度下降,為此選用增量型PID算法作為控制算法。增量式數(shù)字PID的控制算法為:其中k為比列系數(shù),ki為積分系數(shù),kd為微分系數(shù);ek為當(dāng)前位移增量與上一次位 移增量的變化量;同理,ek-1、ek 2各為往前時間問隔的位移變化量。利用單片機串行中斷接收功能,可在PC機上實時在線調(diào)節(jié)PID的kp、ki、 kd參數(shù)。3上位機監(jiān)測設(shè)計通過單片機的串口發(fā)送端,在LabVIEW中編寫程序來完成PC機與數(shù)據(jù)通信設(shè)備的數(shù)據(jù)交換,直接通過串口接收外部數(shù)據(jù)并進行圖形顯示,并可將數(shù)據(jù)存放在xt文件當(dāng)中。在LabVIEW中主要是使用VISA控件實現(xiàn)串行口直接數(shù)據(jù)通信,通過RS-232串行接口和LabVIEW實現(xiàn)數(shù)據(jù)的通信。使用read string控件對數(shù)據(jù)進行接收,并通過Waveform graph控件就可以顯示實時波形。在LabVIEW中自帶的范例中,數(shù)據(jù)的接收并非是連續(xù)不斷的,而要通過一定的延時:因此,為了不間斷地接收單片機發(fā)送的串口數(shù)據(jù)包,須將前面的寫和延時都去掉。因串口接收到的數(shù)據(jù)是字符型的,而我們所需要的是整型數(shù)據(jù),因此可通過強制轉(zhuǎn)換將數(shù)據(jù)轉(zhuǎn)換為單精度整型。創(chuàng)建數(shù)組,將數(shù)據(jù)和數(shù)組初始化相結(jié)合得到一個完整的數(shù)組,通過Waveform graph控件以及移位寄存器即可實現(xiàn)上位機的實時顯示與記錄。
第4樓4檢測控制性能評價PS / 2接口最大的使用頻率是33 kHz。本實驗單片機使用12MHz的品振,可輕松實現(xiàn)接口功能。但受其芯片特性的影響,盡管OM02的鼠標(biāo)芯片最高可使用的分辨率為400DPI,但在使用較高分辨率的情況下。鼠標(biāo)傳輸?shù)恼`碼率將有所上升,其位移精度也將受到質(zhì)疑。為保證位移量的準(zhǔn)確性,采用200DPI的分辨率,配合看門狗,精度誤差和程序穩(wěn)定性將人為好轉(zhuǎn)。測試結(jié)果如圖5所示,圖中縱坐標(biāo)為位移增量點,每一點為0.125 mm。帶在較低速的運行中盡管存在速度的上下跳動變化,但跳動量較小。圖中帶速度的設(shè)定值為32點,即40.00 mm/ s靈敏度為0.125 mm/ s,速度平均值為39. 987mm/ s測量數(shù)據(jù)引自速度曲線剛開始穩(wěn)定時的前1000個時間點
|
|