Ard-eLabViewer je řešení jednoduchého přístroje typu osciloskop. (Popis též v článku v PE 4/2023)
Mimo to obsahuje též funkce přístrojů typu - voltmetr, záznamník dějů, logický analyzátor a čítač- vše realizované pouze modulem Arduino. Přístroj je vhodný pro počáteční experimenty v elektronice. Nepotřebuje žádné doplňky, postačuje jen nahrát firmware a spustit PC aplikaci. Je určen jako levný doplňkový přístroj pro experimenty na středních i základních školách; své užití nalezne také mezi amatéry a uživateli Arduino.
Při jeho tvorbě na přelomu r. 2021/22 jsme vycházeli z několikaletých zkušeností a poznatků z použití přístroje LEO a dalších SDI nejen v kontaktní, ale i v distanční praktické výuce- např. předmětu B3B38LPE na katedře měření, ČVUT - FEL V Praze.
Na tyto stránky budou též postupně doplňovány příklady úloh z fyziky a elektroniky, které budou koncipovány tak, aby je bylo možno řešit bez potřeby dalších měřicích přístrojů, pouze pomocí Ard-eLabViewer, nepájivého kontaktního pole a několika součástek.
Obr. 1 Hlavní okno zobrazovače Zero eLab Viewer s připojeným modulem Arduino
Obr. 2 Voltmetr v režimu data loger
Na obr. 2 je záznam z voltmetru se vzorkováním 100 S/s v režimu data logger (jako pomaloběžný osciloskop), kde se signál při zobrazování stále posouvá doleva- běžící časová základna. Tento režim je využitelný pro zobrazení průběhu signálu z různých bio- senzorů (senzor tepu,..). Na obrazovce je normálně viditelný záznam o délce 5 sekund, větší délku záznamu lze pozorovat při "odzoomování". Je zachycen obdélníkový signál f = 1 Hz, na vstupu a výstupu integračního článku RC (2k, 22 uF).
Obr. 3 Osciloskop při vzorkování 20 kS/s
Na obr.3 je záznam obdélníkového signálu o f = 500 Hz na vstupu a výstupu integračního článku RC ( 2 k, 100 nF) při vzorkování rychlostí 20 kS/s v každém kanálu.
Parametry přístroje
Voltmetr
Až 3 - kanály na vstupech A0, A1, A2, rozsah 0 až + 5 V, rozlišení dat na 10 bitů, tedy 5 mV, vzorkování 100 S/s, možnost průměrování z 1 až 256 vzorků, zobrazení hodnoty.
PWM výstup na pinu 9
Záznamník (data Logger)
Až 3 - kanály na vstupech A0, A1, A2, rozsah 0 až + 5 V, rozlišení dat na 10 bitů, tedy 5 mV, rychlost vzorkování 100 S/s, možnost průměrování (pro jeden zobrazovaný bod) z 1 až 256 vzorků.
PWM výstup na pinu 9
Osciloskop
Až 2- kanály na vstupech A0, A1, rozsah 0 až + 5 V, rozlišení dat na 8 bitů, tedy 20 mV, vzorkování 1 kanálový režim od 1 S/s až 80 kS/s, délka záznamu 768 vzorků. Dvoukanálový režim od 1 S/s do 50 kS/s (na kanál), délka záznamu 2x 384 vzorků. Spouštění - trigger- pouze podle signálu v kanálu 1 (A0). Je možný pouze režim post- trigger- tedy okamžik spuštění záznamu. Není možný záznam signálu před okamžikem spuštění. Nastavení spouštěcí úrovně je pouze v rozmezí od 0 V do 3,3 V. Volba spouštěcí hrany - náběžná, spádová. Při volbě obou hran spouští na náběžnou i spádovu hranu ( to se obvykle nevyužívá).
PWM výstup na pinu č. 9. Frekvence f = od 0,5 Hz do 4 MHz (pro střídu 1:1). Osciloskop i logický analyzátor i mají pouze funkce "post triggrer" (záznam jen od okamžiku trigger-u.)
Impulsní generátor PWM (pro funkce voltmetr, záznamník, osciloskop, logický analyzátor) s výstupem na pinu 9.
Nastavení frekvence od 0,5 Hz do 4 MHz (pro střídu 1:1).Pro střídu 1:1 pro frekvence do 1 kHz, nastavení s krokem 1 Hz, pro frekvence do 10 kHz s krokem až 10 až 20 Hz, pro frekvence vyšší než 10 kHz nastavení s krokem 1 kHz a větším. Nastavení střídy 0% až 100 % až po 0,1 %. Maximální možná hodnota nastavitelné frekvence signálu závisí na zvolené střídě. Při střídě 1:1 ( 50 %) je největší rozsah nastitelných frekvenci. Pro jiné hodnoty střídy je max. nastavitelná frekvence menší.
Logický analyzátor
Sledování logických signálů na digitálních vstupech ~2 až ~8. Spouštění - trigger - podle signálu na vstupu ~2, Volba hrany pro spuštění záznamu (jen posttrigger) - náběžná, spádová, obě- tedy spádová nebo náběžná, která přijde dříve. Autotrigger - okamžité spuštění. Single - jednorázový záznam. Vzorkovací rychlost až 100 kS/s. Délka záznamu - až 768 vzorků.
PWM -výstup na pinu č. 9. Frekvence f = od 1 Hz do 4 MHz (pro střídu 1:1).
Čítač
Reciproční čítač, který měří dobu periody signálu a frekvenci recipročním způsobem. Měří se periodu signálu a z toho se jako převrácená hodnota určuje frekvence.
Vstup čítače - digitální pin ~8, + testovací impulsní generátor výstup PWM - výstup - dig. pin. 3. Pracuje s využitím HW prostředků - čítače jeho jednotky input capture, která určuje časové okamžiky příchodu náběžné hrany signálu. Maximální měřená frekvence je cca 120 kHz. Při měření větší frekevence se program " zasekne" ( nestačí se přenést hodnota z registru input capture) a je nutno program restartovat. (Tento rys by bylo možno odstranit, avšak za cenu dalších instrukcí, které by ještě zpomalily program a následně i snížily maximální hodnotu měřené frekvence.) Rozlišení určení délky periody je s krokem 62,5 nanosekundy, což je dáno interním oscilátorem 16 MHz.
Ard-eLabViewer varianta 2023_1_31 obsahuje všechny funkce (voltmetr, PWM generátor, čítač, osciloskop, logický analyzátor) , jako jsou ve verzi 2, avšak je zvýšená vzorkovací frekvence osciloskopu až na 1x 80 kS/s, 2x 50kS/s. Také je zvýšená vzorkovací frekvence logického analyzátoru až na 100 kS/s . Je upraveno (zlepšeno) časování odběrů vzorků osciloskopu i logického analyzátoru, takže lze lépe používat i vzorkování v ekvivalentním čase ETS (Equivalent Time Sampling)" stroboskopické vzorkování") ekvivalentní rychlostí až jednotek MS/s.
Koncepce řešení přístroje v laboratoři byla na základě několikaletých zkušeností s vývojem SDI, především s ohledem na možnost využití ve výuce.
Voltmetr - 3 kanály na vstupech A0, A1, A2
Impulsní generátor PWM s výstupem na pinu 9 (pro funkce voltmetr, osciloskop, logický analyzátor)
Osciloskop - až 2- kanály na vstupech A0, A1 - trigger podle A1
Logický analyzátor - na vstupech ~2 až ~8. Spouštění - trigger - podle signálu na vstupu ~2,
Čítač vstup - digitální pin ~8, impulsní generátor PWM - výstup - dig. pin. ~3.
Firmware pro Arduino verze 2023_1__21 zde
PC aplikace Zeroelab Viewer 0.601 RC2, aktuální verze, funguje i pro Win XP i Win 64 (aktuální doporučená verze)
Upraven rozsah pro Ch2 Arduino, doplněno 12.5.2023;
Pozn.: 32- bitové aplikace lze provozovat i pod Win10 a Win11
PC aplikace Zeroelab Viewer 0.5 zde 32- bitová aplikace Win
PC aplikace Zeroelab Viewer 0.6 zde, 64 -bitová aplikace Win (doplněno 3/2023)
PC aplikace Zeroelab Viewer 0.6 zde, starší verze
PC aplikace Zeroelab Viewer 0.601 RC1, aktuální verze, funguje pro Win 64
Zero Elab Viever pro Linux zde aktuální verze z 21.6.2023 (upravená verze 0.6), optimalizováno pro Arduino, rozsahy,..
"Nezávislá binárka s přidanými knihovnami (nezávislá na linuxové distribuci). Pro spuštění aplikace pod Linuxem by mělo stačit pouze spustit soubor AppRun (obsažený v archivu), typicky (.\AppRun)
starší verze
Zero Elab Viever V0.5 pro Linux zde , poznámky ke spuštění zde, Poznámka - upřesnění k Linux
Zero Elab Viever V0.6 pro Linux zde pouze 64 -bitová aplikace, poznámky autora k instalaci zde
Stránky autora na Github zde
Tento firmware - pro Arduino byl realizován jako poslední z řady přístrojů typu SDI až v r. 2022 v takové formě, aby bylo možno využít PC -aplikace Zero eLab Viewer, která je primárně určena pro realizaci osciloskopů s 32- bitovými mikropřadiči STM32F042, STM32L072 a STM32F103 s jádrem ARM Cortex M0, resp Cortex M3. Pro zájemce je k dispozici firmware na příslušných stránkách, který funguje se stejnou PC - aplikací.
Modul Arduino není příliš vhodný pro realizaci přístrojů SDI, protože použitý mikrořadič ATMega 328 obsahuje pouze omezený rozsah periferií, paměti RAM a čítačů. Neobsahuje řadič DMA, který je velmi důležitý pro záznam dat z DAC. Interní převodník ADC má rozlišení pouze 10 bitů a vzorkovací rychlost je omezena na několik desítek tisíc vzorků za sekundu. Osmibitové procesorové jádro ATMega ta má také menší výkon, než 32- bitové procesory s jádrem ARM.
Nicméně i tato méně výkonná verze osciloskopu s omezenými parametry s modulem Arduino může být užitečná při seznamování s elektronikou. Máme již připraveny různé (i relativně pokročilé) úlohy z elektroniky a fyziky, kde Ard-elabViever svým výkonem postačí.
Pokud uživatele funkce přístroje zaujmou a seznámí se s ovládáním PC aplikace, není problém přejít na vezi pro vyšší procesor s jádrem ARM Cortex Mx, např. STM32F042 - zde , nebo STM32F103- v modulu Blue Pill nebo BlackPill- zde.
Firmware pro Arduino vznikl v rámci bakalářské páce (1/2022) pana Bc. Stanislava Nováka řešené v laboratoři videometrie na katedře měření ČVUT - FEL v Praze.
PC aplikace vznikla jako součást diplomová práce pana Ing. Adama Berlingera, řešené též v laboratoři videometrie, kat. měření ČVUT - FEL v Praze v r. 2016 .
Tato PC aplikace, která se zde používá zcela beze změny s modulem Arduino, byla určena pouze pro procesory STM32 s napájením a rozsahem měřených napětí +3,3 V, tedy při jejím použití s Arduino se někdy projevují omezení (grafická velikosti pole zobrazeného napětí,....).
Zvýšení vzorkovací frekvence osciloskopu metodou ETS
Při některých experimentech, kde se vyhodnocuje reakce obvodu na budicí impulsní signál (- typicky přechodný děj, odezva článku RC, odezva tesilovače, rychlost přeběhu operačního zesilovače,..), se v případě, že se používá PWM signál z Arduino, může použít metoda equvalentního vzorkování (ETS - Equivalent Time Sampling). Tak se i s Ard-elabViewer může dosáhnout vyšších ekvivalentních vzorkovacích frekvencí ( bylo ověřeno - 250 kS/s, 1 MS/s, 4 MS/s), což např. umožňuje další experimenty, např. měřit časovou konstantu článku RC v hodnotě 10 mikrosekund.
Popis této metody zde bude uveden později.
Zpět na: stránka SDI
Zpět na hlavní stránku
- 1267 zobrazení