ams AS5048 14 位元旋轉位置感測器,具有數位角度和 PWM 輸出
產品資訊
AS5048 是一款 14 位元旋轉位置感測器,具有數位角度(介面)和 PWM 輸出。它由艾邁斯歐司朗集團設計並由 艾睿網。此感測器用於測量旋轉物體的位置並提供精確的角度測量。
AS5048 轉接板是一種可以輕鬆測試和評估 AS5048 感測器的電路,無需建造單獨的測試夾具或 PCB。此適配器板可以作為外部設備連接到微控制器或 AS5048 演示板。
板描述
AS5048 轉接板具有 A (SPI) 或 B (I2C) 類型介面、4 x 2.6mm 安裝孔和 P1 連接器。它提供了一種與 AS5048 感測器連接和互動的便捷方式。
安裝說明
要安裝 AS5048 適配器板,請按照以下步驟操作:
- 在 AS5048 位置感測器上方或下方放置一塊直徑磁鐵。
- 確保磁鐵位於封裝中間的中心,公差為 0.5 毫米。
- 保持磁鐵和編碼器外殼之間的氣隙在 0.5mm 至 2mm 範圍內。
- 使用非鐵磁性材料(例如黃銅、銅、鋁或不銹鋼)作為磁鐵支架。
遵循這些說明將確保 AS5048 適配器板正常運作和準確的位置測量。
修訂歷史
一般說明
AS5048 是一款易於使用的 360° 角度位置感測器,具有 14 位元高解析度輸出。為了測量角度,只需要一個簡單的兩極磁鐵,在晶片中心旋轉。
磁鐵可以放置在 IC 上方或下方。如圖 1 所示。
圖 1:磁性位置感測器 AS5048 + 磁鐵
AS5048 適配器板
AS5048 轉接板是一個簡單的電路,可快速測試和評估 AS5048 磁性位置感測器,而無需建造測試夾具或 PCB。
主機板說明
AS5048 適配器板是一個簡單的電路,可以快速測試和評估 AS5048 旋轉編碼器,而無需建造測試夾具或 PCB。
PCB 可以作為外部設備連接到微控制器或 AS5048-演示板。
圖 2:AS5048 轉接板
安裝 AS5048 轉接板
直徑磁鐵必須放置在 AS5048 位置感測器下方,並且應位於封裝中間的中心,公差為 0.5mm。
磁鐵與編碼器外殼之間的氣隙應保持在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/莫西 | 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 內部調節。 連接到 VDD 以獲得 3V 電源電壓tage |
P1 – 8 | 11 | 5V | 供應量tage |
操作案例
MCU 讀取磁鐵角度的最完整和準確的解決方案是 SPI 接口。
一個設備 SPI 模式,單向 – 3 線
AS5048-AB 可直接連接到微控制器的業界標準 SPI 連接埠。微控制器和 AS5048 之間單向通訊(角度+警報值讀取)的最低連接要求是 MISO、SCK、SS/。
角度將在每次 16 位 SPI 傳輸時讀取。 見 AS5048 datasheet 寄存器表,寄存器 3FFFh。
圖5: 將 SPI 接口單向用於微控制器
一個設備 SPI 模式,雙向 – 4 線
如果需要讀取除角度值之外的其他寄存器,或者為了將寄存器寫入 AS5048,則需要信號 MOSI。
圖6: 使用微控制器雙向 SPI 接口
多設備 SPI 菊花鏈模式
AS5048 可以菊花鍊式連接,僅使用 4 根線進行 SPI 通信。
在這個帶有 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,則過程可以減少到一行:
- 發送命令讀取角度/接收值角度
函數 static u8 spiCalcEvenParity(ushort value) 是可選的,它計算 16 位元 SPI 流的奇偶校驗位。
/*!
************************************************** **** **************************
* 透過SPI介面讀取晶片數據
*
* 此函數用於從支援SPI的晶片中讀取cordic值
* 介面.
************************************************** **** **************************
*/
#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時清除錯誤暫存器 */
無效 spiReadData()
{
u16 數據; // 用於SPI通訊的16位元資料緩衝區
u16 磁滯;
u短角,agcreg;
優字節 agc;
u短值;
位alarmHi、alarmLo;
/* 發送 READ AGC 命令。接收到的資料被丟棄:該資料來自前面的命令(未知)*/
資料 = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
/ /* 發送 READ MAG 命令。接收到的資料是AGC值:此資料來自前面的指令(未知)*/
資料 = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = 數據;
/* 發送讀取角度指令。接收到的資料是來自先前命令的 MAG 值 */
資料 = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = 數據;
/* 發送 NOP 命令。接收到的資料是來自先前命令的 ANGLE 值 */
數據= 0x0000; // NOP 指令。
spiTransfer((u8*)&dat, sizeof(u16));
角度=資料>>2;
}
if ((dat & 0x4000) || (agcreg & 0x4000) || (magreg & 0x4000))
{
/* 錯誤標誌設定 – 需要重設它 */
資料 = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
別的
{
agc = agcreg & 0xff // AGC 值 (0..255)
值 = 數據 & (16384 – 31 – 1); // 角度值(0..16384 步)
angle = (value * 360) / 16384 // 角度值(以度為單位)
(0..359.9°)
震級 = magreg & (16384 – 31 – 1);
AlarmLo = (agcreg >> 10) & 0x1;
AlarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
************************************************** **** **************************
* 計算16位元無符號整數的偶校驗
*
* 此函數用於SPI介面計算偶校驗
* 將透過 SPI 傳送到編碼器的資料。
*
* \param[in] value : 16位元無符號整數,需計算奇偶校驗
*
* \return : 偶校驗
*
************************************************** **** **************************
*/
靜態 u8 spiCalcEvenParity(ushort 值)
{
u8碳奈米管 = 0;
u8 我;
對於 (i = 0; i < 16; i++)
{
如果(值&0x1)
{
cnt++;
}
值>>= 1;
}
返回cnt&0x1;
}
/*!
************************************************** **** **************************
* 計算16位元無符號整數的偶校驗
*
* 此函數用於SPI介面計算偶校驗
* 將透過 SPI 傳送到編碼器的資料。
*
* \param[in] value : 16位元無符號整數,需計算奇偶校驗
*
* \return : 偶校驗
*
************************************************** **** **************************
*/
靜態 u8 spiCalcEvenParity(ushort 值)
{
u8碳奈米管 = 0;
u8 我;
對於 (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 適配器板佈局
版權
版權所有 ams AG,地址:Tobelbader Strasse 30, 8141 Unterpremstätten,奧地利-歐洲。商標已註冊。版權所有。未經版權所有者事先書面同意,不得複製、改編、合併、翻譯、儲存或使用本文中的資料。
免責聲明
艾邁斯半導體公司銷售的設備受其銷售條款中的保固和專利賠償條款的保護。艾邁斯半導體股份公司對此處所載資訊不作任何明示、法定、暗示或描述的保證。艾邁斯半導體保留隨時更改規格和價格的權利,恕不另行通知。因此,在將該產品設計到系統中之前,有必要向艾邁斯半導體公司核實當前資訊。該產品旨在用於商業應用。如果艾邁斯半導體公司未對每種應用進行額外處理,則特別不建議需要擴展溫度範圍、異常環境要求或高可靠性應用的應用,例如軍事、醫療生命維持設備或維生設備。本產品由艾邁斯半導體「按原樣」提供,任何明示或暗示的
不承擔任何保證,包括但不限於適銷性和特定用途適用性的默示保證。
ams AG 不對收件人或任何第三方的任何損害承擔責任,包括但不限於人身傷害、財產損失、利潤損失、使用損失、業務中斷或間接、特殊、附帶或後果性損害,任何與此處技術數據的提供、性能或使用有關或由此產生的種類。 ams AG 提供的技術或其他服務不會對接收方或任何第三方產生或流出任何義務或責任。
聯絡資訊
總部
艾邁斯半導體
托貝爾巴德大街 30
第8141章
奧地利
電話 +43 (0) 3136 500 0
對於銷售辦事處、分銷商和代表,請訪問:
http://www.ams.com/contact
下載自 艾睿網.
文件/資源
![]() |
ams AS5048 14 位元旋轉位置感測器,具有數位角度和 PWM 輸出 [pdf] 使用者手冊 AS5048-AB-1.1, AS5048 14-bit Rotary Position Sensor with Digital Angle and PWM Output, AS5048, 14-bit Rotary Position Sensor with Digital Angle and PWM Output, AS5048 14-bit Rotary Position Sensor, Rotary Position Sensor, Position Sensor,感應器 |