欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

基于傳感器的精確微型操縱桿的設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-03-15 08:42 ? 次閱讀

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

本文將介紹在介紹為移動設備設計低成本,靈敏的操縱桿所需的部件和代碼之前,操縱桿的功能如何。

操縱桿的功能

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

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

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

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

使用磁鐵檢測運動

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

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

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

基于傳感器的精確微型操縱桿的設計

圖4:霍爾元件的放置和磁場,磁鐵位于每個霍爾元件的中心。 (圖像來源:ams)

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

基于傳感器的精確微型操縱桿的設計

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

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

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

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

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

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

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

基于傳感器的精確微型操縱桿的設計

圖7:在AS5013評估板原理圖上,請注意按鈕信號(BUTn)按下操縱桿時,內(nèi)部圓頂開關會短路接地。 (圖像來源:ams)

評估設置

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

圖8:FRDM-KL05Z和AS5013評估套件僅使用4根電線進行連接。 (圖片來源:Digi-Key

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

嵌入式代碼非常簡單,充當套件和主機PC之間的橋梁。 FRDM-KL05Z與AS5013之間的通信通過2線I 2 C進行。代碼的主要部分在連續(xù)的while循環(huán)中運行(清單1)。每隔100 ms,讀取AS5013的數(shù)據(jù),然后通過虛擬USB UART COM設備以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);//構造I2c對象

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

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

char data [7];

int main(){

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

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

pc.baud(115200);

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

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

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

statusF = 0;

data [0] = 0x0f;

i2c.write(addr,data,1);//設置為讀取地址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);//輸出結果

printf(“ n”);

}

< p> else {

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

}

}

}//結束

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

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

基于傳感器的精確微型操縱桿的設計

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

PC圖形顯示

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

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

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

基于傳感器的精確微型操縱桿的設計

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

第二個選項與棒的移動同步地在屏幕周圍移動一個小圓圈(圖11)。屏幕中心的紅色圓圈對應于默認的桿位置,其中X和Y均為零。未觸摸時,操縱桿返回此位置。

基于傳感器的精確微型操縱桿的設計

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

基于傳感器的精確微型操縱桿的設計

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

偏移效應和校準

如前所述,磁性組件模塊的正確定位非常重要,因為它直接位于AS5013的上方(或下方)。不這樣做會產(chǎn)生偏移。在這種情況下,中心位置X和Y值將不為零。為了克服這個問題,計算每個軸的偏移并將其添加到最終結果中。圖13和圖14顯示了校準前偏移的影響。

基于傳感器的精確微型操縱桿的設計

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

基于傳感器的精確微型操縱桿的設計

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

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

縮放

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

低功耗模式

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

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

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

然而,當使用磁性組件模塊時,圓頂開關是一種更簡單,更強大的按鈕按壓解決方案。

結論

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

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

    關注

    2553

    文章

    51480

    瀏覽量

    757070
  • 電阻器
    +關注

    關注

    21

    文章

    3806

    瀏覽量

    62377
  • 電位器
    +關注

    關注

    14

    文章

    1015

    瀏覽量

    67016
收藏 人收藏

    評論

    相關推薦

    labview操縱桿

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

    編碼操縱桿問題

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

    如何消除操縱桿尖峰

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

    復古操縱桿的資料分享

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

    MAME旋轉操縱桿轉USB的資料分享

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

    同時使用1個操縱桿玩2臺使用Atari DB-9風格操縱桿端口的電腦

    描述Perifractic 和 Lorin Millsap 的 DoubleJoy - 使用 2 臺計算機和 1 個操縱桿這個瘋狂的科學實驗讓您可以玩 2 臺使用 Atari DB-9 風格操縱桿端口的電腦,同時使用 1 個操縱桿
    發(fā)表于 08-12 07:11

    操縱桿工作原理

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

    基于C++的游戲操縱桿模擬鼠標的程序

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

    設計精確微型操縱桿

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

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

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

    DIY按鈕操縱桿模塊

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

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

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

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

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

    使用Blynk手機應用程序提供的超聲波傳感器操縱桿

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

    如何使用操縱桿和Arduino控制伺服電機

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