Sensor de posició rotatiu ams AS5048 de 14 bits amb angle digital i sortida PWM
Informació del producte
L'AS5048 és un sensor de posició rotatiu de 14 bits amb angle digital (interfície) i sortida PWM. Està dissenyat per ams OSRAM Group i publicat per Arrow.com. El sensor s'utilitza per mesurar la posició d'un objecte en rotació i proporciona mesures d'angles precises.
La placa adaptadora AS5048 és un circuit que permet una fàcil prova i avaluació del sensor AS5048 sense necessitat de construir un dispositiu de prova o PCB separat. La placa adaptadora es pot connectar a un microcontrolador o a l'AS5048-Demoboard com a dispositiu extern.
Descripció del tauler
La placa adaptadora AS5048 inclou una interfície tipus A (SPI) o B (I2C), 4 forats de muntatge de 2.6 mm i un connector P1. Proporciona una manera còmoda de connectar i interactuar amb el sensor AS5048.
Instruccions de muntatge
Per muntar la placa adaptadora AS5048, seguiu aquests passos:
- Col·loqueu un imant diamètric sobre o sota el sensor de posició AS5048.
- Assegureu-vos que l'imant estigui centrat al centre del paquet amb una tolerància de 0.5 mm.
- Mantingueu un espai d'aire entre l'imant i la carcassa del codificador en el rang de 0.5 mm a 2 mm.
- Utilitzeu un material no ferromagnètic com ara llautó, coure, alumini o acer inoxidable per al suport de l'imant.
Seguir aquestes instruccions garantirà el bon funcionament de la placa adaptadora AS5048 i mesures precises de la posició.
Historial de revisions
Descripció general
L'AS5048 és un sensor de posició d'angle de 360° fàcil d'utilitzar amb una sortida d'alta resolució de 14 bits. Per mesurar l'angle, només cal un imant simple de dos pols, girant sobre el centre del xip.
L'imant es pot col·locar per sobre o per sota de l'IC. Això es mostra a la figura 1.
Figura 1: Sensor de posició magnètica AS5048 + imant
Placa adaptadora AS5048
La placa adaptadora AS5048 és un circuit senzill que permet provar i avaluar ràpidament el sensor de posició magnètica AS5048 sense construir un dispositiu de prova o PCB.
Descripció del tauler
La placa adaptadora AS5048 és un circuit senzill que permet provar i avaluar ràpidament el codificador rotatiu AS5048 sense construir un dispositiu de prova o PCB.
El PCB es pot connectar a un microcontrolador o a l'AS5048- Demoboard com a dispositiu extern.
Figura 2: Placa adaptadora AS5048
Muntatge de la placa adaptadora AS5048
S'ha de col·locar un imant diamètric sota el sensor de posició AS5048 i s'ha de centrar al centre del paquet amb una tolerància de 0.5 mm.
L'espai entre l'imant i la carcassa del codificador s'ha de mantenir en el rang de 0.5 mm ~ 2 mm. El suport de l'imant no ha de ser ferromagnètic. Materials com llautó, coure, alumini, acer inoxidable són les millors opcions per fer aquesta peça.
Figura 3: AS5048 – AB – muntatge i mida
Placa adaptadora AS5048 i pinout
Figura 4: connectors de la placa adaptadora AS5048 i pinout del codificador
Taula 1: Descripció del pin
Pin # Tauler | Pin # AS5 048 | Tauler de símbols |
Descripció |
P1-1 | 13 | GND | Terra de subministrament |
P1-2 | 3 | A2/MISO | SPI mestre d'entrada/esclau de sortida; compartit amb el pin de selecció d'adreces I2C 2 |
P1-3 | 4 | A1/MOSI | SPI master out/slave in; compartit amb el pin de selecció d'adreces I2C 1 |
P1-4 | 2 | SCL/SCK | Entrada de rellotge SPI; compartit amb l'entrada de rellotge I2C |
P1-5 | 1 | SDA/CSn | Xip SPI select-active low; compartit amb el pin de dades I2C |
P1-6 | 14 | PWM | Sortida de modulació d'amplada de pols |
P1-7 |
12 |
3.3 V |
Sortida del regulador 3V; regulat internament per VDD. Connecteu-vos a VDD per a un volum de subministrament de 3 Vtage |
P1-8 | 11 | 5V | Subministrament voltage |
Casos operatius
La solució més completa i precisa perquè un MCU llegeixi l'angle d'un imant és la interfície SPI.
Mode SPI d'un dispositiu, unidireccional: 3 cables
L'AS5048-AB es pot connectar directament a un port SPI estàndard de la indústria d'un microcontrolador. El requisit mínim de connexió per a la comunicació unidireccional (angle + lectura de valors d'alarma) entre el microcontrolador i l'AS5048 són MISO, SCK, SS/.
L'angle es llegirà a cada transferència SPI de 16 bits. Vegeu la taula de registre del full de dades AS5048, registre 3FFFh.
Figura 5: Ús de la interfície SPI unidireccional amb un microcontrolador
Mode SPI d'un dispositiu, bidireccional: 4 cables
Si s'han de llegir altres registres que només els valors d'angle, o per escriure registres a l'AS5048, és necessari el senyal MOSI.
Figura 6: Ús de la interfície SPI bidireccional amb un microcontrolador
Mode SPI en cadena de diversos dispositius
L'AS5048 es pot connectar en cadena, utilitzant 4 cables només per a la comunicació SPI.
En aquesta configuració amb codificadors nx, la seqüència es processarà de la següent manera:
- MCU estableix SS/ = 0
- MCU desplaça nx 16 bits (per exemple, l'ordre READ FFFFh) a través de la cadena
- MCU estableix SS/=1
En aquest moment, tots els codificadors nx han rebut l'ordre READ FFFFh. - MCU estableix SS/=0
- MCU canvia nx 16 bits (per exemple, comanda NOP 0000h)
- MCU estableix SS/=1
En aquest moment, els nx 16 bits rebuts a MISO són els valors de l'angle nx.
Figura 7: Dispositius múltiples en mode en cadena
Codificació del firmware
El codi font següent s'adapta a l'aplicació 4-Wire
La funció void spiReadData() llegeix/escriu 4 valors de l'AS5048
- Enviar comanda READ AGC / Rebre valor desconegut
- Enviar comanda LLEGIR MAG / Rebre valor AGC
- Enviar comanda READ Angle / Rebre valor MAG
- Enviar comanda NOP (sense operació) / Rebre valor ANGLE
Si només cal un ANGLE DE LECTURA en un bucle, el procediment es pot reduir a una línia:
- Enviar comanda READ Angle / Rebre valor Angle
La funció static u8 spiCalcEvenParity (valor ushort) és opcional, calcula el bit de paritat del flux SPI de 16 bits.
/*!
**************************************************** ****************************
* Llegeix les dades del xip mitjançant la interfície SPI
*
* Aquesta funció s'utilitza per llegir el valor còrdic dels xips que admeten SPI
* interfície.
**************************************************** ****************************
*/
#define SPI_CMD_READ 0x4000 /*!< indicador que indica un intent de lectura quan s'utilitza la interfície SPI */
#define SPI_REG_AGC 0x3ffd /*!< registre agc quan s'utilitza SPI */
#define SPI_REG_MAG 0x3ffe /*!< registre de magnitud quan s'utilitza SPI */
#define SPI_REG_DATA 0x3fff /*!< registre de dades quan s'utilitza SPI */
#define SPI_REG_CLRERR 0x1 /*!< esborra el registre d'errors quan s'utilitza SPI */
void spiReadData()
{
u16 dat; // Buffer de dades de 16 bits per a la comunicació SPI
u16 magreg;
angle ushort, agcreg;
ubyte agc;
valor curt;
bit alarmHola, alarmaLo;
/* Envia l'ordre READ AGC. Les dades rebudes s'eliminen: aquestes dades provenen de l'ordre precedent (desconegut)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
/ /* Envia l'ordre READ MAG. Les dades rebudes són el valor AGC: aquestes dades provenen de l'ordre precedent (desconegut)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = dat;
/* Envia l'ordre READ ANGLE. Les dades rebudes són el valor MAG, de l'ordre precedent */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = dat;
/* Envia l'ordre NOP. Les dades rebudes són el valor ANGLE, de l'ordre precedent */
dat = 0x0000; // Ordre NOP.
spiTransfer((u8*)&dat, sizeof(u16));
angle = dat >> 2;
}
if ((dat i 0x4000) || (agcreg i 0x4000) || (magreg i 0x4000))
{
/* Marcador d'error establert: cal restablir-lo */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
altra cosa
{
agc = agcreg i 0xff // valor AGC (0..255)
valor = dat & (16384 – 31 – 1); // Valor de l'angle (0... 16384 passos)
angle = (valor * 360) / 16384 // Valor de l'angle en grau
(0..359.9°)
magnitud = magreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
**************************************************** ****************************
* Calcula la paritat parell d'un nombre enter sense signe de 16 bits
*
* Aquesta funció l'utilitza la interfície SPI per calcular la paritat parell
* de les dades que s'enviaran via SPI al codificador.
*
* Valor \param[in] : enter sense signe de 16 bits la paritat del qual s'ha de calcular
*
* \return : paritat parell
*
**************************************************** ****************************
*/
static u8 spiCalcEvenParity (valor curt)
{
u8 cnt = 0;
u8 i;
per (i = 0; i < 16; i++)
{
si (valor i 0x1)
{
cnt++;
}
valor >>= 1;
}
retornar cnt & 0x1;
}
/*!
**************************************************** ****************************
* Calcula la paritat parell d'un nombre enter sense signe de 16 bits
*
* Aquesta funció l'utilitza la interfície SPI per calcular la paritat parell
* de les dades que s'enviaran via SPI al codificador.
*
* Valor \param[in] : enter sense signe de 16 bits la paritat del qual s'ha de calcular
*
* \return : paritat parell
*
**************************************************** ****************************
*/
static u8 spiCalcEvenParity (valor curt)
{
u8 cnt = 0;
u8 i;
per (i = 0; i < 16; i++)
{
si (valor i 0x1)
{
cnt++;
}
valor >>= 1;
}
retornar cnt & 0x1;
}
AS5048-AB-Maquinari
Seguint l'esquema i la disposició de la placa adaptadora es pot trobar.
AS5048-AB-1.1 Esquemes
Figura 8: Esquemes de la placa adaptadora AS5048-AB-1.1
AS5048 – AB – 1.1 Disseny de PCB
Figura 9: Disseny de la placa adaptadora AS5048-AB-1.1
Copyright
Copyright ams AG, Tobelbader Strasse 30, 8141 Unterpremstätten, Àustria-Europa. Marques registrades. Tots els drets reservats. El material aquí no es pot reproduir, adaptar, combinar, traduir, emmagatzemar o utilitzar sense el consentiment previ per escrit del propietari dels drets d'autor.
Exempció de responsabilitat
Els dispositius venuts per ams AG estan coberts per les disposicions de garantia i indemnització de patents que apareixen a la seva Condició de venda. ams AG no ofereix cap garantia, expressa, estatutària, implícita o per descripció sobre la informació que s'estableix aquí. ams AG es reserva el dret de canviar les especificacions i els preus en qualsevol moment i sense previ avís. Per tant, abans de dissenyar aquest producte en un sistema, cal consultar amb ams AG la informació actual. Aquest producte està pensat per al seu ús en aplicacions comercials. Les aplicacions que requereixen un rang de temperatures estès, requisits ambientals inusuals o aplicacions d'alta fiabilitat, com ara equips militars, de suport vital mèdic o equips de sosteniment vital, no es recomanen específicament sense un processament addicional per part d'ams AG per a cada aplicació. Aquest producte és proporcionat per ams "TAL CUAL" i qualsevol expressa o implícita
Les garanties, incloses, entre d'altres, les garanties implícites de comerciabilitat i adequació per a un propòsit particular, no es descarten.
ams AG no serà responsable davant el destinatari o cap tercer per danys, inclosos, entre d'altres, danys personals, danys a la propietat, pèrdua de beneficis, pèrdua d'ús, interrupció del negoci o danys indirectes, especials, incidentals o conseqüents, de qualsevol tipus, en relació amb o derivada del subministrament, rendiment o ús de les dades tècniques aquí. Cap obligació o responsabilitat cap al destinatari o cap tercer no sorgirà ni sortirà de la prestació de serveis tècnics o d'altres tipus d'ams AG.
Informació de contacte
Seu
ams AG
Tobelbader Strasse 30
8141 Unterpremstaetten
Àustria
T. +43 (0) 3136 500 0
Per a les oficines de vendes, distribuïdors i representants, visiteu:
http://www.ams.com/contact
Descarregat de Arrow.com.
Documents/Recursos
![]() |
Sensor de posició rotatiu ams AS5048 de 14 bits amb angle digital i sortida PWM [pdfManual d'usuari AS5048-AB-1.1, AS5048 Sensor de posició rotatiu de 14 bits amb angle digital i sortida PWM, AS5048, Sensor de posició rotatiu de 14 bits amb angle digital i sortida PWM, AS5048 Sensor de posició rotatiu de 14 bits, Sensor de posició rotatiu, sensor de posició, sensor |