<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 傳感測量產品 > 工業傳感器 > 霍爾傳感器

      類型分類:
      科普知識
      數據分類:
      霍爾傳感器

      具有 ASEK DLL 諧波線性化功能的先進編程算法

      發布日期:2022-04-26 點擊率:108

      下載 PDF 版

      作者:K. Robert Bate,
      Allegro MicroSystems, LLC

      介紹

      無論是工業自動化和機器人技術,還是電動助力轉向和電機位置傳感,許多應用都需要監測旋轉軸(以軸上或離軸排列形式)的角度。

      在設計中使用磁體時,磁場輸入在整個旋轉范圍很可能不均勻,它存在固有誤差。這些磁場輸入誤差會導致系統內的測量誤差。線性化能減少這些輸入誤差。

      A1332 和A1335 可采用的諧波線性化能以最多 15 種修正諧波的形式應用線性化,利用快速傅立葉變換 (FFT) 可確定它們的相位和振幅,根據磁體在角度傳感器 IC 周圍的一次旋轉產生的數據可完成 FFT。通過使用 Allegro 提供的軟件計算系數,并對片內 EEPROM 進行編程,可使用這種技術。本應用說明介紹了,當 Allegro 提供的軟件不夠靈活或要使用定制軟件時,客戶能使用的功能和處理流程。

      編程要求

      所有軟件都是在使用 .NET 4.0 的 Microsoft Visual Studio 2010 環境下開發的。請為您要使用的器件下載命令庫 (C#/.NET),并添加到其所含的 3 個 DLL 的項目參考中。

      收集數據

      首先,關閉所有后線性化算法處理;這包括零點偏移、后線性化旋轉 (RO)、短行程反轉 (IV) 和旋轉晶片位元 (RD)。預線性化調節可保持開啟,如 ORATE 設置、IIR 過濾器 (FI) 和預線性化旋轉 (LR)。

      沿角度增加的位置移動編碼器。如果角度傳感器 IC 的輸出未相應增大,可設置 LR 位元以反轉角度傳感器 IC 輸出的反向,或在校準時沿反方向轉動編碼器,在此情況下,可能需要設置后線性化旋轉位元 (RO)。參閱《A1332/ A1335 編程參考》了解更多詳情。

      最佳收集方法是按間距相等的步數旋轉目標,這樣產生的數據點數量就是 2 的冪數。通常,32 或 64 個間距均勻的數據點就足夠了。如果不能實現,可收集數據點,然后必須按下節介紹的方法預處理數據。

      另一種收集所需數據點的方法是多次旋轉目標,然后按預定義的間隔收集數據。當收集到足夠的數據點覆蓋目標的整個旋轉范圍時,接下來必須按下節介紹的方法預處理數據。

      預處理數據

      如果收集的數據點數量不是 2 的冪數,或者收集的數據點間距不等,必須調整數據點數組的長度并/或使它們間距相等。要對數據執行此操作,可調用 ResizePointArray 例程。

      參數 x 是編碼器數值的數組,參數 y 是在該編碼器數值中收集的器件讀數。參數 newSize 是重新調整的數組大小。如果參數 x 設置為空,則假設已按從 0 開始至 360 結束的相等間距收集數值 y。如果參數 x 不是空,則需要在調整數組大小前,為輸入數組排序。

      double[] ResizePointArray(double[] x, double[] y, int newSize)

      此例程會在輸入數組上執行三次樣條插值,以采用所需的數據點數量,生成間距相等的數組。

      初始處理

      數據收集完畢,并形成長度為 2 的冪數的數組后,就可以計算諧波系數了。要計算諧波系數,可調用 CalculateHarmonicLinearCoefficients 例程。

      HarmonicCoefficients[] CalculateHarmonicLinearCoefficients (double[] points, out bool pointError)

      其輸入是已收集的角度數組。此例程會執行 FFT,并會返回系數數組和一個警告標記。當一個或多個輸入角比例程計算的角度大 20 度時,需要設置點誤差警告標記。

      以一個包含 8 個輸入項的數組為例,例程計算的角度應為 [0, 45, 90, 135, 180, 225, 270, 315]。如果輸入數組是 [0, 45, 90, 135, 180, 204, 270, 315],則例程會設置 pointError,因為第 6 個輸入項的誤差超過 20 度。

      選擇諧波

      當所有諧波系數已計算完畢后,必須選擇所需的諧波。通常,計算例程生成的諧波數量會超過器件能支持的諧波數量,所以,必須選擇一些算法以選擇相關的諧波。

      使用諧波的數量還取決于所用的器件種類和功能。A1332 的諧波最大數量是 15,但如果使用最大值,一些可編程的功能會使用默認值,如短行程設置和特定的 I2C 與 SPI 設置。不使用默認值時,這些可編程功能的諧波最大數量是 9。A1335 的諧波最大數量是 11,但要達到此數量,一些可編程功能會使用默認值,如短行程設置。不使用默認值時,這些可編程功能的諧波最大數量是 8。

      最簡單的算法是按照所需的諧波數量選擇第一個諧波。這種方法很簡單,它選擇的諧波不會對輸出產生顯著的影響。

      Allegro A1335 的示例編程器目前使用的算法是選擇振幅大于 0.3 的諧波。需要注意的是,當前軟件的一個限制是在所選諧波之間只能跳過 4 個諧波。如果跳過的諧波超過 4 個,還需要選擇最后一個選定諧波和所需諧波之間的所有諧波。

      器件編程

      諧波選擇完畢后,可調用例程 GenerateHarmonicLinearizationDevicevalues 生成要寫入器件的數值。

      HarmonicDevicevalues[] GenerateHarmonicLinearizationDevicevalues (HarmonicCoefficients[] coefficients)

      諧波系數傳遞到此例程中,它會返回器件編程所需的一組數值。此例程拋出的唯一異常是在所選系數之間跳過 4 個以上諧波系數的情形。

      要對器件進行諧波線性化編程,必須設置 HL 標記,必須將 HAR_MAX 字段設置為要使用的系數數量,同時必須編寫 HARMONIC_PHASE_n、ADV_n 和 HARMONIC_AMPLITUDE_n 字段。

      代碼實例

      using System;
      using Allegro.ASEK;

      namespace HarmonicLinearizationExample
      {
          public class HarmonicLinearizationExample
          {
              public HarmonicLinearizationExample()
              {
              }

              public void ProgramHarmonicLinearization(string filePath, ASEK asekProgrammer)
              {
                  try
                  {
                      HarmonicCoefficients[] hc;
                      bool pointError = false;
                      double[] points = null;
                      string fieldBuffer = File.ReadAllText(filePath);
                      string line;
                      List

       


      角度輸入文件的格式

      此文件包含一個角度值列表。如果有兩個數值被逗號隔開,則第一個數值是編碼器角度,第二個數值是器件角度。行可以是空白的,如果它們以 # 打頭,則可將其視為注釋。

      角度輸入文件實例:

      329.59
      354.81
      6.832
      13.566
      17.592
      20.228
      22.638
      24.638
      25.956
      27.454
      28.77
      30.054
      30.966

      包含兩列時:

      0,123
      22.5,145.5
      45,168
      67.5,190.5
      90,213
      112.5,235.5
      135,258
      157.5,280.5
      180,303
      202.5,325.5
      225,348
      247.5,10.5
      270,33
      292.5,55.5
      315,78
      337.5,100.5


      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產品

      更多
      主站蜘蛛池模板: 国产亚洲综合成人91精品| 色婷婷综合和线在线| 久久婷婷成人综合色综合| 国产成人综合亚洲| 亚洲综合精品网站在线观看| 亚洲国产一成久久精品国产成人综合| 综合五月激情二区视频| 综合国产在线观看无码| 麻豆狠色伊人亚洲综合网站| 亚洲精品国产综合久久一线| 亚洲Av综合色区无码专区桃色| 中文字幕人成无码人妻综合社区 | 一本一道久久综合狠狠老| 综合色就爱涩涩涩综合婷婷| 亚洲日本国产综合高清| 久久综合丝袜日本网| 天天做天天爱天天爽综合区| 狠狠色狠狠色综合伊人| 色综合合久久天天给综看| 天天干天天色综合| 亚洲综合视频在线| 久久综合精品视频| 亚洲AV综合色一区二区三区| 久久综合狠狠综合久久97色| 成人综合久久综合| 亚洲a无码综合a国产av中文| 久久综合狠狠综合久久综合88| 麻豆精品久久精品色综合| 激情综合色综合久久综合| 狠狠色噜噜狠狠狠狠色综合久AV | 99久久国产综合精品麻豆| 狠狠爱天天综合色欲网| 人妻av综合天堂一区| 欧美日韩综合一区二区三区| 亚洲综合区图片小说区| 久久久久高潮综合影院 | 亚洲国产精品综合久久久| 亚洲国产综合自在线另类| 亚洲国产综合精品| 国产亚洲Av综合人人澡精品| 激情综合婷婷丁香五月蜜桃|