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