Izdelava enokanalnega osciloskopa z uporabo Arduina

Preizkusite Naš Instrument Za Odpravo Težav





V tem zanimivem prispevku bomo izdelali preprost enokanalni osciloskop z uporabo Arduina in osebnega računalnika, kjer bodo valovne oblike prikazane na zaslonu računalnika, frekvenca in časovno obdobje vhodnih valov pa na zaslonu 16 x 2 .

Uvod

Vsak navdušenec nad elektroniko je nekoč rekel: 'Imam sanje, nekega dne bom kupil osciloskop', vendar se marsikomu še vedno sanja, da bi imel dostojen osciloskop za svoje projekte in poskuse.



Osciloskop je draga oprema tudi za vstopni model, zato ga obravnavamo kot luksuzno elektronsko orodje, zato lahko svoje eksperimente in projekte ustavimo, ker si tega ne moremo privoščiti.

Ta projekt bi lahko za mnoge spremenil igro, ljubiteljem elektronike ni treba porabiti tone denarja za osciloskop za merjenje osnovnih parametrov vala.



Predlagana ideja ima zelo omejeno funkcionalnost, zato ne pričakujte, da bodo funkcije na vrhunski osciloskop biti prisoten v tem projektu. Iz tega projekta dobimo tri trdne funkcionalnosti:

1) vizualna predstavitev valovne oblike na računalniškem zaslonu

2) merjenje frekvence vhodnega vala

3) Merjenje časovnega obdobja vhodnega vala v mikrosekundah.

Frekvenca in časovno obdobje signala bo prikazano na 16 x 2 LCD zaslonu. Obstajata dve metodi za vizualno predstavitev valovne oblike na računalniškem zaslonu, ki bosta opisani v nadaljnjem delu članka.

Zdaj pa pojdimo v tehnični del namestitve.

Predlagana nastavitev je sestavljena iz arduina, ki je kot običajno možganov našega projekta, LCD zaslona 16 x 2, IC 7404, potenciometra 10K in računalnika, po možnosti okenskega stroja.

Arduino je možgan namestitve in za ta projekt moramo izbrati Arduino UNO ali Arduino mega ali Arduino nano, saj drugi modeli nimajo vgrajenega pretvornika USB v serijski pretvornik, ki je bistvenega pomena za komunikacijo med Arduinom in računalnikom.

Če izberemo druge modele arduino plošče, potrebujemo zunanji pretvornik USB v serijski pretvornik, kar bi lahko zapletlo projekt.

Prikaz povezave LCD z Arduino:

Enokanalni LCD zaslon z osciloskopom

Zgornje vezje je samoumevno. Podobno povezavo med zaslonom in arduinom lahko najdemo pri drugih projektih, ki temeljijo na LCD-jih.

Potenciometer 10K se uporablja za nastavitev kontrasta LCD zaslona 16 x 2, ki ga mora uporabnik nastaviti za optimalen pogled.

Enokanalni osciloskop z uporabo Arduina

Funkcija IC 7404 je odpraviti kakršen koli šumni signal z vhoda in dovajanja na frekvenčni vzorec za vzorčenje A0. IC 7404 oddaja samo pravokotne valove, kar je velika prednost za arduino, saj je arduino bolj sposoben obdelati digitalni signal kot analogni.

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-----//

Ko dokončate del strojne opreme in naložite zgornjo kodo. Čas je, da na računalniški zaslon narišemo valovno obliko. To lahko storite na dva načina, najlažji in najbolj len način je opisan spodaj.

1. metoda:

• Vhodno žico priključite na zatič št. 9 arduina (testni način).
• Odprite Arduino IDE (mora biti različice 1.6.6 ali novejše)
• Pojdite na zavihek 'orodja' in izberite serijski risalnik

Takoj ko se serijski ploter odpre, lahko vidite pravokotni val, ki ga ustvari arduinoov pin 9, prikazan spodaj.

pravokotni val, ki je ustvarjen iz arduinovega zatiča št. 9

Pritisnite gumb, da prikažete odčitke in tudi za osvežitev odčitkov LCD zaslon, mora biti prikazan približno 490Hz v 'testnem načinu'.

Shema preskusnega načina:

Preskusni način je preveriti pravilno delovanje osciloskopa. Nožica 9 je programirana tako, da daje 490Hz izhod.

2. metoda:

Ta metoda je razmeroma enostavna, vendar moramo programsko opremo prenesti s podane povezave: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Ta programska oprema nam bo dala malo več nadzora in funkcij v primerjavi s serijskim ploterjem arduino. Ustvarjeno valovno obliko lahko povečamo in pomanjšamo, lahko nastavimo funkcijo sprožilca, nadzor nad premikom navpične in vodoravne osi itd.

• Prenesite programsko opremo in izvlecite.

• Zdaj dvokliknite aplikacijo Serial Oscilloscope.

serijski ploter arduina

• Pojavi se okno, kot je prikazano spodaj, in izberite hitrost prenosa na 9600.

izberite hitrost prenosa na 9600.

• Zdaj izberite zavihek »Serial port« in izberite prava vrata COM, ki lahko razlikujejo računalnik od računalnika. Če izberete ustrezna vrata COM, lahko vidite odčitke, kot je prikazano spodaj.

• Zdaj izberite zavihek »osciloskop« in izberite »kanali 1, 2 in 3« (prva možnost).

Zdaj izberite zavihek »osciloskop« in izberite »kanali 1, 2 in 3« (prva možnost). Valovna oblika enokanalnega osciloskopa z uporabo Arduina

• Generirani testni signal iz Arduina lahko vidite, kot je prikazano spodaj.

Kot lahko vidite, je v programski opremi nekaj nadzornih gumbov, s pomočjo katerih lahko valovno analizirate bolje.

OPOMBA:

Predlagana postavitev ima eno največjo slabost:

Arduino ne more hkrati prikazati vhodne valovne oblike na računalniškem zaslonu in branja frekvence / časovnega obdobja na LCD zaslonu. Za premagovanje te težave je na voljo gumb za branje / osvežitev frekvence in časovnega obdobja na LCD zaslonu.

Ko pritisnete gumb, se na LCD zaslonu prikaže frekvenca in časovno obdobje, hkrati pa se valovna oblika zamrzne na zaslonu računalnika, dokler pritisnete gumb.

To lahko upoštevate tudi kot prednost, saj lahko kadar koli ustavite frekvenco na računalniškem monitorju, kar vam bo morda dalo čas za analizo prikazane valovne oblike.

Avtorjev prototip:

Prototipna slika za osciloskopsko vezje Arduino

Če imate dodatna vprašanja v zvezi s tem preprostim enokanalnim osciloskopskim vezjem Arduino, vas prosimo, da uporabite spodnje polje za komentar, da izrazite svoje posebne poglede




Prejšnji: Merilnik frekvence Arduino z zaslonom 16 × 2 Naprej: Vezje internetnega oddajnika LiFi - Prenos signala USB prek LED