Lage et enkeltkanalsoscilloskop ved hjelp av Arduino

Prøv Instrumentet Vårt For Å Eliminere Problemer





I dette interessante innlegget skal vi lage et enkelt enkeltkanalsoscilloskop ved hjelp av Arduino og en personlig datamaskin, der bølgeformene vil vises på PC-skjermen, og frekvensen og tidsperioden for inngangsbølgene vises på 16 x 2-skjermen .

Introduksjon

Enhver elektronikkentusiast sa en gang “Jeg har en drøm, en dag vil jeg kjøpe et oscilloskop”, men det er fortsatt drømmen om mange å eie et anstendig oscilloskop for sine prosjekter og eksperimenter.



Ettersom oscilloskopet er dyrt utstyr, selv for en innstegsmodell, anser vi dem som et luksuriøst elektronikkverktøy, og vi kan stoppe eksperimentene og prosjektene fordi vi ikke har råd til det.

Dette prosjektet kan være en spillveksler for mange, elektronikkentusiaster trenger ikke å bruke tonnevis med penger på et oscilloskop for å måle grunnleggende parametere for en bølge.



Den foreslåtte ideen har svært begrenset funksjonalitet, så ikke forvent funksjonene på en high end oscilloskop å være til stede i dette prosjektet. Vi får tre solide funksjoner fra dette prosjektet:

1) visuell fremstilling av bølgeform på datamaskinens skjerm

2) frekvensmåling av inngangsbølgen

3) Måling av tidsperiode for inngangsbølge i mikrosekunder.

Frekvensen og tidsperioden for signalet vises på 16 x 2 LCD-skjerm. Det er to metoder for visuell fremstilling av bølgeformen på dataskjermen, som vil bli beskrevet i senere del av artikkelen.

La oss nå dykke ned i den tekniske delen av oppsettet.

Det foreslåtte oppsettet består av arduino som er hjernen vårt prosjekt som vanlig, en 16 x 2 LCD-skjerm, IC 7404, 10K potensiometer og en datamaskin, helst en Windows-maskin.

Arduino er hjernen til oppsettet, og vi må velge Arduino UNO eller Arduino mega eller Arduino nano for dette prosjektet, siden andre modeller ikke har innebygd USB til seriell omformer, noe som er viktig for kommunikasjon mellom Arduino og datamaskin.

Hvis vi velger andre modeller av arduino-kort, trenger vi ekstern USB til seriell omformer som kan komplisere prosjektet.

Illustrasjon av LCD til Arduino-tilkobling:

Enkeltkanals oscilloskop LCD-skjerm

Ovennevnte krets er selvforklarende. Vi kan finne lignende sammenheng mellom skjermen og arduino på andre LCD-baserte prosjekter.

10K potensiometeret brukes til å justere kontrasten på 16 x 2 LCD-skjermen, som må stilles inn av brukeren for optimal visning.

Enkeltkanalsoscilloskop ved bruk av Arduino

Funksjonen til IC 7404 er å eliminere ethvert støysignal fra inngangen og mates til frekvenssamplingsstift A0. IC 7404 sender bare ut rektangulære bølger, noe som er en stor fordel for arduino, siden arduino er mer i stand til å behandle digitalt signal enn analoge signaler.

Program:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int Freqinput = A0
const int oscInput = A1
int Switch = A2
const int test = 9
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
pinMode(Switch,INPUT)
pinMode(Freqinput,INPUT)
pinMode(oscInput,INPUT)
pinMode(test, OUTPUT)
analogWrite(test,127)
lcd.setCursor(0,0)
lcd.print('Press the button')
}
void loop()
{
if(digitalRead(Switch)==HIGH)
{
lcd.clear()
lcd.setCursor(0,0)
X = pulseIn(Freqinput,HIGH)
Y = pulseIn(Freqinput,LOW)
Time = X+Y
frequency = 1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print('0.00 Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print('0.00 us')
}
else
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print(frequency)
lcd.print('Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print(Time)
lcd.print(' us')
delay(500)
}
}
else
{
Serial.println(analogRead(oscInput))
}
}
//-----Program Developed by R.Girish-----//

Når du har fullført maskinvaredelen og lastet opp koden ovenfor. Det er på tide å plotte bølgeform på dataskjermen. Dette kan gjøres på to måter, den enkleste og lateste måten er beskrevet nedenfor.

Metode 1:

• Koble inngangskabelen til pinne nr. 9 i arduino (testmodus).
• Åpne Arduino IDE (den må være 1.6.6 eller nyere)
• Gå til 'verktøy' -fanen og velg serieplotter

Så snart serieplotteren åpnes, kan du se den rektangulære bølgen som genereres fra arduinos pin nr. 9, illustrert nedenfor.

rektangulær bølge som genereres fra arduino

Trykk på trykknappen for å vise avlesningene, og for å oppdatere avlesningene på LCD-skjermen, må den vises rundt 490Hz i 'testmodus'.

Skjema for testmodus:

Testmodus er å kontrollere oscilloskopets funksjon. Pinnen # 9 er programmert for å gi 490Hz utgang.

Metode 2:

Denne metoden er relativt enkel, men vi må laste ned programvare fra den gitte lenken: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Denne programvaren vil gi oss litt mer kontroll og funksjoner sammenlignet med arduinos serieplotter. Vi kan zoome inn og ut av den genererte bølgeformen, og vi kan stille utløserfunksjonalitet, forskyvningskontroll over vertikal og horisontal akse etc.

• Last ned programvaren og pakke ut den.

• Dobbeltklikk nå på Serial Oscilloscope-applikasjonen.

arduinos serielle plotter

• Et vindu dukker opp som illustrert nedenfor og velger baudrate til 9600.

velg baudrate til 9600.

• Nå velger du 'Seriell port' -fanen og velger riktig COM-port som kan variere datamaskin til datamaskin. Hvis du velger riktig COM-port, kan du se avlesninger som illustrert nedenfor.

• Velg nå “oscilloskop” -fanen og velg “kanal 1, 2 og 3” (første alternativ).

Velg Bølgeform fra enkeltkanalsoscilloskop ved hjelp av Arduino

• Du kan se det genererte testsignalet fra Arduino som illustrert nedenfor.

Som du ser er det noen kontrollknapper på programvaren som du kan analysere bølgeformen bedre.

MERK:

Det foreslåtte oppsettet har en stor ulempe:

Arduino kan ikke vise inngangsbølgeform på dataskjermen og lese frekvens / tidsperiode på LCD-skjerm samtidig. For å løse dette problemet er det gitt en trykknapp for å lese / oppdatere frekvensen og tidsperioden på LCD-skjermen.

Når du har trykket på knappen, vil den vise frekvensen og tidsperioden på LCD-skjermen samtidig som bølgeformen fryser på dataskjermen så lenge du fortsetter å trykke på trykknappen.

Du kan også vurdere dette som en fordel, siden du når som helst kan stoppe frekvensen på dataskjermen, og dette kan gi deg tid til å analysere den viste bølgeformen.

Forfatterens prototype:

Prototype Image for Arduino oscilloscope circuit

Hvis du har ytterligere spørsmål angående denne enkle Arduino-oscilloskopkretsen, kan du gjerne bruke kommentarfeltet nedenfor for å uttrykke dine spesifikke synspunkter




Forrige: Arduino frekvensmåler ved hjelp av 16 × 2-skjerm Neste: LiFi Internett-senderkrets - USB-signaloverføring gjennom LED