ams AS5048 14 ビット回転位置センサー(デジタル角度および PWM 出力付き)
製品情報
AS5048は、デジタル角度(インターフェース)とPWM出力を備えた14ビット回転位置センサーです。ams OSRAMグループによって設計され、 アロー.comこのセンサーは回転物体の位置を測定するために使用され、正確な角度測定を提供します。
AS5048 アダプタ ボードは、別のテスト フィクスチャや PCB を構築する必要なく、AS5048 センサーのテストと評価を簡単に行うことができる回路です。アダプタ ボードは、マイクロコントローラまたは AS5048 デモボードに外部デバイスとして接続できます。
ボードの説明
AS5048 アダプタボードは、インターフェース タイプ A (SPI) または B (I2C)、4 x 2.6mm の取り付け穴、および P1 コネクタを備えています。AS5048 センサーとの接続と対話に便利な方法を提供します。
取り付け手順
AS5048 アダプタ ボードを取り付けるには、次の手順に従います。
- AS5048 位置センサーの上または下に直径方向の磁石を配置します。
- 磁石がパッケージの中央に 0.5 mm の許容誤差で配置されていることを確認します。
- 磁石とエンコーダケース間のエアギャップを 0.5mm ~ 2mm の範囲に維持します。
- 磁石ホルダーには、真鍮、銅、アルミニウム、ステンレス鋼などの非強磁性材料を使用してください。
これらの手順に従うことで、AS5048 アダプタ ボードが適切に機能し、正確な位置測定が保証されます。
改訂履歴
概要
AS5048 は、360 ビットの高解像度出力を備えた使いやすい 14° 角度位置センサーです。角度を測定するには、チップの中心で回転するシンプルな XNUMX 極磁石だけが必要です。
磁石は IC の上または下に配置できます。これを図 1 に示します。
図1: 磁気位置センサAS5048 + 磁石
AS5048アダプターボード
AS5048 アダプタ ボードは、テスト フィクスチャや PCB を構築せずに AS5048 磁気位置センサーを迅速にテストおよび評価できるシンプルな回路です。
ボードの説明
AS5048 アダプタボードは、テスト フィクスチャや PCB を構築せずに AS5048 ロータリー エンコーダを迅速にテストおよび評価できるシンプルな回路です。
PCB は、マイクロコントローラまたは外部デバイスとして AS5048 デモボードに接続できます。
図2: AS5048 アダプタボード
AS5048 アダプタ ボードの取り付け
直径方向の磁石を AS5048 位置センサーの下に配置し、0.5 mm の許容誤差でパッケージの中央に配置する必要があります。
磁石とエンコーダー ケース間のエアギャップは、0.5mm ~ 2mm の範囲に維持する必要があります。磁石ホルダーは強磁性体であってはなりません。この部品を作るには、真鍮、銅、アルミニウム、ステンレス鋼などの材料が最適です。
図3: AS5048 – AB – 取り付けと寸法
AS5048 アダプタ ボードとピン配列
図4: AS5048アダプタボードコネクタとエンコーダピン配置
表1:ピンの説明
ピンボード | ピン番号 AS5 048 | シンボルボード |
説明 |
P1 – 1 | 13 | グランド | 供給アース |
P1 – 2 | 3 | A2/みそ | SPI マスター イン/スレーブ アウト。 I2C アドレス選択ピン 2 と共有 |
P1 – 3 | 4 | A1/MOSI | SPI マスターアウト/スレーブイン; I2C アドレス選択ピン 1 と共有 |
P1 – 4 | 2 | SCL / SCK | SPI クロック入力; I2C クロック入力と共有 |
P1 – 5 | 1 | SDA/CSn | SPI チップ セレクト - アクティブ ロー。 I2C データピンと共有 |
P1 – 6 | 14 | パルス幅変調 | パルス幅変調出力 |
P1 – 7 |
12 |
3.3V |
3Vレギュレータ出力; VDD から内部調整されます。 3V 電源電圧の VDD に接続tage |
P1 – 8 | 11 | 5V | 供給量tage |
運用事例
MCU が磁石の角度を読み取るための最も完全で正確なソリューションは、SPI インターフェイスです。
One Device SPI モード、単方向 – 3 ワイヤ
AS5048-AB は、マイクロコントローラの業界標準 SPI ポートに直接接続できます。マイクロコントローラと AS5048 間の単方向通信 (角度 + アラーム値の読み取り) の最小接続要件は、MISO、SCK、SS/ です。
角度は、16 ビット SPI 転送ごとに読み取られます。 AS5048 データシートのレジスタ テーブル、レジスタ 3FFFh を参照してください。
図5: マイクロコントローラで単方向 SPI インターフェイスを使用する
4 つのデバイス SPI モード、双方向 – XNUMX ワイヤ
角度値以外のレジスタを読み取る必要がある場合、または AS5048 にレジスタを書き込むためには、信号 MOSI が必要です。
図6: マイクロコントローラで双方向SPIインターフェースを使用する
マルチ デバイス SPI デイジー チェーン モード
AS5048 は、SPI 通信のみに 4 本のワイヤを使用してデイジー チェーン接続できます。
nx エンコーダーを使用したこの構成では、シーケンスは次のように処理されます。
- MCU が SS/ = 0 を設定
- MCU は、チェーンを介して nx 16 ビット (例: READ コマンド FFFFh) をシフトします。
- MCU は SS/=1 を設定します
その時点で、すべての nx エンコーダーが READ コマンド FFFFh を受信しました。 - MCU は SS/=0 を設定します
- MCU は nx 16 ビットをシフトします (例: NOP コマンド 0000h)
- MCU は SS/=1 を設定します
その時点で、MISO で受信した nx 16 ビットは nx 角度値です。
図7: デイジー チェーン モードのマルチ デバイス
ファームウェアコーディング
次のソースコードは4線式アプリケーションに適合します
関数void spiReadData()はAS4から5048つの値を読み書きします。
- 送信コマンド READ AGC / 受信値不明
- READ MAGコマンドを送信/AGC値を受信
- READ Angleコマンドを送信/MAG値を受信
- 送信コマンド NOP (無操作) / 受信値 ANGLE
ループ内で READ ANGLE のみが必要な場合は、手順を 1 行に減らすことができます。
- READ Angleコマンドを送信 / 値Angleを受信
関数 static u8 spiCalcEvenParity(ushort value) はオプションで、16 ビット SPI ストリームのパリティ ビットを計算します。
/*!
************************************************* ***************************
* SPIインターフェース経由でチップデータを読み出す
*
* この関数は、SPIをサポートするチップからコード値を読み出すために使用されます。
* インターフェース。
************************************************* ***************************
*/
#define SPI_CMD_READ 0x4000 /*!< SPI インターフェース使用時の読み取り試行を示すフラグ */
#define SPI_REG_AGC 0x3ffd /*!< SPI 使用時の agc レジスタ */
#define SPI_REG_MAG 0x3ffe /*!< SPI 使用時のマグニチュードレジスタ */
#define SPI_REG_DATA 0x3fff /*!< SPI 使用時のデータレジスタ */
#define SPI_REG_CLRERR 0x1 /*!< SPI使用時にエラーレジスタをクリアする */
void spiReadData()
{
u16 dat; // SPI通信用の16ビットデータバッファ
u16 マグレグ;
ushort 角度、agcreg;
ubyte agc;
ushort値;
ビットアラームHi、アラームLo;
/* READ AGC コマンドを送信します。受信したデータは破棄されます。このデータは前のコマンドからのものです (不明)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
/ /* READ MAG コマンドを送信します。受信データは AGC 値です。このデータは前のコマンドから取得されます (不明)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = dat;
/* READ ANGLE コマンドを送信します。受信データは、前のコマンドからの MAG 値です */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = dat;
/* NOP コマンドを送信します。受信データは、前のコマンドからの ANGLE 値です */
dat = 0x0000; // NOP コマンド。
spiTransfer((u8*)&dat, sizeof(u16));
角度 = dat >> 2;
}
((dat & 0x4000) || (agcreg & 0x4000) || (magreg & 0x4000))の場合
{
/* エラーフラグが設定されています – リセットする必要があります */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
それ以外
{
agc = agcreg & 0xff // AGC値 (0..255)
value = dat & (16384 – 31 – 1); // 角度値 (0.. 16384 ステップ)
angle = (値 * 360) / 16384 // 角度の値(度)
(0..359.9°)
等級 = magreg & (16384 – 31 – 1);
アラームLo = (agcreg >> 10) & 0x1;
アラームHi = (agcreg >> 11) & 0x1;
}
}
/*!
************************************************* ***************************
* 16ビット符号なし整数の偶数パリティを計算する
*
* この関数はSPIインターフェースで偶数パリティを計算するために使用されます
* SPI 経由でエンコーダーに送信されるデータ。
*
* \param[in] value : パリティを計算する16ビットの符号なし整数
*
* \return : 偶数パリティ
*
************************************************* ***************************
*/
静的 u8 spiCalcEvenParity(ushort 値)
{
u8 カウント = 0;
u8 私;
for(i = 0; i <16; i ++)
{
(値 & 0x1)の場合
{
cnt++;
}
値 >>= 1;
}
cnt & 0x1 を返します。
}
/*!
************************************************* ***************************
* 16ビット符号なし整数の偶数パリティを計算する
*
* この関数はSPIインターフェースで偶数パリティを計算するために使用されます
* SPI 経由でエンコーダーに送信されるデータ。
*
* \param[in] value : パリティを計算する16ビットの符号なし整数
*
* \return : 偶数パリティ
*
************************************************* ***************************
*/
静的 u8 spiCalcEvenParity(ushort 値)
{
u8 カウント = 0;
u8 私;
for(i = 0; i <16; i ++)
{
(値 & 0x1)の場合
{
cnt++;
}
値 >>= 1;
}
cnt & 0x1 を返します。
}
AS5048-AB-ハードウェア
アダプタボードの回路図とレイアウトは次のとおりです。
AS5048-AB-1.1 回路図
図8: AS5048-AB-1.1 アダプターボードの回路図
AS5048 – AB – 1.1 PCB レイアウト
図9: AS5048-AB-1.1 アダプター ボードのレイアウト
著作権
Copyright ams AG、Tobelbader Strasse 30、8141 Unterpremstätten、オーストリア-ヨーロッパ。商標登録済み。無断複写・転載を禁じます。著作権所有者の事前の書面による同意なしに、本資料を複製、改変、統合、翻訳、保存、または使用することはできません。
免責事項
ams AG が販売するデバイスは、販売条件に記載されている保証および特許補償条項の対象となります。ams AG は、ここに記載されている情報に関して、明示的、法定、黙示的、または説明による保証を一切行いません。ams AG は、いつでも予告なしに仕様および価格を変更する権利を留保します。したがって、この製品をシステムに組み込む前に、最新情報について ams AG に確認する必要があります。この製品は、商用アプリケーションでの使用を目的としています。軍事、医療用生命維持装置または生命維持装置などの、温度範囲の拡大、異常な環境要件、または高信頼性アプリケーションを必要とするアプリケーションは、各アプリケーションに対して ams AG による追加処理を行わない限り、特に推奨されません。この製品は ams によって「現状のまま」提供され、明示的または黙示的な保証は適用されません。
商品性および特定目的への適合性に関する黙示の保証を含み、ただしこれらに限定されない保証は一切否認されます。
ams AG は、人身傷害、物的損害、利益の損失、使用の損失、事業の中断、または間接的、特別、偶発的、または結果的な損害を含むがこれらに限定されない、受領者または第三者に対して責任を負わないものとします。ここに記載されている技術データの提供、性能、または使用に関連して、またはそれらから生じる種類。 ams AGが技術的またはその他のサービスを提供することから、受領者または第三者に対するいかなる義務または責任も発生または流出しないものとします。
連絡先
本部
アムスAG
トーベルバーダー通り 30
8141 ウンタープレムシュテッテン
オーストリア
電話: +43 (0) 3136 500 0
営業所、代理店、代理店については、以下をご覧ください。
http://www.ams.com/contact
ダウンロード元 アロー.com.
ドキュメント / リソース
![]() |
ams AS5048 14 ビット回転位置センサー(デジタル角度および PWM 出力付き) [pdf] ユーザーマニュアル AS5048-AB-1.1、AS5048 14 ビット ロータリー ポジション センサー (デジタル角度および PWM 出力付き)、AS5048、14 ビット ロータリー ポジション センサー (デジタル角度および PWM 出力付き)、AS5048 14 ビット ロータリー ポジション センサー、ロータリー ポジション センサー、ポジション センサー、センサー |