Xprotolab – univerzální přístroj do krabičky od zápalek

Máte ve své elektronické výbavě dvoukanálový digitální osciloskop, logický analyzátor, dvojitý digitální voltmetr, měřič frekvence, sniffer, rozmítaný generátor tvarových kmitů a miniaturní napájecí zdroj? Že ne? Že jste některé z nich nikdy neměli ani v ruce a nevíte, co vlastně dělají?

Americká firma Gabotronics se pyšní tím, že nabízí nejmenší osciloskopy na světě. Není to tak úplně pravda, její přístroje neplní jen úlohu osciloskopu, ale také dalších užitečných přístrojů a pomůcek pro vývoj. Je pravda, že univerzální výrobek nemůže mít špičkové parametry, nicméně omezení jsou nastavena tak, aby většinu práce kolem běžně používaných mikrokontrolérů, čidel nebo logických obvodů zvládl. Přitom se nejmenší z řady osciloskopů, Xmega Xprotolab, vejde do krabičky od sirek a dá se pořídit už za 20$ jako kompletní stavebnice nebo za 49$ jako hotový oživený přístroj, za 150$ můžete mít i podobný přístroj v hodinkách. Jestli jde jen o kuriozitu nebo vynikající praktickou maličkost, to si musí každý rozhodnout sám. V ČR je autorizovaným distributorem obchod Snail Shop, v jehož nabídce najdete všechny hotové osciloskopy (moduly) Gabotronics, ale ne sady součástek na jejich sestavení.

Stavebnice a stavba

Zásilka dorazila přibližně za týden po objednání. Bylo to jakési malé sypké nic v antistatickém sáčku. Ten, kdo stavebnici kompletoval, tomu věnoval opravdu velkou péči. Všechny pásky s SMD součástkami převážně velikosti 0805 byly ručně popsané hodnotou, a to přesto, že třeba rezistory mají svůj popis přímo na sobě. Nic nechybělo, nic nepřebývalo, shoda s dokumentací dostupnou na internetu byla dokonalá.

IMGP7167b

Sáček se stavebnicí

IMGP7178b

Obsah sáčku

Osazení desky vyžaduje určité zkušenosti a rozhodně bych ji nedoporučil někomu jako první práci s SMD, i kdyby měl k dispozici dobré technické vybavení. Nejde o rezistory a kondenzátory, ty jdou osadit snadno, ani o integrované obvody, i když ty už vyžadují přesnější práci. Kritická místa jsou pájení krystalu, vývodů mikro USB konektoru a pružného přívodu k OLED displeji. Zejména na něm nesmí dojít k chybě a pokud se povede, že se pájka rozteče mezi plošky, bez horkovzdušné stanice a úzké trysky se už neobejdeme. I tak je odpájení dost nepříjemná a riziková práce.

Přístroj oproštěný od všeho zbytečného je na jedné desce s plošným spojem o rozměrech 41×25,7 mm. Na spodní straně desky jsou umístěny IO a většina diskrétních součástek, při okrajích ční pozlacené kontaktní kolíky, na nichž najdeme všechny vstupy, výstupy i napájení. Shora je na desku oboustranně lepicí páskou přichycen displej, pod ním najdeme čtveřici ovládacích tlačítek, vpravo šestikolíkový konektor pro upgrade programového vybavení a mikro USB konektor pro připojení k počítači. Zajímavá je především základní myšlenka. Když už jde navrhnout modul tak malý, tak proč jej neudělat s vývody na kontakty směrem dolů a pak neusadit do nepájivého kontaktního pole vedle zkoušeného obvodu? Taková kombinace vytvoří kompaktní celek, v podstatě soběstačný, poskytující většinu služeb potřebných pro pokusy s digitálními obvody, a nejen s nimi. Tímto způsobem se dá vytvořit elektronické pracoviště na ploše menší než A4! Podle mého názoru je to výborná myšlenka a kupodivu skutečně funguje.

IMGP7208b

Osazený Xprotolab před přilepením displeje

IMGP8138b

Hotovo, zapojení spolu s měřeným obvodem

Hotový přístroj a jeho klony

Xprotolab se ovládá jen čtyřmi tlačítky, z nichž pravé vždy potvrzuje výběr, význam zbylých tří se mění podle menu zobrazovaného na spodním okraji displeje. Ovládání samozřejmě není tak pohodlné a rychlé, jako u stolních přístrojů, ale dá se na něj zvyknout. Troufám si i tvrdit, že je logické a intuitivní. Asi nejvíc zdržuje to, že pokud chceme nastavit dva parametry věcně spolu související, třeba vertikální citlivost a posunutí stopy, musíme se opakovaně „proklikat“ nabídkou včetně volby kanálu. Samozřejmě, funkční parametry Xprotolabu jsou omezené tím, že prakticky všechno dělá mikroprocesor Atxmega32A4, nicméně tato omezení nepovažuji za tak závažná. Hlavní nevýhodu vidím v základní vlastnosti Xprotolabu, je už prostě příliš malý. Displej je sice perfektně ostrý, ale ke čtení naměřených číselných údajů popisujících průběhy i aktuální nastavení je už skoro potřeba lupa, a nejlépe hodinářská. Výrobce si je toho vědom a po úspěchu Xprotolabu uvedl na trh i verzi s identickými možnostmi, ale 2,5x větším displejem, která se jmenuje Xminilab. Podívejme se podrobněji na jednotlivé funkce a parametry.

minilab

Větší verze Xminilab (foto z internetových stránek výrobce)

hodinky

Verze v podobě náramkových hodinek (foto z internetových stránek výrobce)

Osciloskop

Oba analogové vstupy osciloskopu jsou stejnosměrné, pokud potřebujeme střídavé, musíme je oddělit vnějším kondenzátorem. Vstupní impedance je kolem 1 MΩ (kapacita není uvedena), použití sond s dělicím poměrem 1:10 nebo vyšším program v menu nepodporuje, ale je připraveno z hlediska ovládání z PC (1:1 až 1:1000). Vzorkuje se osmibitově s frekvencí až 2 MHz a udávaná šířka pásma vstupních zesilovačů je 200 kHz pro pokles 3 dB. Horizontální citlivost se dá nastavit od 5,12 V/d do 80 mV/d vždy v násobcích 2. Rastr dílků (8 horizontálně a 4 vertikálně) se ukazuje jen tečkami a může pracovat se zobrazením jen os nebo všech polí. Posunutí úrovně nuly je samozřejmostí. Když jsem zkoušel vlastnosti vertikálního zesilovače, první pozorovatelný útlum se objevil kolem 90 kHz a na 200 kHz ukazoval osciloskop přibližně poloviční amplitudu, než měl. V praxi bych tedy spíše počítal se šířkou pásma 100 kHz.

IMGP7986b

Základní funkce – dvě analogové stopy

Horizontální citlivost je 50 s/d až 8 μs/d v odstupňování 1-2-5, u krátkých časů po dvojnásobcích. Při 8 μs/d se automaticky vypne kanál 2 je zobrazován jen kanál 1. Synchronizace může být vnější samostatným digitálním vstupem nebo vnitřní s ručně nastavitelnou úrovní, která je na displeji znázorněna jako miniaturní křížek a ukazuje současně vodorovné posunutí zobrazené křivky. Synchronizovat se může způsobem „normal“ tedy jen pokud protne signál synchronizační úroveň, „auto“ funguje stejně, ale nechá stopu odbíhat, nenastane-li ve vymezené době synchronizace. „Single“ jednotlivě zachytí požadovaný průběh. Podobně jde určit k synchronizaci vzestupnou nebo sestupnou hranu či sklon křivky a zvolit zdroj synchronizace. Není-li zobrazeno menu, jde současným stiskem obou prostředních tlačítek nechat automatiku, aby sama podle signálu určila a nastavila jak vertikální citlivosti obou kanálů tak rozsah časové základny a synchronizaci. Ve většině případů automatika funguje výborně.

IMGP7993b

Jedna stopa s odměřovacími pravítky

IMGP7995b

Detail impulzu z předchozího obrázku

Z matematických funkcí jde pro obě stopy použít sčítání (při inverzi jedné ze stop vznikne odčítání), násobení a průměrování z více period průběhu, které omezuje šumy. Nechybí ani možnost přepnout na zobrazení spektra získaného rychlou Fourierovou transformací v reálném čase, dá se použít jak lineární tak logaritmické měřítko napětí a zobrazení Hamming, Hann nebo Cosine. Rozsah frekvencí je odvozen z nastavení časové základny respektive vzorkovací frekvence.

IMGP8006b

Frekvenční analýza přes FFT

Na displeji je možné zobrazit kromě průběhů a rastru také dvě svislá a dvě vodorovná odměřovací pravítka a číselný výpis aktuálních vertikálních citlivostí a nastavení časové základny. Všechno funguje, jen je nutné si připomínat, že všeho moc škodí, a mnoho výpisů na miniaturní ploše způsobuje nepřehlednost a také i zhoršuje čitelnost údajů při protnutí křivkami. Zkrátka všeho s mírou. Celý obraz je možné obrátit „vzhůru nohama“ a invertovat do černých křivek na bílém pozadí. Výhodná je i možnost vypnout zobrazení křivek (spojování vzorkovaných bodů úsečkami) a přejít na samostatné body, případě nastavit nekonečný „dosvit“, k tomu se vrátím později. Jeden průběh můžeme uložit jako referenční a zobrazovat jej „pod“ měřeným signálem. Obecně vzato je to jistě užitečné, ale v případě Xprotolabu používaného s jeho vlastním černobílým displejem je to už trochu moc. Jednotlivé stopy totiž nemohou být nijak odlišeny jasem nebo barvou a tak se křivky hodně pletou. Nic ale uživatele nenutí, aby tuto možnost využíval, a na obrazovce PC s odlišením barvami je rozhodně praktická.

IMGP8159b

Takhle to vypadá, když to uživatel s množstvím zobrazených údajů nesmyslně přežene

V režimu XY se osciloskop vždy přepíná do zobrazení jednotlivých bodů a dá trochu práce, aby například Lissayousovy obrazce byly opravdu ohraničeny čtvercem a dobře čitelné, nicméně i toto Xprotolab dokáže.

IMGP8030b

Režim X-Y a bodové zobrazení

Logický analyzátor

Kromě dvou analogových stop jde zobrazit osm digitálních, a to i současně. Digitální vstupy jsou v úrovních 3,3 V. Pokud se spokojíme s menším zpomalením reakce (do 200 kHz), jde je přes oddělovací rezistory 3k připojit i na logické úrovně 5,0 V, přímé spojení je ale zakázáno. Odstupy jednotlivých digitálních stop nejde nastavit co do polohy, jde je ale jednotlivě vypnout a skupinu aktivních posunout nahoru nebo dolů, takže i když je displej velmi malý, dají se vytvořit různé kombinace analogových a digitálních stop podle potřeby. Synchronizaci můžeme odvodit mimo jiné od libovolné digitální stopy. Buffer obsahuje 256 navzorkovaných dat.

IMGP7977b

Osm digitálních stop samostatně

IMGP7980b

Kombinace 4 digitálních a jedné analogové stopy

Sniffer

Kromě možnosti zobrazení průběhů umí Xprotolab dekódovat a zobrazit i standardní protokoly I²C, UART a SPI s různým nastavením parametrů přenosu. Hodnoty se vypisují buď přímo vedle časového záznamu nebo samostatně do 16 tabulek, mezi nimiž je možné listovat. Například pro UART můžeme volit přenosovou rychlost 1200 – 115200 bps, paritu lichou, sudou nebo žádnou a 1 nebo 2 stopbity. Můžeme i dekódovat paralelní signál a nechat vypisovat pod průběhy jejich číselnou reprezentaci, pokud ale chceme mít zobrazeno všech osm stop, na výpis už není na displeji místo.

IMGP8164b

Záznam a zobrazení oboustranné sériové komunikace, Xprotolab umí i SPI a I²C

Dvojitý voltmetr

V režimu měření napětí se v pravém horním rohu displeje ukazuje údaj časové základny 10 ms/d, což zřejmě vypovídá o vzorkovacím kmitočtu, který je v tomto režimu použit. Číselné údaje jsou vypisovány na tři (případně dvě) desetinná místa větším písmem a jsou dobře čitelné. Můžeme nechat vyhodnotit průměrné (stejnosměrné) napětí nebo mezivrcholové napětí signálu. Modul neměří efektivní hodnotu, ale jinak je velmi dobře použitelný i jako nf voltmetr.

IMGP7970b

Dvojitý voltmetr s malým zobrazením průběhu napětí

Pod zobrazením hodnot se ukazuje miniaturizovaný průběh signálu, na němž se dá v hrubých obrysech poznat, jaký charakter má signál, který právě měříme. Při plynulé změně amplitudy signálu je vidět, jak zobrazení „přeřazuje“ rozsahy. Když jsem zkoušel přesnost měření, v rozsahu +/- 15 V se údaj nelišil od 4 místného DVM o více než 0,2 V, což je myslím na podobného „drobka“ docela slušný výsledek.

Měřič frekvence

Dvojitý měřič frekvence využívá stejně jako voltmetr vstupy osciloskopu a jejich možnosti. Na velmi nízké kmitočty nereaguje, mezi 10 a 50 Hz je měření ještě dost nepřesné, ale od 50 Hz do 400 kHz funguje výborně, při vyšších kmitočtech začíná ukazovat nesmyslné hodnoty. Vzhledem k tomu, že hodiny procesoru jsou řízeny krystalem 16 MHz, je přesnost a stabilita měření kmitočtu velmi dobrá a zobrazovaná čtyři platná místa odpovídají. Amplituda signálu na vstupu stačí asi 35 mV (ef), což odpovídá mezivrcholovému napětí kolem 80 mV, tedy jeden dílek nejcitlivějšího rozsahu osciloskopu.

IMGP7966b

Dvojitý měřič frekvence s malým zobrazením průběhu

Generátor signálu

Generátor tvarových kmitů využívá DA převodník procesoru a je oddělen respektive zesílen OZ TL064, analogový stupeň má šířku pásma 44 kHz. Výstup pracuje s využitím DMA a přenáší osmibitové vzorky s frekvencí až 1 MHz, takže z hlediska uživatele běží prakticky souběžně a nezávisle na jiné činnosti přístroje, zkrátka na pozadí. Vybrat si můžeme ze tří základních a obvyklých průběhů signálu: sinu, trojúhelníku a obdélníku. Kromě toho je k dispozici ještě čtvrtý, uživatelský průběh, který je v základní verzi exponenciální, ale při propojení s PC se může tento průběh libovolně definovat vyměnit podle přání uživatele. Vzorky vln jsou uloženy v bufferu dlouhém 256 bytů.

IMGP8010b

Výstup troujúhelníku

Kromě typu křivky můžeme samozřejmě nastavit amplitudu a to prakticky od nuly (31 mV) do 4 V. Frekvence se volí buď rychle ve skocích mezi hodnotami 10 kHz, 1 kHz, 100 Hz, 29 Hz a 4,2 Hz nebo jemně v drobných krocích. Zapneme-li rozmítání, odvozuje si meze kmitočtů přístroj sám podle frekvence vzorkování. Střídu lze rychle přepnout mezi hodnotami 0, 50 a 100 %, případně jemně nastavit přibližně po 0,3%, stejně tak stejnosměrný offset se vybírá z hodnot -1, -0,5, 0, 0,5 a 1 V nebo jemně dostavuje pomocí dvou tlačítek.

Při nízkých kmitočtech je tvar vlny zjevně stupňovitý, ale to je nectnost většiny jednoduchých generátorů s digitální syntézou. Průběhy jinak vypadají velmi dobře zhruba do 10 kHz, výš už sice prakticky mizí stupňovitost, ale také se výrazněji projevuje omezení frekvence na hranách a mírně klesá i amplituda.

Příkladem toho, co se s dá s možnostmi Xprotolabu dělat, je zobrazení rezonance paralelního LC obvodu. Na obvodu napájeném přes sériový rezistor z výstupu vlastního generátoru se měří špičkové napětí osciloskopem přepnutým do pomalého běhu, který odpovídá rychlosti rozmítání generátoru. Nastavením nekonečného dosvitu se pomalu vykreslí křivka napětí dobře zachycující rezonanci. Odměřovacími pravítky pak jde odečíst rezonanční kmitočet nebo interval, v němž se nachází pro určitý vzestup amplitudy signálu, a z toho pak určit jakost obvodu.

IMGP8044b

Měření rezonance LC obvodu

Zdroj

Xprotolab se může napájet dvěma základními způsoby, buď připojením k PC napětím 5,0 V z USB konektoru, nebo z vnějšího zdroje 5 V, jeho vlastní spotřeba se pohybuje kolem 60 mA. Vnitřně modul používá i napětí -5V generované měničem TPS60403, toto napětí je vyvedeno na konektor a může se použít k napájení vnějších obvodů, dostupný odběr je asi do 50 mA. Vlastní procesor Xprotolabu se napájí napětím 3,3 V ze stabilizátoru AP7333-33 a také toto napětí je vyvedené a použitelné, snese odběr až 200 mA, ale to je opravdu maximum. Modul je celkově lépe přizpůsobený pro pokusy s třívoltovou logikou, kterou může jednoduše napájet a současně i zobrazovat logické stavy, nicméně na se starší 5 V logikou pracuje také.

Spojení s PC

Propojení s PC je zjevnou slabinou a nedodělkem té (dnes již starší) verze Xprotolabu, kterou jsem zkoušel. Předchozí verze se připojovaly k COM portu počítače, verze 1.7 dostala sice už mikro USB konektor, ale její programové vybavení zatím přímo s USB nespolupracovalo, takže bylo nutné použít převodník USB/COM, který navíc pracuje s logickými úrovněmi 3,3 V. Současné verze již komunikují s PC přímo přes USB a dodává se i „vylehčená“ verze bez displeje, která spolupracuje pouze s PC.

program

Program v PC nabízí větší plochu zobrazení, zde současně 8 digitálních stop, dvě analogové, pod nimi zobrazení frekvenčního spektra

Obslužný program do PC dovoluje podstatně rychlejší a přehlednější ovládání, než čtyři tlačítka na modulu, promění Xprotolab v plnohodnotný digitální osciloskop ve zvukové oblasti frekvencí. Jak prostředí vypadá je snad znát z přiloženého snímku. Kromě toho, co umí samotný modul se svým displejem, dovoluje vyměnit uživatelský průběh křivky generátoru a může i přenést obsah OLED displeje jako obrázek do PC. V návodu jsou popsány jak řídící povely tak reakce na ně, povely mají charakter znaků ASCII, zpět chodí bloky binárních dat. Tato otevřenost dovoluje dodělat si komunikaci s Xprotolabem i pro jiné počítače a zařízení.

IMGP8125b

Opravdu se vejde do malé krabičky od zápalek

Závěr

I když Xprotolab má proti stolním přístrojům řádově menší rozsah i přesnost a ani ovládáním se jim nemůže rovnat, má své výhody. Ve dvou ohledech se jemu totiž naopak nemůže vyrovnat žádný stolní přístroj. Jako součást zkušební desky je stále pohodlně v zorném poli, není potřeba zdvihat pohled, přeostřovat nebo dokonce měnit brýle. Musím si přiznat, že s postupujícím věkem začalo být tohle docela důležité. Omezení signálů v podstatě na zvukové kmitočty je těžko možné mít přístroji za zlé, každý přístroj má své omezení, a za 20$ (cena verze bez displeje i cena sady součástek verze s displejem) jsou tyto možnosti doslova fantastické. Pokud pracujeme s digitálními signály, je rozsah frekvencí podstatně vyšší. Druhou výhodou je absolutní mobilita, Xprotolab je kdykoli k dispozici, napájet se většinou dá z téhož zdroje, jako logické obvody. V každém případě si myslím zaslouží uznání, kolik funkcí a možností dokázali tvůrci Xprotolabu doslova vecpat do tak titěrného výrobku. Kdo by ale pořizoval přístroj především kvůli praktickému používání a nezáleželo mu na miniaturních rozměrech, pro toho asi bude vhodnější opatřit si o něco větší, ale jinak funkčně stejný Xminilab.

Napájecí napětí 5 V
Zobrazení 24,4 mm , 128×64 bodů
Rozměry (půdorys) modulu 41×25,7 mm
Osciloskop:
            Vstupní napětí (oba kanály) -14 až +20 V
            Vzorkování max. 2 MSPS / 8 bit
            Vstupní impedance 1 MΩ
            Šířka pásma 200 kHz
Logický analyzátor
            Vzorkování max. 2 MSPS / 8 kanálů
            Vstupní úrovně 0 až 3,3 V
            Zobrazení protokolů (sniffer) UART, I2C, SPI
Generátor signálu (jeden kanál)
            Průběhy Sin, obdélník, trojúhelník
            Frekvence převodu max. 1 MSPS / 8 bit
            Frekvence signálu max 44,1 kHz
            Výstupní napětí +/- 2 V