V rámci vývojového kitu DEMO9S08LC60 firmy Freescale jsem měl možnost si "pohrát" s integrovaným 3D MEMS akcelerometrem MMA7260 a v praxi si sním vyzkoušet některé úlohy detekce naklonění a nárazů. 3D senzor měří zrychlení v osách X, Y a Z a dovoluje pomocí dvou vstupů externě volit 1 ze 4 měřících rozsahu 1.5 až 6 g.
Nejen práce s senzory teploty, ale i s akcelerometry, může být zábava. V rámci vývojového kitu DEMO9S08LC60 firmy Freescale se mi dostal do ruky 3D akcelerometr stejné firmy s označením MMA7260Q. Ve spojení s mikrokontrolérem MC9S08LC60 a vývojovým PC softwarem CodeWarior je možném navrhnout a odzkoušet zajímavé aplikace nebo se jen s tímto druhem senzorů seznámit. Akcelerometry jsou obecně dnes technikům pohybující se v oblasti senzoriky dostatečně známé, ale pro ty, co ještě neměly tu čest, bych připomněl, že tyto senzory měření statického zrychlení (gravitační zrychlení země) nebo dynamického zrychlení (nárazy, vibrace, pohyb), lze použít k široké škále aplikací. Například lze jmenovat: akceleraci, detekci a měření pohybu, naklonění či natočení předmětu, monitorování nárazů (např. při přepravě), krokoměry, zabezpečovací zařízení. Pro bližší popis funkce a struktury 3D MEMS akcelerometrů odkazuji na článek "Jak pracují nové 3D MEMS akcelerometry Freescale ?". |
Vlastnosti a parametry MMA7260QT
Senzor MMA7260QT je levný kapacitní 3D MEMS akcelerometr s integrovaným zpracováním signálů, jednopólovým filtrem typu dolní propust, teplotní kompenzací a externí volbou měřícího rozsahu a citlivosti. Každý senzor má již z výroby nastavenou nulovou hladinu a zlomový kmitočet filtru a tedy nejsou zde vyžadovány žádné externí součástky. Nízkou spotřebu v běžném provozu podtrhuje nepatrná spotřeba ve sleep módu. Akcelerometr je tedy vhodný i pro bateriově napájená zařízení.
Základní vlastnosti:
- Měřící rozsah: 1.5 g / 2 g / 4 g / 6 g volitelný 2 vstupy g-Select
- Maximální citlivost: 800 mV/g v rozsahu 1.5g
- Nelinearita: +/- 1 % z rozsahu
- Křížová citlivost: 5 %
- Spotřeba: 500 μA, v sleep módu jen 3 μA
- Napájecí napětí: 2.2 V až 3.6 V
- Pracovní teplota: -40 až 105 °C
- Pouzdro: QFN 6 x 6 x 1.45 mm
Praktický test akcelerometru
V nedávné době se mi dostal prostřednictvím vývojového kitu DEMO9S08LC60 do ruky 3D akcelerometry Freescale MMA7260QT, který je na desce kitu připájen a připojen na MCU MC9S08LC60, který tak umožňuje pro akcelerometr naprogramovat téměř aplikaci.
Senzor na desce kitu je připojený tak, jak bude asi ve většině dnešních aplikací, tzn. jeho 3 analogové výstupy poskytující napěťový signál úměrný působícímu zrychlení v ose X, Y a Z jsou připojeny na 3 kanály A/D převodníku MCU. Vstupy g-Select, kterými se volí jeden z čtyř možných měřících rozsahů, jsou napojené přes ochranné rezistory a zenerky na zkratovací propojky, jejichž zasunutím se připojují buď na napájecí napětí (log. 1) nebo zem (log. 0). Tak lze mechanicky hrubě měnit detekční citlivost a tedy i funkci zařízení, aniž by bylo nutné měnit parametry programu v MCU.
Typické připojení akcelerometru MMA7260 k MCU
Nastavení rozsahu měřícího akcelerometru MMA7260 pomocí zasunutím jumperů na kitu DEMO9S08LC60
S kitem jsem nejdříve vyzkoušel aplikaci detekce natočení desky, kde postavení desky na určitou hranu nebo plochu je akcelerometrem a MCU detekováno, vyhodnoceno a následně indikováno vydáním tónu o rozdílné frekvenci, rozsvícením určité LED a na LCD displeji zobrazím směru natočení "TOP", "BOTTOM", "RIGHT", "LEFT", "UP", "DOWN". Vyhodnocení natočení se provádí programově prahováním z A/D převodníku digitalizovaných X, Y a Z napěťových signálů analogových výstupů senzoru. Pokud překročí úroveň napětí signálu nastavené kladné nebo záporné hranice vyhodnotí se natočení desky v některém ze výše uvedených směrů. |
Ukázka funkce akcelerometru MMA7260 (měření statického zrychlení) a programu v MCU MC9S08LC60 na desce kitu DEMO9S08LC60
Zatímco ve směrech označených jako "TOP", "UP" a "LEFT" jde o kladná zrychlení v osách Z, X a Y, a tedy hodnoty napětí větší než nulová hodnota 1.65 V, směry označené jako "BOTTOM", "DOWN", "RIGHT", odpovídají záporným statickým zrychlením a hodnotami napětí nižšími než 1.65 V. "Hraniční čísla" je však nutné vhodně nastavit, protože pokud je detekční hranice vůči nulové hodnotě zrychlení (napětí 1.65 V) vzdálená jen málo, dochází k indikaci již při neúplném kolmém natočení desky (nebo příp. malém otřesu), naopak při nastavení příliš vysoké spínací hranice nedojde vůbec k detekci natočení (statického zrychlení - viz napětí na výstupech při příslušném natočení na následujícím obrázku), ale pouze při dostatečném dynamickém zrychlení, např. ťuknutím příslušné hrany desky o stůl. Pro závislost výstupního napětí na naklonění akcelerometru, resp. desky, totiž platí následující vzorec:
Vout = (citlivost [V/g] * sin (úhlu náklonu) * 1 g) + 1.65 V.
Tak si lze například v programu vytvořit tabulku odpovídajících hodnot napětí a úhlů a vytvořit si takový jednoduchý digitální měřič náklonu ve všech třech osách. Stejného principu pak využívají i různé simulátory a herní ovladače např. pro PocketPC.
Pokud však chceme skutečně detekovat či měřit jen statické zrychlení (tzn. natočení akcelerometru vůči zemskému povrchu), je nutné na jednotlivé kanály aplikovat dolnofrekvenční propust, která odfiltruje všechny krátkodobé signály a impulsy způsobené vibracemi a nárazy, tedy dynamickým zrychlením. Pokud naopak požadujeme detekci pouze dynamického zrychlení místo statického, je nutné buď určit spínací hranice větší než na obrázku uvedené hodnoty napětí, pak však detekujeme jen velké nárazy, nebo lépe provést filtraci hornofrekvenční propustí. Ta odfiltruje stejnosměrné a nízkofrekvenční složky, které generuje statické zrychlení, a zanechá pouze vysoko frekvenční komponenty generované chvěním či prudkými nárazy. Pomocí filtrace tak lze detekovat a měřit i slabé vibrace a rázy bez vlivu statického natočení či naklonění senzoru. |
Závěr
Akcelerometry jsou zajímavé senzory nejen pro aplikace, ale když je možnost i na "hraní". Podle nastavení detekční hranice či naprogramované filtrace je možné detekovat různé složky zrychlení a tedy i určovat akci, na kterou bude kit reagovat. To, jestli bude detekovat i pomalá natočení a naklánění desky nebo až prudší otřesy, vibrace, pohyby či nárazy (klepnutí) desky kitu například o stůl, závisí na vývojáři / uživateli.
Pokud nechcete nic bastlit a přitom si vyzkoušet funkci akcelerometru MMA72560, MCU MC9S08LC60 a mnoho dalších součástek, lze použít zde zkoušený vývojový a demonstrační kit DEMO9S08LC60, který lze objednat v našem HW Shopu za cenu 2 999,- Kč bez DPH. Více informací o kitu pak dostanete v článku "TEST - hodně vybavený USB kit s MCU MC9S08LC6".
Antonín Vojáček
vojacek@ hwg.cz
DOWNLOAD & Odkazy
- Domovská stránka české pobočky firmy Freescale - www.freescale.cz
- Domovská stránka firmy Freescale - www.freescale.com
- Vývojový a demonstrační kit DEMO9S08LC60 si můžete objednat v našem HW Shopu za cenu 2 999,- Kč bez DPH.
- TEST - hodně vybavený USB kit s MCU MC9S08LC6 - článek na o kitu DEMO9S08LC60 na HW serveru
- Článek o prinicpů 3D MEMS akcelerometrů - "Jak pracují nové 3D MEMS akcelerometry Freescale ?"
- Další vývojové
kity Freescale v HW Shopu