. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
AS5043 - knihovny pro AVR
31. ledna 2009 | Pandatron | AS5043 - knihovny pro AVR | Komentářů: 2  

AS5043 - knihovny pro AVR

Samostatné knihovny pro magnetický rotační enkodér použitelné nejen s obvody řady AVR.

AS5043
Obvod AS5043 je 10 bitový magnetický rotační enkodér. Obvod obsahuje bezkontaktní 10 bitovým magnetický senzor s rozsahem 0 - 360° s analogovým a digitálním výstupem absolutní polohy. Právě digitální výstup ve formě SSI sběrnice je ideální komunikační prostředek pro připojení obvodu k mikroprocesoru.


Obr. 1: Vnitřní blokové schéma obvodu AS5043

Podrobný popis obvodu byl uveden již dříve ve článku AS5043 - bezkontaktní 10 bitový magnetický senzor.

AS5043 – schéma zapojení
Na následujícím obrázku je příklad zapojení mikroprocesoru ATmega8 a obvodu AS5043.


Obr. 2: Schéma zapojení mikroprocesoru ATmega8 a obvodu AS5043

Zapojení je určeno pro 3,3V napájecí napětí, proto jsou na obvodu AS5043 spojeny oba napájecí piny (15 a 16). Datové piny obvodu AS5043 (-CS, CLK, DO) jsou připojeny na piny mikroprocesoru ATmega8 a to konkrétně k pinům PC0 – PC2. Jelikož není pro komunikaci s obvodem využíván žádný integrovaný hardware mikroprocesoru, je možné použít libovolné tři I/O piny.
Zbylé vývody obvodu AS5043 jsou nezapojeny a to včetně vstupního datového pinu DI. Ten je využíván pouze v případě programování obvodu, což není běžná činnost.

Knihovny:
Samotné knihovny ve formátu zdrojových souborů určené pro procesory AVR jsou ke stažení na konci článku. Obsahují dva soubory, as5043.c a as5043.h.


Obr. 3: Soubory knihovny

Oba zmíněné soubory jsou psány podle pravidel ANSI C, neměl by tedy být problém s jejich implementací ani do jiných mikroprocesorů. Bez jakékoliv změny je tak lze použít v libovolném mikroprocesoru řady AVR. Po modifikaci ovládání pinů je lze poté použít i kdekoliv jinde.

as5043.h obsahuje celkem čtyři různé definice. Jako první jsou definovány použité tři I/O piny mikroprocesoru. Zde je potřeba v případě použití jiných I/O pinů nadefinovat správný port a číslo pinu.
Následuje definice jednotlivých bitů datového slova vyčteného z obvodu AS5043. Z obvodu je možné vyčíst pouze jediný šestnáctibitový registr obsahující následující bity:


Obr. 4: Komunikace s obvodem pomocí SSI protokolu

Bit Popis
D9:D0 Hodnota absolutní pozice (D9=MSB)
OCF Indikuje úspěšné ukončení funkce "Offset Compensation Algorithm" a tedy platná na výstupu
COF 1 = magnet je mimo rozsah požadovaných vzdáleností
LIN 1 = výstupní hodnota není lineární
MagInc 1 = magnet se přibližuje k obvodu
MagDec 1 = magnet se vzdaluje od obvodu
Even Parity Parita k předchozím bitům
Tab. 1: Význam jednotlivých bitů

Jako poslední jsou v souboru as5043.h definovány makra na zjednodušení ovládání pinů obvodu a jediné dvě funkce void as5043_init (void) a unsigned int as5043_read (void);.

Použití knihoven:
Pro použití knihoven v libovolném projektu stačí do místa použití includovat již zmíněný soubor as5043.h a soubor as5043.c jednoduše připojit ke kompilátoru.
Poté je potřeba modifikovat soubor as5043.h a upravit zde definici použitých pinů. Tím je však nastavení knihoven dokončeno a je možné začít používat funkce knihoven.
Ty jsou pouze dvě. Pvní funkce void as5043_init (void) slouží k inicializaci pinů mikroprocesoru. Není ji potřeba předávat žádnou hodnotu, ani žádnou hodnotu nevrací. Stačí ji tedy na začátku programu zavolat příkazem as5043_init();.
Druhá funkce unsigned int as5043_read (void) již obsahuje komunikaci s obvodem a slouží k vyčtení jeho hodnoty. Funkce po svém zavolání vyčte z obvodu 16-bitovou hodnotu, kterou vrací zpět. Pokud dojde při vyčítání hodnoty k chybě, například z důvodu že obvod neodpoví, vrací funkce hodnotu 0000h.

Závěr:
Článek měl nabídnout samostatné knihovny k velice zajímavému a modernímu IO, jaký AS5043 bezesporu je. Pro použití knihoven v praxi doporučuji přečíst si článek Bezdrátová Bluetooth korouhvička
, kde byl tento obvod použit.

Obvod AS5043 či jeho vývojová deska jsou na našem trhu dostupné u firmy Spezial Electronic.

Odkazy & Download:
Domovská stránka výrobce - http://www.austriamicrosystems.com

Datasheet AS5043 - http://www.spezial.cz/pdf/AS5043_Datasheet.pdf

Domovská stránka firmy Spezial Electronic - http://www.spezial.cz
AS5043 knihovny - DOWNLOAD







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (2):

Zobrazit starší 30 dnů (2)...

host
2. Dne 25. 05. 2012 v 12:04 zaslal host
Kompatibilita s AS5040
Pěkný den,
chci se zeptat jsou knihovnypoužitelné i pro AS5040? Nemám s tímto zkušenosti.
Díky za Reakci


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
IPRELAY8R - IP RELÉ a teploměr s webovým rozhraním
Moduly IP RELÉ - IPRELAY8R obsahují osm releových výstupů s přepínacím kontaktem, webové rozhraní, integrovaný a externí teplotní senzor s pamětí na 10 záznamů a zobrazením naměřených hodnot v grafu.
Skladem od 1520 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007