ams-LOGO

ams AS5048 14-bit roterende positiesensor met digitale hoek en PWM-uitgang

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang

Productinformatie

De AS5048 is een 14-bit draaipositiesensor met digitale hoek (interface) en PWM-uitgang. Het is ontworpen door ams OSRAM Group en uitgegeven door Pijl. com. De sensor wordt gebruikt om de positie van een roterend object te meten en zorgt voor nauwkeurige hoekmetingen.
Het AS5048-adapterbord is een circuit waarmee u de AS5048-sensor eenvoudig kunt testen en evalueren zonder dat u een aparte testopstelling of printplaat hoeft te bouwen. Het adapterbord kan als extern apparaat op een microcontroller of het AS5048-demoboard worden aangesloten.

Board Beschrijving:
Het AS5048-adapterbord is voorzien van een interfacetype A (SPI) of B (I2C), 4 x 2.6 mm montagegaten en een P1-connector. Het biedt een handige manier om verbinding te maken en te communiceren met de AS5048-sensor.

Montage-instructies

Volg deze stappen om de AS5048-adapterkaart te monteren:

  1. Plaats een diametrische magneet over of onder de AS5048 positiesensor.
  2. Zorg ervoor dat de magneet gecentreerd is in het midden van de verpakking, met een tolerantie van 0.5 mm.
  3. Zorg voor een luchtspleet tussen de magneet en de encoderbehuizing van 0.5 mm tot 2 mm.
  4. Gebruik een niet-ferromagnetisch materiaal zoals messing, koper, aluminium of roestvrij staal voor de magneethouder.

Door deze instructies te volgen, bent u verzekerd van een goede werking van de AS5048-adapterkaart en nauwkeurige positiemetingen.

Revisiegeschiedenis

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-1

Algemene beschrijving

De AS5048 is een eenvoudig te gebruiken 360°-hoekpositiesensor met een 14-bit hoge resolutie-uitvoer. Om de hoek te meten is slechts een eenvoudige tweepolige magneet nodig, die over het midden van de chip draait.
De magneet kan boven of onder het IC worden geplaatst. Dit wordt weergegeven in figuur 1.

Figuur 1: Magnetische positiesensor AS5048 + magneet

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-2

Het AS5048-adapterbord
Het AS5048-adapterbord is een eenvoudig circuit waarmee u de AS5048 magnetische positiesensor snel kunt testen en evalueren zonder dat u een testopstelling of PCB hoeft te bouwen.

Beschrijving van het bord
Het AS5048 Adapterboard is een eenvoudig circuit waarmee u de AS5048 roterende encoder snel kunt testen en evalueren zonder dat u een testopstelling of PCB hoeft te bouwen.
De printplaat kan als extern apparaat op een microcontroller of op het AS5048-Demoboard worden aangesloten.

Figuur 2: AS5048-adapterbord

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-3

Montage van het AS5048-adapterbord
Een diametrische magneet moet onder de AS5048-positiesensor worden geplaatst en moet in het midden van de verpakking worden gecentreerd met een tolerantie van 0.5 mm.
De luchtspleet tussen de magneet en de encoderbehuizing moet binnen het bereik van 0.5 mm ~ 2 mm worden gehouden. De magneethouder mag niet ferromagnetisch zijn. Materialen als messing, koper, aluminium, roestvrij staal zijn de beste keuzes om dit onderdeel te maken.

Figuur 3: AS5048 – AB – montage en afmetingen

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-4

AS5048 adapterkaart en pinout

Afbeelding 4: AS5048-adapterkaartconnectoren en pin-out van de encoder

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-5

Tabel 1: Pinbeschrijving

Prikbord Pen# AS5 048 Symbolenbord  

Beschrijving

P1 – 1 13 GND Bevoorrading grond
P1 – 2 3 A2/MISO SPI-master in/slave uit; gedeeld met I2C-adresselectiepin 2
P1 – 3 4 A1/MOSI SPI-master uit/slave in; gedeeld met I2C-adresselectiepin 1
P1 – 4 2 SCL/SCK SPI-klokingang; gedeeld met I2C-klokingang
P1 – 5 1 SDA/CSn SPI-chipselectie-actief laag; gedeeld met I2C-datapin
P1 – 6 14 PWM Uitgang pulsbreedtemodulatie
 

P1 – 7

 

12

 

3.3V

3V-regelaaruitgang; intern gereguleerd vanuit VDD. Sluit aan op VDD voor 3V-voeding voltage
P1 – 8 11 5V Levering voltage

Operatie gevallen

De meest complete en nauwkeurige oplossing voor een MCU om de hoek van een magneet te lezen is de SPI-interface.

Eén apparaat SPI-modus, unidirectioneel – 3-draads
De AS5048-AB kan rechtstreeks worden aangesloten op een industriestandaard SPI-poort van een microcontroller. De minimale verbindingsvereisten voor unidirectionele communicatie (hoek + alarmwaarden lezen) tussen de microcontroller en de AS5048 zijn MISO, SCK, SS/.
De hoek wordt gelezen bij elke 16-bits SPI-overdracht. Zie AS5048 datasheet registertabel, registreer 3FFFh.

Figuur 5: Gebruik van de SPI-interface unidirectioneel met een microcontroller

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-7

Eén apparaat SPI-modus, bidirectioneel – 4-draads
Als er andere registers dan alleen hoekwaarden moeten worden gelezen, of om registers in de AS5048 te schrijven, is het signaal MOSI nodig.

Figuur 6: Gebruik van de SPI-interface bidirectioneel met een microcontroller

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-8

Multi-apparaten SPI Daisy chain-modus
De AS5048 kan in serie worden geschakeld, waarbij slechts 4 draden worden gebruikt voor SPI-communicatie.
In deze configuratie met nx-encoders wordt de reeks als volgt verwerkt:

  • MCU stelt SS/ = 0 in
  • MCU schuift nx 16-bit (bijv. READ-commando FFFFh) door de keten
  • MCU stelt SS/=1 in
    Op dat moment hebben alle nx-encoders het READ-commando FFFFh ontvangen.
  • MCU stelt SS/=0 in
  • MCU verschuift nx 16-bit (bijv. NOP-commando 0000h)
  • MCU stelt SS/=1 in
    Op dat moment zijn de nx 16-bits die op MISO worden ontvangen de nx-hoekwaarden.

Figuur 7: Meerdere apparaten in serieschakelingmodus

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-9

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-10

Firmware-codering

De volgende broncode past bij de 4-Wire-toepassing
De functie void spiReadData() leest/schrijft 4 waarden uit de AS5048

  • Commando verzenden READ AGC / Ontvangstwaarde onbekend
  • Commando READ MAG verzenden / Waarde AGC ontvangen
  • Commando verzenden READ Hoek / Ontvangstwaarde MAG
  • Commando NOP verzenden (geen bediening) / Waarde ANGLE ontvangen

Als alleen in een lus een READ ANGLE nodig is, kan de procedure worden teruggebracht tot één regel:

  • Commando verzenden READ Hoek / Waarde ontvangen Hoek
    De functie static u8 spiCalcEvenParity(ushort value) is optioneel en berekent de pariteitsbit van de 16-bits SPI-stream.

/*!
************************************************** *************************
* Leest chipgegevens uit via SPI-interface
*
* Deze functie wordt gebruikt om de cordische waarde uit te lezen van chips die SPI ondersteunen
* koppel.
************************************************** *************************
*/
#define SPI_CMD_READ 0x4000 /*!< vlag die een leespoging aangeeft bij gebruik van de SPI-interface */
#define SPI_REG_AGC 0x3ffd /*!< agc register bij gebruik van SPI */
#define SPI_REG_MAG 0x3ffe /*!< magnituderegister bij gebruik van SPI */
#define SPI_REG_DATA 0x3fff /*!< gegevensregister bij gebruik van SPI */
#define SPI_REG_CLRERR 0x1 /*!< foutregister wissen bij gebruik van SPI */

ongeldig spiReadData()
{
u16 dat; // 16-bits databuffer voor SPI-communicatie
u16 magreg;
ukorte hoek, aggreg;
ubyte agc;
ukorte waarde;
bit alarmHallo, alarmLo;

/* Stuur READ AGC-opdracht. Ontvangen gegevens worden weggegooid: deze gegevens zijn afkomstig van het precedentcommando (onbekend)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, groottevan(u16));

/ /* Stuur READ MAG-opdracht. Ontvangen gegevens zijn de AGC-waarde: deze gegevens zijn afkomstig van het precedentcommando (onbekend)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, groottevan(u16));
magreg = dat;
/* Stuur de opdracht READ ANGLE. Ontvangen gegevens zijn de MAG-waarde, uit het voorgaande commando */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, groottevan(u16));
aggreg = dat;
/* NOP-opdracht verzenden. Ontvangen gegevens zijn de ANGLE-waarde, van het voorgaande commando */
dat = 0x0000; // NOP-commando.
spiTransfer((u8*)&dat, groottevan(u16));
hoek = dat >> 2;
}
als ((dat & 0x4000) || (agcreg & 0x4000) || (magreg & 0x4000))
{
/* foutvlag ingesteld – moet deze opnieuw instellen */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, groottevan(u16));
}
anders
{
agc = agcreg & 0xff // AGC-waarde (0..255)
waarde = datum & (16384 – 31 – 1); // Hoekwaarde (0.. 16384 stappen)
hoek = (waarde * 360) / 16384 // Hoekwaarde in graden
(0..359.9°)
omvang = magreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
************************************************** *************************
* Bereken de even pariteit van een 16 bit geheel getal zonder teken
*
* Deze functie wordt door de SPI-interface gebruikt om de even pariteit te berekenen
* van de gegevens die via SPI naar de encoder worden verzonden.
*
* \param[in] waarde: 16 bit geheel getal zonder teken waarvan de pariteit wordt berekend
*
* \return : Even pariteit
*
************************************************** *************************
*/
statische u8 spiCalcEvenParity(ukorte waarde)
{
u8cnt = 0;
u8 ik;
voor (i = 0; ik < 16; i++)
{
als (waarde & 0x1)
{
cnt++;
}
waarde >>= 1;
}
retourneert cnt & 0x1;
}
/*!
************************************************** *************************
* Bereken de even pariteit van een 16 bit geheel getal zonder teken
*
* Deze functie wordt door de SPI-interface gebruikt om de even pariteit te berekenen
* van de gegevens die via SPI naar de encoder worden verzonden.
*
* \param[in] waarde: 16 bit geheel getal zonder teken waarvan de pariteit wordt berekend
*
* \return : Even pariteit
*
************************************************** *************************
*/
statische u8 spiCalcEvenParity(ukorte waarde)
{
u8cnt = 0;
u8 ik;
voor (i = 0; ik < 16; i++)
{
als (waarde & 0x1)
{
cnt++;
}
waarde >>= 1;
}
retourneert cnt & 0x1;
}

AS5048-AB-Hardware

Hieronder vindt u het schema en de lay-out van het Adapterboard.

AS5048-AB-1.1 Schema's

Figuur 8: AS5048-AB-1.1 adapterkaartschema's

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-12

AS5048 – AB – 1.1 PCB-indeling

Figuur 9: AS5048-AB-1.1 adapterkaartindeling

ams-AS5048-14-bit-draaipositiesensor-met-digitale hoek-en-PWM-uitgang-11

Copyright
Copyright ams AG, Tobelbader Strasse 30, 8141 Unterpremstätten, Oostenrijk-Europa. Handelsmerken geregistreerd. Alle rechten voorbehouden. Het materiaal hierin mag niet worden gereproduceerd, aangepast, samengevoegd, vertaald, opgeslagen of gebruikt zonder voorafgaande schriftelijke toestemming van de eigenaar van het auteursrecht.

Vrijwaring
Apparaten verkocht door ams AG vallen onder de garantie- en patentvrijwaringsbepalingen die voorkomen in de verkoopvoorwaarden. ams AG geeft geen garantie, expliciet, wettelijk, impliciet of bij beschrijving met betrekking tot de informatie die hierin wordt uiteengezet. ams AG behoudt zich het recht voor om specificaties en prijzen op elk moment en zonder voorafgaande kennisgeving te wijzigen. Daarom is het noodzakelijk om, voordat u dit product in een systeem ontwerpt, contact op te nemen met ams AG voor actuele informatie. Dit product is bedoeld voor gebruik in commerciële toepassingen. Toepassingen die een groter temperatuurbereik, ongebruikelijke omgevingseisen of toepassingen met hoge betrouwbaarheid vereisen, zoals militaire, medische levensondersteunende of levensondersteunende apparatuur, worden specifiek niet aanbevolen zonder aanvullende verwerking door ams AG voor elke toepassing. Dit product wordt geleverd door ams “AS IS” en alle expliciete of impliciete
garanties, inclusief maar niet beperkt tot de impliciete garanties van verkoopbaarheid en geschiktheid voor een bepaald doel, worden afgewezen.
ams AG is niet aansprakelijk jegens de ontvanger of een derde partij voor enige schade, inclusief maar niet beperkt tot persoonlijk letsel, materiële schade, winstderving, verlies van gebruik, bedrijfsonderbreking of indirecte, speciale, incidentele of gevolgschade, van enige soort, in verband met of voortvloeiend uit de levering, prestatie of gebruik van de technische gegevens hierin. Er ontstaat of vloeit geen verplichting of aansprakelijkheid jegens de ontvanger of een derde partij voort uit het verlenen van technische of andere diensten door ams AG.

Contactgegevens
Hoofdkwartier
am AG
Tobelbader Strae 30
8141 Unterpremstätten
Oostenrijk
Telefoon: +43 (0) 3136 500 0
Voor verkoopkantoren, distributeurs en vertegenwoordigers kunt u terecht op:
http://www.ams.com/contact

www.ams.com

Gedownload van Pijl. com.

Documenten / Bronnen

ams AS5048 14-bit roterende positiesensor met digitale hoek en PWM-uitgang [pdf] Gebruikershandleiding
AS5048-AB-1.1, AS5048 14-bit roterende positiesensor met digitale hoek en PWM-uitgang, AS5048, 14-bit roterende positiesensor met digitale hoek en PWM-uitgang, AS5048 14-bit roterende positiesensor, roterende positiesensor, positiesensor, Sensor

Referenties

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *