ams-LOGO

ams AS5048 14-bitars roterande positionssensor med digital vinkel och PWM-utgång

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output

Produktinformation

AS5048 är en 14-bitars roterande positionssensor med digital vinkel (gränssnitt) och PWM-utgång. Den är designad av ams OSRAM Group och publicerad av Arrow.com. Sensorn används för att mäta positionen för ett roterande föremål och ger noggranna vinkelmätningar.
AS5048-adapterkortet är en krets som möjliggör enkel testning och utvärdering av AS5048-sensorn utan att behöva bygga en separat testfixtur eller PCB. Adapterkortet kan anslutas till en mikrokontroller eller AS5048-Demoboard som en extern enhet.

Styrelsebeskrivning
AS5048 Adapterboard har ett gränssnitt typ A (SPI) eller B (I2C), 4 x 2.6 mm monteringshål och en P1-kontakt. Det ger ett bekvämt sätt att ansluta och interagera med AS5048-sensorn.

Monteringsanvisningar

För att montera AS5048-adapterkortet, följ dessa steg:

  1. Placera en diametral magnet över eller under AS5048 positionssensorn.
  2. Se till att magneten är centrerad på mitten av förpackningen med en tolerans på 0.5 mm.
  3. Håll ett luftgap mellan magneten och kodarhöljet i intervallet 0.5 mm till 2 mm.
  4. Använd ett icke-ferromagnetiskt material som mässing, koppar, aluminium eller rostfritt stål för magnethållaren.

Att följa dessa instruktioner säkerställer att AS5048-adapterkortet fungerar korrekt och exakta positionsmätningar.

Revisionshistorik

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-1

Allmän beskrivning

AS5048 är en lättanvänd 360° vinkelpositionssensor med en 14-bitars högupplöst utgång. För att mäta vinkeln krävs endast en enkel tvåpolig magnet, som roterar över mitten av chippet.
Magneten kan placeras ovanför eller under IC. Detta visas i figur 1.

Figur 1: Magnetisk positionssensor AS5048 + magnet

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-2

AS5048-adapterkortet
AS5048-adapterkortet är en enkel krets som tillåter test och utvärdering av den magnetiska positionssensorn AS5048 snabbt utan att bygga en testfixtur eller PCB.

Styrelsens beskrivning
AS5048 Adapterboard är en enkel krets som tillåter test och utvärdering av AS5048 roterande encoder snabbt utan att bygga en testfixtur eller PCB.
PCB kan anslutas till en mikrokontroller eller till AS5048-Demoboard som extern enhet.

Bild 2: AS5048 Adapterkort

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-3

Montering av AS5048-adapterkortet
En diametral magnet måste placeras ovanpå under AS5048 positionssensorn och bör centreras på mitten av förpackningen med en tolerans på 0.5 mm.
Luftgapet mellan magneten och kodarhöljet bör hållas inom intervallet 0.5 mm~2 mm. Magnethållaren får inte vara ferromagnetisk. Material som mässing, koppar, aluminium, rostfritt stål är de bästa valen för att göra denna del.

Bild 3: AS5048 – AB – montering och dimension

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-4

AS5048 adapterkort och stift

Figur 4: AS5048 adapterkorts kontakter och kodarstift

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-5

Tabell 1: Pinbeskrivning

Anslagstavla Pin# AS5 048 Symbol Board  

Beskrivning

P1 – 1 13 GND Tillförsel mark
P1 – 2 3 A2/MISO SPI master in/slave out; delas med I2C-adressvalsstift 2
P1 – 3 4 A1/MOSI SPI master ut/slav in; delas med I2C-adressvalsstift 1
P1 – 4 2 SCL/SCK SPI klockingång; delas med I2C klockingång
P1 – 5 1 SDA/CSn SPI chip select-active low; delas med I2C-datastift
P1 – 6 14 PWM Pulsbreddsmodulationsutgång
 

P1 – 7

 

12

 

3.3V

3V-regulatorutgång; internt reglerad från VDD. Anslut till VDD för 3V matning voltage
P1 – 8 11 5V Tillförsel voltage

Operationsfall

Den mest kompletta och exakta lösningen för en MCU för att läsa av vinkeln på en magnet är SPI-gränssnittet.

One Device SPI-läge, enkelriktad – 3 trådar
AS5048-AB kan anslutas direkt till en industristandard SPI-port på en mikrokontroller. Minsta anslutningskrav för enkelriktad kommunikation (avläsning av vinkel + larmvärden) mellan mikrokontrollern och AS5048 är MISO, SCK, SS/.
Vinkeln kommer att avläsas vid varje 16-bitars SPI-överföring. Se AS5048 databladsregistertabell, register 3FFFh.

Bild 5: Använder SPI-gränssnittet enkelriktat med en mikrokontroller

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-7

En enhet SPI-läge, dubbelriktad – 4 trådar
Om andra register än bara vinkelvärden måste läsas, eller för att skriva register i AS5048, är signalen MOSI nödvändig.

Bild 6: Använder SPI-gränssnittet dubbelriktat med en mikrokontroller

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-8

Flera enheter SPI Daisy chain-läge
AS5048 kan kopplas samman med 4 trådar endast för SPI-kommunikation.
I den här konfigurationen med nx-kodare kommer sekvensen att bearbetas enligt följande:

  • MCU ställer in SS/ = 0
  • MCU skiftar nx 16-bitar (t.ex. READ-kommando FFFFh) genom kedjan
  • MCU-uppsättningar SS/=1
    Vid den tidpunkten har alla nx-kodare fått kommandot READ FFFFh.
  • MCU-uppsättningar SS/=0
  • MCU skiftar nx 16-bitars (t.ex. NOP-kommando 0000h)
  • MCU-uppsättningar SS/=1
    Vid den punkten är nx 16-bitarna som tas emot på MISO nx vinkelvärdena.

Bild 7: Flera enheter i Daisy chain-läge

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-9

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-10

Firmware-kodning

Följande källkod passar 4-Wire-applikationen
Funktionen void spiReadData() läser/skriver 4 värden från AS5048

  • Skicka kommando READ AGC / Receive value okänt
  • Skicka kommando READ MAG / Ta emot värde AGC
  • Skicka kommando LÄS Vinkel / Ta emot värde MAG
  • Skicka kommando NOP (ingen operation) / Ta emot värde ANGLE

Om endast en LÄSVINKEL behövs i en slinga kan proceduren reduceras till en rad:

  • Skicka kommando LÄS Vinkel / Ta emot värde Vinkel
    Funktionen static u8 spiCalcEvenParity(short value) är valfri, den beräknar paritetsbiten för 16-bitars SPI-strömmen.

/*!
************************************************** *************************
* Läser ut chipdata via SPI-gränssnitt
*
* Den här funktionen används för att läsa ut cordic värde från chips som stöder SPI
* gränssnitt.
************************************************** *************************
*/
#define SPI_CMD_READ 0x4000 /*!< flagga som indikerar läsförsök vid användning av SPI-gränssnitt */
#define SPI_REG_AGC 0x3ffd /*!< agc register vid användning av SPI */
#define SPI_REG_MAG 0x3ffe /*!< magnitudregister vid användning av SPI */
#define SPI_REG_DATA 0x3fff /*!< dataregister vid användning av SPI */
#define SPI_REG_CLRERR 0x1 /*!< rensa felregister när du använder SPI */

void spiReadData()
{
u16 dat; // 16-bitars databuffert för SPI-kommunikation
u16 magreg;
ushort vinkel, agcreg;
ubyte agc;
ushort värde;
bit alarmHej, alarmLo;

/* Skicka READ AGC-kommandot. Mottagen data slängs: denna data kommer från prejudikatkommandot (okänt)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));

/ /* Skicka READ MAG-kommandot. Mottagen data är AGC-värdet: dessa data kommer från prejudikatkommandot (okänt)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = dat;
/* Skicka READ ANGLE kommando. Mottagen data är MAG-värdet, från det föregående kommandot */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = dat;
/* Skicka NOP-kommando. Mottagen data är ANGLE-värdet, från det föregående kommandot */
dat = 0x0000; // NOP kommando.
spiTransfer((u8*)&dat, sizeof(u16));
vinkel = dat >> 2;
}
if ((dat & 0x4000) || (agcreg & 0x4000) || (magreg & 0x4000))
{
/* felflagga inställd – måste återställa den */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
annan
{
agc = agcreg & 0xff // AGC-värde (0..255)
värde = dat & (16384 – 31 – 1); // Vinkelvärde (0.. 16384 steg)
vinkel = (värde * 360) / 16384 // Vinkelvärde i grad
(0°)
magnitud = magreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
************************************************** *************************
* Beräkna jämn paritet för ett 16-bitars heltal utan tecken
*
* Den här funktionen används av SPI-gränssnittet för att beräkna den jämna pariteten
* av data som kommer att skickas via SPI till kodaren.
*
* \param[in] värde : 16 bitars heltal utan tecken vars paritet ska beräknas
*
* \return : Jämn paritet
*
************************************************** *************************
*/
statisk u8 spiCalcEvenParity(kortvärde)
{
u8 cnt = 0;
u8 i;
för (i = 0; i < 16; i++)
{
if (värde & 0x1)
{
cnt++;
}
värde >>= 1;
}
returnera cnt & 0x1;
}
/*!
************************************************** *************************
* Beräkna jämn paritet för ett 16-bitars heltal utan tecken
*
* Den här funktionen används av SPI-gränssnittet för att beräkna den jämna pariteten
* av data som kommer att skickas via SPI till kodaren.
*
* \param[in] värde : 16 bitars heltal utan tecken vars paritet ska beräknas
*
* \return : Jämn paritet
*
************************************************** *************************
*/
statisk u8 spiCalcEvenParity(kortvärde)
{
u8 cnt = 0;
u8 i;
för (i = 0; i < 16; i++)
{
if (värde & 0x1)
{
cnt++;
}
värde >>= 1;
}
returnera cnt & 0x1;
}

AS5048-AB-Hårdvara

Följande schema och layout av Adapterboard kan hittas.

AS5048-AB-1.1 Schema

Bild 8: AS5048-AB-1.1 adapterkortschema

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-12

AS5048 – AB – 1.1 PCB layout

Bild 9: AS5048-AB-1.1 adapterkortlayout

ams-AS5048-14-bitars-Rotary-Position-Sensor-with-Digital-Angle-and-PWM-Output-11

Upphovsrätt
Copyright ams AG, Tobelbader Strasse 30, 8141 Unterpremstätten, Österrike-Europa. Registrerade varumärken. Alla rättigheter reserverade. Materialet häri får inte reproduceras, anpassas, slås samman, översättas, lagras eller användas utan föregående skriftligt medgivande från upphovsrättsinnehavaren.

Ansvarsfriskrivning
Enheter som säljs av ams AG omfattas av garanti- och patentskyddsbestämmelserna i dess försäljningsvillkor. ams AG lämnar inga garantier, uttryckliga, lagstadgade, underförstådda eller genom beskrivning av informationen som anges häri. ams AG förbehåller sig rätten att ändra specifikationer och priser när som helst och utan föregående meddelande. Innan denna produkt designas till ett system är det därför nödvändigt att kontrollera med ams AG för aktuell information. Denna produkt är avsedd för användning i kommersiella applikationer. Tillämpningar som kräver utökat temperaturområde, ovanliga miljökrav eller tillämpningar med hög tillförlitlighet, såsom militär, medicinsk livsuppehållande eller livsuppehållande utrustning rekommenderas specifikt inte utan ytterligare bearbetning av ams AG för varje tillämpning. Denna produkt tillhandahålls av ams "i befintligt skick" och alla uttryckliga eller underförstådda
garantier, inklusive, men inte begränsat till, underförstådda garantier för säljbarhet och lämplighet för ett visst ändamål frånsäges.
ams AG ska inte hållas ansvarigt gentemot mottagaren eller tredje part för några skador, inklusive men inte begränsat till personskada, egendomsskada, förlust av vinst, förlust av användning, avbrott i verksamheten eller indirekta, speciella, oförutsedda skador eller följdskador, av någon slag, i samband med eller till följd av tillhandahållandet, utförandet eller användningen av de tekniska data häri. Ingen skyldighet eller ansvar gentemot mottagaren eller någon tredje part ska uppstå eller strömma ut från ams AGs tillhandahållande av tekniska eller andra tjänster.

Kontaktinformation
Huvudkontor
ams AG
Tobelbader Strasse 30
8141 Unterpremstaetten
Österrike
T. +43 (0) 3136 500 0
För försäljningskontor, distributörer och representanter, besök:
http://www.ams.com/contact

www.ams.com

Laddas ner från Arrow.com.

Dokument/resurser

ams AS5048 14-bitars roterande positionssensor med digital vinkel och PWM-utgång [pdf] Användarmanual
AS5048-AB-1.1, AS5048 14-bitars roterande positionssensor med digital vinkel och PWM-utgång, AS5048, 14-bitars roterande positionssensor med digital vinkel och PWM-utgång, AS5048 14-bitars roterande positionssensor, roterande positionssensor, positionssensor, Sensor

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *