本發(fā)明涉及手柄領(lǐng)域,尤其涉及一種基于傳感器mpu6050采集信號的手柄搖桿系統(tǒng)和方法。
背景技術(shù):
隨著當(dāng)今社會經(jīng)濟(jì)的不斷進(jìn)步以及科學(xué)技術(shù)的日益發(fā)展,人們?nèi)粘5膴蕵贩绞揭苍絹碓截S富。其中電子游戲和無人機(jī)是比較常見的娛樂項(xiàng)目,尤其無人機(jī)作為新興的娛樂方式也收到了更多人的歡迎和喜愛,二者都需要使用手柄進(jìn)行操作,而高精度的搖桿手柄能使用戶獲得更好的體驗(yàn)。當(dāng)前市場上傳統(tǒng)的手柄搖桿多以電位器作為角度采集元件,由于電位器是易損元件,摩擦力大,易造成搖桿的控制精度和耐用度下降,并且這一類元件具有一定的反向空程、磨損大、動(dòng)態(tài)性能差等現(xiàn)象,造成使用過程中的不穩(wěn)定。所以人們需要一種準(zhǔn)確度、平穩(wěn)度和舒適度更高的搖桿手柄進(jìn)行電子游戲的控制和無人機(jī)的遙控。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有的搖桿手柄具有一定反向空程、磨損大、動(dòng)態(tài)性能差的缺陷,本發(fā)明提供一種基于傳感器mpu6050采集信號的手柄搖桿系統(tǒng)和方法,該手柄搖桿系統(tǒng)能獲得更好的動(dòng)態(tài)性能和靜態(tài)性能,獲得更高的準(zhǔn)確度、平穩(wěn)度和舒適度,從而能獲得更好的用戶體驗(yàn)。所述技術(shù)方案如下:
一種基于傳感器mpu6050采集信號的手柄搖桿系統(tǒng),包括:信號采集模塊、無線收發(fā)模塊、GPIO按鍵模塊、電源穩(wěn)壓模塊和測壓模塊,所述信號采集模塊分別與所述無線收發(fā)模塊、GPIO按鍵模塊、電源穩(wěn)壓模塊和測壓模塊連接,所述信號采集模塊包括微處理器K60和搖桿裝置,所述無線收發(fā)模塊包括與微處理器K60連接的NRF24L01無線射頻模塊,所述GPIO按鍵模塊包括外部按鍵和LED指示燈,所述電源穩(wěn)壓模塊包括電池和穩(wěn)壓芯片LM-2596,所述測壓模塊包括電壓比較器LM301A。
進(jìn)一步的,所述搖桿裝置包括搖桿、旋轉(zhuǎn)球、壓縮彈簧、芯片A和芯片B,所述搖桿穿過旋轉(zhuǎn)球分別連接芯片A和芯片B,所述壓縮彈簧一端與所述旋轉(zhuǎn)球連接,所述芯片A和芯片B的距離為100mm,所述芯片A和芯片B為傳感器mpu6050,所述芯片A和芯片B分別與微處理器K60連接。
進(jìn)一步的,所述電源穩(wěn)壓模塊選用7.2V電壓電池。
進(jìn)一步的,所述GPIO按鍵模塊還包括LCD顯示屏。
本發(fā)明還包括一種基于傳感器mpu6050采集信號獲得搖桿位置的方法,步驟如下:
S1、在搖桿裝置上建立右手笛卡爾坐標(biāo)系為絕對坐標(biāo)系,用芯片B的幾何中心為原點(diǎn),x、y和z軸表示固定參考坐標(biāo)系F(x,y,z),用芯片A的幾何中心為原點(diǎn),n、o和a軸表示運(yùn)動(dòng)坐標(biāo)系F(n,o,a);
S2、手指撥動(dòng)搖桿,芯片B進(jìn)行數(shù)據(jù)采集,獲得繞x軸方向上旋轉(zhuǎn)α角度,繞y軸方向上旋轉(zhuǎn)β角度;芯片A進(jìn)行數(shù)據(jù)采集,獲得繞n軸方向上旋轉(zhuǎn)γ角度,繞o軸方向上旋轉(zhuǎn)δ角度;
S3、微處理器K60通過IIC協(xié)議讀取數(shù)據(jù),并采用擴(kuò)展卡爾曼濾波將傳感器收集的角度數(shù)據(jù)進(jìn)行融合并對誤差進(jìn)行補(bǔ)償,得到手柄搖桿的最優(yōu)估計(jì)值;
S4、在固定參考坐標(biāo)系中使用位置向量P建立數(shù)學(xué)模型為:
式中,n、o和a表示方向向量;p表示位置向量;x、y和z為坐標(biāo)軸;
S5、使用手柄搖桿補(bǔ)償后得到的最優(yōu)估計(jì)值建立向量pxyz相對坐標(biāo)方程式為:
pxyz=Rot(y,β)Rot(x,α)Rot(n,(γ-α))Rot(o,(δ-β))pnoa
pxyz為手柄搖桿幾何中心變換后的坐標(biāo)點(diǎn);
S6、建立向量pxyz的矩陣方程:
S7、進(jìn)一步處理向量得:
S8、獲得在平面xy內(nèi)的坐標(biāo):
橫坐標(biāo)為:
px=180(sin(δ-β)cosβ-sin(γ-α)cos(δ-β)sinβsinα+cos(γ-α)sin(δ-β)sinβcosα)
縱坐標(biāo)為:
py=-180(sin(γ-α)cos(δ-β)cosα+cos(γ-α)sin(δ-β)sinα);
進(jìn)一步的,S2中,通過擴(kuò)展卡爾曼濾波建立系統(tǒng)狀態(tài)方程和觀測方程,如下:
XK+1=f(XK)+wK+1
YK=h(XK)+vK
式中,XK+1為系統(tǒng)在k+1時(shí)刻的狀態(tài)變量,YK為系統(tǒng)在k時(shí)刻的測量變量,w、v為零均值高斯白噪聲。
通過非線性函數(shù)泰勒級數(shù)展開線性化方法,可以近似的表示初始系統(tǒng)的狀態(tài)方程和觀測方程,如下:
式中,F(xiàn)X(K)和Fw分別是對X、v的偏導(dǎo)數(shù);HX(K)和Hv分別是對X、w的偏導(dǎo)數(shù)。
預(yù)測前的狀態(tài)估計(jì)[:
預(yù)測前的方差估計(jì):
式中,Q(K)為K時(shí)刻的過程激勵(lì)噪聲協(xié)方差矩陣。系統(tǒng)通過實(shí)時(shí)調(diào)整修正后,得出狀態(tài)更新方程。其增益矩陣、狀態(tài)估計(jì)和方差估計(jì)分別為:
本發(fā)明的有益效果是:
本發(fā)明所述的基于傳感器mpu6050采集信號的手柄搖桿系統(tǒng)和方法能獲得更好的動(dòng)態(tài)性能和靜態(tài)性能,獲得更高的準(zhǔn)確度、平穩(wěn)度和舒適度,從而能獲得更好的用戶體驗(yàn)。
附圖說明
圖1為本發(fā)明系統(tǒng)結(jié)構(gòu)框圖;
圖2為本發(fā)明搖桿裝置結(jié)構(gòu)圖;
圖3為本發(fā)明微處理器K60與傳感器mpu6050數(shù)據(jù)傳輸接口圖;
圖4為本發(fā)明微處理器K60與無線射頻模塊NRF24L01通信接口圖;
圖5為本發(fā)明電源穩(wěn)壓模塊LM2596和測壓模塊LM301A電路圖。
具體實(shí)施方式
實(shí)施例1:
一種基于傳感器mpu6050采集信號的手柄搖桿系統(tǒng),包括:信號采集模塊、無線收發(fā)模塊、GPIO按鍵模塊、電源穩(wěn)壓模塊和測壓模塊,所述信號采集模塊分別與所述無線收發(fā)模塊、GPIO按鍵模塊、電源穩(wěn)壓模塊和測壓模塊連接。
所述信號采集模塊包括微處理器K60和搖桿裝置,所述K60為微處理器MK60N512VLQ100。
所述無線收發(fā)模塊包括與微處理器K60連接的NRF24L01無線射頻模塊,NRF24L01無線射頻模塊是一款新型單片機(jī)射頻收發(fā)器件,工作于2.4~2.5GH ISM頻段,內(nèi)置頻率合成器,并融合了增強(qiáng)ShockBurst技術(shù)。其輸出功率和通信頻道通過程序進(jìn)行配置。直接模式可以通過軟件在發(fā)射端添加密碼和傳輸?shù)刂?。具有功耗小,傳輸過程中抗干擾能力強(qiáng),傳輸數(shù)據(jù)準(zhǔn)確等特點(diǎn),滿足手柄搖桿數(shù)據(jù)傳輸?shù)囊?。如圖4所示,RF_SCK是傳輸時(shí)鐘信號,用來控制數(shù)據(jù)交換的時(shí)機(jī)以及速率。RF_MOSI和RF_MOSO相對于主設(shè)備是數(shù)據(jù)的輸入和輸出,主要根據(jù)時(shí)鐘信號進(jìn)行數(shù)據(jù)的傳輸和交換。
所述GPIO按鍵模塊包括外部按鍵和LED指示燈,所述GPIO按鍵模塊還包括LCD顯示屏。
所述電源穩(wěn)壓模塊包括電池和穩(wěn)壓芯片LM-2596,所述測壓模塊包括電壓比較器LM301A。
所述搖桿裝置包括搖桿、旋轉(zhuǎn)球、壓縮彈簧、芯片A和芯片B,所述搖桿穿過旋轉(zhuǎn)球分別連接芯片A和芯片B,所述壓縮彈簧一端與所述旋轉(zhuǎn)球連接,所述芯片A和芯片B的距離為100mm,所述芯片A和芯片B為傳感器mpu6050,所述芯片A和芯片B分別與微處理器K60連接。本裝置由于利用彈性元件壓縮彈簧無接觸式摩擦的優(yōu)勢,避免了搖桿運(yùn)動(dòng)時(shí)的摩擦,提高控制精度和耐用度,實(shí)現(xiàn)無限度高精度使用。同時(shí)搖桿被操作時(shí)的力度和舒服度都有很大的改進(jìn)。
搖桿在擺動(dòng)時(shí)產(chǎn)生角位移,旋轉(zhuǎn)球會使變螺距彈簧發(fā)生形變,搖桿就會產(chǎn)生與運(yùn)動(dòng)方向相反的力矩,也滿足搖桿回中位時(shí)的準(zhǔn)確性要求。傳感芯片A、B也會有相應(yīng)的角位移變化,通過下述方法得出搖桿運(yùn)動(dòng)的位置。
一種基于傳感器mpu6050采集信號獲得搖桿位置的方法,步驟如下:
S1、在搖桿裝置上建立右手笛卡爾坐標(biāo)系為絕對坐標(biāo)系,用芯片B的幾何中心為原點(diǎn),x、y和z軸表示固定參考坐標(biāo)系F(x,y,z),用芯片A的幾何中心為原點(diǎn),n、o和a軸表示運(yùn)動(dòng)坐標(biāo)系F(n,o,a);
S2、手指撥動(dòng)搖桿,芯片B進(jìn)行數(shù)據(jù)采集,獲得繞x軸方向上旋轉(zhuǎn)α角度,繞y軸方向上旋轉(zhuǎn)β角度;芯片A進(jìn)行數(shù)據(jù)采集,獲得繞n軸方向上旋轉(zhuǎn)γ角度,繞o軸方向上旋轉(zhuǎn)δ角度;
S3、微處理器K60通過IIC協(xié)議讀取數(shù)據(jù),并采用擴(kuò)展卡爾曼濾波將傳感器收集的角度數(shù)據(jù)進(jìn)行融合并對誤差進(jìn)行補(bǔ)償,得到手柄搖桿的最優(yōu)估計(jì)值;
S4、在固定參考坐標(biāo)系中使用位置向量P建立數(shù)學(xué)模型為:
式中,n、o和a表示方向向量;p表示位置向量;x、y和z為坐標(biāo)軸;
S5、使用手柄搖桿補(bǔ)償后得到的最優(yōu)估計(jì)值建立向量pxyz相對坐標(biāo)方程式為:
pxyz=Rot(y,β)Rot(x,α)Rot(n,(γ-α))Rot(o,(δ-β))pnoa
pxyz為手柄搖桿幾何中心變換后的坐標(biāo)點(diǎn);
S6、建立向量pxyz的矩陣方程:
S7、進(jìn)一步處理向量得:
S8、獲得在平面xy內(nèi)的坐標(biāo):
橫坐標(biāo)為:
px=180(sin(δ-β)cosβ-sin(γ-α)cos(δ-β)sinβsinα+cos(γ-α)sin(δ-β)sin
縱坐標(biāo)為:
py=-180(sin(γ-α)cos(δ-β)cosα+cos(γ-α)sin(δ-β)sinα);
S2中,通過擴(kuò)展卡爾曼濾波建立系統(tǒng)狀態(tài)方程和觀測方程,如下:
XK+1=f(XK)+wK+1
YK=h(XK)+vK
式中,XK+1為系統(tǒng)在k+1時(shí)刻的狀態(tài)變量,YK為系統(tǒng)在k時(shí)刻的測量變量,w、v為零均值高斯白噪聲。
通過非線性函數(shù)泰勒級數(shù)展開線性化方法,可以近似的表示初始系統(tǒng)的狀態(tài)方程和觀測方程,如下:
式中,F(xiàn)X(K)和Fw分別是對X、v的偏導(dǎo)數(shù);HX(K)和Hv分別是對X、w的偏導(dǎo)數(shù)。
預(yù)測前的狀態(tài)估計(jì)[:
預(yù)測前的方差估計(jì):
式中,Q(K)為K時(shí)刻的過程激勵(lì)噪聲協(xié)方差矩陣。系統(tǒng)通過實(shí)時(shí)調(diào)整修正后,得出狀態(tài)更新方程。其增益矩陣、狀態(tài)估計(jì)和方差估計(jì)分別為:
實(shí)施例2:
作為對實(shí)施例1中一種基于傳感器mpu6050采集信號的手柄搖桿系統(tǒng)的補(bǔ)充,整個(gè)系統(tǒng)選用7.2V電池電壓,通過穩(wěn)壓模塊將電池電壓7.2V穩(wěn)壓到3.3V。因?yàn)檎麄€(gè)系統(tǒng)的模塊都只用3.3V電壓供電,所以穩(wěn)壓模塊只用進(jìn)行一級降壓和穩(wěn)壓,所選用的穩(wěn)壓芯片LM-2596是一款輸出電流3A降壓開關(guān)型集成穩(wěn)壓芯片,電流具有很好的線性和負(fù)載調(diào)節(jié)特性。功率小,效率高,整個(gè)系統(tǒng)平穩(wěn)工作電流可達(dá)到0.8A,瞬時(shí)工作電流在1.2A左右。所以,本申請電源設(shè)計(jì)符合系統(tǒng)工作的要求。由于mpu6050傳感器芯片對工作電壓要求極高,所以此設(shè)計(jì)系統(tǒng)增加一個(gè)測壓模塊,通過電壓比較器LM301A來讀出電池電量,確保系統(tǒng)始終穩(wěn)定工作在有效的電壓范圍之內(nèi)。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。