ams AS5048 Capteur de position rotatif 14 bits avec angle numérique et sortie PWM
Informations sur le produit
L'AS5048 est un capteur de position rotatif 14 bits avec angle numérique (interface) et sortie PWM. Il est conçu par ams OSRAM Group et publié par Flèche.com. Le capteur est utilisé pour mesurer la position d'un objet en rotation et fournit des mesures d'angle précises.
La carte adaptateur AS5048 est un circuit qui permet de tester et d'évaluer facilement le capteur AS5048 sans qu'il soit nécessaire de construire un appareil de test ou un circuit imprimé séparé. La carte adaptateur peut être fixée à un microcontrôleur ou à la carte de démonstration AS5048 en tant que périphérique externe.
Description de la carte
La carte adaptateur AS5048 comprend une interface de type A (SPI) ou B (I2C), 4 trous de montage de 2.6 mm et un connecteur P1. Il offre un moyen pratique de se connecter et d'interagir avec le capteur AS5048.
Instructions de montage
Pour monter la carte adaptateur AS5048, procédez comme suit :
- Placez un aimant diamétral sur ou sous le capteur de position AS5048.
- Assurez-vous que l'aimant est centré sur le milieu de l'emballage avec une tolérance de 0.5 mm.
- Maintenez un entrefer entre l'aimant et le boîtier de l'encodeur dans la plage de 0.5 mm à 2 mm.
- Utilisez un matériau non ferromagnétique tel que le laiton, le cuivre, l'aluminium ou l'acier inoxydable pour le support de l'aimant.
Le respect de ces instructions garantira le bon fonctionnement de la carte adaptateur AS5048 et des mesures de position précises.
Historique des révisions
Description générale
L'AS5048 est un capteur de position d'angle à 360° facile à utiliser avec une sortie haute résolution de 14 bits. Pour mesurer l'angle, seul un simple aimant bipolaire, tournant au centre de la puce, est nécessaire.
L'aimant peut être placé au-dessus ou au-dessous du CI. Ceci est illustré à la figure 1.
Figure 1 : Capteur de position magnétique AS5048 + Aimant
La carte adaptateur AS5048
La carte adaptateur AS5048 est un circuit simple permettant de tester et d'évaluer rapidement le capteur de position magnétique AS5048 sans construire de montage de test ou de PCB.
Description du tableau
La carte adaptateur AS5048 est un circuit simple permettant de tester et d'évaluer rapidement l'encodeur rotatif AS5048 sans construire de montage de test ou de PCB.
Le PCB peut être attaché à un microcontrôleur ou à l'AS5048-Demoboard en tant que périphérique externe.
Figure 2 : carte adaptateur AS5048
Montage de la carte adaptateur AS5048
Un aimant diamétral doit être placé sous le capteur de position AS5048 et doit être centré au milieu du boîtier avec une tolérance de 0.5 mm.
L'entrefer entre l'aimant et le boîtier de l'encodeur doit être maintenu dans la plage de 0.5 mm à 2 mm. Le porte-aimant ne doit pas être ferromagnétique. Les matériaux comme le laiton, le cuivre, l'aluminium, l'acier inoxydable sont les meilleurs choix pour fabriquer cette pièce.
Figure 3 : AS5048 – AB – montage et dimensions
Carte adaptateur AS5048 et brochage
Figure 4 : connecteurs de la carte adaptateur AS5048 et brochage de l'encodeur
Tableau 1 : Description de la broche
Carte Pin# | Broche # AS5 048 | Tableau des symboles |
Description |
P1 – 1 | 13 | Terre | Terre d'alimentation |
P1 – 2 | 3 | A2/MISO | Entrée maître SPI/sortie esclave ; partagé avec la broche 2 de sélection d'adresse I2C |
P1 – 3 | 4 | A1/MOSI | sortie maître SPI/entrée esclave ; partagé avec la broche 2 de sélection d'adresse I1C |
P1 – 4 | 2 | SCL/SCK | entrée d'horloge SPI ; partagé avec l'entrée d'horloge I2C |
P1 – 5 | 1 | SDA/CSn | SPI chip select-active low ; partagé avec la broche de données I2C |
P1 – 6 | 14 | Modulation de largeur d'impulsion (PWM) | Sortie de modulation de largeur d'impulsion |
P1 – 7 |
12 |
3.3V |
Sortie régulateur 3V ; régulé en interne par VDD. Connectez-vous à VDD pour le vol d'alimentation 3Vtage |
P1 – 8 | 11 | 5V | Vol d'approvisionnementtage |
Cas d'opération
La solution la plus complète et la plus précise pour qu'un microcontrôleur puisse lire l'angle d'un aimant est l'interface SPI.
Mode SPI à un appareil, unidirectionnel - 3 fils
L'AS5048-AB peut être directement connecté à un port SPI standard de l'industrie d'un microcontrôleur. Les exigences minimales de connexion pour la communication unidirectionnelle (angle + lecture des valeurs d'alarme) entre le microcontrôleur et l'AS5048 sont MISO, SCK, SS/.
L'angle sera lu à chaque transfert SPI 16 bits. Voir le tableau des registres de la fiche technique AS5048, registre 3FFFh.
Figure 5 : Utilisation de l'interface SPI unidirectionnelle avec un microcontrôleur
Mode SPI à un appareil, bidirectionnel – 4 fils
Si d'autres registres que les seules valeurs d'angle doivent être lus, ou pour écrire des registres dans l'AS5048, le signal MOSI est nécessaire.
Figure 6 : Utilisation de l'interface SPI bidirectionnelle avec un microcontrôleur
Mode chaînage SPI multi-appareils
L'AS5048 peut être connecté en guirlande, en utilisant 4 fils uniquement pour la communication SPI.
Dans cette configuration avec nx codeurs, la séquence sera traitée comme suit :
- Le MCU définit SS/ = 0
- Le MCU décale nx 16 bits (par exemple, la commande READ FFFFh) dans la chaîne
- Le MCU définit SS/=1
A ce stade, tous les nx codeurs ont reçu la commande READ FFFFh. - Le MCU définit SS/=0
- MCU décale nx 16 bits (par exemple, commande NOP 0000h)
- Le MCU définit SS/=1
À ce stade, les nx 16 bits reçus sur MISO sont les valeurs d'angle nx.
Figure 7 : Multi-appareils en mode Daisy chain
Codage du micrologiciel
Le code source suivant correspond à l'application 4-Wire
La fonction void spiReadData() lit/écrit 4 valeurs depuis l'AS5048
- Envoyer la commande READ AGC / Recevoir une valeur inconnue
- Envoyer la commande READ MAG / Recevoir la valeur AGC
- Envoyer la commande READ Angle / Recevoir la valeur MAG
- Envoyer la commande NOP (pas d'opération) / Recevoir la valeur ANGLE
Si un ANGLE DE LECTURE seul est nécessaire dans une boucle, la procédure peut être réduite à une ligne :
- Envoyer la commande READ Angle / Recevoir la valeur Angle
La fonction static u8 spiCalcEvenParity(ushort value) est facultative, elle calcule le bit de parité du flux SPI 16 bits.
/*!
************************************************** **************************
* Lit les données de la puce via l'interface SPI
*
* Cette fonction est utilisée pour lire la valeur cordique des puces prenant en charge SPI
*Interface.
************************************************** **************************
*/
#define SPI_CMD_READ 0x4000 /*!< drapeau indiquant une tentative de lecture lors de l'utilisation de l'interface SPI */
#define SPI_REG_AGC 0x3ffd /*!< registre agc lors de l'utilisation de SPI */
#define SPI_REG_MAG 0x3ffe /*!< registre de magnitude lors de l'utilisation de SPI */
#define SPI_REG_DATA 0x3fff /*!< registre de données lors de l'utilisation de SPI */
#define SPI_REG_CLRERR 0x1 /*!< effacer le registre d'erreur lors de l'utilisation de SPI */
annuler spiReadData()
{
données u16 ; // Tampon de données 16 bits pour la communication SPI
u16 magré;
angle court, agcreg ;
ubyte agc ;
valeur courte ;
bit alarmHi, alarmLo ;
/* Envoie la commande READ AGC. Les données reçues sont jetées : ces données proviennent de la commande précédente (inconnue)*/
dat = SPI_CMD_READ | SPI_REG_AGC ;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
/ /* Envoie la commande READ MAG. La donnée reçue est la valeur AGC : cette donnée provient de la commande précédente (inconnue)*/
dat = SPI_CMD_READ | SPI_REG_MAG ;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = date;
/* Envoie la commande READ ANGLE. Les données reçues sont la valeur MAG, de la commande précédente */
dat = SPI_CMD_READ | SPI_REG_DATA ;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = données;
/* Envoie la commande NOP. Les données reçues sont la valeur ANGLE, de la commande précédente */
dat = 0x0000 ; // Commande NOP.
spiTransfer((u8*)&dat, sizeof(u16));
angle = dat >> 2 ;
}
si ((dat & 0x4000) || (agreg & 0x4000) || (magreg & 0x4000))
{
/* indicateur d'erreur défini - besoin de le réinitialiser */
dat = SPI_CMD_READ | SPI_REG_CLRERR ;
dat |= spiCalcEvenParity(dat)<<15 ;
spiTransfer((u8*)&dat, sizeof(u16));
}
autre
{
agc = agcreg & 0xff // valeur AGC (0..255)
valeur = dat & (16384 – 31 – 1); // Valeur d'angle (0.. 16384 pas)
angle = (valeur * 360) / 16384 // Valeur de l'angle en degré
(0..359.9°)
magnitude = magreg & (16384 – 31 – 1);
alarmeLo = (agreg >> 10) & 0x1 ;
alarmHi = (agreg >> 11) & 0x1 ;
}
}
/*!
************************************************** **************************
* Calculer la parité paire d'un entier non signé 16 bits
*
* Cette fonction est utilisée par l'interface SPI pour calculer la parité paire
* des données qui seront envoyées via SPI à l'encodeur.
*
* \param[in] valeur : entier non signé 16 bits dont la parité doit être calculée
*
* \return : parité paire
*
************************************************** **************************
*/
statique u8 spiCalcEvenParity (valeur ushort)
{
u8 cnt = 0 ;
u8 je ;
pour (i = 0; i < 16; i++)
{
si (valeur & 0x1)
{
cnt++;
}
valeur >>= 1 ;
}
retour cnt & 0x1;
}
/*!
************************************************** **************************
* Calculer la parité paire d'un entier non signé 16 bits
*
* Cette fonction est utilisée par l'interface SPI pour calculer la parité paire
* des données qui seront envoyées via SPI à l'encodeur.
*
* \param[in] valeur : entier non signé 16 bits dont la parité doit être calculée
*
* \return : parité paire
*
************************************************** **************************
*/
statique u8 spiCalcEvenParity (valeur ushort)
{
u8 cnt = 0 ;
u8 je ;
pour (i = 0; i < 16; i++)
{
si (valeur & 0x1)
{
cnt++;
}
valeur >>= 1 ;
}
retour cnt & 0x1;
}
AS5048-AB-Matériel
Vous trouverez ci-dessous le schéma et la disposition de l'adaptateur.
Schémas AS5048-AB-1.1
Figure 8 : Schémas de la carte adaptateur AS5048-AB-1.1
AS5048 - AB - Disposition des circuits imprimés 1.1
Figure 9 : Disposition de la carte adaptateur AS5048-AB-1.1
Droits d'auteur
Copyright ams AG, Tobelbader Strasse 30, 8141 Unterpremstätten, Autriche-Europe. Marques déposées. Tous les droits sont réservés. Le contenu du présent document ne peut être reproduit, adapté, fusionné, traduit, stocké ou utilisé sans l'accord écrit préalable du titulaire du droit d'auteur.
Clause de non-responsabilité
Les appareils vendus par ams AG sont couverts par les dispositions de garantie et d'indemnisation des brevets figurant dans ses conditions de vente. ams AG n'offre aucune garantie, expresse, statutaire, implicite ou par description concernant les informations présentées ici. ams AG se réserve le droit de modifier les spécifications et les prix à tout moment et sans préavis. Par conséquent, avant de concevoir ce produit dans un système, il est nécessaire de vérifier auprès d'ams AG les informations actuelles. Ce produit est destiné à être utilisé dans des applications commerciales. Les applications nécessitant une plage de température étendue, des exigences environnementales inhabituelles ou des applications à haute fiabilité, telles que les équipements militaires, médicaux ou de survie, ne sont spécifiquement pas recommandées sans traitement supplémentaire par ams AG pour chaque application. Ce produit est fourni par ams « TEL QUEL » et tout accord exprès ou implicite
les garanties, y compris, mais sans s'y limiter, les garanties implicites de qualité marchande et d'adéquation à un usage particulier sont exclues.
ams AG ne sera pas responsable envers le destinataire ou tout tiers pour tout dommage, y compris, mais sans s'y limiter, les blessures corporelles, les dommages matériels, la perte de profits, la perte d'utilisation, l'interruption d'activité ou les dommages indirects, spéciaux, accessoires ou consécutifs, de tout nature, en relation avec ou découlant de la fourniture, de l'exécution ou de l'utilisation des données techniques contenues dans ce document. Aucune obligation ou responsabilité vis-à-vis du destinataire ou d'un tiers ne découle ou ne découle de la prestation de services techniques ou autres par ams AG.
Coordonnées
Quartier général
ams SA
Rue Tobelbader 30
8141 Unterpremstaetten
Autriche
T. +43 (0) 3136 500 0
Pour les bureaux de vente, les distributeurs et les représentants, veuillez visiter :
http://www.ams.com/contact
Téléchargé depuis Flèche.com.
Documents / Ressources
![]() |
ams AS5048 Capteur de position rotatif 14 bits avec angle numérique et sortie PWM [pdf] Manuel de l'utilisateur AS5048-AB-1.1, AS5048 Capteur de position rotatif 14 bits avec angle numérique et sortie PWM, AS5048, Capteur de position rotatif 14 bits avec angle numérique et sortie PWM, Capteur de position rotatif AS5048 14 bits, Capteur de position rotatif, Capteur de position, Capteur |