ams AS5048 14-Bit-Drehpositionssensor mit digitalem Winkel und PWM-Ausgang
Produktinformationen
Der AS5048 ist ein 14-Bit-Drehpositionssensor mit digitalem Winkel (Schnittstelle) und PWM-Ausgang. Es wurde von der ams OSRAM Group entworfen und veröffentlicht von Arrow.com. Der Sensor dient zur Messung der Position eines rotierenden Objekts und liefert genaue Winkelmessungen.
Die AS5048-Adapterplatine ist eine Schaltung, die ein einfaches Testen und Bewerten des AS5048-Sensors ermöglicht, ohne dass eine separate Testvorrichtung oder Leiterplatte gebaut werden muss. Die Adapterplatine kann als externes Gerät an einen Mikrocontroller oder das AS5048-Demoboard angeschlossen werden.
Board-Beschreibung
Das AS5048-Adapterboard verfügt über eine Schnittstelle vom Typ A (SPI) oder B (I2C), 4 x 2.6 mm Montagelöcher und einen P1-Anschluss. Es bietet eine bequeme Möglichkeit, den AS5048-Sensor anzuschließen und mit ihm zu interagieren.
Montageanleitung
Um die AS5048-Adapterplatine zu montieren, gehen Sie wie folgt vor:
- Platzieren Sie einen diametrischen Magneten über oder unter dem Positionssensor AS5048.
- Stellen Sie sicher, dass der Magnet mit einer Toleranz von 0.5 mm in der Mitte des Pakets zentriert ist.
- Halten Sie einen Luftspalt zwischen dem Magneten und dem Encodergehäuse im Bereich von 0.5 mm bis 2 mm ein.
- Verwenden Sie für den Magnethalter ein nicht ferromagnetisches Material wie Messing, Kupfer, Aluminium oder Edelstahl.
Das Befolgen dieser Anweisungen stellt die ordnungsgemäße Funktion der AS5048-Adapterplatine und genaue Positionsmessungen sicher.
Änderungsverlauf

Allgemeine Beschreibung
Der AS5048 ist ein einfach zu bedienender 360°-Winkelpositionssensor mit einem hochauflösenden 14-Bit-Ausgang. Um den Winkel zu messen, ist lediglich ein einfacher zweipoliger Magnet erforderlich, der sich über der Mitte des Chips dreht.
Der Magnet kann über oder unter dem IC platziert werden. Dies ist in Abbildung 1 dargestellt.
Abbildung 1: Magnetischer Positionssensor AS5048 + Magnet

Die AS5048-Adapterplatine
Die AS5048-Adapterplatine ist eine einfache Schaltung, die einen schnellen Test und eine Evaluierung des magnetischen Positionssensors AS5048 ermöglicht, ohne dass eine Testvorrichtung oder Leiterplatte gebaut werden muss.
Board Beschreibung
Das AS5048-Adapterboard ist eine einfache Schaltung, die einen schnellen Test und eine Evaluierung des AS5048-Drehgebers ermöglicht, ohne dass eine Testvorrichtung oder Leiterplatte gebaut werden muss.
Die Platine kann als externes Gerät an einen Mikrocontroller oder an das AS5048-Demoboard angeschlossen werden.
Abbildung 2: AS5048-Adapterboard

Montage der AS5048-Adapterplatine
Ein diametrischer Magnet muss über und unter dem AS5048-Positionssensor platziert werden und sollte mit einer Toleranz von 0.5 mm in der Mitte des Pakets zentriert sein.
Der Luftspalt zwischen dem Magneten und dem Encodergehäuse sollte im Bereich von 0.5 mm bis 2 mm gehalten werden. Der Magnethalter darf nicht ferromagnetisch sein. Materialien wie Messing, Kupfer, Aluminium und Edelstahl sind die beste Wahl für die Herstellung dieses Teils.
Abbildung 3: AS5048 – AB – Montage und Abmessungen

AS5048-Adapterplatine und Pinbelegung
Abbildung 4: AS5048-Adapterplatinenanschlüsse und Encoder-Pinbelegung

Tabelle 1: Pin-Beschreibung
| Pin#-Board | Pin# AS5 048 | Symboltafel |
Beschreibung |
| P1 – 1 | 13 | Masse | Versorgungsmasse |
| P1 – 2 | 3 | A2/MISO | SPI-Master-Eingang/Slave-Ausgang; gemeinsam mit I2C-Adressauswahl-Pin 2 |
| P1 – 3 | 4 | A1/MOSI | SPI-Master-Ausgang/Slave-Eingang; gemeinsam mit I2C-Adressauswahl-Pin 1 |
| P1 – 4 | 2 | SCL/SCK | SPI-Takteingang; Wird mit dem I2C-Takteingang geteilt |
| P1 – 5 | 1 | SDA/CSn | SPI-Chipauswahl aktiv niedrig; Wird mit dem I2C-Daten-Pin geteilt |
| P1 – 6 | 14 | PWM | Pulsweitenmodulationsausgang |
|
P1 – 7 |
12 |
3.3 V |
3V-Reglerausgang; intern vom VDD reguliert. Für eine 3-V-Versorgungsspannung an VDD anschließentage |
| P1 – 8 | 11 | 5V | Versorgungsvolumentage |
Operationsfälle
Die umfassendste und genaueste Lösung für eine MCU zum Ablesen des Winkels eines Magneten ist die SPI-Schnittstelle.
Ein-Gerät-SPI-Modus, unidirektional – 3-Draht
Der AS5048-AB kann direkt an einen Industriestandard-SPI-Port eines Mikrocontrollers angeschlossen werden. Die Mindestverbindungsanforderungen für die unidirektionale Kommunikation (Winkel + Alarmwertablesung) zwischen dem Mikrocontroller und dem AS5048 sind MISO, SCK, SS/.
Der Winkel wird bei jeder 16-Bit-SPI-Übertragung gelesen. Siehe AS5048-Datenblatt-Registertabelle, Register 3FFFh.
Abbildung 5: Unidirektionale Nutzung der SPI-Schnittstelle mit einem Mikrocontroller

Ein Gerät im SPI-Modus, bidirektional – 4-Draht
Müssen andere Register als nur Winkelwerte gelesen werden, oder um Register in den AS5048 zu schreiben, ist das Signal MOSI notwendig.
Abbildung 6: Verwendung der SPI-Schnittstelle bidirektional mit einem Mikrocontroller

SPI-Daisy-Chain-Modus für mehrere Geräte
Der AS5048 kann in Reihe geschaltet werden, wobei nur 4 Drähte für die SPI-Kommunikation verwendet werden.
In dieser Konfiguration mit nx-Encodern wird die Sequenz wie folgt verarbeitet:
- MCU setzt SS/ = 0
- MCU verschiebt nx 16-Bit (z. B. READ-Befehl FFFFh) durch die Kette
- MCU setzt SS/=1
Zu diesem Zeitpunkt haben alle nx-Encoder den READ-Befehl FFFFh erhalten. - MCU setzt SS/=0
- MCU verschiebt nx 16-Bit (z. B. NOP-Befehl 0000h)
- MCU setzt SS/=1
Zu diesem Zeitpunkt sind die auf MISO empfangenen nx 16-Bit die nx Winkelwerte.
Abbildung 7: Mehrere Geräte im Daisy-Chain-Modus


Firmware-Codierung
Der folgende Quellcode passt zur 4-Wire-Anwendung
Die Funktion void spiReadData() liest/schreibt 4 Werte vom AS5048
- Befehl READ AGC senden / Wert unbekannt empfangen
- Befehl READ MAG senden / Wert AGC empfangen
- Befehl senden Winkel lesen / Wert empfangen MAG
- Befehl NOP senden (keine Operation) / Wert ANGLE empfangen
Wenn in einer Schleife nur ein READ ANGLE notwendig ist, kann die Prozedur auf eine Zeile reduziert werden:
- Befehl senden Winkel lesen / Wert Winkel empfangen
Die Funktion static u8 spiCalcEvenParity(ushort value) ist optional, sie berechnet das Paritätsbit des 16-Bit-SPI-Streams.
/*!
************************************************** ***************************
* Liest Chipdaten über die SPI-Schnittstelle aus
*
* Diese Funktion wird verwendet, um den Cordic-Wert von Chips auszulesen, die SPI unterstützen
* Schnittstelle.
************************************************** ***************************
*/
#define SPI_CMD_READ 0x4000 /*!< Flag, das den Leseversuch bei Verwendung der SPI-Schnittstelle anzeigt */
#define SPI_REG_AGC 0x3ffd /*!< agc-Register bei Verwendung von SPI */
#define SPI_REG_MAG 0x3ffe /*!< Magnitudenregister bei Verwendung von SPI */
#define SPI_REG_DATA 0x3fff /*!< Datenregister bei Verwendung von SPI */
#define SPI_REG_CLRERR 0x1 /*!< Fehlerregister löschen bei Verwendung von SPI */
void spiReadData()
{
u16 dat; // 16-Bit-Datenpuffer für SPI-Kommunikation
u16 magreg;
ukurzer Winkel, agcreg;
ubyte agc;
ushort-Wert;
Bit alarmHi, alarmLo;
/* READ AGC-Befehl senden. Empfangene Daten werden verworfen: Diese Daten stammen vom vorherigen Befehl (unbekannt)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
/ /* READ MAG-Befehl senden. Empfangene Daten sind der AGC-Wert: Diese Daten stammen vom vorherigen Befehl (unbekannt)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = dat;
/* READ ANGLE-Befehl senden. Empfangene Daten sind der MAG-Wert aus dem vorherigen Befehl */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = dat;
/* NOP-Befehl senden. Empfangene Daten sind der ANGLE-Wert aus dem vorherigen Befehl */
dat = 0x0000; // NOP-Befehl.
spiTransfer((u8*)&dat, sizeof(u16));
Winkel = dat >> 2;
}
if ((dat & 0x4000) || (agcreg & 0x4000) || (magreg & 0x4000))
{
/* Fehlerflag gesetzt – muss zurückgesetzt werden */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
anders
{
agc = agcreg & 0xff // AGC-Wert (0..255)
Wert = dat & (16384 – 31 – 1); // Winkelwert (0.. 16384 Schritte)
Winkel = (Wert * 360) / 16384 // Winkelwert in Grad
(0..359.9°)
Magnitude = magreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
************************************************** ***************************
* Berechnen Sie die gerade Parität einer 16-Bit-Ganzzahl ohne Vorzeichen
*
* Diese Funktion wird von der SPI-Schnittstelle zur Berechnung der geraden Parität verwendet
* der Daten, die über SPI an den Encoder gesendet werden.
*
* \param[in] Wert: 16-Bit-Ganzzahl ohne Vorzeichen, deren Parität berechnet werden soll
*
* \return: Gerade Parität
*
************************************************** ***************************
*/
static u8 spiCalcEvenParity(ushort value)
{
u8 cnt = 0;
u8 ich;
für (i = 0; i < 16; i++)
{
if (Wert & 0x1)
{
cnt++;
}
Wert >>= 1;
}
return cnt & 0x1;
}
/*!
************************************************** ***************************
* Berechnen Sie die gerade Parität einer 16-Bit-Ganzzahl ohne Vorzeichen
*
* Diese Funktion wird von der SPI-Schnittstelle zur Berechnung der geraden Parität verwendet
* der Daten, die über SPI an den Encoder gesendet werden.
*
* \param[in] Wert: 16-Bit-Ganzzahl ohne Vorzeichen, deren Parität berechnet werden soll
*
* \return: Gerade Parität
*
************************************************** ***************************
*/
static u8 spiCalcEvenParity(ushort value)
{
u8 cnt = 0;
u8 ich;
für (i = 0; i < 16; i++)
{
if (Wert & 0x1)
{
cnt++;
}
Wert >>= 1;
}
return cnt & 0x1;
}
AS5048-AB-Hardware
Nachfolgend finden Sie den Schaltplan und das Layout des Adapterboards.
AS5048-AB-1.1 Schaltpläne
Abbildung 8: Schaltpläne der AS5048-AB-1.1-Adapterplatine

AS5048 – AB – 1.1 PCB-Layout
Abbildung 9: AS5048-AB-1.1-Adapterplatinenlayout

Copyright
Copyright ams AG, Tobelbader Straße 30, 8141 Unterpremstätten, Österreich-Europa. Marken eingetragen. Alle Rechte vorbehalten. Das hierin enthaltene Material darf ohne vorherige schriftliche Zustimmung des Urheberrechtsinhabers nicht reproduziert, angepasst, zusammengeführt, übersetzt, gespeichert oder verwendet werden.
Haftungsausschluss
Für die von der ams AG verkauften Geräte gelten die in den Verkaufsbedingungen aufgeführten Garantie- und Patentfreistellungsbestimmungen. Die ams AG übernimmt keinerlei Garantie, weder ausdrücklich noch gesetzlich, stillschweigend oder durch Beschreibung hinsichtlich der hierin enthaltenen Informationen. Die ams AG behält sich das Recht vor, Spezifikationen und Preise jederzeit und ohne Vorankündigung zu ändern. Bevor dieses Produkt in ein System integriert wird, ist es daher notwendig, sich bei der ams AG nach aktuellen Informationen zu erkundigen. Dieses Produkt ist für den Einsatz in gewerblichen Anwendungen vorgesehen. Anwendungen, die einen erweiterten Temperaturbereich, ungewöhnliche Umgebungsanforderungen oder Anwendungen mit hoher Zuverlässigkeit erfordern, wie z. B. militärische, medizinische Lebenserhaltungs- oder lebenserhaltende Geräte, werden ohne zusätzliche Verarbeitung durch die ams AG für jede Anwendung ausdrücklich nicht empfohlen. Dieses Produkt wird von ams „WIE BESEHEN“ und ausdrücklich oder stillschweigend bereitgestellt
Gewährleistungen, einschließlich, aber nicht beschränkt auf stillschweigende Gewährleistungen der Marktgängigkeit und Eignung für einen bestimmten Zweck, werden ausgeschlossen.
Die ams AG haftet gegenüber dem Empfänger oder Dritten nicht für Schäden, einschließlich, aber nicht beschränkt auf Personenschäden, Sachschäden, entgangenen Gewinn, Nutzungsausfall, Betriebsunterbrechung oder indirekte, besondere, zufällige oder Folgeschäden jeglicher Art Art, im Zusammenhang mit oder sich aus der Bereitstellung, Leistung oder Nutzung der hierin enthaltenen technischen Daten ergeben. Aus der Erbringung technischer oder sonstiger Leistungen durch die ams AG entstehen keinerlei Verpflichtungen oder Haftungen gegenüber dem Empfänger oder Dritten.
Kontaktinformationen
Hauptsitz
ams AG
Tobelbader Straße 30
8141 Unterpremstätten
Österreich
T. +43 (0) 3136 500 0
Für Vertriebsbüros, Distributoren und Vertreter besuchen Sie bitte:
http://www.ams.com/contact
Heruntergeladen von Arrow.com.
Dokumente / Ressourcen
![]() |
ams AS5048 14-Bit-Drehpositionssensor mit digitalem Winkel und PWM-Ausgang [pdf] Benutzerhandbuch AS5048-AB-1.1, AS5048 14-Bit-Drehpositionssensor mit digitalem Winkel und PWM-Ausgang, AS5048, 14-Bit-Drehpositionssensor mit digitalem Winkel und PWM-Ausgang, AS5048 14-Bit-Drehpositionssensor, Drehpositionssensor, Positionssensor, Sensor |


