ams AS5048 14비트 회전식 위치 센서(디지털 각도 및 PWM 출력 포함)
제품 정보
AS5048은 디지털 각도(인터페이스) 및 PWM 출력이 있는 14비트 회전식 위치 센서입니다. ams OSRAM Group에서 설계하고 Arrow.com. 센서는 회전하는 물체의 위치를 측정하는 데 사용되며 정확한 각도 측정을 제공합니다.
AS5048 어댑터 보드는 별도의 테스트 픽스처나 PCB를 구축할 필요 없이 AS5048 센서를 쉽게 테스트하고 평가할 수 있는 회로입니다. 어댑터 보드는 마이크로컨트롤러 또는 AS5048-Demoboard에 외부 장치로 부착할 수 있습니다.
보드 설명
AS5048 어댑터 보드는 인터페이스 유형 A(SPI) 또는 B(I2C), 4 x 2.6mm 실장 구멍 및 P1 커넥터가 특징입니다. AS5048 센서와 연결하고 상호 작용하는 편리한 방법을 제공합니다.
장착 지침
AS5048 어댑터 보드를 장착하려면 다음 단계를 따르십시오.
- AS5048 위치 센서 위나 아래에 직경 자석을 놓습니다.
- 자석이 0.5mm의 공차로 패키지 중앙에 오도록 하십시오.
- 자석과 엔코더 케이스 사이의 공극을 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.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 | PWM | 펄스 폭 변조 출력 |
P1 – 7 |
12 |
3.3V |
3V 레귤레이터 출력; VDD에서 내부적으로 규제됩니다. 3V 공급 전압을 위해 VDD에 연결tage |
P1 – 8 | 11 | 5V | 공급량tage |
운영 사례
MCU가 자석의 각도를 읽는 가장 완벽하고 정확한 솔루션은 SPI 인터페이스입니다.
단일 장치 SPI 모드, 단방향 – 3선
AS5048-AB는 마이크로컨트롤러의 산업 표준 SPI 포트에 직접 연결할 수 있습니다. 마이크로컨트롤러와 AS5048 사이의 단방향 통신(각도 + 경보 값 판독)을 위한 최소 연결 요구 사항은 MISO, SCK, SS/입니다.
각 16비트 SPI 전송에서 각도를 읽습니다. AS5048 데이터시트 레지스터 테이블, 레지스터 3FFFh를 참조하십시오.
그림 5: 마이크로컨트롤러와 함께 SPI 인터페이스 단방향 사용
단일 장치 SPI 모드, 양방향 - 4선
각도 값 이외의 다른 레지스터를 읽어야 하거나 레지스터를 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-Wire 애플리케이션에 적합합니다.
함수 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를 지원하는 칩에서 코드 값을 읽어오는 데 사용됩니다.
* 상호 작용.
************************************************** ***************************
*/
#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 dat; // SPI 통신을 위한 16비트 데이터 버퍼
u16 마그레그;
u단각, agcreg;
유바이트 agc;
ushort 값;
비트 알람Hi, alarmLo;
/* READ AGC 명령을 보냅니다. 수신된 데이터는 버려집니다. 이 데이터는 선행 명령(unknown)*/에서 가져옵니다.
데이터 = 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));
마그레그 = 데이터;
/* READ ANGLE 명령을 보냅니다. 수신된 데이터는 이전 명령의 MAG 값입니다. */
데이터 = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
어그레그 = 데이터;
/* 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 = (값 * 360) / 16384 // 각도 값(도)
(0..359.9°)
크기 = maggreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
************************************************** ***************************
* 부호 없는 16비트 정수의 짝수 패리티 계산
*
* 이 함수는 SPI 인터페이스에서 짝수 패리티를 계산하는 데 사용됩니다.
* SPI를 통해 인코더로 전송될 데이터.
*
* \param[in] value : 패리티를 계산할 16비트 무부호 정수
*
* \return : 짝수 패리티
*
************************************************** ***************************
*/
정적 u8 spiCalcEvenParity(ushort 값)
{
u8 cnt = 0;
u8i;
for (i = 0; i < 16; i++)
{
if(값 & 0x1)
{
cnt++;
}
값 >>= 1;
}
반환 cnt & 0x1;
}
/*!
************************************************** ***************************
* 부호 없는 16비트 정수의 짝수 패리티 계산
*
* 이 함수는 SPI 인터페이스에서 짝수 패리티를 계산하는 데 사용됩니다.
* SPI를 통해 인코더로 전송될 데이터.
*
* \param[in] value : 패리티를 계산할 16비트 무부호 정수
*
* \return : 짝수 패리티
*
************************************************** ***************************
*/
정적 u8 spiCalcEvenParity(ushort 값)
{
u8 cnt = 0;
u8i;
for (i = 0; i < 16; i++)
{
if(값 & 0x1)
{
cnt++;
}
값 >>= 1;
}
반환 cnt & 0x1;
}
AS5048-AB-하드웨어
다음은 Adapterboard의 회로도 및 레이아웃을 찾을 수 있습니다.
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는 개인 상해, 재산 피해, 이익 손실, 사용 손실, 업무 중단 또는 간접적, 특별, 부수적 또는 결과적 손해를 포함하되 이에 국한되지 않는 모든 손해에 대해 수취인 또는 제XNUMX자에게 책임을 지지 않습니다. 여기에 기술 데이터의 제공, 성능 또는 사용과 관련하여 또는 그로부터 발생하는 종류. 수령인이나 제XNUMX자에 대한 어떠한 의무나 책임도 ams AG의 기술 또는 기타 서비스 제공에서 발생하거나 유출되지 않습니다.
연락처 정보
본부
암스 AG
토벨바더 거리 30
8141 운터프렘스테텐
오스트리아
전화: +43 (0) 3136 500 0
영업 사무소, 총판 및 대리인의 경우 다음을 방문하십시오.
http://www.ams.com/contact
에서 다운로드 Arrow.com.
문서 / 리소스
![]() |
ams AS5048 14비트 회전식 위치 센서(디지털 각도 및 PWM 출력 포함) [PDF 파일] 사용자 매뉴얼 AS5048-AB-1.1, 디지털 각도 및 PWM 출력이 있는 AS5048 14비트 회전 위치 센서, AS5048, 디지털 각도 및 PWM 출력이 있는 14비트 회전 위치 센서, AS5048 14비트 회전 위치 센서, 회전 위치 센서, 위치 센서, 감지기 |