ams AS5048 14-розрядний поворотний датчик позиції з цифровим кутом і ШІМ-виходом
Інформація про продукт
AS5048 — це 14-розрядний поворотний датчик положення з цифровим кутом (інтерфейс) і ШІМ-виходом. Він розроблений ams OSRAM Group і опублікований Arrow.com. Датчик використовується для вимірювання положення об'єкта, що обертається, і забезпечує точні вимірювання кутів.
Адаптерна плата AS5048 — це схема, яка дозволяє легко тестувати та оцінювати датчик AS5048 без необхідності створення окремого тестового приладу чи друкованої плати. Адаптерну плату можна приєднати до мікроконтролера або AS5048-Demoboard як зовнішній пристрій.
Опис дошки
Адаптерна плата AS5048 має інтерфейс типу A (SPI) або B (I2C), 4 отвори для кріплення 2.6 мм і роз’єм P1. Він забезпечує зручний спосіб підключення та взаємодії з датчиком AS5048.
Інструкції з монтажу
Щоб встановити адаптерну плату AS5048, виконайте такі дії:
- Помістіть діаметральний магніт над або під датчиком положення AS5048.
- Переконайтеся, що магніт знаходиться по центру упаковки з допуском 0.5 мм.
- Підтримуйте повітряний зазор між магнітом і корпусом кодера в діапазоні від 0.5 мм до 2 мм.
- Для тримача магніту використовуйте неферомагнітний матеріал, наприклад латунь, мідь, алюміній або нержавіючу сталь.
Дотримання цих інструкцій забезпечить належне функціонування адаптерної плати AS5048 і точні вимірювання положення.
Історія версій
Загальний опис
AS5048 — це простий у використанні датчик кутового положення на 360° із 14-бітним вихідним сигналом високої роздільної здатності. Для вимірювання кута потрібен лише простий двополюсний магніт, що обертається над центром мікросхеми.
Магніт можна розмістити вище або нижче IC. Це показано на малюнку 1.
Малюнок 1: Магнітний датчик положення AS5048 + магніт
Адаптерна плата AS5048
Адаптерна плата AS5048 — це проста схема, яка дозволяє швидко тестувати та оцінювати датчик магнітного положення AS5048 без створення тестового пристрою чи друкованої плати.
Опис плати
Адаптерна плата AS5048 — це проста схема, яка дозволяє швидко тестувати та оцінювати поворотний енкодер AS5048 без створення тестового приладу чи друкованої плати.
Плату можна підключити до мікроконтролера або до AS5048-Demoboard як зовнішній пристрій.
Рисунок 2: Адаптерна плата AS5048
Монтаж плати адаптера AS5048
Діаметральний магніт необхідно розташувати під датчиком положення AS5048 і розташувати по центру упаковки з допуском 0.5 мм.
Повітряний зазор між магнітом і корпусом кодера повинен підтримуватися в діапазоні 0.5 мм ~ 2 мм. Тримач магніту не повинен бути феромагнітним. Такі матеріали, як латунь, мідь, алюміній, нержавіюча сталь, є найкращим вибором для виготовлення цієї частини.
Рисунок 3: AS5048 – AB – монтаж і розміри
Перехідна плата AS5048 і цоколевка
Малюнок 4: З’єднувачі адаптерної плати AS5048 і контакти кодера
Таблиця 1: Опис контакту
Дошка PIN# | PIN-код № AS5 048 | Дошка символів |
опис |
P1 – 1 | 13 | GND | Земля живлення |
P1 – 2 | 3 | A2/MISO | 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.3 В |
3V-вихід регулятора; з внутрішнім регулюванням від VDD. Підключіть до VDD для джерела живлення 3 В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 можна підключити послідовно, використовуючи лише 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
У цей момент nx 16-біт, отриманий на MISO, є значеннями кута nx.
малюнок 7: Кілька пристроїв у послідовному режимі
Кодування прошивки
Наступний вихідний код підходить для програми 4-Wire
Функція void spiReadData() читає/записує 4 значення з AS5048
- Надіслати команду READ AGC / Отримати невідоме значення
- Надіслати команду READ MAG / Отримати значення AGC
- Надіслати команду READ Angle / Receive value MAG
- Відправити команду NOP (без операції) / Отримати значення ANGLE
Якщо в циклі необхідний тільки READ ANGLE, процедуру можна скоротити до одного рядка:
- Відправити команду READ Angle / Отримати значення Angle
Функція static u8 spiCalcEvenParity(ushort value) необов’язкова, вона обчислює біт парності 16-бітного потоку SPI.
/*!
************************************************* ***************************
* Зчитує дані мікросхеми через інтерфейс SPI
*
* Ця функція використовується для зчитування кордового значення з мікросхем, що підтримують SPI
* інтерфейс.
************************************************* ***************************
*/
#define SPI_CMD_READ 0x4000 /*!< позначка, що вказує на спробу читання під час використання інтерфейсу SPI */
#define SPI_REG_AGC 0x3ffd /*!< реєстр agc при використанні SPI */
#define SPI_REG_MAG 0x3ffe /*!< реєстр величини при використанні SPI */
#define SPI_REG_DATA 0x3fff /*!< реєстр даних при використанні SPI */
#define SPI_REG_CLRERR 0x1 /*!< очищення реєстру помилок під час використання SPI */
void spiReadData()
{
u16 dat; // 16-бітний буфер даних для зв'язку SPI
u16 магрег;
uкороткий кут, agcreg;
ubyte agc;
uкоротке значення;
біт alarmHi, alarmLo;
/* Надіслати команду 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;
}
if ((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)
значення = dat & (16384 – 31 – 1); // Значення кута (0.. 16384 кроки)
angle = (значення * 360) / 16384 // Значення кута в градусах
(0..359.9°)
величина = magreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
************************************************* ***************************
* Обчислити парність 16-бітного цілого числа без знаку
*
* Ця функція використовується інтерфейсом SPI для обчислення парності
* даних, які будуть надіслані через SPI до кодера.
*
* \param[in] значення: 16-бітне ціле число без знаку, парність якого має бути обчислено
*
* \return : парність
*
************************************************* ***************************
*/
статичний u8 spiCalcEvenParity (uкоротке значення)
{
u8 cnt = 0;
u8 i;
для (i = 0; i < 16; i++)
{
якщо (значення & 0x1)
{
cnt++;
}
значення >>= 1;
}
повернення cnt & 0x1;
}
/*!
************************************************* ***************************
* Обчислити парність 16-бітного цілого числа без знаку
*
* Ця функція використовується інтерфейсом SPI для обчислення парності
* даних, які будуть надіслані через SPI до кодера.
*
* \param[in] значення: 16-бітне ціле число без знаку, парність якого має бути обчислено
*
* \return : парність
*
************************************************* ***************************
*/
статичний u8 spiCalcEvenParity (uкоротке значення)
{
u8 cnt = 0;
u8 i;
для (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 компонування друкованої плати
малюнок 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.
Контактна інформація
Штаб
ams AG
Тобельбадерштрассе, 30
8141 Unterpremstaetten
Австрія
Т. +43 (0) 3136 500 0
Для офісів продажів, дистриб’юторів і представників відвідайте:
http://www.ams.com/contact
Завантажено з Arrow.com.
Документи / Ресурси
![]() |
ams AS5048 14-розрядний поворотний датчик позиції з цифровим кутом і ШІМ-виходом [pdfПосібник користувача AS5048-AB-1.1, AS5048 14-розрядний датчик положення повороту з цифровим кутом і ШІМ-виходом, AS5048, 14-розрядний датчик положення повороту з цифровим кутом і виходом ШІМ, AS5048 14-розрядний датчик положення повороту, датчик положення повороту, датчик положення, датчик |