ams AS5048 14bitový rotační snímač polohy s digitálním úhlem a výstupem PWM
Informace o produktu
AS5048 je 14bitový rotační snímač polohy s digitálním úhlem (rozhraním) a PWM výstupem. Je navržen ams OSRAM Group a publikován Arrow.com. Senzor se používá k měření polohy rotujícího objektu a poskytuje přesné měření úhlu.
Adaptérová deska AS5048 je obvod, který umožňuje snadné testování a vyhodnocování senzoru AS5048 bez nutnosti budování samostatného testovacího zařízení nebo PCB. Desku adaptéru lze připojit k mikrokontroléru nebo AS5048-Demoboard jako externí zařízení.
Popis desky
AS5048 Adapterboard má rozhraní typu A (SPI) nebo B (I2C), 4 x 2.6 mm montážní otvory a konektor P1. Poskytuje pohodlný způsob připojení a interakce se senzorem AS5048.
Montážní pokyny
Chcete-li namontovat desku adaptéru AS5048, postupujte takto:
- Umístěte diametrální magnet nad nebo pod snímač polohy AS5048.
- Ujistěte se, že magnet je vycentrován uprostřed balení s tolerancí 0.5 mm.
- Udržujte vzduchovou mezeru mezi magnetem a krytem kodéru v rozsahu 0.5 mm až 2 mm.
- Pro držák magnetu použijte neferomagnetický materiál, jako je mosaz, měď, hliník nebo nerezová ocel.
Dodržování těchto pokynů zajistí správnou funkci adaptérové desky AS5048 a přesné měření polohy.
Historie revizí

Obecný popis
AS5048 je snadno použitelný 360° úhlový polohový snímač se 14bitovým výstupem s vysokým rozlišením. K měření úhlu je potřeba pouze jednoduchý dvoupólový magnet, rotující přes střed čipu.
Magnet může být umístěn nad nebo pod IC. To je znázorněno na obrázku 1.
Obrázek 1: Magnetický snímač polohy AS5048 + magnet

Adaptérová deska AS5048
Adaptérová deska AS5048 je jednoduchý obvod umožňující rychlé testování a vyhodnocování magnetického snímače polohy AS5048 bez sestavení testovacího přípravku nebo PCB.
Popis desky
AS5048 Adapterboard je jednoduchý obvod umožňující rychlé testování a vyhodnocení rotačního enkodéru AS5048 bez sestavení testovacího zařízení nebo PCB.
PCB lze připojit k mikrokontroléru nebo k AS5048-Demoboard jako externí zařízení.
Obrázek 2: Adaptérová deska AS5048

Montáž adaptérové desky AS5048
Diametrální magnet musí být umístěn pod snímačem polohy AS5048 a měl by být vystředěn uprostřed balení s tolerancí 0.5 mm.
Vzduchová mezera mezi magnetem a krytem kodéru by měla být udržována v rozsahu 0.5 mm~2 mm. Držák magnetu nesmí být feromagnetický. Materiály jako mosaz, měď, hliník, nerezová ocel jsou nejlepší volbou pro výrobu této součásti.
Obrázek 3: AS5048 – AB – montáž a rozměr

Deska adaptéru AS5048 a pinout
Obrázek 4: Konektory desky adaptéru AS5048 a vývod kodéru

Tabulka 1: Popis kolíku
| Pin# Board | Pin# AS5 048 | Deska se symboly |
Popis |
| P1 – 1 | 13 | GND | Napájecí zem |
| P1 – 2 | 3 | A2/MISO | SPI master in/slave out; sdílené s pinem výběru adresy I2C 2 |
| P1 – 3 | 4 | A1/MOSI | SPI master out/slave in; sdílené s pinem 2 pro výběr adresy I1C |
| P1 – 4 | 2 | SCL/SCK | SPI hodinový vstup; sdílené s hodinovým vstupem I2C |
| P1 – 5 | 1 | SDA/CSn | SPI čip select-active low; sdílené s datovým pinem I2C |
| P1 – 6 | 14 | PWM | Pulzní šířkový modulační výstup |
|
P1 – 7 |
12 |
3.3V |
3V-výstup regulátoru; vnitřně regulované z VDD. Připojte k VDD pro napájení 3V objtage |
| P1 – 8 | 11 | 5V | Napájecí objemtage |
Operační případy
Nejkompletnějším a nejpřesnějším řešením pro MCU pro čtení úhlu magnetu je rozhraní SPI.
Režim One Device SPI, jednosměrný – 3vodičový
AS5048-AB lze přímo připojit k průmyslovému standardnímu portu SPI mikrokontroléru. Minimální požadavky na připojení pro jednosměrnou komunikaci (úhel + čtení hodnot alarmu) mezi mikrokontrolérem a AS5048 jsou MISO, SCK, SS/.
Úhel bude načten při každém 16bitovém přenosu SPI. Viz tabulka registrů datového listu AS5048, registr 3FFFh.
Obrázek 5: Použití rozhraní SPI jednosměrné s mikrokontrolérem

Režim SPI pro jedno zařízení, obousměrný – 4vodičový
Pokud je třeba číst jiné registry než pouze hodnoty úhlu, nebo pro zápis registrů do AS5048, je nutný signál MOSI.
Obrázek 6: Použití rozhraní SPI obousměrné s mikrokontrolérem

Režim více zařízení SPI Daisy chain
AS5048 lze zapojit do sériového řetězu pomocí 4 vodičů pouze pro komunikaci SPI.
V této konfiguraci s nx kodéry bude sekvence zpracována následovně:
- MCU nastaví SS/ = 0
- MCU posouvá nx 16 bitů (např. příkaz READ FFFFh) po řetězci
- MCU nastaví SS/=1
V tomto okamžiku všechny kodéry nx obdržely příkaz READ FFFFh. - MCU nastaví SS/=0
- MCU posuny nx 16-bit (např. příkaz NOP 0000h)
- MCU nastaví SS/=1
V tomto bodě je nx 16-bitů přijatých na MISO hodnot nx úhlu.
Obrázek 7: Více zařízení v režimu Daisy chain


Kódování firmwaru
Následující zdrojový kód odpovídá aplikaci 4-Wire
Funkce void spiReadData() čte/zapisuje 4 hodnoty z AS5048
- Odeslat příkaz READ AGC / Přijmout hodnotu neznámá
- Odeslat příkaz READ MAG / Přijmout hodnotu AGC
- Odeslat příkaz READ Úhel / Přijmout hodnotu MAG
- Odeslat příkaz NOP (žádná operace) / Přijmout hodnotu ANGLE
Pokud je ve smyčce nezbytný pouze READ ANGLE, lze postup zredukovat na jeden řádek:
- Odeslat příkaz READ Úhel / Přijmout hodnotu Úhel
Funkce static u8 spiCalcEvenParity(ushort value) je volitelná, vypočítává paritní bit 16bitového toku SPI.
/*!
******************************************************* *********************************
* Čte data čipu přes rozhraní SPI
*
* Tato funkce se používá k načtení kordické hodnoty z čipů podporujících SPI
* rozhraní.
******************************************************* *********************************
*/
#define SPI_CMD_READ 0x4000 /*!< příznak označující pokus o čtení při použití rozhraní SPI */
#define SPI_REG_AGC 0x3ffd /*!< registr agc při použití SPI */
#define SPI_REG_MAG 0x3ffe /*!< registr velikosti při použití SPI */
#define SPI_REG_DATA 0x3fff /*!< registr dat při použití SPI */
#define SPI_REG_CLRERR 0x1 /*!< vymazat registr chyb při použití SPI */
void spiReadData()
{
u16 dat; // 16bitový datový buffer pro SPI komunikaci
u16 magreg;
ushort angle, aggreg;
ubyte agc;
hlavní hodnota;
bit alarmHi, alarmLo;
/* Odešle příkaz READ AGC. Přijatá data jsou zahozena: tato data pocházejí z předchozího příkazu (neznámé)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
/ /* Odešle příkaz READ MAG. Přijatá data jsou hodnota AGC: tato data pocházejí z předchozího příkazu (neznámé)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = dat;
/* Odešle příkaz READ ANGLE. Přijatá data jsou hodnota MAG z předchozího příkazu */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
aggreg = dat;
/* Odešle příkaz NOP. Přijatá data jsou hodnota ANGLE z předchozího příkazu */
dat = 0x0000; // příkaz NOP.
spiTransfer((u8*)&dat, sizeof(u16));
úhel = dat >> 2;
}
if ((dat & 0x4000) || (agreg & 0x4000) || (magreg & 0x4000))
{
/* nastaven příznak chyby – je třeba jej resetovat */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
jiný
{
agc = aggreg & 0xff // hodnota AGC (0..255)
hodnota = dat & (16384 – 31 – 1); // Hodnota úhlu (0.. 16384 kroků)
úhel = (hodnota * 360) / 16384 // Hodnota úhlu ve stupních
(0..359.9°)
magnituda = magreg & (16384 – 31 – 1);
alarmLo = (agreg >> 10) & 0x1;
alarmHi = (agreg >> 11) & 0x1;
}
}
/*!
******************************************************* *********************************
* Vypočítejte sudou paritu 16bitového celého čísla bez znaménka
*
* Tuto funkci používá rozhraní SPI k výpočtu sudé parity
* dat, která budou odeslána přes SPI do kodéru.
*
* \param[in] value: 16 bitové celé číslo bez znaménka, jehož parita se má vypočítat
*
* \return : Sudá parita
*
******************************************************* *********************************
*/
statický u8 spiCalcEvenParity (krátká hodnota)
{
u8 cnt = 0;
u8i;
pro (i = 0; i < 16; i++)
{
if (hodnota & 0x1)
{
cnt++;
}
hodnota >>= 1;
}
return cnt & 0x1;
}
/*!
******************************************************* *********************************
* Vypočítejte sudou paritu 16bitového celého čísla bez znaménka
*
* Tuto funkci používá rozhraní SPI k výpočtu sudé parity
* dat, která budou odeslána přes SPI do kodéru.
*
* \param[in] value: 16 bitové celé číslo bez znaménka, jehož parita se má vypočítat
*
* \return : Sudá parita
*
******************************************************* *********************************
*/
statický u8 spiCalcEvenParity (krátká hodnota)
{
u8 cnt = 0;
u8i;
pro (i = 0; i < 16; i++)
{
if (hodnota & 0x1)
{
cnt++;
}
hodnota >>= 1;
}
return cnt & 0x1;
}
AS5048-AB-Hardware
Následují schéma a rozložení Adapterboardu.
AS5048-AB-1.1 Schémata
Obrázek 8: Schéma adaptérové desky AS5048-AB-1.1

AS5048 – AB – rozložení PCB 1.1
Obrázek 9: Uspořádání desky adaptéru AS5048-AB-1.1

Copyright
Copyright ams AG, Tobelbader Strasse 30, 8141 Unterpremstätten, Rakousko-Evropa. Registrované ochranné známky. Všechna práva vyhrazena. Zde uvedený materiál nesmí být reprodukován, upravován, spojován, překládán, ukládán nebo používán bez předchozího písemného souhlasu vlastníka autorských práv.
Zřeknutí se odpovědnosti
Na zařízení prodávaná společností ams AG se vztahují ustanovení o záruce a patentovém odškodnění uvedená v jejích podmínkách prodeje. ams AG neposkytuje žádné záruky, ať už výslovné, zákonné, předpokládané, ani popisem týkající se informací zde uvedených. ams AG si vyhrazuje právo kdykoli a bez upozornění změnit specifikace a ceny. Před navržením tohoto produktu do systému je proto nutné ověřit si u ams AG aktuální informace. Tento produkt je určen pro použití v komerčních aplikacích. Aplikace vyžadující rozšířený teplotní rozsah, neobvyklé požadavky na prostředí nebo vysoce spolehlivé aplikace, jako jsou vojenské, lékařské vybavení na podporu života nebo život udržující zařízení, se výslovně nedoporučují bez dodatečného zpracování společností ams AG pro každou aplikaci. Tento produkt je poskytován společností ams „TAK, JAK JE“ a jakýmkoli výslovným nebo předpokládaným způsobem
záruky, včetně, ale bez omezení na předpokládané záruky prodejnosti a vhodnosti pro konkrétní účel, jsou odmítnuty.
ams AG nenese vůči příjemci ani žádné třetí straně odpovědnost za jakékoli škody, včetně, ale nejen, zranění osob, poškození majetku, ztráty zisku, ztráty používání, přerušení podnikání nebo nepřímých, zvláštních, náhodných nebo následných škod druhu, v souvislosti s poskytnutím, provedením nebo použitím zde uvedených technických údajů nebo vyplývající z nich. Z poskytování technických nebo jiných služeb společnosti ams AG nevznikne ani nevznikne žádná povinnost ani odpovědnost vůči příjemci nebo jakékoli třetí straně.
Kontaktní informace
Velitelství
ams AG
Tobelbader Strasse 30
8141 Unterpremstaetten
Rakousko
T. +43 (0) 3136 500 0
Pro obchodní kanceláře, distributory a zástupce navštivte:
http://www.ams.com/contact
Staženo z Arrow.com.
Dokumenty / zdroje
![]() |
ams AS5048 14bitový rotační snímač polohy s digitálním úhlem a výstupem PWM [pdfUživatelská příručka AS5048-AB-1.1, AS5048 14bitový rotační polohový senzor s digitálním úhlem a PWM výstupem, AS5048, 14bitový rotační polohový senzor s digitálním úhlem a PWM výstupem, AS5048 14bitový rotační polohový senzor, rotační polohový senzor, polohový senzor, Senzor |


