基于光電鼠標(biāo)傳感器的帶速度精密測量及其控制系統(tǒng)
來源:網(wǎng)絡(luò) 2012-07-08 關(guān)鍵詞:傳動裝置 傳感器 速度控制 控制系統(tǒng) 摘要:對于普通的帶傳動裝置進(jìn)行較高精度的速度控制,傳統(tǒng)的檢測及控制器件未必能讓人滿意。光電鼠標(biāo)芯片因以其高精度、低現(xiàn)場環(huán)境要求、價格低廉等因素非常適用于位置檢測場合。鑒于此,結(jié)合光電鼠標(biāo)芯片與AT89S51單片機(jī),通過對普通帶傳動裝置的改進(jìn),可使其達(dá)到快速、穩(wěn)定、準(zhǔn)確的傳動速度。測試表明,這種檢測及控制方式是行之有效的?! ∫浴 鲃邮枪I(yè)生產(chǎn)中使用普遍的傳輸裝置,其常用的速度檢測裝置是安裝在電機(jī)旋轉(zhuǎn)端的光電編碼器。但設(shè)備在長期使用中,因磨損等不可預(yù)計情況,使得電機(jī)轉(zhuǎn)速與帶傳動速度出現(xiàn)嚴(yán)重的不一致。這種半閉環(huán)控制方式在需要較高精度的帶傳動速度控制上誤差很大。光柵尺等因價格昂貴、對現(xiàn)場環(huán)境要求高,往往對于普通工況中的的帶傳動裝置改裝并不很適用。鑒于此,本文提出了使用一般商用的光電鼠標(biāo)代替?zhèn)鹘y(tǒng)的檢測器件,通過AT89S51單片機(jī)實現(xiàn)現(xiàn)場的PID控制,使帶傳動速度達(dá)到我們滿意的要求?! ?.檢測系統(tǒng)硬件組成 1.1 OM02光學(xué)傳感器芯片及鼠標(biāo)控制器 這款光學(xué)COMS傳感器是一款針對個人計算機(jī)所配置的非接觸式光電鼠標(biāo)芯片。他集成有數(shù)字信號處理器(DSP)、雙通道正交輸出端口等。在芯片底部有一個感光眼,能夠不斷的對物體進(jìn)行拍照,并將前后兩次圖像送入DSP中進(jìn)行處理,得到移動的方向和距離。DSP產(chǎn)生的位移值,轉(zhuǎn)換成雙通道正交信號,配合鼠標(biāo)控制器,將雙通道正交信號轉(zhuǎn)結(jié)成單片機(jī)能夠處理的PS/2數(shù)據(jù)格式。設(shè)備安裝在一套塑料的光學(xué)透鏡設(shè)備上,并一個配備有一個高強(qiáng)度的LED。此外,他可提供高達(dá)400點/英寸的分辨率以及16英寸/秒以內(nèi)的速度檢測。 圖1為鼠標(biāo)芯片的安裝裝配圖。因OM02芯片為COMS型傳感器,因此必須配備有與之相適應(yīng)的高強(qiáng)度發(fā)光二極管,發(fā)射角度與底板夾角30。~45。范圍內(nèi)。在標(biāo)準(zhǔn)安裝配合后,底板距離工作表面的有效距離在0mm~2mm內(nèi),OM02芯片可進(jìn)行正常的數(shù)據(jù)接收檢測?! ?.2檢測控制原理 本系統(tǒng)采用全閉環(huán)控制方式,如下圖圖2,將鼠標(biāo)檢測到位移增量反饋回單片機(jī),并進(jìn)行數(shù)字式PID控制,運算結(jié)果通過D/A轉(zhuǎn)換芯片傳給變頻器,從而控制電機(jī)的轉(zhuǎn)速?! ?center>
本實驗系統(tǒng)主要由原動機(jī)、傳動部分、執(zhí)行部分和控制部分組成。機(jī)械傳動系統(tǒng)作為機(jī)器的重要組成部分,不僅應(yīng)能實現(xiàn)預(yù)期功能,而且應(yīng)具有良好性能。為此,本實驗采用三相交流異步電機(jī)(Y2-63M1-4型,0.12KW)、變頻器(富士FRN0.4C1S-4C),30:1蝸輪蝸桿減速器、v型B相帶傳輸裝置、P204型球軸承及軸承座等作為模擬工業(yè)設(shè)備的主要的傳動及執(zhí)行部分。通過單片機(jī)調(diào)整數(shù)模轉(zhuǎn)換器的輸出電壓U,可改變變頻器的輸出頻率,從而改變電機(jī)轉(zhuǎn)速?! ?. 單片機(jī)程序設(shè)計 2.1 鼠標(biāo)通信協(xié)議原理 鼠標(biāo)與單片機(jī)的數(shù)據(jù)通信方式采用PS/2通信協(xié)議。PS/2鼠標(biāo)的物理接口為6腳圓形接口,使用中只需1引腳Data、3引腳GND、4引腳+5VPower和5引腳Clock這4個引腳即可。鼠標(biāo)履行一種雙向同步串行通信協(xié)議,在時鐘信號的作用下串行發(fā)送或者接受數(shù)據(jù)。通常情況下,單片機(jī)在總線上具有總線控制優(yōu)先權(quán),可在任何時候抑制來自于鼠標(biāo)的通信。從鼠標(biāo)到單片機(jī)的數(shù)據(jù)在時鐘的下降沿被讀取,相反,單片機(jī)到鼠標(biāo)的數(shù)據(jù)在時鐘的上升沿被讀取。時鐘信號總由鼠標(biāo)內(nèi)部芯片提供,時鐘頻率一般在10~20KHz?! ?.1.1 單片機(jī)對鼠標(biāo)的通信 根據(jù)協(xié)議要求,單片機(jī)對鼠標(biāo)的控制只需把時鐘線拉低最少100us以上來禁止其通信,并且單片機(jī)拉低數(shù)據(jù)線使之處于請求發(fā)送狀態(tài)。如圖3所示,當(dāng)時鐘線升為高電平后被PS/2設(shè)備重新拉低,即可開始單片機(jī)向鼠標(biāo)的通信?! ?center>
2.1.2 鼠標(biāo)對單片機(jī)的通信 因單片機(jī)對總線具有控制權(quán),當(dāng)鼠標(biāo)要向單片機(jī)發(fā)送信息時,必須先檢查時鐘線是否為高電平。如圖4所示,當(dāng)時鐘線出現(xiàn)高電平,數(shù)據(jù)線出現(xiàn)低電平,表明鼠標(biāo)請求發(fā)送,單片機(jī)可以接受來自鼠標(biāo)的數(shù)據(jù)?! ?center>
2.1.3單片機(jī)發(fā)送的控制數(shù)據(jù) 按照鼠標(biāo)的PS/2協(xié)議規(guī)范,實際編程時先對鼠標(biāo)發(fā)送0xff使其復(fù)位,默認(rèn)采樣頻率為100次/秒,縮放比例1:1,數(shù)據(jù)報告禁止。使用0xea命令進(jìn)入stream模式、使用0xe8,0x03命令設(shè)置解析度為8點/毫米。使用0xf4命令使能數(shù)據(jù)報告。配合AT89S51單片機(jī)的定時器功能,將其時間常數(shù)設(shè)置為0.1s,每次中斷時發(fā)送0xeb命令讀取位移數(shù)據(jù)信息,每發(fā)出一次,單片機(jī)接收到的位移數(shù)據(jù)包都包含有位移信息和按鍵動作信息。具體格式為表1所示。編譯時也只需提取X3的有效數(shù)據(jù)包即Y方向位移增量
2.2 PID控制軟件算法 使用神經(jīng)網(wǎng)絡(luò)PID自適應(yīng)控制對系統(tǒng)進(jìn)行matlab的仿真測試,效果頗令人滿意。但因其輸入層、隱含層、輸出層的多階矩陣運算使得單片機(jī)的運算時間大幅度的增加,造成時間上的不確定因素增大,同比使用增量型PID控制,盡管后者需調(diào)整三個控制參數(shù),但同樣可使精度達(dá)到我們預(yù)期的效果,運算時間則大幅度下降,為此仍可選用增量型PID算法作為控制。算法增量式數(shù)字PID的控制算法為: U(k)=U(k-1)+*(e(k)-e(k-1))+*e(k)+*(e(k)-2e(k-1)+ e(k-2)) 其中e(k)為當(dāng)前位移增量與上一次位移增量的變化量, 同理e(k-1)、e(k-2)各為往前時間間隔的位移變化量。 利用單片機(jī)串行中斷接收功能,可在PC機(jī)上實時調(diào)節(jié)PID的kp,ki,kd參數(shù)?! ?.上位機(jī)監(jiān)測設(shè)計 通過單片機(jī)的串口發(fā)送,在LabVIEW中編寫程序來完成PC 機(jī)控制數(shù)據(jù)通信設(shè)備進(jìn)行數(shù)據(jù)交換,直接通過串口接收外部數(shù)據(jù)并進(jìn)行圖形顯示,并可以將數(shù)據(jù)存放在txt文件當(dāng)中。在Labview中主要是通過VISA控件實現(xiàn)串行口直接數(shù)據(jù)通信,通過RS-232串行接口和Labview實現(xiàn)數(shù)據(jù)的通信?! ?center>
使用read string控件可以用來顯示。數(shù)據(jù)接收并非連續(xù)不斷的接收,而是通過一定的延時。為實現(xiàn)不間斷的接收單片機(jī)發(fā)送的串口數(shù)據(jù)包,須將前面的寫和延時都去掉。因串口接收到的數(shù)據(jù)是字符型的,通過強(qiáng)制轉(zhuǎn)換將數(shù)據(jù)轉(zhuǎn)換為單精度整型。創(chuàng)建數(shù)組將數(shù)據(jù)和數(shù)組初始化相結(jié)合得到一個完整的數(shù)組,通過Waveform graph控件以及移位寄存器即可實現(xiàn)上位機(jī)的實時顯示與記錄?! ? 檢測控制性能評價 PS/2接口最大的始終頻率是33kHz。本實驗單片機(jī)使用12MHz的晶振,可輕松完成接口功能。但受其芯片的特性的影響,盡管OM02的鼠標(biāo)芯片最高可使用的分辨率為400DPI,但在使用較高分辨率的情況下,鼠標(biāo)傳輸?shù)恼`碼率將有所上升,其位移精度也將受到質(zhì)疑。為保證位移量的準(zhǔn)確性,采用200DPI的分辨率,配合看門狗,精度誤差和程序穩(wěn)定性將大為好轉(zhuǎn)?! ?.結(jié)語 使用光電鼠標(biāo)作為檢測帶運動的速度傳感器,其價格低廉、準(zhǔn)確性高而且使用方便,再配合單片機(jī)的數(shù)字式PID控制以及l(fā)abview軟件的圖形檢測,可以很好的對速度要求較低、要求精度不是非常高的設(shè)備進(jìn)行改裝,使其達(dá)到輸出速度穩(wěn)定。又因為光電鼠標(biāo)技術(shù)已趨于成熟,在一般分辨率的情況下下對檢測表面的要求不高,在比較惡劣的工況下仍可保證運行無障礙。而近些年所推出的激光鼠標(biāo),其分辨率可達(dá)到0.01毫米,效果甚佳。該實驗在北京某半導(dǎo)體企業(yè)進(jìn)行了現(xiàn)場測試,效果理想。
本實驗系統(tǒng)主要由原動機(jī)、傳動部分、執(zhí)行部分和控制部分組成。機(jī)械傳動系統(tǒng)作為機(jī)器的重要組成部分,不僅應(yīng)能實現(xiàn)預(yù)期功能,而且應(yīng)具有良好性能。為此,本實驗采用三相交流異步電機(jī)(Y2-63M1-4型,0.12KW)、變頻器(富士FRN0.4C1S-4C),30:1蝸輪蝸桿減速器、v型B相帶傳輸裝置、P204型球軸承及軸承座等作為模擬工業(yè)設(shè)備的主要的傳動及執(zhí)行部分。通過單片機(jī)調(diào)整數(shù)模轉(zhuǎn)換器的輸出電壓U,可改變變頻器的輸出頻率,從而改變電機(jī)轉(zhuǎn)速?! ?. 單片機(jī)程序設(shè)計 2.1 鼠標(biāo)通信協(xié)議原理 鼠標(biāo)與單片機(jī)的數(shù)據(jù)通信方式采用PS/2通信協(xié)議。PS/2鼠標(biāo)的物理接口為6腳圓形接口,使用中只需1引腳Data、3引腳GND、4引腳+5VPower和5引腳Clock這4個引腳即可。鼠標(biāo)履行一種雙向同步串行通信協(xié)議,在時鐘信號的作用下串行發(fā)送或者接受數(shù)據(jù)。通常情況下,單片機(jī)在總線上具有總線控制優(yōu)先權(quán),可在任何時候抑制來自于鼠標(biāo)的通信。從鼠標(biāo)到單片機(jī)的數(shù)據(jù)在時鐘的下降沿被讀取,相反,單片機(jī)到鼠標(biāo)的數(shù)據(jù)在時鐘的上升沿被讀取。時鐘信號總由鼠標(biāo)內(nèi)部芯片提供,時鐘頻率一般在10~20KHz?! ?.1.1 單片機(jī)對鼠標(biāo)的通信 根據(jù)協(xié)議要求,單片機(jī)對鼠標(biāo)的控制只需把時鐘線拉低最少100us以上來禁止其通信,并且單片機(jī)拉低數(shù)據(jù)線使之處于請求發(fā)送狀態(tài)。如圖3所示,當(dāng)時鐘線升為高電平后被PS/2設(shè)備重新拉低,即可開始單片機(jī)向鼠標(biāo)的通信?! ?center>
2.1.2 鼠標(biāo)對單片機(jī)的通信 因單片機(jī)對總線具有控制權(quán),當(dāng)鼠標(biāo)要向單片機(jī)發(fā)送信息時,必須先檢查時鐘線是否為高電平。如圖4所示,當(dāng)時鐘線出現(xiàn)高電平,數(shù)據(jù)線出現(xiàn)低電平,表明鼠標(biāo)請求發(fā)送,單片機(jī)可以接受來自鼠標(biāo)的數(shù)據(jù)?! ?center>
2.1.3單片機(jī)發(fā)送的控制數(shù)據(jù) 按照鼠標(biāo)的PS/2協(xié)議規(guī)范,實際編程時先對鼠標(biāo)發(fā)送0xff使其復(fù)位,默認(rèn)采樣頻率為100次/秒,縮放比例1:1,數(shù)據(jù)報告禁止。使用0xea命令進(jìn)入stream模式、使用0xe8,0x03命令設(shè)置解析度為8點/毫米。使用0xf4命令使能數(shù)據(jù)報告。配合AT89S51單片機(jī)的定時器功能,將其時間常數(shù)設(shè)置為0.1s,每次中斷時發(fā)送0xeb命令讀取位移數(shù)據(jù)信息,每發(fā)出一次,單片機(jī)接收到的位移數(shù)據(jù)包都包含有位移信息和按鍵動作信息。具體格式為表1所示。編譯時也只需提取X3的有效數(shù)據(jù)包即Y方向位移增量
使用read string控件可以用來顯示。數(shù)據(jù)接收并非連續(xù)不斷的接收,而是通過一定的延時。為實現(xiàn)不間斷的接收單片機(jī)發(fā)送的串口數(shù)據(jù)包,須將前面的寫和延時都去掉。因串口接收到的數(shù)據(jù)是字符型的,通過強(qiáng)制轉(zhuǎn)換將數(shù)據(jù)轉(zhuǎn)換為單精度整型。創(chuàng)建數(shù)組將數(shù)據(jù)和數(shù)組初始化相結(jié)合得到一個完整的數(shù)組,通過Waveform graph控件以及移位寄存器即可實現(xiàn)上位機(jī)的實時顯示與記錄?! ? 檢測控制性能評價 PS/2接口最大的始終頻率是33kHz。本實驗單片機(jī)使用12MHz的晶振,可輕松完成接口功能。但受其芯片的特性的影響,盡管OM02的鼠標(biāo)芯片最高可使用的分辨率為400DPI,但在使用較高分辨率的情況下,鼠標(biāo)傳輸?shù)恼`碼率將有所上升,其位移精度也將受到質(zhì)疑。為保證位移量的準(zhǔn)確性,采用200DPI的分辨率,配合看門狗,精度誤差和程序穩(wěn)定性將大為好轉(zhuǎn)?! ?.結(jié)語 使用光電鼠標(biāo)作為檢測帶運動的速度傳感器,其價格低廉、準(zhǔn)確性高而且使用方便,再配合單片機(jī)的數(shù)字式PID控制以及l(fā)abview軟件的圖形檢測,可以很好的對速度要求較低、要求精度不是非常高的設(shè)備進(jìn)行改裝,使其達(dá)到輸出速度穩(wěn)定。又因為光電鼠標(biāo)技術(shù)已趨于成熟,在一般分辨率的情況下下對檢測表面的要求不高,在比較惡劣的工況下仍可保證運行無障礙。而近些年所推出的激光鼠標(biāo),其分辨率可達(dá)到0.01毫米,效果甚佳。該實驗在北京某半導(dǎo)體企業(yè)進(jìn)行了現(xiàn)場測試,效果理想。
自動對焦:
我要收藏
個贊
評論排行