Puls generieren und an einen digitalen Ausgang schicken
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Puls generieren und an einen digitalen Ausgang schicken
<div align="left">Hallo!
Ich habe leider noch nicht sehr viel Erfahrung mit LabVIEW und versuche über einen digitalen Ausgang meiner NI-Card, einen rechteckimpuls rauszuschicken um dabei meinen Motor ansteuern zu können.
Puls generieren und an einen digitalen Ausgang schicken
Hallo Jolly,
mein Vorschlag, verwende eine Whileschleife mit einem Schieberegister.
Die Schleife kannst Du dann mit einer Verzögerungszeit "takten".
Das Schieberegister initialisierst Du mit einer boolschen Konstante.
Innerhalb der Schleife überprüfst Du den Wert des Schieberegisters und änderst es von True nach False und umgekehrt.
Den boolschen Wert kannst Du dann mit dem VI "DAQmx schreiben" dann auf einen digitalen Ausgang schreiben.
Den Ausgang solltest Du zuvor im Max (Measuremnet & Automation Explorer) definieren.
Puls generieren und an einen digitalen Ausgang schicken
' schrieb:Hallo Jolly,
mein Vorschlag, verwende eine Whileschleife mit einem Schieberegister.
Die Schleife kannst Du dann mit einer Verzögerungszeit "takten".
Das Schieberegister initialisierst Du mit einer boolschen Konstante.
Innerhalb der Schleife überprüfst Du den Wert des Schieberegisters und änderst es von True nach False und umgekehrt.
Den boolschen Wert kannst Du dann mit dem VI "DAQmx schreiben" dann auf einen digitalen Ausgang schreiben.
Den Ausgang solltest Du zuvor im Max (Measuremnet & Automation Explorer) definieren.
Puls generieren und an einen digitalen Ausgang schicken
' schrieb:<div align="left">Morgen,
danke für die hilfreichen Beiträge. Ich habe das VI gleich ausprobiert, bekomme aber leider einen Fehler:
[attachment=28661:attachment]
Ich habe auch schon alle möglichen Optionen für Sample Timing ausprobiert und bekomme immer einen Fehler.
Kann es sein, dass meine Karte zu langsam ist?
Lg Peter
NI-CARD:
PCI-6024E</div>
<div align="left">sorry, das war der ursprüngliche Fehler:</div>
[attachment=28662:attachment]
jau, das trifft zu
das Beispiel ist für eine M-Serie programmiert, die eine Ausgabe-Rate von bis zu einem MHz packt. Mann kann es aber auch für die E-Serie verwenden, wenn man das Timing entsprechend anpasst. Wenn ich mich recht entsinne hab ich den Rechen-Weg, wie man das Timing berechnet - für meine Verhältnisse - recht gut dokumentiert, es sollte also nur eine Rechenaufgabe sein ...
ach ja, und das Handbuch für deine Karte solltest du auch lesen, damit du weisst, welche maximale Sample-Rate die DIOs unterstützen.
TIP: auf http://www.ni.com oben rechts in dem "Search"-Textfeld z.B. pci 6036E eingeben, und man kommt direkt zu der Seite mit der Beschreibung der Karte, dort auf "Drivers and Specs" klicken, und das Handbuch als PDF runterladen. Die von dir benötigten Angaben finden sich immer ganz hintem auf den letzten Seiten unter "Hardware Specs" ...
Puls generieren und an einen digitalen Ausgang schicken
Was soll denn das für ein Typ von Motor sein, der ein "Rechtecksignal veränderlicher Frequnenz" bzw. ein "PWM-Signal" (mit nicht veränderlicher Frequenz, so das Beispiel) braucht? Falls ein Schrittmotor angesteuert werden soll: Brauchte man dann nicht statt eines Rechtecksignale mit oder ohne PWM zwei um 90° phasenversetzte Rechtecksignale veränderlicher Frequenz mit 50% Tastverhältnis?
Um qualifiziert helfen zu können, wäre es auch hilfreich, etwas über den zu überstreichenden Frequenzbereich zu wissen.
Puls generieren und an einen digitalen Ausgang schicken
Hallo, nach langer zeit wieder
ich bin jetzt mit der timed loop recht weit gekommen, in dem ich das attribut period auf 0 gesetzt habe und immer eine boolsche variable genommen habe, die ihren zustand ändert, habe ich ein signal von genau 20 kHz erreicht. diese frequenz ist für den motor zu hoch. der bereich beträgt 200 - ca 3500 Hz. Deshalb habe ich versucht in der schleife nur jedes 20. mal den zustand zu ändern..... aber das ganze kommt mir sehr umständlich vor!
müsste es nicht so auch funktionieren (siehe Anhang)
Liebe Grüße Peter
Der Motor ist ein 24V Gleichstrom-Schrittmotor. Die Motorsteuerkarte wird mit den obigen Frequenzen angesteuert!
Puls generieren und an einen digitalen Ausgang schicken
<div align="left">Hallo!
Mittlerweile bin ich schon recht verzweifelt. Die Samples die unter "pulse" zu finden sind, funktionieren nicht und ich komme einfach nicht drauf wie ich einen einfachen rechteck impuls, der im bereich 200 - 4000 Hz regulierbar ist rausschicken kann!