Arduino-osciloskop: Proč to funguje: 4 kroky
Arduino-osciloskop: Proč to funguje: 4 kroky
Anonim
Image
Image

Před několika lety jsem se dostal k elektronice a studoval základní principy. Zjistil jsem, že rozsah je nástroj, který vám pomůže téměř ve všem. Když jsem to teď pochopil, vydal jsem se naučit se základním principům práce s rozsahem, po několika měsících jsem si řekl, že osciloskop je implementovatelný na mikrořadiči, pokud se uvedu do bodu učení perspektivní. Proč mikrořadič, protože měl všechny věci potřebné k jeho vybudování, jako ADC pro příjem signálu (ale bez ovládacího frontendu), měl porty GPIO, které lze použít pro mnoho účelů, ale také má CPU, i když pokorný! (Měl jsem na mysli arduino).

Začal jsem s výzkumem osciloskopů arduino, které byly dobré a velmi dobré, ale chtěl bych jednodušší kód, který lze snadno upravit a pochopit. Právě když jsem hledal, narazil jsem na základnu aktuálního kódu na arduino fórech z 'vaupell'. Začal jsem to upravovat a komentovat to a čistit věci, aby to bylo čitelnější. Původní kód je od Noriaki Mitsunaga.

Pojďme se tedy podívat, jak nastavit hardware a software a jak jej používat.

Ještě musím začít psát vysvětlení kódu na wiki GitHub. pokud máte trochu času, podívejte se kolem sebe.

! - Tento projekt neuvádí podrobně, jak vyrobit osciloskop, ale ukazuje vám, jak můžete pomocí jednoduchého mikrořadiče emulovat chování osciloskopu v reálném světě, abyste pochopili, jak osciloskop funguje.

Krok 1: Znalost hardwaru

Znalost vašeho hardwaru
Znalost vašeho hardwaru

Cílem tohoto projektu je poskytnout vhled do fungování rozsahu. Z tohoto důvodu jsem si vybral nejjednodušší a nejoblíbenější hardwarovou platformu arduino. Kód je spustitelný na arduino uno nebo arduino mega, kde je upřednostňováno to druhé, protože má více volných a přístupných pinů, když je na něm nainstalován displej.

V tomto projektu tedy použiji arduino mega (2560).

Další komponentou je displej. Toto nastavení používá 2,5 palcový dotykový štít arduino TFT (ID ovladače je 0x9341). To dává možnost zobrazit na obrazovce více kanálů, které jsou navzájem odlišitelné.

To je všechno. Tento rozsah je však velmi omezený ve svých schopnostech, takže ho netlačte na okraj. Některé konkrétní věci, o které se musíte starat, jsou;

arduino ADC nedokáže dobře zvládnout napětí nad 5 voltů a ani dobře zvládat napětí pod 0 voltů. Proč, protože je to tak navrženo.

získávání dat z více kanálů současně snižuje efektivní vzorkovací frekvenci jednoho kanálu, protože vzorky jsou odebírány alternativně z více kanálů.

vzorkovací frekvence je velmi nízká (pro získání jednoho kanálu to může dosáhnout až 10 kSps, ale u dvou kanálů to spadne na 5 kSps/kanál). To lze zmírnit nastavením referenční frekvence ADC (nastavením prescalaru) na nižší hodnotu. To má však své vlastní problémy se špatným rozlišením.

Nezapomeňte také počítač nahrát kód do arduina.

Krok 2: Nastavení

Založit
Založit
Založit
Založit

Nastavení je velmi jednoduché;

Připojte štít displeje k Arduino Mega tak, aby se napájecí piny na obou deskách zarovnaly.

připojte desku k počítači pomocí kabelu USB.

Otevřete arduino IDE a přidejte knihovnu zobrazení TFT SPFD5408 (0x9341), pokud ještě není k dispozici.

Nyní nahrajte soubor kódu z github do Arduina.

GitHub - Arduino -osciloskop

Tady to máš!. Pohrávat si s kódem můžete nastavením kanálů 8 (ch0) a 15 (ch1) ON nebo OFF v sekci nastavení kódového kanálu. Můžete změnit proměnnou rate na hodnotu z pole rate a nastavit čas/rozdělení rozsahu. V části spouště kódu můžete nastavit typ spouště na automatický nebo jeden.

Následující krok ukazuje 3osý akcelerometr ADXL335, který je napájen a snímán Arduino-osciloskopem, jak je vidět na prvním videu.

Krok 3: Příklad - ADXL335 čtení akcelerometru

Příklad - ADXL335 čtení akcelerometru
Příklad - ADXL335 čtení akcelerometru
Příklad - ADXL335 čtení akcelerometru
Příklad - ADXL335 čtení akcelerometru
Příklad - ADXL335 čtení akcelerometru
Příklad - ADXL335 čtení akcelerometru

Napájejte modul akcelerometru z 5V DC a GND desky arduino zcela vpravo nahoře a dole. Nyní připojte kolík x-out modulu adxl335 ke kolíku A8 desky arduino, jak je vidět na obrázcích. pokud je osa x akcelerometru namířena dolů, datová řada na obrazovce rozsahu bude odsazena od nuly, protože modul adxl bude načítat zrychlení čtení v důsledku gravitace. zkuste zatřepat ve směru x, jak je vyznačeno na desce adxl, hroty se zobrazí na obrazovce.

Další informace o rozsahu a jeho fungování najdete na GitHub Wiki

Krok 4: Přispět?

Pokud byste chtěli přispět k dokumentaci wiki, jste více než vítáni. Osciloskop je fantastické zařízení a myslím, že je to dobrý nástroj STEM !.

V současné době pracuji na malém předním konci s atrapou PGA a ofsetovým ovládáním a přidal bych ovládání času/div a možná čtení nízkonapěťových střídavých signálů.