Hey! Sie scheinen aus United States zu kommen, möchten Sie auf die Englisch Webseite wechseln?
Switch to Englisch site
Skip to main content

Wie man das Analog Discovery 2 zum Debuggen verschiedener Motortreiber nutzt

In diesem Projekt wird gezeigt, wie ein in C programmierter, automatischer Prüftest erstellt und ausgeführt wird, um einen H-Bridge DC-Motortreiber und eine Schrittmotorsteuerung mit dem Digilent Analog Discovery 2 Logik-Analysator, statischem E/A, Voltmeter und Mustergenerator zu debuggen.

Digilent Analog Discovery 2

Das Digilent Analog Discovery 2 (134-6480) ist USB-Oszilloskop, Logik-Analysator und Multifunktionsgerät in einem und erlaubt es dem Anwender, Mixed-Signal-Schaltkreise aller Art zu messen, zu visualisieren, zu generieren, aufzuzeichnen und zu steuern. Das Analog Discovery 2 wird von der kostenlosen WaveForms-Software betrieben und kann so konfiguriert werden, dass seine Funktionen als eines von mehreren traditionellen Test- und Messinstrumenten genutzt werden können, darunter als Oszilloskop, Wellenformgenerator, zur Stromversorgung, als Voltmeter, Datenlogger, Logik-Analysator, Mustergenerator, statischer E/A, Spektrum-Analysator, Netzwerk-Analysator, Impedanz-Analysator und Protokoll-Analysator.

WaveForms ist die kostenlose Software-Applikation für das Analog Discovery 2 und ermöglicht den Einsatz aller Analog Discovery 2-Instrumente, darunter Oszilloskop, Logik-Analysator und Funktionsgenerator. WaveForms SDK (Software Development Kit) enthält Programm-Bibliotheken und Beispiele, um eigene Anwendungen in C, Python und weiteren Programmiersprachen zu schreiben.

Wir wollen einen H-Bridge DC-Motortreiber und einen Schrittmotortreiber debuggen, die von einem Arduino UNO mit Analog Discovery 2 gesteuert werden. Zwei Potentiometer werden verwendet, um die Geschwindigkeit des DC-Motors und die Position des Schrittmotors einzustellen. Ein Hall-Effekt-Sensor sendet nach jeder halben Umdrehung des DC-Motors ein Interruptsignal an die MCU, wobei die Rotationsrichtung verändert wird. Wir lesen die Spannung an den Potentiometern ab.  Beide Treiber sollten getestet werden, indem digitale Steuersignale an die Treiber gesendet werden, während die MCU deaktiviert ist. Nach dem Aktivieren der MCU führen wir die Messung durch.

Wiring setup

Eine automatisierte Test-Applikation erstellen

Als erstes erstellen wir die Header-Datei (AD2_motor_debugger.h), um die folgenden Funktionen zu delegieren und zu definieren. Wir binden auch die DWF-Bibliothek (dwf.h) und andere standardmäßig verwendete C-Bibliotheken in die Header-Datei ein.

  1. 1. Analog Discovery 2 initialisieren
    2. Analog Discovery 2 Instrumente zurücksetzen
    3. Schreiben Sie einen Wert in die digitalen E/A-Pins (für statische E/A)
    4. Spannung von einem analogen Eingang ablesen (für Voltmeter)
    5. Zwei Treiber verwenden (für Mustergenerator)
    6. Digitale Signale aufzeichnen (für Logik-Analysator)
    7. Datenspeicherung in .csv

Die Hauptquelldatei (main.c), die als sogenannter Wrapper dient, definiert die Struktur des Projekts sowie zwei Skripte zur Darstellung der aufgezeichneten Daten, wovon eines in Python und eines in MATLAB geschrieben ist.

Wir definieren die Verbindungen und schließen das Analog Discovery 2 am Ausgangspunkt der Hauptquelldatei an. Um die Motortreiber zu testen, muss der Arduino Uno ausgeschaltet werden, indem sein RESET-Pin auf Low gesetzt wird. Danach können die Spannungen an den Potentiometern ausgelesen werden, und mit den Funktionen digital_write() und PWM-Generierung können beide Motoren mit unterschiedlichen Geschwindigkeiten in beide Richtungen getestet werden.

Um die vom Arduino ausgehenden Signale aufzuzeichnen, muss dieser eingeschaltet werden, indem der RESET-Pin auf Logic High gesetzt wird. Wir vergeben Speicherplatz für die Anzahl der Probenwerte (data_size) und Puffergröße (digital_data). Nach der Erfassung sollten die Daten auf Verlust/ Beschädigung überprüft werden.
Die Ergebnisse des Prüftests werden, gemeinsam mit Meldungen über den derzeitigen Betriebsstatus, im Konsolenfenster angezeigt.

Darstellung der Daten in MATLAB oder Python

Die Messdaten können in eine Datei exportiert und durch Ausführen des MATLAB-Skripts plotting.m oder des Python-Programms plotting.py dargestellt werden.

Visualize the data in MATLAB or Python - Graph 1

Visualize the data in MATLAB or Python - Graph 2

Auf der Referenzseite von Digilent können Sie die komplette Anleitung lesen und sich alle Quelldateien herunterladen.

awong hat noch keine Biografie verfasst...
DesignSpark Electrical Logolinkedin