一種具有實(shí)時(shí)振動(dòng)補(bǔ)償?shù)娘@示模塊的設(shè)計(jì)
引言
我們跑步或騎自行車時(shí),手臂的振動(dòng)常常使我們手中的電子設(shè)備所顯示的圖像看起來模糊不清,長(zhǎng)時(shí)間觀看(如觀看MP4視頻、收發(fā)短信等)容易造成視覺疲勞。汽車輪船的顯示設(shè)備(如車載GPS),強(qiáng)振動(dòng)機(jī)床的數(shù)控系統(tǒng)以及一些工程機(jī)械(如挖掘機(jī)、推土機(jī)等)也會(huì)發(fā)生類似的問題??梢?,由于振動(dòng)而導(dǎo)致顯示效果模糊不清的現(xiàn)象是普遍存在的。
究其原因,在于這些顯示設(shè)備輸出的均為靜態(tài)圖像,基礎(chǔ)的振動(dòng)使其成為(相對(duì)于人)振動(dòng)圖像,由于人神經(jīng)系統(tǒng)的滯后(人的正常反應(yīng)時(shí)間大約需要0.3s),造成大腦所接收到的是模糊不清的畫面。當(dāng)然對(duì)于人的神經(jīng)系統(tǒng)我們暫時(shí)束手無策,但是我們可以首先檢測(cè)出基礎(chǔ)的振動(dòng)狀態(tài),由微控制器控制顯示器件的輸出圖像朝反方向偏移(如此,實(shí)時(shí)的偏移即是動(dòng)態(tài)顯示),綜合的顯示效果自然是(相對(duì)于人)靜止不動(dòng)的圖像,上面的問題就迎刃而解了。
問題的描述
問題的產(chǎn)生
正常情況下顯示器件相對(duì)觀察者是靜止的,但很多情況下顯示器件會(huì)發(fā)生振動(dòng),這些振動(dòng)會(huì)使顯示器件所顯示的圖像看起來模糊不清,長(zhǎng)時(shí)間觀看容易造成視覺疲勞。如圖1所示,基礎(chǔ)振動(dòng)在⊿t時(shí)間內(nèi),產(chǎn)生(⊿x,⊿y)的絕對(duì)位移(這里假定人靜止不動(dòng)),由于顯示器件所顯示的圖像是靜態(tài)的或者是與基礎(chǔ)振動(dòng)無關(guān)的動(dòng)態(tài)圖像流,那么圖像也會(huì)在這⊿t時(shí)間內(nèi)產(chǎn)生(⊿x,⊿y)的絕對(duì)位移。人的視覺系統(tǒng)的反應(yīng)速度(人的正常反應(yīng)時(shí)間大約需要0.3s)低于基礎(chǔ)振動(dòng)的速度,幾幅相互間有偏移的圖像就會(huì)重疊在一起如圖1所示,造成圖像看起來模糊不清。
問題的解決方法
最容易也是最簡(jiǎn)單的解決辦法就是測(cè)量出在⊿t時(shí)間內(nèi)產(chǎn)生的(⊿x,⊿y)絕對(duì)位移值,然后控制顯示器件使輸出圖像產(chǎn)生相反方向的偏移量(-⊿x,-⊿y)。這樣綜合的效果是圖像相對(duì)觀察者是靜止的,圖像又變得清晰了!
要實(shí)現(xiàn)這種對(duì)振動(dòng)圖像的補(bǔ)償會(huì)遇到幾個(gè)挑戰(zhàn)。首先,是基礎(chǔ)振動(dòng)的絕對(duì)位移值的測(cè)量,我們先來分析基礎(chǔ)振動(dòng)的特點(diǎn):
·振動(dòng)頻率低(3Hz~30Hz);
·振幅較?。?mm~3mm),據(jù)此我們可以計(jì)算基礎(chǔ)振動(dòng)的最大加速度(amax=4π2f2?A=10.87g);
·對(duì)顯示效果影響最大的是顯示器件平面內(nèi)的平面運(yùn)動(dòng);
·振動(dòng)多發(fā)生在便攜設(shè)備上。
針對(duì)這種振動(dòng)最簡(jiǎn)單的測(cè)量方法是實(shí)時(shí)測(cè)得振動(dòng)的加速度a,然后對(duì)其作時(shí)間的二次積分得到基礎(chǔ)振動(dòng)的絕對(duì)位移值,這種方法不適合做長(zhǎng)時(shí)間的測(cè)量,因?yàn)榉e分的起始點(diǎn)選擇可靠性和加速度的噪聲會(huì)使長(zhǎng)時(shí)間的積分運(yùn)算后誤差放大?,F(xiàn)在問題歸納為對(duì)一個(gè)加速度a<10.87的振動(dòng)進(jìn)行實(shí)時(shí)測(cè)量,并對(duì)加速度a作二次積分計(jì)算位移值。其次,是如何實(shí)時(shí)輸出具有相反方向偏移量的動(dòng)態(tài)圖像。這涉及到兩個(gè)速度:處理器的運(yùn)算速度和顯示器件的響應(yīng)速度。因?yàn)閷?shí)時(shí)動(dòng)態(tài)圖像的顯示需要很大的計(jì)算量(處理每秒鐘40幀的128×64的單色圖像就需要每秒40 kBytes的處理量,這對(duì)MCU是個(gè)較大的挑戰(zhàn));普通的LCD屏幕也要有較長(zhǎng)的響應(yīng)延時(shí),刷新一幅128×64的單色圖像就需要1024×72μs=73.7ms(ST7920),這簡(jiǎn)直無法實(shí)現(xiàn)圖像的動(dòng)態(tài)顯示。還有一個(gè)問題是顯示模塊與信源的通訊,模塊化設(shè)計(jì)要有方便的數(shù)據(jù)接口以適應(yīng)不同的要求,還要考慮到顯示模塊長(zhǎng)期的振動(dòng)會(huì)使通訊電纜造成疲勞損壞。
設(shè)計(jì)概述
基礎(chǔ)振動(dòng)的絕對(duì)位移值的測(cè)量
上文提到,基礎(chǔ)振動(dòng)的絕對(duì)位移值的測(cè)量可歸納為對(duì)一個(gè)加速度 a<10.87的振動(dòng)進(jìn)行實(shí)時(shí)測(cè)量,并對(duì)加速度a作二次積分計(jì)算位移值。本系統(tǒng)中加速度傳感器采用低量程三軸向加速度傳感器MMA7260QT,最大量程為±6g,響應(yīng)頻寬為fXY=350Hz、fZ=150Hz,MMA7260QT的敏感方向如圖3所示,XY軸輸出電壓與芯片平面內(nèi)的加速度成比例。
因?yàn)樗獪y(cè)量的加速度值和重力加速度值在一個(gè)量級(jí),所以要考慮重力加速度的影響。讓傳感器平面平行于顯示器件平面(如圖4中的ABC平面為顯示器平面,平面為水平面),初始位置時(shí)傳感器各軸所測(cè)得的加速度分量aX0、aY0、aZ0反映了顯示器相對(duì)水平面的傾角(圖4中的θ1、θ2)。如果顯示器只在當(dāng)前平面內(nèi)做平動(dòng),aX0、aY0、aZ0就是X、Y、Z的加速度的常值分量;如果顯示器還在當(dāng)前平面內(nèi)有轉(zhuǎn)動(dòng),只有aZ0是Z軸加速度的常值分量,aX0、aY0是隨轉(zhuǎn)角θ1、θ2而變的變量;如果顯示器Z軸與鉛垂線夾角還有變化,aZ0也是隨轉(zhuǎn)角θ1而變的變量。第一種情形的處理比較簡(jiǎn)單,直接將aX0、aY0、aZ0作為初始位置靜止的初值,是積分不變量,進(jìn)行二次積分即可得到位置;第二、三種情形處理較為復(fù)雜,要將aX0、aY0、aZ0作為初始位置運(yùn)動(dòng)的初值,也看作積分不變量,但是進(jìn)行二次積分時(shí)要知道初始位置的運(yùn)動(dòng)參數(shù),這要選擇振動(dòng)加速度的極值點(diǎn)(此時(shí)速度為零)作為運(yùn)動(dòng)的起始點(diǎn)開始積分,當(dāng)然這種算法會(huì)稍微復(fù)雜。
評(píng)論