具有實時振動補償?shù)娘@示模塊的設(shè)計
引言
本文引用地址:http://www.ex-cimer.com/article/86528.htm我們跑步或騎自行車時,手臂的振動常常使我們手中的電子設(shè)備所顯示的圖像看起來模糊不清,長時間觀看(如觀看MP4視頻、收發(fā)短信等)容易造成視覺疲勞。汽車輪船的顯示設(shè)備(如車載GPS),強振動機床的數(shù)控系統(tǒng)以及一些工程機械(如挖掘機、推土機等)也會發(fā)生類似的問題??梢?,由于振動而導(dǎo)致顯示效果模糊不清的現(xiàn)象是普遍存在的。
究其原因,在于這些顯示設(shè)備輸出的均為靜態(tài)圖像,基礎(chǔ)的振動使其成為(相對于人)振動圖像,由于人神經(jīng)系統(tǒng)的滯后(人的正常反應(yīng)時間大約需要0.3s),造成大腦所接收到的是模糊不清的畫面。當(dāng)然對于人的神經(jīng)系統(tǒng)我們暫時束手無策,但是我們可以首先檢測出基礎(chǔ)的振動狀態(tài),由微控制器控制顯示器件的輸出圖像朝反方向偏移(如此,實時的偏移即是動態(tài)顯示),綜合的顯示效果自然是(相對于人)靜止不動的圖像,上面的問題就迎刃而解了。
問題的描述
問題的產(chǎn)生
正常情況下顯示器件相對觀察者是靜止的,但很多情況下顯示器件會發(fā)生振動,這些振動會使顯示器件所顯示的圖像看起來模糊不清,長時間觀看容易造成視覺疲勞。如圖1所示,基礎(chǔ)振動在⊿t時間內(nèi),產(chǎn)生(⊿x,⊿y)的絕對位移(這里假定人靜止不動),由于顯示器件所顯示的圖像是靜態(tài)的或者是與基礎(chǔ)振動無關(guān)的動態(tài)圖像流,那么圖像也會在這⊿t時間內(nèi)產(chǎn)生(⊿x,⊿y)的絕對位移。人的視覺系統(tǒng)的反應(yīng)速度(人的正常反應(yīng)時間大約需要0.3s)低于基礎(chǔ)振動的速度,幾幅相互間有偏移的圖像就會重疊在一起如圖1所示,造成圖像看起來模糊不清。
問題的解決方法
最容易也是最簡單的解決辦法就是測量出在⊿t時間內(nèi)產(chǎn)生的(⊿x,⊿y)絕對位移值,然后控制顯示器件使輸出圖像產(chǎn)生相反方向的偏移量(-⊿x,-⊿y)。這樣綜合的效果是圖像相對觀察者是靜止的,圖像又變得清晰了!
要實現(xiàn)這種對振動圖像的補償會遇到幾個挑戰(zhàn)。首先,是基礎(chǔ)振動的絕對位移值的測量,我們先來分析基礎(chǔ)振動的特點:
·振動頻率低(3Hz~30Hz);
·振幅較小(1mm~3mm),據(jù)此我們可以計算基礎(chǔ)振動的最大加速度(amax=4π2f2?A=10.87g);
·對顯示效果影響最大的是顯示器件平面內(nèi)的平面運動;
·振動多發(fā)生在便攜設(shè)備上。
針對這種振動最簡單的測量方法是實時測得振動的加速度a,然后對其作時間的二次積分得到基礎(chǔ)振動的絕對位移值,這種方法不適合做長時間的測量,因為積分的起始點選擇可靠性和加速度的噪聲會使長時間的積分運算后誤差放大?,F(xiàn)在問題歸納為對一個加速度a<10.87的振動進行實時測量,并對加速度a作二次積分計算位移值。其次,是如何實時輸出具有相反方向偏移量的動態(tài)圖像。這涉及到兩個速度:處理器的運算速度和顯示器件的響應(yīng)速度。因為實時動態(tài)圖像的顯示需要很大的計算量(處理每秒鐘40幀的128×64的單色圖像就需要每秒40 kBytes的處理量,這對MCU是個較大的挑戰(zhàn));普通的LCD屏幕也要有較長的響應(yīng)延時,刷新一幅128×64的單色圖像就需要1024×72μs=73.7ms(ST7920),這簡直無法實現(xiàn)圖像的動態(tài)顯示。還有一個問題是顯示模塊與信源的通訊,模塊化設(shè)計要有方便的數(shù)據(jù)接口以適應(yīng)不同的要求,還要考慮到顯示模塊長期的振動會使通訊電纜造成疲勞損壞。
設(shè)計概述
基礎(chǔ)振動的絕對位移值的測量
上文提到,基礎(chǔ)振動的絕對位移值的測量可歸納為對一個加速度 a<10.87的振動進行實時測量,并對加速度a作二次積分計算位移值。本系統(tǒng)中加速度傳感器采用低量程三軸向加速度傳感器MMA7260QT,最大量程為±6g,響應(yīng)頻寬為fXY=350Hz、fZ=150Hz,MMA7260QT的敏感方向如圖3所示,XY軸輸出電壓與芯片平面內(nèi)的加速度成比例。
因為所要測量的加速度值和重力加速度值在一個量級,所以要考慮重力加速度的影響。讓傳感器平面平行于顯示器件平面(如圖4中的ABC平面為顯示器平面,平面為水平面),初始位置時傳感器各軸所測得的加速度分量aX0、aY0、aZ0反映了顯示器相對水平面的傾角(圖4中的θ1、θ2)。如果顯示器只在當(dāng)前平面內(nèi)做平動,aX0、aY0、aZ0就是X、Y、Z的加速度的常值分量;如果顯示器還在當(dāng)前平面內(nèi)有轉(zhuǎn)動,只有aZ0是Z軸加速度的常值分量,aX0、aY0是隨轉(zhuǎn)角θ1、θ2而變的變量;如果顯示器Z軸與鉛垂線夾角還有變化,aZ0也是隨轉(zhuǎn)角θ1而變的變量。第一種情形的處理比較簡單,直接將aX0、aY0、aZ0作為初始位置靜止的初值,是積分不變量,進行二次積分即可得到位置;第二、三種情形處理較為復(fù)雜,要將aX0、aY0、aZ0作為初始位置運動的初值,也看作積分不變量,但是進行二次積分時要知道初始位置的運動參數(shù),這要選擇振動加速度的極值點(此時速度為零)作為運動的起始點開始積分,當(dāng)然這種算法會稍微復(fù)雜。
還要考慮加速度的噪聲會因為積分而被放大,使積分結(jié)果不準(zhǔn)。加速度噪聲的來源有:傳感器本身的噪聲、周邊電路的電磁串?dāng)_、電源的波動、負載的波動(OLED的功耗與被點亮的點數(shù)成比例)。MMA7260QT傳感器內(nèi)部集成信號電路輸出紋波較?。╪RMS=4.7mVrms),為了濾去由于電磁干擾等引起的高頻噪聲,給系統(tǒng)加一個通頻帶在50Hz內(nèi)的RC低通濾波器。由于模擬濾波器難以調(diào)整,系統(tǒng)的軟件還加入了簡單而且快速的數(shù)字慣性濾波器,能很好地消除周期性干擾和較寬頻率的隨機干擾信號。
實時輸出具有相反方向偏移量的動態(tài)圖像
上文已述及處理器的運算速度和顯示器件的響應(yīng)速度是兩個關(guān)鍵。本系統(tǒng)顯示器件選擇OLED器件即有機發(fā)光二極管(Organic Light-Emitting Diode,OLED)該顯示器件具有輕薄、易攜、全彩、高亮度、省電、視角寬廣及高應(yīng)答速度等優(yōu)點,為未來人機互動的接口開啟了新的紀(jì)元,如今采用OLED作為顯示器件的電子產(chǎn)品幾乎已經(jīng)普及。
本系統(tǒng)所采用的OLED顯示材料的響應(yīng)時間在μs量級,OLED器件的驅(qū)動芯片SSD1303的并行總線寫入時間僅為300ns,因此總的響應(yīng)時間(包括驅(qū)動芯片的延遲和OLED材料的延遲)仍然是μs,只要MCU速度足夠快,是完全能實現(xiàn)圖像的動態(tài)顯示的。另外SSD1303支持垂直偏移指令和水平滾動指令,因此只需將GDDRAM一次寫滿,圖像需要平動時僅需要寫一條偏移或滾動指令,而不是刷新整個GDDRAM。
本系統(tǒng)所采用的微控制器MC9S08QG8工作頻率高達20MHz,有8kBytes的FLASH存儲器,512Bytes的RAM。如果處理器僅用來完成圖像數(shù)據(jù)的變換和GDDRAM的刷新是沒有問題的,但是處理器還要進行數(shù)字濾波等處理,難以完成所有的工作,因此系統(tǒng)采用偏移或滾動指令來實現(xiàn)平動。
評論