Zjednodušte detekci pohybu pomocí desky ATtiny1627 Curiosity Nano
Contributed By DigiKey's North American Editors
2022-02-23
Potřeba snímání pohybu v mnoha průmyslových, komerčních, domácích a vestavěných aplikacích stále roste. Problém je v tom, že snímání pohybu může vyžadovat drahé digitální senzory, se kterými je obtížná komunikace. Jakmile dojde k příjmu dat, je navíc stále třeba vyvinout algoritmy pro detekci pohybu, což není triviální úsilí.
Snímat pohyb dokáže několik řešení, ale nejoblíbenější jsou infračervená (IR) řešení. Vývojáři si mohou vybrat aktivní řešení, které je běžné u mnoha samostatných digitálních senzorů, ale je dražší a složitější na implementaci. Alternativou je využití pasivních infračervených senzorů (PIR), které jsou méně nákladné a jejich propojování je přímočařejší. PIR senzor poskytuje analogové rozhraní, ke kterému se může připojit většina mikrokontrolérů.
V tomto článku se pojednává o základech snímání pohybu a poté je zde ukázáno, jak mohou vývojáři začít se snímáním pohybu pomocí PIR senzoru připojeného k vyhodnocovací desce DM080104 ATtiny 1627 Curiosity Nano společnosti Microchip. Poté je zde ukázána alternativa vývoje komplexního algoritmu pro snímání pohybu, která využívá techniky strojového učení (ML). Součástí článku jsou i tipy a triky, jak začít.
Základy snímání pohybu
Existuje mnoho technologií snímání, které dokážou detekovat pohyb, ale nejrozšířenější z nich je IR. IR senzory jsou aktivní nebo pasivní. Aktivní senzory obsahují IR LED vysílač a přijímač s fotodiodou. Aktivní senzory snímají IR záření odražené od objektů a poté využívají přijaté záření k detekci, zda se subjekt nebo objekt přemístil. V závislosti na aplikaci může aktivní senzor obsahovat několik fotodiod pro sledování směru pohybu. Například detekcí toho, které IR signály se zpožďují nebo které jsou napřed, lze čtyři fotodiody použít ke snímání směrového pohybu, jako je doleva, doprava, vpřed, vzad, nahoru a dolů.
Pasivní infračervené senzory nedokážou infračervené záření vysílat, pouze jej přijímají. PIR senzor používá IR záření vysílané subjektem/objektem zájmu k detekci jeho přítomnosti a jakéhokoli pohybu s ním spojeného. Například domácí zabezpečovací systém bude mít často pohybové senzory, které detekují IR záření vyzařované člověkem nebo zvířetem a určují, zda se objekt pohybuje v jejich zorném poli. Na obrázku 1 je ukázáno, co může analogový PIR senzor detekovat za různých podmínek, jako je žádné IR záření, přítomnost IR záření, stabilní a mizející (přerušené) záření.
Obrázek 1: PIR senzory využívají IR záření vyzařované subjekty nebo objekty k detekci jejich přítomnosti a pohybu. Zobrazeny jsou různé stupně detekce: žádné IR záření, přítomnost IR záření, stabilní a mizející (přerušené) záření. (Zdroj obrázku: společnost Microchip Technology)
Při výběru správného typu IR senzoru pro danou aplikaci musí vývojáři pečlivě zvážit kompromisy ve vztahu k následujícím parametrům:
- Cena senzoru
- Balení
- Rozhraní mikrokontroléru
- Algoritmus detekce a výpočetní výkon
- Dosah senzoru a spotřeba energie
Podívejme se na příklad systému PIR detekce pohybu, který používá mikrokontrolér ATtiny1627.
Úvod k desce ATtiny1627 Curiosity Nano
Zajímavým řešením mikrokontroléru (MCU) pro snímání pohybu je zařízení ATtiny1627 od společnosti Microchip Technology. Tento 8bitový MCU má vestavěný 12bitový analogově-digitální převodník (ADC), který lze převzorkovat na 17 bitů. Obsahuje také programovatelný zesilovač zesílení („Programmable Gain Amplifier“, PGA), který dokáže nastavit citlivost. Kombinace těchto dvou funkcí může poskytnout levný systém detekce pohybu vhodný pro mnoho aplikací.
Nejlepším nízkonákladovým řešením pro začátek je použití vývojové desky DM080104 ATtiny1627 Curiosity Nano (obrázek 2). Vývojová deska obsahuje MCU AVR, který běží až na 20 MHz s 16 kB flash paměti, 2 kB paměti SRAM a 256 B paměti EEPROM. Deska obsahuje programátor, LED diodu a uživatelský spínač. Snad nejzajímavější je, že deska je navržena tak, aby se dala snadno připojit pomocí patic pro rychlé prototypování, nebo ji lze přímo připájet na prototypovou nebo produkční desku.
Obrázek 2: Deska ATtiny1627 Curiosity Nano má vestavěný 8bitový programovatelný MCU AVR běžící rychlostí až 20 MHz s 16kB flash paměti, 2 kB paměti SRAM a 256 B paměti EEPROM. Vývojovou desku lze snadno připájet na větší základní desku nebo ji s ní propojit pro usnadnění prototypování a produkčních systémů. (Zdroj obrázku: společnost Microchip)
Deska je dodávána s několika dalšími funkcemi, které mohou být pro vývojáře užitečné. Za prvé, má dva kanály logického analyzátoru, DGI a GPIO. Tyto kanály lze použít k ladění a správě mikrokontroléru. Za druhé, vývojáři mohou využít integrovaný virtuální port COM (CDC) pro ladění nebo protokolování zpráv. V neposlední řadě lze k zápisu a nasazení softwaru použít několik nástrojů. Vývojáři mohou například použít Microchip Studio 7.0, kompilátor GCC, popř. MPLAB X, který používá buď kompilátor GCC, nebo XC8.
Existuje také přibližně dvanáct úložišť kódů, které společnost Microchip podporuje různými příklady pro mikrokontrolér ATtiny1627. Tato úložiště kódů obsahují příklady od PIR detekce pohybu, měření teploty po analogovou konverzi a mnoho dalšího.
Sestavení zkušební stolice detekce pohybu
Uvedení zkušební stolice detekce pohybu do provozu je jednoduché a není příliš nákladné. Komponenty potřebné k sestavení zkušební stolice zahrnují následující:
- Deska DM080104 ATtiny1627 Curiosity Nano
- AC164162T Curiosity Nano Adapter
- PIR senzor MIKROE-3339 od společnosti MikroElektronika
Na desku ATtiny1627 Curiosity Nano jsme se již podívali. Curiosity Nano Adapter představuje nosnou desku pro zařízení ATtiny1627 Curiosity Nano, kterou lze použít pro rychlé prototypování (obrázek 3). Kromě toho poskytuje tři rozšiřující sloty pro rozšiřující desky click boards MIKROE spolu s přístupnými paticemi pro celou škálu signálů nebo přidání vlastního hardwaru.
Obrázek 3: Curiosity Nano Adapter má tři rozšiřující sloty pro rozšiřující desky click boards MIKROE spolu s paticemi pro přístup k signálům a přidání vlastního hardwaru. (Zdroj obrázku: společnost Microchip)
Nakonec poskytuje PIR senzor MIKROE-3339, uvedený na obrázku 4, pasivní IR senzor PL-N823-01 společnosti KEMET v jednoduché, rozšiřitelné podobě, kterou lze připojit přímo k zařízení Curiosity Nano Adapter. Je důležité poznamenat, že senzor MIKROE-3339 vyžaduje při použití s příklady zařízení společnosti Microchip pro detekci pohybu určité úpravy. Tyto úpravy lze nalézt na straně 10 aplikační poznámky AN3641 společnosti Microchip „Cenově efektivní PIR detekce pohybu s nízkou spotřebou pomocí řady tinyAVR® 2“.
Obrázek 4: Rozšiřující deska click board MIKROE-3339 poskytuje PIR senzor PL-N823-01 společnosti KEMET ve snadno prototypovatelné formě. (Zdroj obrázku: společnost MikroElektronika)
Software pro PIR detekci pohybu
Existuje několik možností, které mohou vývojáři použít k vytvoření svých softwarových řešení pro detekci pohybu. Prvním řešením je použití vzorových materiálů poskytnutých společností Microchip v aplikační poznámce AN3641. Úložiště kódu pro ukázkový software detekce pohybu lze nalézt na webu GitHub.
Aplikace probíhá v několika fázích. Nejprve aplikace inicializuje a zahřeje PIR senzor. Za druhé, k pravidelnému vzorkování PIR senzoru se použije obslužná rutina přerušení ADC. Za třetí, data ADC se zprůměrují. Nakonec se k signalizaci, zda byl detekován pohyb, použije algoritmus detekce. Pokud je detekována aktivita, bude blikat LED dioda na desce a přes sériový port se odešle signál detekce. Kompletní průběh programu je vidět na obrázku 5.
Obrázek 5: Graf představuje tok softwaru pro aplikaci detekce pohybu společnosti Microchip. (Zdroj obrázku: společnost Microchip)
Druhou možností pro detekci pohybu je využít inicializaci a rutinu přerušení ADC z příkladů společnosti Microchip, ale místo použití jejího algoritmu detekce využijte strojové učení. PIR data lze shromáždit a následně použít k trénování neuronové sítě. Model ML lze poté pomocí matematiky s pevnou řádovou čárkou s 8bitovými váhami převést ke spuštění na mikrokontroléru s TensorFlow Lite pro mikrokontroléry.
Na používání ML tímto způsobem je zajímavé, že vývojářům odpadá nutnost navrhovat algoritmus pro své specifické potřeby. Místo toho mohou pouze vzorkovat senzor za očekávaných podmínek a případů použití, které pro svou aplikaci potřebují. ML také umožňuje vývojářům rychle škálovat a upravovat své modely, jakmile jsou k dispozici nová data.
Tipy a triky pro snímání pohybu pomocí mikrokontroléru ATtiny1627
Vývojáři, kteří chtějí s detekcí pohybu začít, mají k dispozici mnoho možností. Mezi „tipy a triky“, které by vývojáři měli mít na paměti ke zjednodušení a urychlení vývoje, patří:
- Vybudujte si nízkonákladovou platformu pro prototypování pomocí běžně dostupných dílů.
- Využijte příklad detekce pohybu od společnosti Microchip, který najdete na webu GitHub.
- Navrhněte prototypový hardware s velikostí desky ATtiny1627 Curiosity Nano a desku připájejte přímo k hardwaru, abyste počáteční prototypy zjednodušili.
- Pro menší, efektivnější a optimalizovaný kód použijte kompilátor XC8 společnosti Microchip.
- Před spuštěním aplikace detekce pohybu si přečtěte aplikační poznámku AN3641 společnosti Microchip „Cenově efektivní PIR detekce pohybu s nízkou spotřebou pomocí řady tinyAVR® 2.
- Silně zvažte použití ML pro algoritmus detekce pohybu.
Vývojáři, kteří se budou těchto „tipů a triků“ držet, zjistí, že při prototypování své aplikace ušetří poměrně dost času a nervů.
Závěr
Detekce pohybu se stává běžnou funkcí v mnoha aplikacích, zejména tam, kde je výhodné bezdotykové ovládání. Vývojáři mohou minimalizovat své náklady na kusovníky a zjednodušit své návrhy využitím PIR senzoru a levného mikrokontroléru. Jak je zde ukázáno, je mikrokontrolér ATtiny1627 vynikajícím výchozím bodem a společnost Microchip poskytuje širokou škálu nástrojů a aplikačních poznámek, které vývojářům pomohou začít. Navíc lze k minimalizaci složitosti vývoje algoritmu pro detekci pohybu použít ML.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




