99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于傳感器的精確微型操縱桿的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-03-15 08:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

便攜式設(shè)備通常需要使用線性雙軸位置傳感器操縱桿,隨著便攜式設(shè)備的激增,對(duì)這種傳感能力的需求也在增加。設(shè)計(jì)人員的任務(wù)是滿足關(guān)鍵性能要求,如靈敏度,準(zhǔn)確度,低功耗和更平穩(wěn)的操作,同時(shí)還降低成本,減小尺寸,并添加觸覺(jué)反饋等功能。

本文將介紹在介紹為移動(dòng)設(shè)備設(shè)計(jì)低成本,靈敏的操縱桿所需的部件和代碼之前,操縱桿的功能如何。

操縱桿的功能

視頻游戲中常用的操縱桿由以下部分組成:兩個(gè)正交電位器,用于通過(guò)旋轉(zhuǎn)軸的機(jī)構(gòu)進(jìn)行X和Y運(yùn)動(dòng)(圖1)。這些工作良好且價(jià)格低廉,但相當(dāng)大并且在中心位置周圍有明顯的睫毛。此外,電位器觸點(diǎn)易受環(huán)境因素的影響,這可能會(huì)引入噪聲并降低可靠性。

圖1:Parallax的27800是一個(gè)很好的例子。操縱桿使用兩個(gè)彼此成直角安裝的旋轉(zhuǎn)電位器。 (圖像來(lái)源:Parallax)

PC筆記本電腦鍵盤中嵌入的無(wú)處不在的“指點(diǎn)桿”使用了力敏感或應(yīng)變計(jì)電阻作為傳感元件(圖2)。這些電阻器放置在桿的四個(gè)側(cè)面上。移動(dòng)棒壓縮一個(gè)或多個(gè)電阻器改變它們的值。它們非常小,可靠,并提供與位移成比例的觸覺(jué)力反饋。向下按壓桿會(huì)改變所有四個(gè)電阻器的值,從而可以測(cè)量Z軸位移。問(wèn)題是這些指點(diǎn)桿不再以高容量制造。目前可用的是非常昂貴的,可能花費(fèi)數(shù)十甚至數(shù)百美元。

圖2:嵌入在PC中的典型“nub”指點(diǎn)桿筆記本鍵盤。這被發(fā)現(xiàn)作為鼠標(biāo)或觸摸板的替代品的普及。 (圖片來(lái)源:維基百科)

使用磁鐵檢測(cè)運(yùn)動(dòng)

另一種操縱桿解決方案是來(lái)自ams的AS5013霍爾效應(yīng)IC,它使用微小的移動(dòng)磁鐵來(lái)確定X-Y位置。 AS5013是一個(gè)完整的解決方案,包含五個(gè)傳感器和一個(gè)處理引擎,與主機(jī)處理器的集成非常容易。它具有體積小(3.7 mm 2 ),精確,低功耗,可靠且易于實(shí)施的優(yōu)點(diǎn)。它需要2.7伏至3.6伏電源,在空閑模式下功耗不到3微安。它將檢測(cè)磁體在標(biāo)稱±1 mm范圍內(nèi)的運(yùn)動(dòng)。

圖3:AS5013和軸向磁鐵的典型布置(圖像來(lái)源:ams)

磁鐵在磁鐵上的移動(dòng)霍爾元件產(chǎn)生幾何分布的響應(yīng),如鐘形曲線(圖4)。最大磁鐵行程是圍繞AS5013中心的2 mm半徑圓?;魻栐﨏1至C4放置在以包裝中間為中心的圓上。正好位于中間的霍爾元件C5用于更好的線性響應(yīng),磁體位移大于±1.0 mm。

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖4:霍爾元件的放置和磁場(chǎng),磁鐵位于每個(gè)霍爾元件的中心。 (圖像來(lái)源:ams)

使用單個(gè)電源的簡(jiǎn)單應(yīng)用只需要四根電線:兩個(gè)用于電源,兩個(gè)用于I 2 C通信。另外,可以添加第五個(gè)連接以便向主機(jī)CPU發(fā)送中斷,并且可以添加第六個(gè)連接作為重置。

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖5:AS5013與主機(jī)微控制器的框圖和電氣連接。所有六條線都顯示連接,但只需要VDD,GND和兩個(gè)I 2 C信號(hào)SDA和SCL)。 ADDR引腳選擇兩個(gè)I 2 C地址之一。 (圖片來(lái)源:ams)

為了簡(jiǎn)化AS5013的開(kāi)發(fā),ams提供了AS5013-QF_EK_AB評(píng)估套件(圖6),可以輕松連接到ArduinoNXP Freedom板。

圖6:AS5013-QF_EK_AB評(píng)估套件簡(jiǎn)化了AMS5013的開(kāi)發(fā),包含兩個(gè)主要組件:AS5013霍爾傳感器電路板和磁體組件(左下)。磁鐵組件安裝在電路板的背面。 (圖像來(lái)源:ams)

IC安裝在印刷電路板的正面,而磁鐵組件安裝在AMS5013 IC中心正下方的背面。該套件需要仔細(xì)焊接才能完成組裝。非常重要的是磁體組件正確定位或讀數(shù)會(huì)有偏移,這將在后面討論。

套件中使用的安裝方法只是一個(gè)建議。磁鐵組件模塊也可以用合適的安裝硬件安裝在IC的頂部。對(duì)于需要僅安裝在一側(cè)的組件的電路板,這可能更為可取。

磁性組件模塊還有一個(gè)內(nèi)部圓頂開(kāi)關(guān)。按下桿,常開(kāi)(N.O.)開(kāi)關(guān)被激活,作為按鈕點(diǎn)擊。開(kāi)關(guān)的焊盤位于背面,需要焊接到印刷電路板上。

在評(píng)估套件的原理圖中,注意內(nèi)部圓頂開(kāi)關(guān)的按鈕信號(hào)(標(biāo)記為BUTn)(圖7) )。按下操縱桿時(shí),這將短接到地面。

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖7:在AS5013評(píng)估板原理圖上,請(qǐng)注意按鈕信號(hào)(BUTn)按下操縱桿時(shí),內(nèi)部圓頂開(kāi)關(guān)會(huì)短路接地。 (圖像來(lái)源:ams)

評(píng)估設(shè)置

為了評(píng)估ams操縱桿,它可以連接到NXP的FRDM-KL05Z板,它使用非常小且成本低32位ARM ? Cortex ? M0 +。只需要4根導(dǎo)線:3.3伏,接地,I 2 C SLK和I 2 C SDA。

圖8:FRDM-KL05Z和AS5013評(píng)估套件僅使用4根電線進(jìn)行連接。 (圖片來(lái)源:Digi-Key

嵌入式代碼是使用mbed開(kāi)發(fā)系統(tǒng)(mbed.org)編寫的。它是一個(gè)免費(fèi)的基于Web的集成開(kāi)發(fā)環(huán)境(IDE)。編程語(yǔ)言類似于Arduino草圖,但實(shí)際上是帶有庫(kù)類的C ++。代碼是開(kāi)源的,整個(gè)項(xiàng)目可以在這里獲得。

嵌入式代碼非常簡(jiǎn)單,充當(dāng)套件和主機(jī)PC之間的橋梁。 FRDM-KL05Z與AS5013之間的通信通過(guò)2線I 2 C進(jìn)行。代碼的主要部分在連續(xù)的while循環(huán)中運(yùn)行(清單1)。每隔100 ms,讀取AS5013的數(shù)據(jù),然后通過(guò)虛擬USB UART COM設(shè)備以115200波特8N1打印。

#include“mbed.h”

#if defined(TARGET_KL05Z)

#else

#error TARGET NOT DEFINED

#endif

PinName const SDA = PTB4;

PinName const SCL = PTB3;

I2C i2c(SDA,SCL);//構(gòu)造I2c對(duì)象

const int addr = 0x40 << 1;//AS5013的i2c地址

串行電腦(USBTX,USBRX);//可選,但需要設(shè)置更快的波特

char data [7];

int main(){

int8_t x,y;//x y要打印到終端的值

uint8_t statusF;//狀態(tài)標(biāo)志

pc.baud(115200);

init_AS5013();//重置并初始化AS5013

while(1){//無(wú)限循環(huán)

wait(0.1);//等待100毫秒

statusF = 0;

data [0] = 0x0f;

i2c.write(addr,data,1);//設(shè)置為讀取地址0x0f

i2c.read(addr,data,3);//在寄存器0x0f,0x10,0x11讀取數(shù)據(jù)

statusF = data [0];//獲取狀態(tài)字節(jié)

if(statusF&amp; 0x01){

x = data [1];//get x

y = data [2];//得到

printf(“%d%d”,x,y);//輸出結(jié)果

printf(“ n”);

}

< p> else {

pc.printf(“error 0x%x n”,statusF);//不應(yīng)該到這里

}

}

}//結(jié)束

清單1:使用“mbed”IDE的main()源代碼。這是在FRDM-KL05Z板上運(yùn)行的代碼。它由一個(gè)無(wú)限循環(huán)組成,它從I 2 C接口讀取X和Y值。 (代碼來(lái)源:mbed)

在主機(jī)PC端,您有許多選擇。最簡(jiǎn)單的方法是使用終端程序,如Tera Term for Windows或MiniCom for Linux。終端輸出列出了X和Y的值(圖9)。 AS5013為X和Y提供8位有符號(hào)值,相對(duì)于Y = X = 0(校準(zhǔn)后)的中心位置,從+128到-127。

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖9:連續(xù)顯示AS5013 X和Y 8位值的Tera Term輸出。 (圖像來(lái)源:Digi-Key)

PC圖形顯示

Python 3.6編寫的程序提供了很好的數(shù)據(jù)可視化。代碼可以在GitHub上獲得。

這個(gè)程序是用Windows 7編寫和測(cè)試的,但相同的代碼將在Linux或Mac上運(yùn)行。 Python可以從python.org下載。

圖10顯示了“示波器”顯示中X和Y數(shù)據(jù)的輸出。 X顯示在藍(lán)色跡線中,Y顯示為紅色。

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖10:顯示X(藍(lán)色)和Y(紅色)操縱桿移動(dòng)。操縱桿左右上下移動(dòng)。 (圖像來(lái)源:Digi-Key)

第二個(gè)選項(xiàng)與棒的移動(dòng)同步地在屏幕周圍移動(dòng)一個(gè)小圓圈(圖11)。屏幕中心的紅色圓圈對(duì)應(yīng)于默認(rèn)的桿位置,其中X和Y均為零。未觸摸時(shí),操縱桿返回此位置。

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖11:紅色圓圈(代表操縱桿)在中間位置或中心位置的位置。 (圖像來(lái)源:Digi-Key)

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖12:當(dāng)棒被推到鞋面時(shí)紅圈在左上象限中的位置剩下。 (圖片來(lái)源:Digi-Key)

偏移效應(yīng)和校準(zhǔn)

如前所述,磁性組件模塊的正確定位非常重要,因?yàn)樗苯游挥贏S5013的上方(或下方)。不這樣做會(huì)產(chǎn)生偏移。在這種情況下,中心位置X和Y值將不為零。為了克服這個(gè)問(wèn)題,計(jì)算每個(gè)軸的偏移并將其添加到最終結(jié)果中。圖13和圖14顯示了校準(zhǔn)前偏移的影響。

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖13:帶偏移的X-Y值。請(qǐng)注意,零位置低于中心線。 (圖像來(lái)源:Digi-Key)

基于傳感器的精確微型操縱桿的設(shè)計(jì)

圖14:由于偏移而偏離中心的操縱桿位置。 (圖片來(lái)源:Digi-Key)

校準(zhǔn)非常簡(jiǎn)單。當(dāng)程序首次啟動(dòng)時(shí),取幾個(gè)讀數(shù)的X和Y值,并將棒放在中心位置,取平均值并加上或減去一個(gè)偏移量,使結(jié)果為零。

縮放

磁鐵與AS5013之間的距離因設(shè)計(jì)而異,影響了獲得+/- 127滿量程讀數(shù)的能力。例如,電路板厚度會(huì)影響靈敏度。幸運(yùn)的是,這可以通過(guò)AS5013的寄存器0x2D中設(shè)置的“縮放因子”來(lái)控制。如果磁鐵距離太近,則應(yīng)將其從默認(rèn)值100%降低。相反,如果磁鐵太遠(yuǎn),應(yīng)該增加。通過(guò)改變比例因子也可以調(diào)節(jié)運(yùn)動(dòng)靈敏度。

低功耗模式

AS5013可以進(jìn)入超低功耗模式,可以被喚醒通過(guò)將桿移動(dòng)到用戶可配置的閾值。喚醒后,它可以向主機(jī)MCU產(chǎn)生中斷,然后繼續(xù)正常操作。

高級(jí)傳感器數(shù)據(jù)

總共有五個(gè)霍爾傳感器??梢詮拿總€(gè)傳感器讀取原始數(shù)據(jù)并將其用于自定義配置。一個(gè)有趣的應(yīng)用是感應(yīng)磁鐵在Z方向上移動(dòng),模仿按鈕。隨著磁鐵靠近AS5013,中心霍爾元件值增加。這可以與固定閾值進(jìn)行比較以確定推動(dòng)狀態(tài)。其余四個(gè)霍爾傳感器也會(huì)受到較小的影響。然而,在外部寄生磁場(chǎng)的情況下,這四個(gè)傳感器可用于改善檢測(cè)。在ams的應(yīng)用筆記AN5013-20中有一個(gè)很好的例子。

然而,當(dāng)使用磁性組件模塊時(shí),圓頂開(kāi)關(guān)是一種更簡(jiǎn)單,更強(qiáng)大的按鈕按壓解決方案。

結(jié)論

AS5013和磁性裝配模塊是小而精確的操縱桿界面的理想選擇。它非常敏感,可以對(duì)很小的動(dòng)作做出反應(yīng)。在許多情況下,它是大型電位計(jì)或昂貴的應(yīng)變計(jì)操縱桿的理想替代品。評(píng)估套件提供了一個(gè)簡(jiǎn)單的開(kāi)發(fā)平臺(tái)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2566

    文章

    53008

    瀏覽量

    767542
  • 電阻器
    +關(guān)注

    關(guān)注

    21

    文章

    4047

    瀏覽量

    63562
  • 電位器
    +關(guān)注

    關(guān)注

    14

    文章

    1017

    瀏覽量

    67946
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    labview操縱桿

    用labview自帶的初始化操縱桿,輸入設(shè)備信息,獲取操縱桿的坐標(biāo)軸,會(huì)占很大的內(nèi)存!?。?!還有其他方法嗎??!
    發(fā)表于 04-13 01:06

    編碼操縱桿問(wèn)題

    我設(shè)計(jì)了一個(gè)帶有拖曳馬達(dá)的皮艇,并通過(guò)操縱桿驅(qū)動(dòng)(我是一個(gè)四肢癱瘓的人,仍然想要皮劃艇)。目前我的代碼被設(shè)置為獲得操縱桿位置的x/y值,然后相對(duì)于x值轉(zhuǎn)動(dòng)馬達(dá)(只有90到90度),并調(diào)整螺旋槳的動(dòng)力
    發(fā)表于 12-21 15:47

    如何消除操縱桿尖峰

    大家好,我用PIC18F45 50做了操縱桿,現(xiàn)在當(dāng)我移動(dòng)罐子時(shí),我收到一些尖刺……我怎么去除尖刺?謝謝
    發(fā)表于 04-16 10:56

    復(fù)古操縱桿的資料分享

    描述復(fù)古操縱桿的自動(dòng)開(kāi)火部分:1 - 4011 與非門集成電路1 - 1M 歐姆1 - 1K 歐姆1 - 6.8K 歐姆1 - 470 歐姆1 - 50-100K 鍋。1 - 1uF 電容2 - 1N4148 二極管1 - 領(lǐng)導(dǎo)PCB
    發(fā)表于 07-14 07:34

    MAME旋轉(zhuǎn)操縱桿轉(zhuǎn)USB的資料分享

    描述MAME 旋轉(zhuǎn)操縱桿轉(zhuǎn) USB要使用像 SNK 的 LS30 這樣的街機(jī)旋轉(zhuǎn)操縱桿或像 MAME 中的 Happ Controls 旋轉(zhuǎn)這樣的克隆,需要將 12 個(gè)旋轉(zhuǎn)位置開(kāi)關(guān)轉(zhuǎn)換為順時(shí)針或
    發(fā)表于 07-22 06:12

    同時(shí)使用1個(gè)操縱桿玩2臺(tái)使用Atari DB-9風(fēng)格操縱桿端口的電腦

    描述Perifractic 和 Lorin Millsap 的 DoubleJoy - 使用 2 臺(tái)計(jì)算機(jī)和 1 個(gè)操縱桿這個(gè)瘋狂的科學(xué)實(shí)驗(yàn)讓您可以玩 2 臺(tái)使用 Atari DB-9 風(fēng)格操縱桿端口的電腦,同時(shí)使用 1 個(gè)操縱桿
    發(fā)表于 08-12 07:11

    操縱桿工作原理

    操縱桿工作原理 引言 操縱桿為我們表演了一個(gè)非常巧妙的戲法,它將純粹的物理動(dòng)作(手部的運(yùn)動(dòng))完完全全地
    發(fā)表于 07-28 09:22 ?1.4w次閱讀

    基于C++的游戲操縱桿模擬鼠標(biāo)的程序

      要編寫一個(gè)支持游戲操縱桿的應(yīng)用程序,首先必須要捕獲游戲操縱桿,接著要處理Windows發(fā)送給程序窗口的操縱桿消息,最后使用完操縱桿后,還應(yīng)將捕獲的
    發(fā)表于 09-01 11:54 ?2188次閱讀

    設(shè)計(jì)精確微型操縱桿

    便攜式設(shè)備通常需要使用一個(gè)線性的兩軸位置傳感器操縱桿,隨著便攜式設(shè)備的激增,這種傳感能力的需求也在增加。設(shè)計(jì)人員的任務(wù)是滿足關(guān)鍵性能要求,如靈敏度、精確度、低功耗和更平滑的操作,同時(shí)
    發(fā)表于 09-15 09:17 ?11次下載

    基于Arduino Pro Mini的操縱桿手柄和DIY相機(jī)滑塊

    方案介紹操縱桿手柄控制可以使用兩軸值(操縱桿旋鈕的移動(dòng)方向)來(lái)控制項(xiàng)目。此外,在這個(gè)項(xiàng)目中,我制作了一個(gè) DIY 相機(jī)滑塊,并使用 Arduino 操縱桿手控制
    發(fā)表于 12-27 16:35 ?0次下載

    DIY按鈕操縱桿模塊

    我非常喜歡在項(xiàng)目中使用操縱桿模塊,并且通常使用模擬操縱桿。但是最近我買了一個(gè)數(shù)字操縱桿,花了我3美元左右。經(jīng)過(guò)分析,我發(fā)現(xiàn)一個(gè)看起來(lái)像操縱桿的組件實(shí)際上以某種方式由5個(gè)按鈕組成。因此,
    發(fā)表于 01-04 16:30 ?0次下載

    PHPoC基于網(wǎng)絡(luò)的操縱桿

    電子發(fā)燒友網(wǎng)站提供《PHPoC基于網(wǎng)絡(luò)的操縱桿.zip》資料免費(fèi)下載
    發(fā)表于 02-01 10:05 ?0次下載
    PHPoC基于網(wǎng)絡(luò)的<b class='flag-5'>操縱桿</b>

    Arduino基于網(wǎng)絡(luò)的操縱桿

    電子發(fā)燒友網(wǎng)站提供《Arduino基于網(wǎng)絡(luò)的操縱桿.zip》資料免費(fèi)下載
    發(fā)表于 02-01 10:06 ?0次下載
    Arduino基于網(wǎng)絡(luò)的<b class='flag-5'>操縱桿</b>

    使用Blynk手機(jī)應(yīng)用程序提供的超聲波傳感器操縱桿

    電子發(fā)燒友網(wǎng)站提供《使用Blynk手機(jī)應(yīng)用程序提供的超聲波傳感器操縱桿.zip》資料免費(fèi)下載
    發(fā)表于 06-28 14:41 ?0次下載
    使用Blynk手機(jī)應(yīng)用程序提供的超聲波<b class='flag-5'>傳感器</b>和<b class='flag-5'>操縱桿</b>

    如何使用操縱桿和Arduino控制伺服電機(jī)

    在這篇文章中,我們將學(xué)習(xí)如何使用操縱桿和Arduino控制伺服電機(jī)。我們將看到有關(guān)操縱桿,其銷,其結(jié)構(gòu)和工作的概述。我們將從操縱桿中提取有用的數(shù)據(jù),這些數(shù)據(jù)將成為控制伺服電機(jī)的基礎(chǔ)。
    的頭像 發(fā)表于 07-27 11:47 ?2335次閱讀
    如何使用<b class='flag-5'>操縱桿</b>和Arduino控制伺服電機(jī)