Izrada jednokanalnog osciloskopa pomoću Arduina

Izrada jednokanalnog osciloskopa pomoću Arduina

U ovom zanimljivom postu napravit ćemo jednostavan jednokanalni osciloskop pomoću Arduina i osobnog računala, gdje će valni oblici biti prikazani na zaslonu računala, a frekvencija i vremensko razdoblje ulaznih valova na zaslonu 16 x 2 .



Uvod

Svaki zaljubljenik u elektroniku jednom je rekao 'Imam san, jednog ću dana kupiti osciloskop', ali mnogima je još uvijek san da posjeduju pristojan osciloskop za svoje projekte i eksperimente.

Osciloskop je skupa oprema čak i za početni model, smatramo ih luksuznim elektroničkim alatom i možda bismo zaustavili naše eksperimente i projekte jer si ih ne možemo priuštiti.





Ovaj bi projekt mnogima mogao promijeniti igru, zaljubljenici u elektroniku ne trebaju trošiti tone novca za osciloskop za mjerenje osnovnih parametara vala.

Predložena ideja ima vrlo ograničenu funkcionalnost, pa nemojte očekivati ​​značajke na a vrhunski osciloskop biti prisutan u ovom projektu. Ovim projektom dobivamo tri solidne funkcionalnosti:



1) vizualni prikaz valnog oblika na zaslonu računala

2) mjerenje frekvencije ulaznog vala

3) Mjerenje vremenskog razdoblja ulaznog vala u mikrosekundama.

Frekvencija i vremensko razdoblje signala bit će prikazani na LCD zaslonu 16 x 2. Postoje dvije metode za vizualno predstavljanje valnog oblika na zaslonu računala koje će biti opisane u daljnjem dijelu članka.

Sada zaronimo u tehnički dio postavljanja.

Predložena postavka sastoji se od arduina koji je mozak našeg projekta kao i obično, LCD zaslona 16 x 2, IC 7404, potenciometra 10K i računala, po mogućnosti Windows stroja.

Arduino je mozak postavljanja i za ovaj projekt moramo odabrati Arduino UNO ili Arduino mega ili Arduino nano, jer drugi modeli nemaju ugrađeni USB u serijski pretvarač koji je neophodan za komunikaciju između Arduina i računala.

Ako odaberemo druge modele arduino ploče, potreban nam je vanjski USB u serijski pretvarač koji bi mogao zakomplicirati projekt.

Ilustracija povezivanja LCD-a i Arduina:

Jednokanalni osciloskopski LCD zaslon

Gornji sklop je samorazumljiv. Sličnu vezu između zaslona i arduina možemo pronaći i na drugim LCD projektima.

Potenciometar 10K koristi se za podešavanje kontrasta LCD zaslona 16 x 2 koji korisnik mora postaviti za optimalan prikaz.

Jednokanalni osciloskop koji koristi Arduino

Funkcija IC 7404 je uklanjanje svakog signala buke s ulaza i napajanja na pin za uzorkovanje frekvencije A0. IC 7404 emitira samo pravokutne valove što je velika prednost za arduino, jer je arduino sposobniji za obradu digitalnog signala od analognih.

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

Nakon što dovršite hardverski dio i prenesete gornji kod. Vrijeme je za crtanje valnog oblika na ekranu računala. To se može učiniti na dva načina, najlakši i naj lijeniji način opisan je u nastavku.

Metoda 1:

• Spojite ulaznu žicu na pin # 9 arduina (testni način).
• Otvorite Arduino IDE (mora biti 1.6.6 ili novija verzija)
• Idite na karticu 'alati' i odaberite serijski crtač

Čim se otvori serijski ploter, možete vidjeti pravokutni val koji se generira iz arduinoovog pina br. 9, prikazan u nastavku.

pravokutni val koji se generira iz arduinoova pina br. 9

Pritisnite gumb za prikaz očitanja, a također i za osvježavanje očitanja LCD zaslona, ​​on mora prikazivati ​​oko 490Hz u 'test modu'.

Shema testnog načina:

Način ispitivanja je provjera ispravnog rada osciloskopa. Pin # 9 programiran je tako da daje 490Hz izlaz.

Metoda 2:

Ova je metoda relativno jednostavna, ali moramo preuzeti softver s dane poveznice: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Ovaj softver pružit će nam malo više kontrole i značajki u usporedbi s arduinovim serijskim ploterom. Možemo povećavati i smanjivati ​​generirani valni oblik, možemo postaviti funkcionalnost okidača, kontrolu pomaka nad okomitom i vodoravnom osi itd.

• Preuzmite softver i izvadite.

• Sada dvaput kliknite na aplikaciju Serial Oscilloscope.

serijski ploter arduina

• Otvorit će se prozor kao što je prikazano dolje i odaberite brzinu prijenosa na 9600.

odaberite brzinu prijenosa na 9600.

• Sada odaberite karticu “Serial port” i odaberite odgovarajući COM port koji može razlikovati računalo od računala. Ako odaberete ispravni COM priključak, možete vidjeti očitanja kao što je prikazano u nastavku.

• Sada odaberite karticu „osciloskop” i odaberite „kanali 1, 2 i 3” (prva opcija).

Sada odaberite karticu “osciloskop” i odaberite “kanali 1, 2 i 3” (prva opcija). Valni oblik s jednokanalnog osciloskopa pomoću Arduina

• Možete vidjeti generirani testni signal iz Arduina kako je prikazano dolje.

Kao što vidite, na softveru postoje neki kontrolni gumbi pomoću kojih možete bolje analizirati valni oblik.

BILJEŠKA:

Predloženi postav ima jedan glavni nedostatak:

Arduino ne može istovremeno prikazati ulazni valni oblik na zaslonu računala i očitavanje frekvencije / vremenskog razdoblja na LCD zaslonu. Da biste prevladali ovaj problem, prisutan je gumb za očitavanje / osvježavanje frekvencije i vremenskog razdoblja na LCD zaslonu.

Jednom kada pritisnete tipku, na LCD zaslonu će se istovremeno prikazati frekvencija i vremensko razdoblje, dok će se valni oblik zamrznuti na zaslonu računala sve dok pritiskate tipku.

To možete smatrati i prednošću, jer frekvenciju na monitoru računala možete zaustaviti u bilo kojem trenutku, a to vam može dati vremena za analizu prikazanog valnog oblika.

Autorski prototip:

Slika prototipa za osciloskopski krug Arduino

Ako imate dodatnih pitanja u vezi s ovim jednostavnim jednokanalnim Arduino osciloskopskim krugom, slobodno upotrijebite donji okvir za komentare za izražavanje svojih specifičnih stavova




Prethodno: Arduino mjerač frekvencije pomoću zaslona 16 × 2 Dalje: Krug internetskog odašiljača LiFi - USB prijenos signala kroz LED