07.08.2015, 23:02
(Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2015 23:10 von Felix777.)
Beitrag #1
|
Felix777
LVF-Gelegenheitsschreiber
Beiträge: 50
Registriert seit: Mar 2015
2012
2011
DE
|
Erzeugung der Pulse mit NI USB 6002(DAQmx)
Hallo zusammen,
wie könnte ich mit der NI USB 6002 Karte an den digitalen Ausgängen PWM-Pulse für einen Servo-Motor generieren? Eine Lösung für analoge Ausgänge habe ich gefunden:
http://www.ces.karlsruhe.de/culm/culm/cu.../servo.pdf
Bei der Lösung wird eine Basic Finction Generator.vi verwendet. Die Lösung passt mir aber nicht ganz, weil meine Karte nur 2 analoge Ausgänge hat und ich brauche 7 Servos anzusteuern. Deswegen möchte dafür digitale Ausgänge verwenden.
Ich dachte, dass man für digitale Ausgänge auch eine Signalform erzeugen und an DAQmx Write Digital Output .vi übergeben könnte. Bei digitalen Ausgängen funktioniert es aber so nicht. (
Fast alle Beispiele im Netz verwenden für die Puls Erzeugung einen Clock oder Timebase.
Die Karte hat folgende Daten:
COUNTER
Number of counters 1
Resolution 32-bit
Counter measurements Edge counting, rising or falling
Counter direction: Count up
Counter source PFI 0 or PFI 1
Maximum input frequency 5 MHz
Minimum high pulse width 100 ns
Minimum low pulse width 100 ns
TIMEBASE
Timebase frequency 80 MHz
Timebase accuracy ±100 ppm
Timing resolution 12.5 ns
Was und wie kann ich für die Puls-Erzeugung verwenden? Würde dafür Timebase passen oder brauche ich einen externen Counter?
|
|
|
08.08.2015, 08:33
Beitrag #2
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Erzeugung der Pulse mit NI USB 6002(DAQmx)
Lies dir die Specs deiner Karte durch, z.B. hier und dann unter "Spezifikationen":
Deine DOs kannst du nur mit Softwaretakt schalten (also immer nur 1 Wert aus deinem Programm heraus), und der Counter dieser Karte kann auch keine Pulserzeugung.
Diese Karte ist zur Erzeugung von vielen PWM-Signalen einfach nicht geeignet.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
08.08.2015, 09:42
(Dieser Beitrag wurde zuletzt bearbeitet: 08.08.2015 10:14 von Felix777.)
Beitrag #3
|
Felix777
LVF-Gelegenheitsschreiber
Beiträge: 50
Registriert seit: Mar 2015
2012
2011
DE
|
RE: Erzeugung der Pulse mit NI USB 6002(DAQmx)
(08.08.2015 08:33 )jg schrieb: Diese Karte ist zur Erzeugung von vielen PWM-Signalen einfach nicht geeignet.
Das ist mir schon längst klar, nur leider momentan habe ich keine andere Wahl. Ich MUSS mit dieser Karte "tricksen".
(08.08.2015 08:33 )jg schrieb: Deine DOs kannst du nur mit Softwaretakt schalten (also immer nur 1 Wert aus deinem Programm heraus), und der Counter dieser Karte kann auch keine Pulserzeugung.
Wäre es möglich einen externen Counter anzuschließen und über diesen einen Counter alle digitale Outputs steuern?
Ich würde mich sehr freuen, wenn ihr mir bei zwei Punkten helfen könnt:
1) Wie kann man die Karte ergänzen(externer Counter oder so), damit die eigener Masen irgendwie funktioniert.
2) Welche andere minimale Lösung bzw. Karte würde passen, damit es wirklich gute PWM-Pulse erzeugen kann. Also, die Gesamtpulsbreite(high und low) ist 20 ms , die high Pulse sind: 0,5 ms (rückwärts Fahren), 2,4 ms (vorwärts Fahren), 1,5 ms (stehen bleiben).
So wie ich verstehe, ich bräuchte eine Karte mit einem schnellen Counter auf dem Board.
Ich möchte mich entschuldigen, ich weiß, dass manche meine fragen zu doof sind Ich habe aber leider nicht so viele Erfahrungen mit NI Hardware.
Danke im Voraus für eure Hilfe.
|
|
|
10.08.2015, 08:31
(Dieser Beitrag wurde zuletzt bearbeitet: 10.08.2015 09:14 von GerdW.)
Beitrag #4
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Erzeugung der Pulse mit NI USB 6002(DAQmx)
Hallo Felix,
Zitat:Ich MUSS mit dieser Karte "tricksen".
Deine Arbeitszeit scheint sehr preiswert zu sein: Was du an Aufwand reinsteckst, wäre in einer "normalen" Firma kaum möglich/sinnvoll…
Zitat:1) Wie kann man die Karte ergänzen(externer Counter oder so), damit die eigener Masen irgendwie funktioniert.
Man kann ein externes Gerät verwenden, welches vernünftig PWM-Signale ausgeben kann. Ich verwende gern die Boxen der Firma MicroControl! (Die verlangen aber eine CAN(open)-Anbindung…)
Wahrscheinlich gibt es aber auch Geräte, die sich per RS232 oder LAN ansteuern lassen!
Alternative: 3 weitere USB6002 mit zusammen 6 AOs…
Zitat:Also, die Gesamtpulsbreite(high und low) ist 20 ms , die high Pulse sind: 0,5 ms (rückwärts Fahren), 2,4 ms (vorwärts Fahren), 1,5 ms (stehen bleiben).
Du brauchst also 50Hz Grundfrequenz mit einer Einstellgenauigkeit von 0.1ms=10kHz oder 0.5% der Grundfrequenz. Die MicroControl-Boxen können das, deine USB6002 nicht!
Zitat:Ich habe aber leider nicht so viele Erfahrungen mit NI Hardware.
Dann ruft man in München an und lässt sich beraten…
|
|
|
10.08.2015, 09:04
Beitrag #5
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Erzeugung der Pulse mit NI USB 6002(DAQmx)
(10.08.2015 08:31 )GerdW schrieb: Zitat:Also, die Gesamtpulsbreite(high und low) ist 20 ms , die high Pulse sind: 0,5 ms (rückwärts Fahren), 2,4 ms (vorwärts Fahren), 1,5 ms (stehen bleiben).
Du brauchst also 50Hz Grundfrequenz mit einer Einstellgenauigkeit von 0.1ms=10kHz oder 0.5% der Grundfrequenz. Die MicroControl-Boxen können das, deine USB6002 nicht!
Das wären nur 19 Schritte - so ein Servo kann doch mehr.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
10.08.2015, 09:12
Beitrag #6
|
GerdW
______________
Beiträge: 17.480
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Erzeugung der Pulse mit NI USB 6002(DAQmx)
Hallo Jens,
wo sind da "nur 19 Schritte"?
Der OP will ein 50Hz-PWM-Signal mit einem Duty von entweder 2.5%=rückwärts, 7.5%=stehen oder 12.0%=vorwärts ausgeben. Also muss er das Duty in 0.5%-Schritten einstellen können: das entspricht einer zeitlichen Auflösung von 0.1ms.
So interpretiere ich jedenfalls die doch sehr exakt wirkende Anforderung…
|
|
|
10.08.2015, 09:46
Beitrag #7
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Erzeugung der Pulse mit NI USB 6002(DAQmx)
Beim PDF-Link geht es doch um Modellbau-Servos. Die Länge des HIGH-Signals entspricht dann einer Position des Servos. Bei 0,1 ms Auflösung und Signallängen von 0,5-2,4 ms entspricht das (ok, Denkfehler) 20 Positionen. Falls wirklich nur exakt die angesprochenen 3 Werte angesteuert werden müssen, dann hast du Recht, aber die Erfahrung besagt etwas anderes. Darauf wollte ich nur hinweisen.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
10.08.2015, 20:15
Beitrag #8
|
|
|
10.08.2015, 20:31
Beitrag #9
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Erzeugung der Pulse mit NI USB 6002(DAQmx)
Was hast du (vor allem) wie getestet?
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
10.08.2015, 20:59
|
Felix777
LVF-Gelegenheitsschreiber
Beiträge: 50
Registriert seit: Mar 2015
2012
2011
DE
|
RE: Erzeugung der Pulse mit NI USB 6002(DAQmx)
(10.08.2015 09:46 )jg schrieb:
Beim PDF-Link geht es doch um Modellbau-Servos. Die Länge des HIGH-Signals entspricht dann einer Position des Servos. Bei 0,1 ms Auflösung und Signallängen von 0,5-2,4 ms entspricht das (ok, Denkfehler) 20 Positionen.
Bei 2,4 ms bleibt der Servo stehen, bei 1,5 ms (stehen bleiben, laut Definition), bei 0,6 ms hat der Servo Problemen und knistert.
|
|
|
| |