Erstellen eines Einkanaloszilloskops mit Arduino

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In diesem interessanten Beitrag werden wir ein einfaches Einkanal-Oszilloskop mit Arduino und einem Personal Computer erstellen, bei dem die Wellenformen auf dem PC-Display angezeigt werden und Frequenz und Zeitraum der Eingangswellen auf dem 16 x 2-Display angezeigt werden .

Einführung

Jeder Elektronik-Enthusiast sagte einmal: „Ich habe einen Traum, eines Tages werde ich ein Oszilloskop kaufen.“ Viele träumen jedoch immer noch davon, ein anständiges Oszilloskop für ihre Projekte und Experimente zu besitzen.



Da das Oszilloskop selbst für ein Einstiegsmodell eine teure Ausrüstung ist, betrachten wir es als luxuriöses Elektronikwerkzeug und könnten unsere Experimente und Projekte zum Stillstand bringen, weil wir uns keines leisten können.

Dieses Projekt könnte für viele ein Spielveränderer sein, Elektronikbegeisterte müssen nicht viel Geld für ein Oszilloskop ausgeben, um grundlegende Parameter einer Welle zu messen.



Die vorgeschlagene Idee verfügt nur über eine sehr eingeschränkte Funktionalität. Erwarten Sie daher nicht die Funktionen eines High-End-Oszilloskop in diesem Projekt anwesend sein. Wir erhalten drei solide Funktionen aus diesem Projekt:

1) visuelle Darstellung der Wellenform auf dem Computerbildschirm

2) Frequenzmessung der Eingangswelle

3) Zeitperiodenmessung der Eingangswelle in Mikrosekunden.

Die Frequenz und der Zeitraum des Signals werden auf dem 16 x 2 LCD-Display angezeigt. Es gibt zwei Methoden zur visuellen Darstellung der Wellenform auf dem Computerbildschirm, die im späteren Teil des Artikels beschrieben werden.

Lassen Sie uns nun in den technischen Teil des Setups eintauchen.

Das vorgeschlagene Setup besteht aus Arduino, dem Gehirn unseres Projekts, einem 16 x 2 LCD-Display, einem IC 7404, einem 10K-Potentiometer und einem Computer, vorzugsweise einer Windows-Maschine.

Das Arduino ist das Gehirn des Setups und wir müssen für dieses Projekt Arduino UNO oder Arduino Mega oder Arduino Nano wählen, da andere Modelle keinen eingebauten USB-Seriell-Konverter haben, der für die Kommunikation zwischen Arduino und Computer unerlässlich ist.

Wenn wir andere Modelle von Arduino-Boards wählen, benötigen wir einen externen USB-Seriell-Konverter, was das Projekt erschweren könnte.

Abbildung der Verbindung zwischen LCD und Arduino:

Einkanal-Oszilloskop-LCD-Display

Die obige Schaltung ist selbsterklärend. Wir können eine ähnliche Verbindung zwischen dem Display und Arduino bei anderen LCD-basierten Projekten finden.

Mit dem 10K-Potentiometer wird der Kontrast des 16 x 2-LCD-Displays eingestellt, der vom Benutzer für eine optimale Sicht eingestellt werden muss.

Einkanal-Oszilloskop mit Arduino

Die Funktion des IC 7404 besteht darin, jegliches Rauschsignal vom Eingang zu eliminieren und dem Frequenzabtaststift A0 zuzuführen. Der IC 7404 gibt nur Rechteckwellen aus, was für Arduino ein großer Vorteil ist, da Arduino digitale Signale besser verarbeiten kann als analoge Signale.

Programm:

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

Sobald Sie den Hardwareteil fertiggestellt und den obigen Code hochgeladen haben. Es ist Zeit, die Wellenform auf dem Computerbildschirm zu zeichnen. Dies kann auf zwei Arten geschehen: Die einfachste und faulste Art wird unten beschrieben.

Methode 1:

• Verbinden Sie das Eingangskabel mit Pin 9 des Arduino (Testmodus).
• Öffnen Sie die Arduino IDE (es muss eine Version 1.6.6 oder höher sein).
• Gehen Sie zur Registerkarte „Werkzeuge“ und wählen Sie den seriellen Plotter aus

Sobald sich der serielle Plotter öffnet, sehen Sie die rechteckige Welle, die von Arduinos Pin Nr. 9 erzeugt wird (siehe Abbildung unten).

Rechteckwelle, die von Arduinos Pin # 9 erzeugt wird

Drücken Sie den Druckknopf, um die Messwerte anzuzeigen, und um die Messwerte auf dem LCD-Display zu aktualisieren, muss im „Testmodus“ etwa 490 Hz angezeigt werden.

Schema des Testmodus:

Der Testmodus dient zur Überprüfung der ordnungsgemäßen Funktion des Oszilloskops. Der Pin Nr. 9 ist so programmiert, dass er eine 490-Hz-Ausgabe liefert.

Methode 2:

Diese Methode ist relativ einfach, aber wir müssen Software von dem angegebenen Link herunterladen: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Diese Software bietet uns im Vergleich zum seriellen Plotter von arduino wenig mehr Kontrolle und Funktionen. Wir können die erzeugte Wellenform vergrößern und verkleinern, die Triggerfunktionalität einstellen, die Steuerung über die vertikale und horizontale Achse versetzen usw.

• Laden Sie die Software herunter und extrahieren Sie sie.

• Doppelklicken Sie nun auf die Anwendung Serial Oscilloscope.

Arduinos serieller Plotter

• Ein Fenster wird wie unten dargestellt geöffnet und die Baudrate auf 9600 eingestellt.

Wählen Sie die Baudrate auf 9600.

• Wählen Sie nun die Registerkarte „Serieller Anschluss“ und den richtigen COM-Anschluss, der von Computer zu Computer variieren kann. Wenn Sie den richtigen COM-Anschluss auswählen, werden die unten gezeigten Messwerte angezeigt.

• Wählen Sie nun die Registerkarte „Oszilloskop“ und dann „Kanäle 1, 2 und 3“ (erste Option).

Wählen Sie nun die Registerkarte „Oszilloskop“ und dann „Kanäle 1, 2 und 3“ (erste Option). Wellenform vom Einkanal-Oszilloskop mit Arduino

• Sie können das von Arduino generierte Testsignal wie unten dargestellt sehen.

Wie Sie sehen, gibt es in der Software einige Steuertasten, mit denen Sie die Wellenform besser analysieren können.

HINWEIS:

Der vorgeschlagene Aufbau hat einen Hauptnachteil:

Der Arduino kann die Eingangswellenform nicht gleichzeitig auf dem Computerbildschirm und die Frequenz- / Zeitdaueranzeige auf dem LCD-Display anzeigen. Um dieses Problem zu beheben, wird ein Druckknopf zum Lesen / Aktualisieren der Frequenz und des Zeitraums auf dem LCD-Display bereitgestellt.

Sobald Sie die Taste drücken, werden Frequenz und Zeitraum auf dem LCD-Display angezeigt. Gleichzeitig friert die Wellenform auf dem Computerbildschirm ein, solange Sie die Taste gedrückt halten.

Sie können dies auch als Vorteil betrachten, da Sie die Frequenz auf dem Computermonitor jederzeit stoppen können und dies Ihnen Zeit gibt, die angezeigte Wellenform zu analysieren.

Prototyp des Autors:

Prototyp-Bild für Arduino-Oszilloskopschaltung

Wenn Sie weitere Fragen zu dieser einfachen einkanaligen Arduino-Oszilloskopschaltung haben, können Sie das unten stehende Kommentarfeld verwenden, um Ihre spezifischen Ansichten auszudrücken




Zurück: Arduino-Frequenzmesser mit 16 × 2-Anzeige Weiter: LiFi-Internet-Senderschaltung - USB-Signalübertragung über LED