在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用LInterp的精確線性磁性位置傳感器

使用LInterp的精確線性磁性位置傳感器

2023-02-03 | zip | 0.04 MB | 次下載 | 免費(fèi)

資料介紹

描述

教程向您展示如何“虛擬化”非線性磁性位置傳感器,以通過(guò)單個(gè)函數(shù)調(diào)用生成精確的線性位置測(cè)量值。它使用ProjectHub 教程“ LInterp - 線性插值 PROGMEM 數(shù)組生成器”中描述的 LInterp 數(shù)組生成器為程序空間內(nèi)存中的傳感器生成線性平移數(shù)組 ( )。生成的傳感器測(cè)量功能不使用 RAM 存儲(chǔ)。該方案適用于任何 Arduino 開發(fā)板。PROGMEM

一個(gè)簡(jiǎn)單的磁性位置傳感器

霍爾效應(yīng)磁通量傳感器(例如本教程中使用的Allegro Microsystems UGN3503 )與放置在被監(jiān)測(cè)運(yùn)動(dòng)部件上的小型稀土磁體一起使用時(shí),可成為出色的非接觸式短程位置傳感器。在必須以非侵入方式(除靜磁場(chǎng)之外)將位置傳感器安裝到現(xiàn)有設(shè)備或機(jī)械傳感器會(huì)提供太多運(yùn)動(dòng)阻力的情況下,它是理想的選擇。它還提供高度的位置分辨率,僅受所選平移陣列大小和 Arduino 板 ADC模擬分辨率的限制。

磁通量傳感器包括一個(gè)小型(約 0.5 平方毫米)霍爾效應(yīng)晶體管,耦合到一個(gè)放大器,采用單個(gè)三端低成本塑料晶體管封裝?;魻栃?yīng)晶體管產(chǎn)生與其兩端的磁通密度成正比的電流,放大器將其縮放為零與其電源電壓之間的輸出電壓(UGN3503 旨在使用 5V 電源工作,但可用于較低的分辨率3.3V)。它可以在許多幾何結(jié)構(gòu)中用作近靜態(tài)位置傳感器或高頻(高達(dá) 20KHz)旋轉(zhuǎn)編碼器。Allegro 提供詳細(xì)的設(shè)計(jì)參考對(duì)于設(shè)備。作為位置編碼器,該傳感器需要強(qiáng)而小的磁通量源,例如釹圓盤磁鐵,以提供更大的物理范圍(毫米)的測(cè)量。然而,固定磁鐵周圍的磁通量密度隨距其表面的距離呈非線性變化,因此傳感器的輸出電壓不會(huì)隨距磁鐵的距離呈線性變化。事實(shí)上,要計(jì)算傳感器對(duì)于給定磁鐵的讀數(shù)及其相互分離是非常困難的,在實(shí)踐中,傳感器 - 磁鐵響應(yīng)函數(shù)被映射在其預(yù)期的使用范圍內(nèi)。這必須通過(guò)安裝在被測(cè)設(shè)備組件內(nèi)的傳感器和磁鐵來(lái)完成,以便周圍鐵質(zhì)部件產(chǎn)生的環(huán)境磁場(chǎng)構(gòu)成校準(zhǔn)的一部分。因此,磁性傳感器最適合用于(連續(xù)或參考)位置監(jiān)測(cè)的永久安裝。

在沒(méi)有任何外加磁場(chǎng)的情況下(注意:地球的磁場(chǎng)微弱到可以忽略不計(jì)),UGN3503 將輸出其電源電壓的一半,或 2.5V(對(duì)于 5V 標(biāo)稱電源)。施加到設(shè)備正面(徽標(biāo)側(cè))的北 (N) 極性磁場(chǎng)會(huì)將輸出驅(qū)動(dòng)至零伏,而施加的南 (S) 極性磁場(chǎng)會(huì)將輸出驅(qū)動(dòng)至電源電壓。我們可以通過(guò)在傳感器上移動(dòng)磁鐵 S 極(見(jiàn)下文)以產(chǎn)生峰值輸出電壓/位置關(guān)系來(lái)進(jìn)行最簡(jiǎn)單的位置測(cè)量。請(qǐng)注意,在沒(méi)有任何由局部磁場(chǎng)環(huán)境強(qiáng)加的不對(duì)稱性的情況下,磁鐵從左側(cè)或右側(cè)朝向傳感器的運(yùn)動(dòng)會(huì)產(chǎn)生相同的傳感器輸出。

geom1_2KU7s59fnU.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

上述幾何結(jié)構(gòu)僅使用傳感器輸出范圍的一半。我們可以通過(guò)在所需運(yùn)動(dòng)范圍的兩端使用兩個(gè)極性相反的磁鐵來(lái)實(shí)現(xiàn)更多的位置分辨率和/或范圍,如下所示。

geom2_y47DBbqOH9.jpg?auto=compress%2Cformat&w=740&h=555&fit=max

如圖所示,磁鐵相對(duì)于傳感器的運(yùn)動(dòng)不必是線性的。磁鐵可以旋轉(zhuǎn)或擺動(dòng)經(jīng)過(guò)傳感器。在所有情況下,傳感器對(duì)磁鐵整個(gè)運(yùn)動(dòng)范圍的響應(yīng)必須以位置增量映射。如果現(xiàn)有組件布局規(guī)定磁鐵不能靠近傳感器 3 毫米以內(nèi),則可以將一個(gè)小的圓柱形鐵質(zhì)物體(例如 m4 螺釘)作為磁通耦合器端接放置在傳感器后面,以增加傳感器截獲的磁通量密度。

映射傳感器輸出

為測(cè)量函數(shù)實(shí)現(xiàn)給定精度和準(zhǔn)確度所需的映射點(diǎn)數(shù)量由所選的線性變換陣列大小和 ADC 分辨率決定。后者形成了硬件可能固定的最終分辨率的上限,但在大多數(shù)情況下,專用于陣列的內(nèi)存是測(cè)量精度的主要限制因素。LInterp數(shù)組生成器通過(guò)自動(dòng)將數(shù)組放置在程序空間 (PROGMEM) 內(nèi)存,比微控制器 RAM 大得多。這是在編譯 Arduino 草圖時(shí)執(zhí)行的,因此不需要運(yùn)行時(shí)代碼。它還在提供的映射點(diǎn)之間線性插入數(shù)組值,因此可以定義大數(shù)組以從較少數(shù)量的映射點(diǎn)實(shí)現(xiàn)高翻譯精度。最重要的是,傳感器輸出以均勻增加(或減少)的位置增量映射,插值器將自動(dòng)在傳感器輸出的快速變化(響應(yīng)梯度或轉(zhuǎn)換率)區(qū)域分配更多陣列元素。

要選擇陣列大小和映射點(diǎn)密度,首先以所需的輸出單位指定線性傳感器虛擬化功能的目標(biāo)功能輸出分辨率,并計(jì)算所需的模擬設(shè)備輸出分辨率(以毫伏為單位)以實(shí)現(xiàn)所需的功能分辨率產(chǎn)生最小傳感器響應(yīng)梯度的磁鐵位置 - 距離傳感器最遠(yuǎn)的磁鐵,或直接位于傳感器下方的磁鐵。假設(shè)默認(rèn)的 Arduino 板 ADC 分辨率為 10 位或 1024 級(jí),模擬參考電壓 ( AREF ) 為 5.000V(并記住 ADC 最多只能讀取AREF - 1 LSB),我們獲得的固有 ADC 分辨率為(大約) 5mV 適用于連接到模擬輸入的任何設(shè)備。

對(duì)于此示例,我們將采用單磁體幾何結(jié)構(gòu),其中磁體位于直徑 50mm 的金屬圓盤的邊緣,旋轉(zhuǎn)金屬圓盤以使磁體的 S 極朝向傳感器,最小間隔為 3mm。我們選擇以度為單位的圓盤方向的輸出刻度,我們可以使用三角學(xué)通過(guò)將指針連接到圓盤并測(cè)量其尖端移動(dòng)的距離來(lái)精確測(cè)量。我們?yōu)椋ū热缯f(shuō))0.1 度的傳感器輸出函數(shù)指定一個(gè)目標(biāo)角分辨率。通過(guò)使用電壓表監(jiān)測(cè)傳感器的輸出,我們發(fā)現(xiàn)在距傳感器 12 度的磁鐵位置處,指針的連續(xù)度數(shù)增量之間的差異降至 20mV。由于 20mV 大約等于 4 個(gè) ADC 電平,我們?cè)谶@里獲得的“設(shè)備”角分辨率僅為 0.25 度,因此 1 度范圍內(nèi)的插值最多會(huì)超出 0.13 度(忽略 ADC 誤差)。如果我們將這個(gè)位置同時(shí)作為我們的分辨率規(guī)格、范圍限制和零位置,那么我們可以計(jì)算出與可能的最高分辨率對(duì)應(yīng)的線性平移陣列的最大尺寸:

0度傳感器電壓:2.62V

12度時(shí)傳感器電壓:4.21V

要求的模擬設(shè)備分辨率:5mV

分辨率限制下的最大插值大?。? 個(gè) ADC 級(jí)別

最大數(shù)組大小= ( 4.21 - 2.62 ) / ( 4 * 0.005 ) = 80 個(gè)元素(加上數(shù)組插值上限的一個(gè)元素)

接下來(lái),我們決定要測(cè)量多少個(gè)映射點(diǎn),這取決于我們可以測(cè)量圓盤周圍指針?lè)侄鹊木龋约巴ㄟ^(guò)在平移數(shù)組值的映射點(diǎn)之間使用線性插值來(lái)估計(jì)我們損失了多少分辨率。后一種約束在檢測(cè)器響應(yīng)的最陡峭區(qū)域影響最大,在這種情況下,電壓表上可以看到磁體位置距傳感器 5-6 度,傳感器梯度約為每度 500mV。該圖對(duì)應(yīng)于我們最大插值大小的 25 個(gè)數(shù)組元素,但該區(qū)域中滿足我們選擇的角分辨率規(guī)范的元素要少得多。這里數(shù)組元素的過(guò)度分配是我們(整個(gè)數(shù)組)插值大小規(guī)范被設(shè)置為傳感器響應(yīng)極限的設(shè)備分辨率限制的不可避免結(jié)果。如果我們通過(guò)取地圖中點(diǎn) 6 和 7 的平均值來(lái)手動(dòng)插入電壓預(yù)測(cè),我們將獲得 3.33V 的預(yù)測(cè)值;測(cè)量我們圓盤上這個(gè)位置(6.5 度)的實(shí)際電壓,我們得到 3.29V 或 40mV 的最壞情況插值誤差。因此,通過(guò)以 1 度的間隔映射傳感器并在它們之間進(jìn)行線性插值,我們可以在任何地方滿足我們的角分辨率標(biāo)準(zhǔn)。[進(jìn)階說(shuō)明:如果我們只想在地圖的一個(gè)區(qū)域增加測(cè)繪點(diǎn),使得點(diǎn)間距不規(guī)則,那么就必須對(duì)整張地圖進(jìn)行正則化。見(jiàn) 測(cè)量我們圓盤上這個(gè)位置(6.5 度)的實(shí)際電壓,我們得到 3.29V 或 40mV 的最壞情況插值誤差。因此,通過(guò)以 1 度的間隔映射傳感器并在它們之間進(jìn)行線性插值,我們可以在任何地方滿足我們的角分辨率標(biāo)準(zhǔn)。[進(jìn)階說(shuō)明:如果我們只想在地圖的一個(gè)區(qū)域增加測(cè)繪點(diǎn),使得點(diǎn)間距不規(guī)則,那么就必須對(duì)整張地圖進(jìn)行正則化。見(jiàn) 測(cè)量我們圓盤上這個(gè)位置(6.5 度)的實(shí)際電壓,我們得到 3.29V 或 40mV 的最壞情況插值誤差。因此,通過(guò)以 1 度的間隔映射傳感器并在它們之間進(jìn)行線性插值,我們可以在任何地方滿足我們的角分辨率標(biāo)準(zhǔn)。[進(jìn)階說(shuō)明:如果我們只想在地圖的一個(gè)區(qū)域增加測(cè)繪點(diǎn),使得點(diǎn)間距不規(guī)則,那么就必須對(duì)整張地圖進(jìn)行正則化。見(jiàn) 那么整個(gè)地圖必須正則化。見(jiàn) 那么整個(gè)地圖必須正則化。見(jiàn)LInterp參考教程部分“ Irregularly-spacedordinate mapping sets ”了解詳情。]

配置數(shù)組生成器

LInDev.h從LInterp參考教程中復(fù)制設(shè)備虛擬器大綱頭文件并將其重命名LInMagSens.h為與草圖或其其他頭文件中的任何一個(gè)。我們?cè)诖疟P上以 1 度間隔測(cè)量的傳感器映射點(diǎn)電壓值現(xiàn)在LI_P0以LI_P12毫伏為單位作為定義輸入,其余未使用的條目已刪除。所有定義在使用后都被數(shù)組生成器腳本刪除,因此我們需要在和標(biāo)簽處保留數(shù)組開始和結(jié)束位置(以毫伏為單位)的副本(注意 long-int 類型 'LI_PnLI_MAG_SENS_IN_MINMAG_SENS_IN_MAXL' 后綴以防止任何用戶提供的代碼中的整數(shù)算術(shù)溢出)。接下來(lái),我們?cè)贛AG_SENS_OUT_標(biāo)簽處定義數(shù)組輸出縮放,并在 處定義插值大小MAG_SENS_INTERP。這樣就完成了數(shù)組定義。

模擬電壓相對(duì)于我們的傳感器映射的正確轉(zhuǎn)換至關(guān)重要的是實(shí)際模擬參考電壓,在Arduino板AREF引腳上測(cè)量或施加。ADC 使用它來(lái)將輸入電壓縮放到電平,并且必須提供給標(biāo)簽上的陣列發(fā)生器,以毫伏為單位。不要假定顯示的默認(rèn) 5000mV 值,因?yàn)樾⌒桶遢d 5V 穩(wěn)壓器如果被濫用可能會(huì)超出數(shù)百 mV。另一種常見(jiàn)的參考電壓錯(cuò)誤是由于假定AREF的 USB 端口為 5V 電源而引起的。符合標(biāo)準(zhǔn)的 Arduino 板在此電源中包含一個(gè)勢(shì)壘二極管,可降低板的工作電壓(和AREFANALOG_RNG)到約4.65V 。由不正確的比例引起的錯(cuò)誤ANALOG_RNG表現(xiàn)為變換數(shù)組末尾或以上的設(shè)備輸出級(jí)別的變換函數(shù)的輸出值丟失或無(wú)意義,其大小也根據(jù)ANALOG_RNG. 還要記住,在AREF引腳上使用的外部參考電壓需要代碼analogReference( EXTERNAL ); 中的函數(shù)調(diào)用setup()或MAG_SENS_Setup()器件函數(shù)原型。

標(biāo)LIndev.h頭還包括用于設(shè)備初始化、數(shù)組插值和設(shè)備訪問(wèn)的原型函數(shù)。這些自動(dòng)引用上面定義的自定義值標(biāo)簽并且無(wú)需修改即可工作。根據(jù)需要添加或更改這些函數(shù),以隔離一個(gè)頭文件中的所有特定于設(shè)備的代碼,并為來(lái)自底層設(shè)備的測(cè)量生成單個(gè)函數(shù)調(diào)用。未使用的功能不會(huì)上傳到 Arduino 開發(fā)板。在我們的示例中,該函數(shù)MAG_SENS_ReadAvg()被包裝在一個(gè)名為的宏中,該宏P(guān)osition()將圓盤的當(dāng)前角度作為一個(gè)float值返回。存根程序LInMagSens.ino只是打開與 Arduino IDE 串行監(jiān)視器的串行通信,并返回對(duì)Position()函數(shù)的連續(xù)調(diào)用序列。

完成的設(shè)備虛擬器沒(méi)有使用 RAM 和約 700 字節(jié)的代碼空間內(nèi)存,包括約 350 字節(jié)的數(shù)組。使用的pgmspace.h庫(kù)和analogRead()函數(shù)一起占用大約 1.3K 的代碼空間內(nèi)存,這不會(huì)添加到進(jìn)一步的設(shè)備定義中。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1涂鴉各WiFi模塊原理圖加PCB封裝
  2. 11.75 MB   |  76次下載  |  1 積分
  3. 2錦銳科技CA51F2 SDK開發(fā)包
  4. 24.06 MB   |  29次下載  |  1 積分
  5. 3錦銳CA51F005 SDK開發(fā)包
  6. 19.47 MB   |  3次下載  |  1 積分
  7. 4蘋果iphone 11電路原理圖
  8. 4.98 MB   |  3次下載  |  2 積分
  9. 5基礎(chǔ)模擬電子電路
  10. 3.80 MB   |  3次下載  |  1 積分
  11. 6RA-Eco-RA6M4-100PIN-V1.0開發(fā)板資料
  12. 34.89 MB  |  1次下載  |  免費(fèi)
  13. 7STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)
  14. 3.32 MB   |  1次下載  |  免費(fèi)
  15. 8聯(lián)想A820t手機(jī)維修圖紙包括主板原理圖 尾板原理圖 點(diǎn)位圖
  16. 0.62 MB   |  次下載  |  5 積分

本月

  1. 1AI智能眼鏡產(chǎn)業(yè)鏈分析
  2. 4.43 MB   |  383次下載  |  免費(fèi)
  3. 2蘇泊爾電磁爐線路的電路原理圖資料合集
  4. 2.02 MB   |  296次下載  |  5 積分
  5. 3貼片三極管上的印字與真實(shí)名稱的對(duì)照表詳細(xì)說(shuō)明
  6. 0.50 MB   |  94次下載  |  1 積分
  7. 4長(zhǎng)虹液晶電視R-HS310B-5HF01的電源板電路原理圖
  8. 0.46 MB   |  91次下載  |  5 積分
  9. 5涂鴉各WiFi模塊原理圖加PCB封裝
  10. 11.75 MB   |  76次下載  |  1 積分
  11. 6錦銳科技CA51F2 SDK開發(fā)包
  12. 24.06 MB   |  29次下載  |  1 積分
  13. 7AO4803A雙P通道增強(qiáng)型場(chǎng)效應(yīng)晶體管的數(shù)據(jù)手冊(cè)
  14. 0.11 MB   |  28次下載  |  2 積分
  15. 8長(zhǎng)虹液晶彩電LS29機(jī)芯的技術(shù)資料說(shuō)明
  16. 3.42 MB   |  16次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191388次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
主站蜘蛛池模板: 婷婷久久综合网 | 日本高清一区二区三区不卡免费 | 4438全国最大成人免费高清 | 美女网站在线观看视频18 | 久久福利青草精品资源站免费 | 欧美三级视频网站 | brazzersvideosexhd欧美高清 | 97久久天天综合色天天综合色 | 亚欧精品一区二区三区 | 欧美三级一区 | 国产综合色在线视频区色吧图片 | 久久性感美女视频 | 亚洲天堂资源网 | 免费成人黄色 | 免费三级黄色 | 免费在线一区二区三区 | 日韩免费毛片 | 国产综合图区 | 一级一片免费视频播放 | 欧美巨大xxxx做受中文字幕 | 亚洲综合在线观看一区www | 国产日本三级 | 日韩精品系列产品 | 国内一级毛片 | 国产精品女仆装在线播放 | 视频一本大道香蕉久在线播放 | 成年看片免费高清观看 | 亚洲美女视频在线观看 | www.91在线| 日本欧美一区二区免费视 | 美女视频毛片 | 日本黄色片黄色片 | 色噜噜亚洲精品中文字幕 | 日本一区二区三区免费看 | 亚洲一区二区三区中文字幕5566 | 日本网站免费观看 | 视频一本大道香蕉久在线播放 | 婷婷激情综合五月天 | 91高清在线成人免费观看 | 成人免费午间影院在线观看 | 手机看片自拍自自拍日韩免费 |