Výroba jednokanálového osciloskopu pomocí Arduina

Výroba jednokanálového osciloskopu pomocí Arduina

V tomto zajímavém příspěvku se chystáme vytvořit jednoduchý jednokanálový osciloskop s využitím Arduina a osobního počítače, kde budou křivky zobrazeny na displeji počítače a frekvence a časové období vstupních vln budou zobrazeny na displeji 16 x 2 .

Úvod

Každý nadšenec elektroniky jednou řekl: „Mám sen, jednoho dne si koupím osciloskop“, ale stále je snem mnoha lidí vlastnit pro své projekty a experimenty slušný osciloskop.



Osciloskop, který je nákladným vybavením i pro základní model, je považujeme za luxusní elektronický nástroj a můžeme zastavit naše experimenty a projekty, protože si ho nemůžeme dovolit.



Tento projekt může být pro mnohé změnou hry, nadšenci elektroniky nepotřebují utrácet spoustu peněz za osciloskop za měření základních parametrů vlny.

Navrhovaný nápad má velmi omezenou funkčnost, takže neočekávejte funkce na špičkový osciloskop být přítomni v tomto projektu. Z tohoto projektu získáváme tři pevné funkce:



1) vizuální znázornění křivky na obrazovce počítače

2) Měření frekvence vstupní vlny

3) Měření časového období vstupní vlny v mikrosekundách.



Frekvence a časové období signálu se zobrazí na LCD displeji 16 x 2. Existují dvě metody pro vizuální znázornění průběhu na obrazovce počítače, které budou popsány v další části článku.

Nyní se ponoříme do technické části nastavení.

Navrhované nastavení se skládá z arduina, což je mozek našeho projektu jako obvykle, 16 x 2 LCD displej, IC 7404, 10K potenciometr a počítač, nejlépe Windows.

Arduino je mozkem nastavení a pro tento projekt musíme zvolit Arduino UNO nebo Arduino mega nebo Arduino nano, protože jiné modely nemají vestavěný převodník USB na sériový port, který je nezbytný pro komunikaci mezi Arduino a počítačem.

Pokud zvolíme jiné modely arduino desky, potřebujeme externí převodník USB na sériový port, který by mohl projekt zkomplikovat.

Ilustrace připojení LCD k Arduino:

Jednokanálový LCD displej osciloskopu

Výše uvedený okruh je samozřejmý. Podobné spojení mezi displejem a arduino najdeme i na jiných projektech založených na LCD.

10K potenciometr se používá k nastavení kontrastu 16 x 2 LCD displeje, který musí uživatel nastavit pro optimální zobrazení.

Jednokanálový osciloskop využívající Arduino

Funkce IC 7404 je eliminovat jakýkoli šumový signál ze vstupu a přiváděného na kolík vzorkování frekvence A0. IC 7404 vydává pouze obdélníkové vlny, což je pro arduino velkou výhodou, protože arduino je schopnější zpracovávat digitální signál než analogové 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-----//

Jakmile dokončíte hardwarovou část a nahrajete výše uvedený kód. Je čas vykreslit křivku na obrazovce počítače. To lze provést dvěma způsoby, nejjednodušší a nejlínější způsob je popsán níže.

Metoda 1:

• Připojte vstupní vodič k pinu č. 9 arduina (testovací režim).
• Otevřete Arduino IDE (musí to být verze 1.6.6 nebo vyšší)
• Přejděte na kartu „nástroje“ a vyberte sériový plotter

Jakmile se sériový plotter otevře, uvidíte obdélníkovou vlnu, která je generována z pinů arduina č. 9, které jsou znázorněny níže.

obdélníková vlna, která je generována z pinu č. 9 arduina

Stisknutím tlačítka zobrazíte naměřené hodnoty a také pro obnovení naměřených hodnot na LCD displeji musí být v „testovacím režimu“ zobrazeno přibližně 490 Hz.

Schéma testovacího režimu:

Testovacím režimem je kontrola správné funkce osciloskopu. Pin # 9 je naprogramován tak, aby poskytoval výstup 490 Hz.

Metoda 2:

Tato metoda je poměrně snadná, ale musíme stáhnout software z daného odkazu: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Tento software nám poskytne o něco více kontroly a funkcí ve srovnání se sériovým plotterem Arduino. Můžeme zvětšovat a zmenšovat generovaný průběh, můžeme nastavit funkčnost spouště, offsetovou kontrolu nad vertikální a horizontální osou atd.

• Stáhněte si software a extrahujte.

• Nyní dvakrát klikněte na aplikaci Serial Osciloskop.

sériový plotter Arduina

• Zobrazí se okno, jak je znázorněno níže, a vyberte přenosovou rychlost na 9600.

vyberte přenosovou rychlost na 9600.

• Nyní vyberte kartu „Sériový port“ a vyberte pravý port COM, který se může u jednotlivých počítačů lišit. Pokud vyberete správný port COM, uvidíte hodnoty, jak je znázorněno níže.

• Nyní vyberte kartu „osciloskop“ a vyberte „kanály 1, 2 a 3“ (první možnost).

Nyní vyberte záložku „osciloskop“ a vyberte „kanály 1, 2 a 3“ (první možnost). Křivka z jednokanálového osciloskopu pomocí Arduina

• Můžete vidět generovaný testovací signál z Arduina, jak je znázorněno níže.

Jak vidíte, na softwaru jsou některá ovládací tlačítka, pomocí kterých můžete lépe analyzovat průběh.

POZNÁMKA:

Navrhované nastavení má jednu hlavní nevýhodu:

Arduino nemůže zobrazit vstupní křivku na obrazovce počítače a čtení frekvence / časového období na LCD displeji současně. K překonání tohoto problému je k dispozici tlačítko pro čtení / obnovení frekvence a časového období na LCD displeji.

Jakmile stisknete tlačítko, na LCD displeji se současně zobrazí frekvence a časové období, přičemž tvar vlny na obrazovce počítače zamrzne, dokud budete držet stisknuté tlačítko.

Můžete to také považovat za výhodu, protože frekvenci na monitoru počítače můžete kdykoli zastavit, což vám dá čas analyzovat zobrazený průběh.

Autorův prototyp:

Prototypový obrázek pro obvod osciloskopu Arduino

Pokud máte další dotazy týkající se tohoto jednoduchého jednokanálového obvodu osciloskopu Arduino, můžete pro vyjádření svých konkrétních názorů použít níže uvedené pole pro komentář.




Předchozí: Arduino Frequency Meter pomocí displeje 16 × 2 Další: Obvod internetového vysílače LiFi - přenos signálu USB pomocí LED