ams AS5048 14 bitų sukimosi padėties jutiklis su skaitmeniniu kampu ir PWM išvestimi
Informacija apie produktą
AS5048 yra 14 bitų sukamasis padėties jutiklis su skaitmeniniu kampu (sąsaja) ir PWM išėjimu. Jį sukūrė ams OSRAM Group ir išleido Arrow.com. Jutiklis naudojamas besisukančio objekto padėčiai matuoti ir tiksliai matuoti kampą.
AS5048 adapterio plokštė yra grandinė, leidžianti lengvai išbandyti ir įvertinti AS5048 jutiklį, nekuriant atskiro bandymo įrenginio ar PCB. Adapterio plokštę galima prijungti prie mikrovaldiklio arba AS5048-Demoboard kaip išorinį įrenginį.
Lentos aprašymas
AS5048 adapterio plokštėje yra A (SPI) arba B (I2C) tipo sąsaja, 4 x 2.6 mm tvirtinimo angos ir P1 jungtis. Tai yra patogus būdas prisijungti ir sąveikauti su AS5048 jutikliu.
Montavimo instrukcijos
Norėdami pritvirtinti AS5048 adapterio plokštę, atlikite šiuos veiksmus:
- Ant AS5048 padėties jutiklio arba po juo uždėkite diametrinį magnetą.
- Įsitikinkite, kad magnetas yra pakuotės viduryje su 0.5 mm paklaida.
- Tarp magneto ir kodavimo įrenginio korpuso palaikykite nuo 0.5 mm iki 2 mm oro tarpą.
- Magneto laikikliui naudokite neferomagnetinę medžiagą, pvz., žalvarį, varį, aliuminį arba nerūdijantį plieną.
Šių nurodymų laikymasis užtikrins tinkamą AS5048 adapterio plokštės veikimą ir tikslius padėties matavimus.
Revizijos istorija
Bendras aprašymas
AS5048 yra lengvai naudojamas 360° kampo padėties jutiklis su 14 bitų didelės raiškos išvestimi. Norint išmatuoti kampą, reikia tik paprasto dviejų polių magneto, besisukančio virš lusto centro.
Magnetas gali būti virš arba po IC. Tai parodyta 1 paveiksle.
1 pav. Magnetinis padėties jutiklis AS5048 + magnetas
AS5048 adapterio plokštė
AS5048 adapterio plokštė yra paprasta grandinė, leidžianti greitai išbandyti ir įvertinti AS5048 magnetinės padėties jutiklį, nekuriant bandymo įrenginio ar PCB.
Lentos aprašymas
AS5048 adapterio plokštė yra paprasta grandinė, leidžianti greitai išbandyti ir įvertinti rotacinį kodavimo įrenginį AS5048, nekuriant bandomojo įrenginio ar PCB.
PCB galima prijungti prie mikrovaldiklio arba prie AS5048 demonstracinės plokštės kaip išorinio įrenginio.
2 pav.: AS5048 adapterio plokštė
AS5048 adapterio plokštės montavimas
Po AS5048 padėties jutikliu turi būti uždėtas diametrinis magnetas, kurio centras turi būti pakuotės viduryje su 0.5 mm nuokrypiu.
Oro tarpas tarp magneto ir kodavimo įrenginio korpuso turi būti 0.5–2 mm. Magneto laikiklis neturi būti feromagnetinis. Tokios medžiagos kaip žalvaris, varis, aliuminis, nerūdijantis plienas yra geriausias pasirinkimas šiai daliai gaminti.
3 pav.: AS5048 – AB – montavimas ir matmenys
AS5048 adapterio plokštė ir kištukas
4 pav.: AS5048 adapterio plokštės jungtys ir kodavimo kištukas
1 lentelė: Smeigtuko aprašymas
Pin# lenta | Smeigtuko Nr. AS5 048 | Simbolių lenta |
Aprašymas |
P1-1 | 13 | GND | Tiekimo žemė |
P1-2 | 3 | A2/MISO | SPI master in/slave out; bendrinamas su I2C adreso pasirinkimo kaiščiu 2 |
P1-3 | 4 | A1/MOSI | SPI master out/slave in; bendrinamas su I2C adreso pasirinkimo kaiščiu 1 |
P1-4 | 2 | SCL/SCK | SPI laikrodžio įvestis; bendrinamas su I2C laikrodžio įvestimi |
P1-5 | 1 | SDA/CSn | SPI lusto pasirinkimas-aktyvus žemas; bendrinamas su I2C duomenų kaiščiu |
P1-6 | 14 | PWM | Impulso pločio moduliavimo išvestis |
P1-7 |
12 |
3.3 V |
3V-Reguliatoriaus išėjimas; viduje reguliuojama iš VDD. Prijunkite prie VDD, kad gautumėte 3 V maitinimo šaltinįtage |
P1-8 | 11 | 5V | Tiekimo ttage |
Operacijų atvejai
Pats išsamiausias ir tiksliausias sprendimas MCU nuskaityti magneto kampą yra SPI sąsaja.
Vieno įrenginio SPI režimas, vienakryptis – 3 laidai
AS5048-AB galima tiesiogiai prijungti prie standartinio mikrovaldiklio SPI prievado. Minimalus jungties reikalavimas vienkrypčiai komunikacijai (kampas + aliarmo verčių skaitymas) tarp mikrovaldiklio ir AS5048 yra MISO, SCK, SS/.
Kampas bus nuskaitomas kiekvieno 16 bitų SPI perdavimo metu. Žr. AS5048 duomenų lapo registro lentelę, registrą 3FFFh.
5 paveikslas: Vienakryptės SPI sąsajos naudojimas su mikrovaldikliu
Vieno įrenginio SPI režimas, dvikryptis – 4 laidų
Jei reikia nuskaityti kitus registrus, ne tik kampo reikšmes, arba norint įrašyti registrus į AS5048, signalas MOSI yra būtinas.
6 paveikslas: SPI sąsajos dvikryptis naudojimas su mikrovaldikliu
Kelių įrenginių SPI Daisy grandinės režimas
AS5048 gali būti sujungtas su grandine, naudojant tik 4 laidus SPI ryšiui.
Šioje konfigūracijoje su nx kodavimo įrenginiais seka bus apdorojama taip:
- MCU nustato SS/ = 0
- MCU perkelia nx 16 bitų (pvz., READ komanda FFFFh) per grandinę
- MCU nustato SS/=1
Tuo metu visi nx kodavimo įrenginiai gavo READ komandą FFFFh. - MCU nustato SS/=0
- MCU perkelia nx 16 bitų (pvz., NOP komanda 0000h)
- MCU nustato SS/=1
Tuo metu nx 16 bitų, gautų per MISO, yra nx kampo reikšmės.
7 paveikslas: Keli įrenginiai Daisy grandinės režimu
Firmware kodavimas
Šis šaltinio kodas tinka 4 laidų programai
Funkcija void spiReadData() nuskaito / įrašo 4 reikšmes iš AS5048
- Siųsti komandą READ AGC / Gauti reikšmė nežinoma
- Siųsti komandą READ MAG / Gauti reikšmę AGC
- Siųsti komandą READ Angle / Gauti reikšmę MAG
- Siųsti komandą NOP (be operacijos) / Gauti reikšmę ANGLE
Jei cikle reikalingas tik READ ANGLE, procedūra gali būti sumažinta iki vienos eilutės:
- Siųsti komandą READ Angle / Gauti reikšmę Kampas
Funkcija static u8 spiCalcEvenParity(ushort value) yra neprivaloma, ji apskaičiuoja 16 bitų SPI srauto pariteto bitą.
/*!
****************************************************** ******************************
* Nuskaito lusto duomenis per SPI sąsają
*
* Ši funkcija naudojama norint nuskaityti laido vertę iš lustų, palaikančių SPI
* sąsaja.
****************************************************** ******************************
*/
#define SPI_CMD_READ 0x4000 /*!< vėliavėlė, nurodanti bandymą skaityti naudojant SPI sąsają */
#define SPI_REG_AGC 0x3ffd /*!< agc registracija naudojant SPI */
#define SPI_REG_MAG 0x3ffe /*!< dydžio registras naudojant SPI */
#define SPI_REG_DATA 0x3fff /*!< duomenų registras naudojant SPI */
#define SPI_REG_CLRERR 0x1 /*!< išvalyti klaidų registrą naudojant SPI */
negalioja spiReadData()
{
u16 dat; // 16 bitų duomenų buferis SPI ryšiui
u16 magregas;
ushort kampas, agcreg;
ubaitas agc;
trumpoji vertė;
bitas signalasSveiki, signalizacijaLo;
/* Siųsti READ AGC komandą. Gauti duomenys išmetami: šie duomenys gaunami iš ankstesnės komandos (nežinoma)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
/ /* Siųsti READ MAG komandą. Gauti duomenys yra AGC reikšmė: šie duomenys gaunami iš ankstesnės komandos (nežinoma)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = dat;
/* Siųsti READ ANGLE komandą. Gauti duomenys yra MAG reikšmė iš ankstesnės komandos */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = dat;
/* Siųsti NOP komandą. Gauti duomenys yra ANGLE reikšmė iš ankstesnės komandos */
dat = 0x0000; // NOP komanda.
spiTransfer((u8*)&dat, sizeof(u16));
kampas = dat >> 2;
}
if ((dat & 0x4000) || (agcreg & 0x4000) || (magreg & 0x4000))
{
/* klaidos vėliavėlė nustatyta – reikia ją nustatyti iš naujo */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
kitaip
{
agc = agcreg & 0xff // AGC reikšmė (0...255)
reikšmė = dat & (16384 – 31 – 1); // Kampo reikšmė (0.. 16384 žingsniai)
kampas = (reikšmė * 360) / 16384 // Kampo reikšmė laipsniais
(0...359.9°)
dydis = magreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
****************************************************** ******************************
* Apskaičiuokite lyginį 16 bitų beženklio sveikojo skaičiaus paritetą
*
* Šią funkciją SPI sąsaja naudoja lygiam paritetui apskaičiuoti
* duomenų, kurie per SPI bus siunčiami koduotojui.
*
* \param[in] reikšmė : 16 bitų beženklis sveikasis skaičius, kurio paritetas turi būti skaičiuojamas
*
* \return : lygus paritetas
*
****************************************************** ******************************
*/
statinis u8 spiCalcEvenParity (trumpoji reikšmė)
{
u8 cnt = 0;
u8 i;
už (i = 0; i < 16; i++)
{
jei (reikšmė ir 0x1)
{
cnt++;
}
reikšmė >>= 1;
}
grįžti cnt & 0x1;
}
/*!
****************************************************** ******************************
* Apskaičiuokite lyginį 16 bitų beženklio sveikojo skaičiaus paritetą
*
* Šią funkciją SPI sąsaja naudoja lygiam paritetui apskaičiuoti
* duomenų, kurie per SPI bus siunčiami koduotojui.
*
* \param[in] reikšmė : 16 bitų beženklis sveikasis skaičius, kurio paritetas turi būti skaičiuojamas
*
* \return : lygus paritetas
*
****************************************************** ******************************
*/
statinis u8 spiCalcEvenParity (trumpoji reikšmė)
{
u8 cnt = 0;
u8 i;
už (i = 0; i < 16; i++)
{
jei (reikšmė ir 0x1)
{
cnt++;
}
reikšmė >>= 1;
}
grįžti cnt & 0x1;
}
AS5048-AB-Aparatūra
Galima rasti adapterio plokštės schemą ir išdėstymą.
AS5048-AB-1.1 schemos
8 paveikslas: AS5048-AB-1.1 adapterio plokštės schemos
AS5048 – AB – 1.1 PCB išdėstymas
9 paveikslas: AS5048-AB-1.1 adapterio plokštės išdėstymas
Autorių teisės
Autorių teisės priklauso ams AG, Tobelbader Strasse 30, 8141 Unterpremstätten, Austrija-Europa. Registruoti prekių ženklai. Visos teisės saugomos. Čia pateiktos medžiagos negalima atgaminti, pritaikyti, sujungti, versti, saugoti ar naudoti be išankstinio raštiško autorių teisių savininko sutikimo.
Atsisakymas
„Ams AG“ parduodamiems įrenginiams taikomos garantijos ir patentų žalos atlyginimo nuostatos, nurodytos jos pardavimo sąlygose. „ams AG“ nesuteikia jokių aiškių, įstatymų numatytų, numanomų ar pagal aprašymą garantijų dėl čia pateiktos informacijos. ams AG pasilieka teisę bet kuriuo metu ir be įspėjimo keisti specifikacijas ir kainas. Todėl prieš projektuojant šį gaminį į sistemą, būtina pasiteirauti ams AG, kad gautumėte naujausios informacijos. Šis gaminys skirtas naudoti komerciniais tikslais. Programos, kurioms reikalingas išplėstinis temperatūros diapazonas, neįprasti aplinkos reikalavimai arba didelio patikimumo programos, pvz., karinė, medicininė gyvybę palaikanti ar gyvybę palaikanti įranga, yra ypač nerekomenduojamos, jei ams AG nereikalauja papildomo apdorojimo kiekvienai programai. Šį produktą ams teikia „TOK, KOKIA YRA“ ir bet kokį tiesioginį ar numanomą
garantijų, įskaitant, bet neapsiribojant, numanomas tinkamumo parduoti ir tinkamumo tam tikram tikslui garantijas, atsisakoma.
ams AG nėra atsakinga gavėjui ar bet kokiai trečiajai šaliai už bet kokius nuostolius, įskaitant, bet neapsiribojant, asmens sužalojimą, žalą turtui, negautą pelną, naudojimo praradimą, verslo nutraukimą arba netiesioginę, specialią, atsitiktinę ar pasekminę žalą. natūra, susijusi su čia pateiktų techninių duomenų pateikimu, vykdymu ar naudojimu. Jokia prievolė ar atsakomybė gavėjui ar bet kuriai trečiajai šaliai neatsiranda ar išplaukia iš ams AG teikiant technines ar kitas paslaugas.
Kontaktinė informacija
Būstinė
ams AG
Tobelbader Strasse 30
8141 Unterpremstaetten
Austrija
T. +43 (0) 3136 500 0
Dėl pardavimo biurų, platintojų ir atstovų apsilankykite:
http://www.ams.com/contact
Atsisiųsta iš Arrow.com.
Dokumentai / Ištekliai
![]() |
ams AS5048 14 bitų sukimosi padėties jutiklis su skaitmeniniu kampu ir PWM išvestimi [pdf] Naudotojo vadovas AS5048-AB-1.1, AS5048 14 bitų sukimosi padėties jutiklis su skaitmeniniu kampu ir PWM išvestimi, AS5048, 14 bitų sukimosi padėties jutiklis su skaitmeniniu kampu ir PWM išvestimi, AS5048 14 bitų sukamosios padėties jutiklis, sukamosios padėties jutiklis Jutiklis |