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.
Závislost napětí X, Y a Z výstupu na natočení chipu, kterého se využívá
ve výše uvedené aplikaci.
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