ams-LOGO

Senzor de poziție rotativ ams AS5048 pe 14 biți cu unghi digital și ieșire PWM

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM

Informații despre produs

AS5048 este un senzor de poziție rotativ de 14 biți cu unghi digital (interfață) și ieșire PWM. Este proiectat de ams OSRAM Group și publicat de Arrow.com. Senzorul este utilizat pentru a măsura poziția unui obiect care se rotește și oferă măsurători precise de unghi.
Placa adaptorului AS5048 este un circuit care permite testarea și evaluarea ușoară a senzorului AS5048 fără a fi nevoie de a construi un dispozitiv de testare separat sau PCB. Placa adaptorului poate fi atașată la un microcontroler sau la AS5048-Demoboard ca dispozitiv extern.

Descrierea plăcii
Placa adaptoare AS5048 are o interfață de tip A (SPI) sau B (I2C), 4 orificii de montare de 2.6 mm și un conector P1. Oferă o modalitate convenabilă de a conecta și de a interacționa cu senzorul AS5048.

Instrucțiuni de montare

Pentru a monta placa adaptorului AS5048, urmați acești pași:

  1. Plasați un magnet diametral peste sau sub senzorul de poziție AS5048.
  2. Asigurați-vă că magnetul este centrat pe mijlocul pachetului cu o toleranță de 0.5 mm.
  3. Mențineți un spațiu de aer între magnet și carcasa codificatorului în intervalul de la 0.5 mm la 2 mm.
  4. Utilizați un material neferomagnetic, cum ar fi alama, cupru, aluminiu sau oțel inoxidabil pentru suportul pentru magnet.

Urmărirea acestor instrucțiuni va asigura funcționarea corectă a plăcii adaptoare AS5048 și măsurători precise ale poziției.

Istoricul revizuirilor

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-1

Descriere generală

AS5048 este un senzor de poziție unghiular de 360° ușor de utilizat, cu o ieșire de înaltă rezoluție de 14 biți. Pentru a măsura unghiul, este necesar doar un magnet simplu cu doi poli, care se rotește peste centrul cipului.
Magnetul poate fi plasat deasupra sau sub circuitul integrat. Acest lucru este prezentat în Figura 1.

Figura 1: Senzor de poziție magnetic AS5048 + Magnet

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-2

Placa adaptorului AS5048
Placa adaptorului AS5048 este un circuit simplu care permite testarea și evaluarea rapidă a senzorului de poziție magnetic AS5048, fără a construi un dispozitiv de testare sau un PCB.

Descrierea plăcii
Placa adaptoare AS5048 este un circuit simplu care permite testarea și evaluarea rapidă a codificatorului rotativ AS5048, fără a construi un dispozitiv de testare sau un PCB.
PCB-ul poate fi atașat la un microcontroler sau la AS5048- Demoboard ca dispozitiv extern.

Figura 2: Placă adaptoare AS5048

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-3

Montarea plăcii adaptoare AS5048
Un magnet diametral trebuie plasat deasupra senzorului de poziție AS5048 și trebuie să fie centrat pe mijlocul pachetului cu o toleranță de 0.5 mm.
Spațiul de aer dintre magnet și carcasa codificatorului trebuie menținut în intervalul 0.5 mm ~ 2 mm. Suportul magnetului nu trebuie să fie feromagnetic. Materiale precum alama, cupru, aluminiu, oțel inoxidabil sunt cele mai bune alegeri pentru a face această piesă.

Figura 3: AS5048 – AB – montaj și dimensiune

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-4

Placă adaptor AS5048 și pinout

Figura 4: Conectorii plăcii adaptoare AS5048 și pinoutul codificatorului

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-5

Tabelul 1: Descrierea pinului

Pin# Board Pin# AS5 048 Tablă de simboluri  

Descriere

P1 – 1 13 GND Pământ de alimentare
P1 – 2 3 A2/MISO SPI master in/slave out; partajat cu pinul 2 de selecție a adresei I2C
P1 – 3 4 A1/MOSI SPI master out/slave in; partajat cu pinul 2 de selecție a adresei I1C
P1 – 4 2 SCL/SCK Intrare ceas SPI; partajat cu intrarea ceasului I2C
P1 – 5 1 SDA/CSn Selectare cip SPI-activ scăzut; partajat cu pinul de date I2C
P1 – 6 14 PWM Ieșire de modulare a lățimii de impuls
 

P1 – 7

 

12

 

3.3V

3V-Iesire regulator; reglementat intern de la VDD. Conectați la VDD pentru alimentare de 3V voltage
P1 – 8 11 5V Volumul aprovizionăriitage

Cazuri de operare

Cea mai completă și precisă soluție pentru un MCU pentru a citi unghiul unui magnet este interfața SPI.

Modul One Device SPI, unidirecțional – 3 fire
AS5048-AB poate fi conectat direct la un port SPI standard al unui microcontroler. Cerința minimă de conectare pentru comunicarea unidirecțională (unghi + citirea valorilor de alarmă) între microcontroler și AS5048 sunt MISO, SCK, SS/.
Unghiul va fi citit la fiecare transfer SPI pe 16 biți. Vezi tabelul de registru al fișei de date AS5048, registrul 3FFFh.

Figura 5: Folosind interfața SPI unidirecțională cu un microcontroler

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-7

Modul SPI cu un singur dispozitiv, bidirecțional – 4 fire
Dacă trebuie citite alte registre decât valorile unghiulare sau pentru a scrie registre în AS5048, este necesar semnalul MOSI.

Figura 6: Folosind interfața SPI bidirecțională cu un microcontroler

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-8

Multi dispozitive SPI mod Daisy chain
AS5048 poate fi conectat în lanț, folosind 4 fire numai pentru comunicarea SPI.
În această configurație cu codificatoare nx, secvența va fi procesată după cum urmează:

  • MCU setează SS/ = 0
  • MCU schimbă nx pe 16 biți (de exemplu, comanda READ FFFFh) prin lanț
  • MCU setează SS/=1
    În acel moment, toți codificatorii nx au primit comanda READ FFFFh.
  • MCU setează SS/=0
  • MCU schimbă nx pe 16 biți (de exemplu, comanda NOP 0000h)
  • MCU setează SS/=1
    În acel moment, cei 16 biți nx recepționați pe MISO sunt valorile unghiului nx.

Figura 7: Dispozitive multiple în modul Daisy chain

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-9

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-10

Codare firmware

Următorul cod sursă se potrivește aplicației 4-Wire
Funcția void spiReadData() citește/scrie 4 valori din AS5048

  • Trimite comanda READ AGC / Primește valoare necunoscută
  • Trimite comanda READ MAG / Primește valoarea AGC
  • Trimite comanda READ Angle / Primește valoarea MAG
  • Trimite comanda NOP (fără operație) / Primește valoarea ANGLE

Dacă este necesar doar un unghi de citire într-o buclă, procedura poate fi redusă la o singură linie:

  • Trimite comanda READ Angle / Primește valoarea Angle
    Funcția static u8 spiCalcEvenParity(ushort value) este opțională, calculează bitul de paritate al fluxului SPI de 16 biți.

/*!
**************************************************** ****************************
* Citește datele cipului prin interfața SPI
*
* Această funcție este folosită pentru a citi valoarea cordică de la cipurile care acceptă SPI
* interfata.
**************************************************** ****************************
*/
#define SPI_CMD_READ 0x4000 /*!< flag indicând încercarea de citire când se utilizează interfața SPI */
#define SPI_REG_AGC 0x3ffd /*!< registrul agc când se utilizează SPI */
#define SPI_REG_MAG 0x3ffe /*!< registrul de magnitudine când se utilizează SPI */
#define SPI_REG_DATA 0x3fff /*!< registrul de date când se utilizează SPI */
#define SPI_REG_CLRERR 0x1 /*!< ștergeți registrul de eroare când utilizați SPI */

void spiReadData()
{
u16 dat; // Buffer de date pe 16 biți pentru comunicarea SPI
u16 magreg;
unghi scurt, agcreg;
ubyte agc;
valoare scurtă;
bit alarmHi, alarmLo;

/* Trimite comanda READ AGC. Datele primite sunt aruncate: aceste date provin de la comanda precedentă (necunoscută)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));

/ /* Trimite comanda READ MAG. Datele primite sunt valoarea AGC: aceste date provin din comanda precedentă (necunoscută)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = dat;
/* Trimite comanda READ ANGLE. Datele primite sunt valoarea MAG, din comanda precedentă */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = dat;
/* Trimite comanda NOP. Datele primite sunt valoarea ANGLE, din comanda precedentă */
dat = 0x0000; // Comanda NOP.
spiTransfer((u8*)&dat, sizeof(u16));
unghi = dat >> 2;
}
dacă ((dat și 0x4000) || (agcreg și 0x4000) || (magreg și 0x4000))
{
/* steag de eroare setat – trebuie să-l resetați */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
altfel
{
agc = agcreg & 0xff // valoare AGC (0..255)
valoare = dat & (16384 – 31 – 1); // Valoarea unghiului (0.. 16384 pași)
unghi = (valoare * 360) / 16384 // Valoare unghi în grade
(0..359.9°)
magnitudine = magreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
**************************************************** ****************************
* Calculați paritatea pară a unui întreg fără semn de 16 biți
*
* Această funcție este utilizată de interfața SPI pentru a calcula paritatea pară
* a datelor care vor fi trimise prin SPI către codificator.
*
* Valoare \param[in] : întreg fără semn pe 16 biți a cărui paritate va fi calculată
*
* \return : Paritate egală
*
**************************************************** ****************************
*/
static u8 spiCalcEvenParity (valoare scurtă)
{
u8 cnt = 0;
u8 i;
pentru (i = 0; i < 16; i++)
{
dacă (valoare și 0x1)
{
cnt++;
}
valoarea >>= 1;
}
return cnt & 0x1;
}
/*!
**************************************************** ****************************
* Calculați paritatea pară a unui întreg fără semn de 16 biți
*
* Această funcție este utilizată de interfața SPI pentru a calcula paritatea pară
* a datelor care vor fi trimise prin SPI către codificator.
*
* Valoare \param[in] : întreg fără semn pe 16 biți a cărui paritate va fi calculată
*
* \return : Paritate egală
*
**************************************************** ****************************
*/
static u8 spiCalcEvenParity (valoare scurtă)
{
u8 cnt = 0;
u8 i;
pentru (i = 0; i < 16; i++)
{
dacă (valoare și 0x1)
{
cnt++;
}
valoarea >>= 1;
}
return cnt & 0x1;
}

AS5048-AB-Hardware

Urmând schema și aspectul plăcii adaptoare pot fi găsite.

AS5048-AB-1.1 Scheme

Figura 8: Schemele plăcii adaptoare AS5048-AB-1.1

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-12

AS5048 – AB – 1.1 layout PCB

Figura 9: Dispunerea plăcii adaptoare AS5048-AB-1.1

ams-AS5048-Senzor-rotativ-de-poziție-14-biți-cu-unghi-digital-și-ieșire-PWM-11

Drepturi de autor
Copyright ams AG, Tobelbader Strasse 30, 8141 Unterpremstätten, Austria-Europa. Mărci înregistrate. Toate drepturile rezervate. Materialul de aici nu poate fi reprodus, adaptat, fuzionat, tradus, stocat sau utilizat fără acordul prealabil scris al proprietarului drepturilor de autor.

Disclaimer
Dispozitivele vândute de ams AG sunt acoperite de prevederile privind garanția și despăgubirea brevetului care apar în Termenul său de vânzare. ams AG nu oferă nicio garanție, expresă, statutară, implicită sau prin descriere cu privire la informațiile prezentate aici. ams AG își rezervă dreptul de a modifica specificațiile și prețurile în orice moment și fără notificare. Prin urmare, înainte de a proiecta acest produs într-un sistem, este necesar să verificați cu ams AG informațiile actuale. Acest produs este destinat utilizării în aplicații comerciale. Aplicațiile care necesită o gamă extinsă de temperatură, cerințe de mediu neobișnuite sau aplicații de înaltă fiabilitate, cum ar fi echipamentele militare, medicale de susținere a vieții sau de susținere a vieții, nu sunt recomandate în mod specific fără procesare suplimentară de către ams AG pentru fiecare aplicație. Acest produs este furnizat de ams „CA ESTE” și orice expres sau implicit
garanțiile, inclusiv, dar fără a se limita la, garanțiile implicite de vandabilitate și potrivire pentru un anumit scop sunt declinate.
ams AG nu va fi răspunzătoare față de destinatar sau oricărei terțe părți pentru orice daune, inclusiv, dar fără a se limita la, vătămări corporale, daune materiale, pierderi de profit, pierderi de utilizare, întreruperea activității sau daune indirecte, speciale, incidentale sau consecvente, natura, în legătură cu sau care rezultă din furnizarea, performanța sau utilizarea datelor tehnice din prezentul document. Nicio obligație sau răspundere față de destinatar sau orice terță parte nu va apărea sau decurge din furnizarea de servicii tehnice sau de altă natură ams AG.

Informații de contact
Sediu
ams AG
Tobelbader Strasse 30
8141 Unterpremstaetten
Austria
T. +43 (0) 3136 500 0
Pentru birouri de vânzări, distribuitori și reprezentanți, vă rugăm să vizitați:
http://www.ams.com/contact

www.ams.com

Descărcat de pe Arrow.com.

Documente/Resurse

Senzor de poziție rotativ ams AS5048 pe 14 biți cu unghi digital și ieșire PWM [pdfManual de utilizare
AS5048-AB-1.1, AS5048 Senzor de poziție rotativ pe 14 biți cu unghi digital și ieșire PWM, AS5048, Senzor de poziție rotativ pe 14 biți cu unghi digital și ieșire PWM, AS5048 Senzor de poziție rotativ pe 14 biți, Senzor de poziție rotativ, Senzor de poziție, Senzor

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *