新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于微加速度計(jì)的無(wú)線教鞭的設(shè)計(jì)

基于微加速度計(jì)的無(wú)線教鞭的設(shè)計(jì)

作者: 時(shí)間:2018-09-04 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:為彌補(bǔ)中激光筆的不足,提出了一種基于微加速度計(jì)的無(wú)線教鞭系統(tǒng),它不僅具有激光筆上下翻頁(yè)的功能,而且能在空中自由靈活移動(dòng)實(shí)現(xiàn)高精度點(diǎn)擊的功能,該系統(tǒng)以微加速度計(jì)ADXL345作為信號(hào)檢測(cè)元件,并采用低功耗低成本微控制器AT89S52和RF芯片nRF24 L01進(jìn)行信息處理與無(wú)線傳榆,符合,最大限度地滿足人們使用鼠標(biāo)時(shí)在手感以及舒適度和使用習(xí)慣方面的要求。

本文引用地址:http://2s4d.com/article/201809/388385.htm

目前或會(huì)議演示中已經(jīng)用到無(wú)線教鞭,但是更多的只能用來(lái)文檔的翻頁(yè),所以使用時(shí)還得配合有線或無(wú)線的鼠標(biāo),正由于這種傳統(tǒng)的機(jī)械式或光電式鼠標(biāo)不能脫離平坦有摩擦的工作表面,自身體積大,工作空間受限制,移動(dòng)不自由,所以我們開(kāi)發(fā)出了基于微加速度計(jì)的無(wú)線教鞭。

國(guó)外和港臺(tái)地區(qū)有一些單位早些年已經(jīng)開(kāi)展了這方面的研究,近些年國(guó)內(nèi)對(duì)該技術(shù)的研究日趨成熟,2002年?yáng)|南大學(xué)的李宏生申請(qǐng)了名為“移動(dòng)式全電子慣性鼠標(biāo)”的實(shí)用新型專利,它利用加速度計(jì)檢測(cè)到的加速度信號(hào)經(jīng)過(guò)積分并分頻后產(chǎn)生速度脈沖,再配合專用的鼠標(biāo)IC芯片實(shí)現(xiàn)。2004年清華大學(xué)工程物理系張樂(lè)平成功設(shè)計(jì)了一種基于加速度計(jì)的慣性鼠標(biāo),通過(guò)傾斜使用1的方式,獲得了很好的效果。2006年上海交通大學(xué)微納科學(xué)技術(shù)研究院黃得志等人成功設(shè)計(jì)出了一種基于微加速度傳感器的無(wú)線鼠標(biāo),以上3種鼠標(biāo)可以說(shuō)做的很好,但是他們使用專門的編碼和解碼芯片或?qū)S玫腁D轉(zhuǎn)換、鼠標(biāo)IC芯片或高性能的微控制器,這樣相應(yīng)地增大了板的體積,也增加了成本,我們基于此開(kāi)發(fā)出了基于微加速度計(jì)ADXL345的無(wú)線教鞭,該加速度計(jì)集成了AD轉(zhuǎn)換功能可以將采集的加速度信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),微控制器采用功耗小、價(jià)格低的AT89S52,它的無(wú)線傳輸距離能達(dá)到30~60 m,是傳統(tǒng)鼠標(biāo)的2~4倍,能在教師和會(huì)議室的任何位置遙控主機(jī)端光標(biāo)的動(dòng)作,完美的結(jié)合了傳統(tǒng)鼠標(biāo)和激光筆的功能,體積可以做的很小,便于攜帶,靈活應(yīng)用與各種場(chǎng)合,并且該無(wú)線教鞭符合人體工程學(xué)的設(shè)計(jì),能預(yù)防鼠標(biāo)手的出現(xiàn)。

1 系統(tǒng)整體設(shè)計(jì)

本項(xiàng)目設(shè)計(jì)分為兩部分,遠(yuǎn)端用戶控制子系統(tǒng)和主機(jī)端信號(hào)接收子系統(tǒng)。遠(yuǎn)端用戶控制子系統(tǒng)負(fù)責(zé)采集鼠標(biāo)位移信息和按鍵信息,并發(fā)送給主機(jī)端信號(hào)接收子系統(tǒng)。主機(jī)端信號(hào)接收子系統(tǒng)負(fù)責(zé)對(duì)接收到的信息進(jìn)行編碼并與計(jì)算機(jī)進(jìn)行通信,控制計(jì)算機(jī)執(zhí)行相關(guān)操作。

遠(yuǎn)端子系統(tǒng)由微加速度計(jì)、微控制器和無(wú)線射頻接收器組成。首先,遠(yuǎn)端子系統(tǒng)采集微加速度計(jì)ADXL345的信號(hào),將其通過(guò)特殊的積分算法轉(zhuǎn)化為位移量。然后,遠(yuǎn)端子系統(tǒng)綜合位移信號(hào)和按鍵信號(hào),按照無(wú)線模塊定義的格式對(duì)信號(hào)進(jìn)行編碼、最后通過(guò)無(wú)線射頻模塊將編碼好的數(shù)據(jù)發(fā)送給主機(jī)端子系統(tǒng)。

主機(jī)端子系統(tǒng)由無(wú)線射頻收發(fā)器、微控制器和USB控制芯片組成。USB控制芯片USBPD1D12負(fù)責(zé)主機(jī)端子系統(tǒng)與上位機(jī)之間的USB通訊控制。主機(jī)端子系統(tǒng)通過(guò)USB接口與上位機(jī)相連后,上位機(jī)操作系統(tǒng)會(huì)自動(dòng)加載HID類設(shè)備的驅(qū)動(dòng)程序,完成主機(jī)端和上位機(jī)的連接。然后主機(jī)端微控制器接收無(wú)線模塊nRF24L01傳輸?shù)奈灰坪桶存I信號(hào),進(jìn)而控制光標(biāo)的移動(dòng)和按鍵的操作。

如圖1所示,為遠(yuǎn)端用戶控制子系統(tǒng)和主機(jī)端信號(hào)接收子系統(tǒng)的結(jié)構(gòu)方框圖。

2 系統(tǒng)硬件設(shè)計(jì)

2.1 遠(yuǎn)端子系統(tǒng)硬件電路設(shè)計(jì)

1)微加速度計(jì)模塊

ADXL345是ADI公司的三軸數(shù)字加速度傳感器,工作原理是首先由前端感應(yīng)器件感測(cè)加速度的大小,然后由感應(yīng)電信號(hào)器件轉(zhuǎn)為可識(shí)e的模擬電信號(hào),ADXL345中集成了AD轉(zhuǎn)換器,可以將此模擬信號(hào)數(shù)字化,輸出的是16位的二進(jìn)制補(bǔ)碼。最值得一提的它集成了一個(gè)32級(jí)先進(jìn)先出(FIFO)存儲(chǔ)器管理系統(tǒng),可用于輸出數(shù)據(jù)的緩沖,降低主機(jī)處理器負(fù)荷,并降低整體系統(tǒng)功耗。

該芯片主要應(yīng)用于消費(fèi)電子的微型慣性器件,最大可感知±16 g的加速度,感應(yīng)精度可達(dá)3.9 mg/LSB,傾角測(cè)量典型誤差小于1°,超低功耗。通過(guò)其內(nèi)置的ADC將加速度信號(hào)轉(zhuǎn)換為數(shù)字量存放在片內(nèi)緩沖區(qū),在實(shí)際使用中,為提高輸出數(shù)據(jù)的穩(wěn)定性,設(shè)置感應(yīng)范圍為±2g,感應(yīng)精度為3.9 mg,可以滿足人體動(dòng)作加速度范圍與精度要求。

ADXL345可以通過(guò)SPI總線或I2C總線與單片機(jī)連接,本產(chǎn)品選擇的單片機(jī)模塊AT89S52不具有SPI和I2C接口,所以我們采用I/O口模擬I2C總線或SPI總線接口的方法連接。

2)按鍵電路模塊

按鍵電路模塊主要考慮消抖的問(wèn)題,我們這里采用軟件延時(shí)消抖,不過(guò)沒(méi)有采用在主程序中延時(shí),這樣很浪費(fèi)系統(tǒng)資源,而是用定時(shí)器延時(shí)設(shè)置標(biāo)志變量的方法。

2.2 主機(jī)端子系統(tǒng)硬件電路設(shè)計(jì)

如圖2,微控制器通過(guò)P1口(P1.4~P1.7)模擬四線制的SPI總線與nRF24L01連接,控制信號(hào)的接收與處理,接收的信號(hào)通過(guò)P0及其他控制端口傳給USB接口芯片PDIUSBD12進(jìn)而控制主機(jī)端光標(biāo)的移動(dòng),其中nRF24L01無(wú)線射頻模塊是一款新型單片射頻收發(fā)器件,工作于2.4GHz ISM頻段,最高工作速率達(dá)2 Mbps,信號(hào)空中傳輸時(shí)間很短,極大降低了無(wú)線傳輸中的碰撞現(xiàn)象和電流消耗,該芯片融合了增強(qiáng)型ShockBurst技術(shù),能自動(dòng)處理字頭和CRC效驗(yàn)碼,使用方便。該芯片功耗低,在以-6 dBm的功率發(fā)射時(shí),工作電流只有9 mA;接收時(shí),工作電流只有12.3 mA,多種低功率下作模式(掉電模式和空閑模式),使節(jié)能設(shè)計(jì)更方便。

PDIUSBD12是Philips公司的一個(gè)性能優(yōu)化的USB器件,通常用于基于微控制器的系統(tǒng),并通過(guò)高速通用并行接口與微控制器進(jìn)行通信,而且支持本地DMA傳輸。PDIUSDB12完全符合USB1.1規(guī)范,也能適應(yīng)大多數(shù)設(shè)備類規(guī)范的設(shè)計(jì),如成像類、大容量存儲(chǔ)類、通信類、打印類和人工輸入設(shè)備等。PDIUSBD12還集成了SoftConnect、GoodLink、可編程時(shí)鐘輸出、低頻晶振和終端電阻等特性。所有這些特性都能在系統(tǒng)實(shí)現(xiàn)時(shí)節(jié)省成本,同時(shí)在外圍設(shè)備上很容易實(shí)現(xiàn)更高級(jí)的USB功能。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 遠(yuǎn)端子系統(tǒng)軟件設(shè)計(jì)

3.1.1 發(fā)送和接收模塊

無(wú)線RF射頻收發(fā)模塊nRF24L01通過(guò)SPI總線連接用戶端和主機(jī)端,在使用時(shí)要分別對(duì)其配置,用戶端配置為發(fā)射模式,主機(jī)端配置為接收模式,并且要嚴(yán)格按照其數(shù)據(jù)格式及流程發(fā)送和接收數(shù)據(jù)。

3.1.2 微加速度計(jì)模塊

1)寄存器中數(shù)據(jù)的重建

微加速度計(jì)ADXL345與微處理器之間通過(guò)I2C總線連接,它們之間的數(shù)據(jù)傳輸需要遵循I2C總線協(xié)議,寄存器0x32至寄存器0x37分別保存x、y、z軸輸出數(shù)據(jù),輸出數(shù)據(jù)為二進(jìn)制補(bǔ)碼,DATAx0為最低有效字節(jié),DATAx1為最高有效字節(jié),其中x代表X、Y或Z。因?yàn)锳DXL345為16位數(shù)據(jù)格式,從數(shù)據(jù)寄存器中獲取加速度數(shù)據(jù)后,用戶必須對(duì)數(shù)據(jù)進(jìn)行重建。我們利用接口函數(shù)Multiple_read_ADXL345()多字節(jié)連續(xù)讀取寄存器的數(shù)據(jù),然后將高字節(jié)左移8位和低字節(jié)8位相或的方法對(duì)數(shù)據(jù)重建,且對(duì)我們來(lái)說(shuō),只需X和Z方向的加速度數(shù)據(jù)即可,程序如下:

ADXL345_DataReconstrution()

{ unsigned int Acceleration[2];

Multiple_Read_ADXL345();

Acceleration[0]=BUF[1];

ACCeleration[0]=(ACceleration[0]8)|BUF[0];

Acceleration[1]=BUF[5];

Acceleration[1]=(Acceleration[1]8)|BUF[4];

}

2)微加速度計(jì)ADXL345與普通鼠標(biāo)精度的比較

現(xiàn)在市面上普通光學(xué)鼠標(biāo)主流分辨率為400DPI,即每移動(dòng)1英寸可反饋400個(gè)不同點(diǎn)的坐標(biāo),也即該鼠標(biāo)的分辨率為25.4 mm/400=0.06 35mm。而ADXL345采用13位或10位的分辨率模式,此模式可以通過(guò)DATA_FORMAT寄存器(地址0x31)進(jìn)行設(shè)置,除此之外,該寄存器還可以沒(méi)置g的范圍,有±2 g,±4 g,±8 g,±16 g,該教鞭選擇10位模式,±2 g已經(jīng)能滿足對(duì)分辨率的要求,此時(shí)分辨率為4g/1024LSB=3.9mg/ LSB,我們是將采集到的加速度數(shù)據(jù)采用16進(jìn)制數(shù)字方式存儲(chǔ)在寄存器中,然后取出數(shù)據(jù)重建劃分步長(zhǎng)后,通過(guò)無(wú)線傳送至接收端控制鼠標(biāo)的移動(dòng),而USB鼠標(biāo)報(bào)告描述中規(guī)定,若接收到的數(shù)據(jù)為1則移動(dòng)一個(gè)像素,假設(shè)尺寸為300mm*190 mm的14寸顯示器,分辨率設(shè)置為1 024*768,那么橫向最小點(diǎn)間距為300 mm/1 024=0.293 0 mm,雖然這個(gè)數(shù)據(jù)沒(méi)有普通光學(xué)鼠標(biāo)高,但是對(duì)于一般教鞭已經(jīng)足夠,最重要的是我們可以通過(guò)軟件設(shè)置步長(zhǎng),可以在教鞭微動(dòng)的時(shí)候做出準(zhǔn)確移動(dòng),在需要情況下大幅晃動(dòng)教鞭能夠快速將光標(biāo)移動(dòng)到屏幕邊緣,符合人體工程學(xué)的要求,并且我們可以改變g值,分辨率模式及步長(zhǎng)來(lái)自由調(diào)整教鞭的移動(dòng)。設(shè)置的步長(zhǎng)程序如下:

3.2 主機(jī)端子系統(tǒng)軟件設(shè)計(jì)

圖3為接收端主程序流程圖,該接收端軟件部分主要包括:PDIUSBD12固件驅(qū)動(dòng),USB設(shè)備的枚舉過(guò)程。為了使軟件可移植性強(qiáng)、易維護(hù),采用分層的方法編寫PDIUSBD12的驅(qū)動(dòng)程序。USB驅(qū)動(dòng)程序分成接口和設(shè)備控制驅(qū)動(dòng)層、協(xié)議層和應(yīng)用層。應(yīng)用分層的方法編寫的程序條理清晰,可移植性好。而USB HID類是比較大的一個(gè)類,HID類設(shè)備屬于人機(jī)交互操作的設(shè)備。使用HID設(shè)備的一個(gè)好處就是,操作系統(tǒng)自帶了HID類的驅(qū)動(dòng)程序,而用戶無(wú)需去開(kāi)發(fā)很麻煩的驅(qū)動(dòng)程序,只要直接使用API調(diào)用即可完成通信。所以我們將USB設(shè)備枚舉成HID設(shè)備,這樣就可以不用安裝驅(qū)動(dòng)而直接使用。USB設(shè)備的枚舉過(guò)程實(shí)際上就是告知PC設(shè)備描述類型。當(dāng)插入U(xiǎn)SB設(shè)備后,主機(jī)會(huì)向設(shè)備請(qǐng)求各種描述符來(lái)識(shí)別設(shè)備,包括5個(gè)標(biāo)準(zhǔn)描述符:設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符、字符串描述符和3個(gè)HID設(shè)備類特定描述符:HID描述符、報(bào)告描述符、實(shí)體描述符。當(dāng)主機(jī)從它的描述符中知道了能夠知道的所有信息后,便開(kāi)始為這個(gè)設(shè)備安裝驅(qū)動(dòng)程序。此時(shí)USB枚舉過(guò)程結(jié)束,設(shè)備可以正常使用了。

4 結(jié)束語(yǔ)

本文應(yīng)用微加速度計(jì)和無(wú)線RF模塊,實(shí)現(xiàn)無(wú)線遙控的鼠標(biāo)操作。遙控有效距離可達(dá)30~60 m,功耗小,成本低,而且遙控?zé)o指向性,能大大增強(qiáng)多媒體的人機(jī)交互性能。而且該成品外觀設(shè)計(jì)合理,手感舒適,符合,能防止鼠標(biāo)手的出現(xiàn)。



評(píng)論


技術(shù)專區(qū)

關(guān)閉