ČVUT v Praze - Fakulta elektrotechnická
Katedra měření

Ard-eLabViewer - osciloskop s modulem Arduino

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í zdePozná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