Indholdsfortegnelse:

Arduino-oscilloskop: Hvorfor det virker: 4 trin
Arduino-oscilloskop: Hvorfor det virker: 4 trin

Video: Arduino-oscilloskop: Hvorfor det virker: 4 trin

Video: Arduino-oscilloskop: Hvorfor det virker: 4 trin
Video: Oscilloscope Telequipment S54A 1ch 10Mhz 1968 Teardown 2024, November
Anonim
Image
Image

For et par år siden begyndte jeg at gå ind i elektronik og studere de grundlæggende principper. Jeg fandt ud af, at et omfang er værktøjet, der hjælper dig med næsten alt. Nu da jeg forstod det, satte jeg mig for at lære de grundlæggende principper for arbejdet af et omfang, efter et par måneder tænkte jeg ved mig selv, godt et oscilloskop kan implementeres på en mikrokontroller, hvis jeg sætter mig selv i et læringspunkt perspektiv. Hvorfor en mikrokontroller, fordi den havde alle de ting, der var nødvendige for at bygge en, som en ADC for at modtage et signal (men uden kontrolfrontende), havde den GPIO-porte, der kunne bruges til mange formål, det også har en CPU omend svag! (Jeg tænkte på en arduino).

Jeg startede med at undersøge arduino -oscilloskoper, som var gode og meget gode, men jeg ville gerne have en enklere kode, der er let at ændre og forstå. Lige da jeg søgte, stødte jeg på basen af den nuværende kode på arduino -fora fra 'vaupell'. Jeg begyndte at ændre det og kommentere det og rense tingene for at gøre det mere læsbart. Den originale kode er fra Noriaki Mitsunaga.

Så lad os se, hvordan du konfigurerer hardware og software, og hvordan du bruger det.

Jeg har endnu ikke begyndt at skrive forklaringen på koden på GitHub wiki. hvis du har lidt tid til overs, så tag et kig rundt.

! - Dette projekt beskriver ikke, hvordan man laver et oscilloskop, det viser dig snarere, hvordan du kan bruge en simpel mikrokontroller til at efterligne et oscilloskops virkelige adfærd for at forstå, hvordan et oscilloskop fungerer.

Trin 1: Kendskab til din hardware

At kende din hardware
At kende din hardware

Målet med dette projekt er at give et indblik i, hvordan et omfang fungerer. Af den grund valgte jeg den enkleste og mest populære hardware platform arduino. Koden kan køres på en arduino uno eller en arduino mega, hvor sidstnævnte foretrækkes, fordi den har flere gratis og tilgængelige pins, når der er installeret et display på den.

Så i dette projekt bruger jeg en arduino mega (2560).

Den næste komponent er displayet. Denne opsætning bruger et arduino TFT 2,5 tommer berøringsskærm (driver -id'et er0x9341). Dette giver mulighed for at vise flere kanaler på skærmen, som kan skelnes fra hinanden.

Det er alt, hvad der er til det. Dette anvendelsesområde er imidlertid meget begrænset, så skub det ikke til kanten. Nogle specifikke ting at bekymre sig om er;

arduino ADC kan ikke håndtere spændinger over 5 volt særlig godt, og det kan heller ikke klare spændinger under 0 volt godt. Hvorfor, fordi det er designet sådan.

indsamling af data fra flere kanaler samtidigt reducerer den effektive samplingshastighed for en enkelt kanal, fordi prøverne alternativt tages fra flere kanaler.

samplingshastigheden er meget lav (for en enkelt kanaloptagelse kan den gå op til 10kSps, men med to kanaler falder den til 5kSps/kanal). Dette kan afhjælpes ved at indstille ADC -referencefrekvensen (indstilling af prækalaren) til en lavere værdi. Dette har imidlertid sine egne problemer med dårlig opløsning.

Glem også en computer til at uploade koden til arduinoen.

Trin 2: Opsætning

Opsætning
Opsætning
Opsætning
Opsætning

Opsætningen er meget enkel;

Fastgør skærmskærmen til Arduino Mega, så strømstifterne på begge tavler flugter.

slut kortet til computeren ved hjælp af et USB -kabel.

Åbn arduino IDE, og tilføj TFT -displaybiblioteket SPFD5408 (0x9341), hvis det ikke allerede er til stede.

Upload nu kodefilen fra github til Arduino.

GitHub - Arduino -Oscilloskop

Der har du det!. Du kan pille ved koden ved at indstille kanal 8 (ch0) og 15 (ch1) ON eller OFF i sektionen med kodekanalopsætning. Du kan ændre hastighedsvariablen til en værdi fra satsmatrixen for at indstille tid/division af omfanget. Du kan indstille udløsertype til automatisk eller enkelt i udløserafsnittet i koden.

Det følgende trin viser et ADXL335 3-akset accelerometer, der drives og læses af Arduino-Oscilloskop, som det ses i den første video.

Trin 3: Eksempel - ADXL335 Læsning af accelerometeret

Eksempel - ADXL335 Læsning af accelerometeret
Eksempel - ADXL335 Læsning af accelerometeret
Eksempel - ADXL335 Læsning af accelerometeret
Eksempel - ADXL335 Læsning af accelerometeret
Eksempel - ADXL335 Læsning af accelerometeret
Eksempel - ADXL335 Læsning af accelerometeret

Driv accelerometermodulet fra 5V DC og GND på arduino -kortet yderst til højre øverst og nederst. Tilslut nu x-out-stiften på adxl335-modulet til pin A8 på arduino-kortet, som det kan ses på billederne. hvis accelerometerets x-akse peger nedad, vil datalinjen på omfangsskærmen blive forskudt fra nul, da adxl-modulet vil læse acceleration på grund af tyngdekraften. Prøv at ryste den i x-retning som markeret på adxl-tavlen, pigge vil dukke op på skærmen.

For at lære mere om omfanget og dets funktion se GitHub Wiki

Trin 4: Bidrage?

Hvis du gerne vil bidrage til wikidokumentationen, er du mere end velkommen. Oscilloskop er et fantastisk stykke udstyr, og jeg synes, det er et godt STEM -værktøj !.

Jeg arbejder i øjeblikket på en lille frontend med en dummy PGA og en offset kontrol og vil tilføje en kontrol for tiden/div og måske læse lavspændings AC signaler.

Anbefalede: