Innholdsfortegnelse:

Arduino-oscilloskop: Hvorfor det fungerer: 4 trinn
Arduino-oscilloskop: Hvorfor det fungerer: 4 trinn

Video: Arduino-oscilloskop: Hvorfor det fungerer: 4 trinn

Video: Arduino-oscilloskop: Hvorfor det fungerer: 4 trinn
Video: Линейный лабораторный блок питания на операционных усилителях (PCBWay) 2024, November
Anonim
Image
Image

For noen år siden begynte jeg på elektronikk og studerte de grunnleggende prinsippene. Jeg fant ut at et omfang er verktøyet som hjelper deg med nesten alt. Nå som jeg forsto det, satte jeg meg for å lære de grunnleggende prinsippene for bruk av et omfang, etter noen måneder tenkte jeg for meg selv, vel et oscilloskop kan implementeres på en mikrokontroller hvis jeg setter meg selv i et læringspunkt av perspektiv. Hvorfor en mikrokontroller, fordi den hadde alle de tingene som var nødvendige for å bygge en, som en ADC for å ta inn et signal (men uten frontkontroll), hadde den GPIO-porter som kan brukes til mange formål. har en CPU, om enn saktmodig! (Jeg tenkte på en arduino).

Jeg begynte med å forske på arduino -oscilloskoper som var gode og veldig gode, men jeg skulle gjerne hatt en enklere kode som er lett å endre og forstå. Akkurat da jeg søkte, kom jeg over basen til den nåværende koden på arduino -forumene fra 'vaupell'. Jeg begynte å endre det og kommentere det og rengjøre tingene for å gjøre det mer lesbart. Den originale koden er fra Noriaki Mitsunaga.

Så la oss se hvordan du konfigurerer maskinvare og programvare og hvordan du bruker den.

Jeg har ennå ikke begynt å skrive forklaringen på koden på GitHub -wikien. Ta en titt rundt hvis du har litt tid til overs.

! - Dette prosjektet beskriver ikke hvordan du lager et oscilloskop, snarere viser det deg hvordan du kan bruke en enkel mikrokontroller for å etterligne oppførselen til et oscilloskop i den virkelige verden for å forstå hvordan et oscilloskop fungerer.

Trinn 1: Kjenn maskinvaren din

Å kjenne til maskinvaren din
Å kjenne til maskinvaren din

Målet med dette prosjektet er å gi et innblikk i hvordan et omfang fungerer. Av den grunn valgte jeg den enkleste og mest populære maskinvareplattformen arduino. Koden kan kjøres på en arduino uno eller en arduino mega, der sistnevnte foretrekkes fordi den har flere ledige og tilgjengelige pins når en skjerm er installert på den.

Så i dette prosjektet bruker jeg en arduino mega (2560).

Den neste komponenten er displayet. Dette oppsettet bruker et arduino TFT 2,5 tommers berøringsskjerm (driver -ID er0x9341). Dette gir muligheten til å vise flere kanaler på skjermen som kan skilles fra hverandre.

Det er alt det er. Imidlertid er dette omfanget svært begrenset i sine evner, så ikke skyv det til kanten. Noen spesifikke ting å bry seg om er;

arduino ADC kan ikke håndtere spenninger over 5 volt veldig godt, og det kan heller ikke håndtere spenninger under 0 volt godt. Hvorfor, fordi den er designet slik.

å skaffe data fra flere kanaler samtidig reduserer den effektive samplingshastigheten til en enkelt kanal fordi prøvene tas alternativt fra de flere kanalene.

samplingsfrekvensen er veldig lav (for et enkelt kanaloppkjøp kan det gå opp til 10kSps, men med to kanaler faller det ned til 5kSps/kanal). Dette kan dempes ved å sette ADC -referansefrekvensen (sette prescalaren) til en lavere verdi. Imidlertid har dette sine egne problemer med dårlig oppløsning.

Ikke glem en datamaskin for å laste opp koden til arduinoen.

Trinn 2: Oppsett

Oppsett
Oppsett
Oppsett
Oppsett

Oppsettet er veldig enkelt;

Fest skjermskjermen til Arduino Mega, slik at strømnålene på begge brettene er på linje.

koble kortet til datamaskinen ved hjelp av en USB -kabel.

Åpne arduino IDE og legg til TFT -skjermbiblioteket SPFD5408 (0x9341) hvis det ikke allerede er tilstede.

Last nå opp kodefilen fra github til Arduino.

GitHub - Arduino -oscilloskop

Der har du det!. Du kan tukle med koden ved å sette kanal 8 (ch0) og 15 (ch1) PÅ eller AV i seksjonen for konfigurering av kodekanaler. Du kan endre hastighetsvariabelen til en verdi fra takstmatrisen for å angi tid/divisjon av omfanget. Du kan sette utløsertype til automatisk eller enkelt i utløserdelen av koden.

Følgende trinn viser et ADXL335 3-akset akselerometer som blir drevet og lest av Arduino-Oscilloscope, som det sees i den første videoen.

Trinn 3: Eksempel - ADXL335 Lesing av akselerometeret

Eksempel - ADXL335 Lesing av akselerometeret
Eksempel - ADXL335 Lesing av akselerometeret
Eksempel - ADXL335 Lesing av akselerometeret
Eksempel - ADXL335 Lesing av akselerometeret
Eksempel - ADXL335 Lesing av akselerometeret
Eksempel - ADXL335 Lesing av akselerometeret

Kjør akselerometermodulen fra 5V DC og GND på arduino -kortet helt til høyre øverst og nederst. Koble nå x-out-pinnen til adxl335-modulen til pinnen A8 på arduino-kortet som det kan sees på bildene. hvis x-aksen til akselerometeret peker nedover, vil datalinjen på omfangsskjermen bli forskjøvet fra null siden adxl-modulen vil lese akselerasjon på grunn av tyngdekraften. Prøv å riste den i x-retningen som markert på adxl-tavlen, piggene vil dukke opp på skjermen.

For å lære mer om omfanget og dets funksjon, se GitHub Wiki

Trinn 4: Bidra?

Hvis du ønsker å bidra til wikidokumentasjonen, er du mer enn velkommen. Oscilloskop er et fantastisk utstyr, og jeg synes det er et godt STEM -verktøy !.

Jeg jobber for tiden med en liten front med en dummy PGA og en forskyvningskontroll og vil legge til en kontroll for tiden/div og kanskje lese lavspennings AC -signaler.

Anbefalt: