新聞中心

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

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

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

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

本文引用地址:http://butianyuan.cn/article/201809/388385.htm

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

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

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

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

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

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

如圖1所示,為遠(yuǎn)端用戶控制子系統(tǒng)和主機(jī)端信號接收子系統(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)器件感測加速度的大小,然后由感應(yīng)電信號器件轉(zhuǎn)為可識e的模擬電信號,ADXL345中集成了AD轉(zhuǎn)換器,可以將此模擬信號數(shù)字化,輸出的是16位的二進(jìn)制補(bǔ)碼。最值得一提的它集成了一個32級先進(jìn)先出(FIFO)存儲器管理系統(tǒng),可用于輸出數(shù)據(jù)的緩沖,降低主機(jī)處理器負(fù)荷,并降低整體系統(tǒng)功耗。

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

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

2)按鍵電路模塊

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

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

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

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

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

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

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

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

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

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

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

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

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

4 結(jié)束語

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



評論


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

關(guān)閉