LabVIEWForum.de - Motoransteuerung und Messungen

LabVIEWForum.de

Normale Version: Motoransteuerung und Messungen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo !
Vorab, ich bin ein echter Anfänger was LabVIEW betrifft und habe nur mit den Basics Erfahrung.
Ich habe ein Projekt am Laufen wo folgendes geschehen soll:

-Schrittmotoransteuerung (3 digitale Signale)
-Analog Output (Einstellbar von 0-5V)
-Analog Input

Hardware
Als Datenerfassungsgerät wird ein NI USB-6008 verwendet, dieser soll 2 gemessene Spannungen in einem XY-Diagramm wiedergeben, zusätzlich eine konstante Spannung von 0-5V ausgeben und 3 digitale Signale (getaktet) für den Motortreiber ausgeben.

Programm
Da ich leider keinen Ansatzpunkt habe und diverse Beiträge/Videos mir nicht weiter geholfen haben, frage ich nun euch und hoffe eine Lösung. Habe schon ein wenig mit den DAQAssistent herumexperimentiert und es geschafft eine einstellbare Spannung auszugeben. Wie das Programm ausschauen sollte:
1) Einen Start programmieren (Spannung einstellen (0-5V), nach Eingabe starten)
2) 3 digitale Signale sollen an den Motortreiber geschickt werden (PULSE, DIRECTION, ENABLE)
3) Ist der Motor an der richtigen Stelle angekommen, sollen Messungen durchgeführt werden (2 analog inputs)

Ich hoffe es halbwegs verständlich und bedanke mich jetzt schon für eure Hilfe. Bahn
Anbei noch das Diagramm für den Motortreiber.
Hallo Darktias,

herzlich willkommen im Forum!

Zitat:1) Einen Start programmieren (Spannung einstellen (0-5V), nach Eingabe starten)
2) 3 digitale Signale sollen an den Motortreiber geschickt werden (PULSE, DIRECTION, ENABLE)
3) Ist der Motor an der richtigen Stelle angekommen, sollen Messungen durchgeführt werden (2 analog inputs)
Wobei genau hapert es? Was funktioniert nicht? Welche Fehlermeldungen hast du bekommen?

Allgemeine Hinweise:
Die USB6008 kann alles, was du brauchst - aber nur sehr schlecht: gerade die DIO-Pins sind sehr langsam und nicht hardware-getaktet. Du kannst die gewünschten Pulse ausgeben, aber ungefähr 1000mal langsamer als im Bild gezeigt, d.h. ms statt µs!
Deine 3-Punkte-Liste schreit geradezu nach "Statemachine"! Schau dir die LabVIEW-Hilfe dazu an und öffne mal das Statemachine-Beispielprojekt.
Versuche die DAQAssistenten zu meiden, siehe Links in meiner Signatur. Schau dir danach die mitgelieferten BeispielVIs zu DAQmx an…
(30.03.2020 06:30 )GerdW schrieb: [ -> ]Hallo Darktias,

herzlich willkommen im Forum!

Zitat:1) Einen Start programmieren (Spannung einstellen (0-5V), nach Eingabe starten)
2) 3 digitale Signale sollen an den Motortreiber geschickt werden (PULSE, DIRECTION, ENABLE)
3) Ist der Motor an der richtigen Stelle angekommen, sollen Messungen durchgeführt werden (2 analog inputs)
Wobei genau hapert es? Was funktioniert nicht? Welche Fehlermeldungen hast du bekommen?

Allgemeine Hinweise:
Die USB6008 kann alles, was du brauchst - aber nur sehr schlecht: gerade die DIO-Pins sind sehr langsam und nicht hardware-getaktet. Du kannst die gewünschten Pulse ausgeben, aber ungefähr 1000mal langsamer als im Bild gezeigt, d.h. ms statt µs!
Deine 3-Punkte-Liste schreit geradezu nach "Statemachine"! Schau dir die LabVIEW-Hilfe dazu an und öffne mal das Statemachine-Beispielprojekt.
Versuche die DAQAssistenten zu meiden, siehe Links in meiner Signatur. Schau dir danach die mitgelieferten BeispielVIs zu DAQmx an…

Eine Spannung ausgeben und an zwei Punkten messen habe ich schon hinbekommen. Nur leider haperts mit den 3 Signalen. Verstehe nicht ganz wie ich die programmiere, damit der Motor läuft (Siehe Diagramm im Anhang).
Hallo,

Enable auf True, dann Direction nach Wunsch setzen. Dann auf dem dritten DO die Pulse ausgeben...
Referenz-URLs