Výroba jednokanálového osciloskopu pomocou Arduina

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





V tomto zaujímavom príspevku sa chystáme vyrobiť jednoduchý jednokanálový osciloskop s využitím Arduina a osobného počítača, kde sa krivky zobrazia na displeji počítača a frekvencia a časové obdobie vstupných vĺn sa zobrazia na displeji 16 x 2. .

Úvod

Každý nadšenec elektroniky raz povedal: „Mám sen, jedného dňa si kúpim osciloskop“, ale stále je snom mnohých vlastniť slušný osciloskop pre svoje projekty a experimenty.



Osciloskop, ktorý je nákladným vybavením aj pre vstupný model, považujeme za luxusný elektronický nástroj a môžeme zastaviť naše experimenty a projekty, pretože si ho nemôžeme dovoliť.

Tento projekt môže pre mnohých zmeniť hru. Nadšenci elektroniky nemusia za meranie základných parametrov vlny míňať tony peňazí za osciloskop.



Navrhovaná myšlienka má veľmi obmedzenú funkčnosť, takže tieto funkcie neočakávajte špičkový osciloskop byť prítomný v tomto projekte. Z tohto projektu získame tri spoľahlivé funkcie:

1) vizuálne znázornenie tvaru vlny na obrazovke počítača

2) meranie frekvencie vstupnej vlny

3) Meranie časového obdobia vstupnej vlny v mikrosekundách.

Frekvencia a časová perióda signálu sa zobrazia na 16 x 2 LCD displeji. Existujú dva spôsoby vizuálneho znázornenia tvaru vlny na obrazovke počítača, ktoré budú popísané v ďalšej časti článku.

Teraz sa ponoríme do technickej časti nastavenia.

Navrhované nastavenie sa skladá z arduina, ktoré je ako obvykle mozgom nášho projektu, 16 x 2 LCD displeja, IC 7404, 10K potenciometra a počítača, najlepšie Windows.

Arduino je mozgom nastavenia a pre tento projekt musíme zvoliť Arduino UNO alebo Arduino mega alebo Arduino nano, pretože iné modely nemajú zabudovaný prevodník USB na sériový port, ktorý je nevyhnutný pre komunikáciu medzi Arduino a počítačom.

Ak si vyberieme iné modely dosky arduino, potrebujeme externý prevodník USB na sériový port, ktorý by mohol komplikovať projekt.

Ilustrácia spojenia LCD a Arduino:

Jednokanálový LCD displej osciloskopu

Vyššie uvedený okruh je samozrejmý. Podobné spojenie medzi displejom a arduino nájdeme aj na iných projektoch založených na LCD.

10K potenciometer sa používa na nastavenie kontrastu 16 x 2 LCD displeja, ktorý musí užívateľ nastaviť pre optimálne zobrazenie.

Jednokanálový osciloskop využívajúci Arduino

Funkciou IC 7404 je vylúčiť akýkoľvek šumový signál zo vstupu a privádzaného na kolík vzorkovania frekvencie A0. IC 7404 vysiela iba obdĺžnikové vlny, čo je pre arduino veľkou výhodou, pretože arduino je schopnejšie spracovávať digitálny signál ako analógové signály.

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

Po dokončení hardvérovej časti a nahraní vyššie uvedeného kódu. Je čas vykresliť krivku na obrazovke počítača. Toto je možné vykonať dvoma spôsobmi, najjednoduchší a najlenivejší spôsob je popísaný nižšie.

Metóda 1:

• Pripojte vstupný vodič k pinu č. 9 arduina (testovací režim).
• Otvorte Arduino IDE (musí to byť verzia 1.6.6 alebo vyššia)
• Prejdite na kartu „nástroje“ a vyberte sériový plotter

Hneď ako sa otvorí sériový plotter, môžete vidieť obdĺžnikovú vlnu, ktorá je generovaná z pinu arduina č. 9, ktorý je zobrazený nižšie.

obdĺžniková vlna, ktorá sa generuje z arduinova kolíka # 9

Stlačením tlačidla zobrazíte namerané hodnoty a na obnovenie nameraných hodnôt musí LCD displej ukazovať okolo 490 Hz v „testovacom režime“.

Schéma testovacieho režimu:

Testovacím režimom je kontrola správneho fungovania osciloskopu. Pin # 9 je naprogramovaný na výstup 490 Hz.

Metóda 2:

Táto metóda je pomerne ľahká, ale musíme si stiahnuť softvér z daného odkazu: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Tento softvér nám poskytne o niečo viac kontroly a funkcií v porovnaní so sériovým plotterom spoločnosti Arduino. Môžeme priblížiť a oddialiť vygenerovaný priebeh, môžeme nastaviť funkčnosť spúšťania, kontrolu posunu nad vertikálnou a horizontálnou osou atď.

• Stiahnite si softvér a extrahujte ho.

• Teraz dvakrát kliknite na aplikáciu Sériový osciloskop.

sériový plotter spoločnosti Arduino

• Zobrazí sa okno, ako je to znázornené nižšie, a vyberte prenosovú rýchlosť na 9600.

zvoľte prenosovú rýchlosť na 9600.

• Teraz vyberte kartu „Sériový port“ a vyberte pravý port COM, ktorý sa môže v jednotlivých počítačoch líšiť. Ak vyberiete správny port COM, uvidíte hodnoty, ako je znázornené nižšie.

• Teraz vyberte kartu „osciloskop“ a vyberte „kanály 1, 2 a 3“ (prvá možnosť).

Teraz vyberte kartu „osciloskop“ a vyberte „kanály 1, 2 a 3“ (prvá možnosť). Priebeh z jednokanálového osciloskopu pomocou Arduina

• Môžete vidieť vygenerovaný testovací signál z Arduina, ako je to znázornené nižšie.

Ako vidíte, na softvéri sú niektoré ovládacie tlačidlá, pomocou ktorých môžete lepšie analyzovať priebeh.

POZNÁMKA:

Navrhované nastavenie má jednu veľkú nevýhodu:

Arduino nedokáže súčasne zobraziť tvar vstupnej vlny na obrazovke počítača a čítanie frekvencie / času na displeji LCD. Na prekonanie tohto problému je k dispozícii tlačidlo na načítanie / obnovenie frekvencie a časového obdobia na LCD displeji.

Po stlačení tohto tlačidla sa na LCD displeji zobrazí frekvencia a časové obdobie, zatiaľ čo krivka na obrazovke počítača zamrzne, pokiaľ stlačíte tlačidlo.

Môžete to tiež považovať za výhodu, pretože frekvenciu na monitore počítača môžete kedykoľvek zastaviť, čo vám dá čas na analýzu zobrazeného priebehu.

Autorský prototyp:

Prototypový obrázok pre obvod osciloskopu Arduino

Ak máte ďalšie otázky týkajúce sa tohto jednoduchého jednokanálového obvodu osciloskopu Arduino, môžete na vyjadrenie svojich konkrétnych názorov použiť pole pre komentár uvedené nižšie.




Dvojica: Arduino frekvenčný merač využívajúci displej 16 × 2 Ďalej: Obvod internetového vysielača LiFi - prenos signálu USB pomocou LED