光電鼠標(biāo)傳感器的精密測(cè)量與控制系統(tǒng)
(3)單片機(jī)發(fā)送的控制數(shù)據(jù)
按照鼠標(biāo)的PS/2協(xié)議規(guī)范,實(shí)際編程時(shí)先對(duì)鼠標(biāo)發(fā)送Oxff使其復(fù)位,默認(rèn)采樣頻率為10O次/s,縮放比例為1:1,數(shù)據(jù)報(bào)告禁止。使用Oxea命令進(jìn)入strearn模式,使用Oxe8、0x03命令設(shè)置解析度為8點(diǎn)/mm,使用Oxf4命令使能數(shù)據(jù)報(bào)告。配合AT89S51單片機(jī)的定時(shí)器功能,將其時(shí)間常數(shù)設(shè)置為0.1 s,每次中斷時(shí)發(fā)送Oxeb命令讀取位移數(shù)據(jù)信息,每發(fā)出一次,單片機(jī)接收到的位移數(shù)據(jù)包都包含有位移信息和按鍵動(dòng)作信息。具體格式如表1所列。編譯時(shí)也只需提取X3的有效數(shù)據(jù)包即Y方向位移增量。
2.2 PID控制軟件算法
對(duì)該交流變頻調(diào)速系統(tǒng)建模,首先取電壓輸入為一個(gè)隨機(jī)值,再測(cè)得其轉(zhuǎn)速值。取兩個(gè)數(shù)值構(gòu)成一個(gè)數(shù)據(jù)對(duì),然后對(duì)大量數(shù)據(jù)對(duì)用Matlab仿真求得其幅頻特性和相頻特性,并且對(duì)其幅頻特性和相頻特性進(jìn)行相似的擬合。根據(jù)擬合的曲線可以近似求得其傳遞函數(shù)為:
使用神經(jīng)網(wǎng)絡(luò)PID自適應(yīng)控制對(duì)系統(tǒng)進(jìn)行Matlab的仿真測(cè)試,效果令人滿意。但因其輸入層、隱含層、輸出層的多階矩陣運(yùn)算使得單片機(jī)的運(yùn)算時(shí)間大幅度增加,造成時(shí)間上的不確定因素增大;同比使用增量型PID控制,盡管后者需調(diào)整3個(gè)控制參數(shù),但同樣可使精度達(dá)到預(yù)期的效果,運(yùn)算時(shí)間也大幅度下降,為此選用增量型PID算法作為控制算法。
增量式數(shù)字PID的控制算法為:
其中kp為比列系數(shù),ki為積分系數(shù),kd為微分系數(shù);e(k)為當(dāng)前位移增量與上一次位移增量的變化量;同理,e(k一1)、e(k一2)各為往前時(shí)間問隔的位移變化量。
利用單片機(jī)串行中斷接收功能,可在PC機(jī)上實(shí)時(shí)在線調(diào)節(jié)PID的kp、ki、kd參數(shù)。
3 上位機(jī)監(jiān)測(cè)設(shè)計(jì)
通過單片機(jī)的串口發(fā)送端,在LabVIEW中編寫程序來完成PC機(jī)與數(shù)據(jù)通信設(shè)備的數(shù)據(jù)交換,直接通過串口接收外部數(shù)據(jù)并進(jìn)行圖形顯示,并可將數(shù)據(jù)存放在txt文件當(dāng)中。在LabVIEW中主要是使用VISA控件實(shí)現(xiàn)串行口直接數(shù)據(jù)通信,通過RS一232串行接口和LabVIEW實(shí)現(xiàn)數(shù)據(jù)的通信。
使用read string控件對(duì)數(shù)據(jù)進(jìn)行接收,并通過Waveform graph控件就可以顯示實(shí)時(shí)波形。在LabVIEW中自帶的范例中,數(shù)據(jù)的接收并非是連續(xù)不斷的,而要通過一定的延時(shí);因此,為了不間斷地接收單片機(jī)發(fā)送的串口數(shù)據(jù)包,須將前面的寫和延時(shí)都去掉。因串口接收到的數(shù)據(jù)是字符型的,而我們所需要的是整型數(shù)據(jù),因此可通過強(qiáng)制轉(zhuǎn)換將數(shù)據(jù)轉(zhuǎn)換為單精度整型。創(chuàng)建數(shù)組,將數(shù)據(jù)和數(shù)組初始化相結(jié)合得到一個(gè)完整的數(shù)組,通過Waveform graph控件以及移位寄存器即可實(shí)現(xiàn)上位機(jī)的實(shí)時(shí)顯示與記錄。
4 檢測(cè)控制性能評(píng)價(jià)
PS/2接口最大的使用頻率是33 kHz。本實(shí)驗(yàn)單片機(jī)使用12 MHz的晶振,可輕松實(shí)現(xiàn)接口功能。但受其芯片特性的影響,盡管OM02的鼠標(biāo)芯片最高可使用的分辨率為400DPI,但在使用較高分辨率的情況下。鼠標(biāo)傳輸?shù)恼`碼率將有所上升,其位移精度也將受到質(zhì)疑。為保證位移量的準(zhǔn)確性,采用200DPI的分辨率,配合看門狗,精度誤差和程序穩(wěn)定性將大為好轉(zhuǎn)。
測(cè)試結(jié)果如圖5所示,圖中縱坐標(biāo)為位移增量點(diǎn),每一點(diǎn)為0.125 mm。帶在較低速的運(yùn)行中盡管存在速度的上下跳動(dòng)變化,但跳動(dòng)量較小。圖中帶速度的設(shè)定值為32點(diǎn),即40.00 mm/s(靈敏度為0.125 mm/s),速度平均值為39.987mm/s(測(cè)量數(shù)據(jù)引自速度曲線剛開始穩(wěn)定時(shí)的前1000個(gè)時(shí)間點(diǎn))。因其光電鼠標(biāo)傳感器在正常工作環(huán)境中使用,系統(tǒng)呈線性變化,對(duì)此可引入速度修正系數(shù)k,以提高檢測(cè)精確度。
結(jié) 語
使用光電鼠標(biāo)作為檢測(cè)帶運(yùn)動(dòng)的速度傳感器,其價(jià)格低廉、準(zhǔn)確性高且使用方便,配合單片機(jī)的數(shù)字式PID編程控制以及LabVIEW虛擬儀器的圖形檢測(cè)顯示,可以很好地對(duì)速度要求較低、精度要求不太高的設(shè)備進(jìn)行改裝,使其輸出速度穩(wěn)定。又因?yàn)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/光電">光電鼠標(biāo)技術(shù)已趨于成熟,一般情況下對(duì)檢測(cè)表面的粗糙度要求不高,在比較惡劣的工況下仍可保證運(yùn)行無障礙。近些年所推出的激光鼠標(biāo),其分辨率可達(dá)到O.01 mm,效果甚佳。該實(shí)驗(yàn)在某企業(yè)的生產(chǎn)部門進(jìn)行了現(xiàn)場(chǎng)測(cè)試,效果理想。
評(píng)論