LabVIEWForum.de - PWM Signal, Servo, DAQ 6216

LabVIEWForum.de

Normale Version: PWM Signal, Servo, DAQ 6216
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo

Mit einem Digitalen Ausgang meiner DAQ 6216 möchte ich ein Servo steuern. Ein passendes PWM Signal habe ich auch schon erzeugt.
Jetzt wollte ich jedoch meinen Servo anschließen, nur leider bewegt er sich nicht. Höhre aber, das etwas in ihm "arbeitet".
Hat jemand eine Idee?
Den Digitalen Ausgang musste ich nehmen, da meine Counter schon für eine Impulszählung verplant sind.

Vielen Dank schon mal.
Wie hast du das PWM Signal am DO erzeugt?

Dir ist hoffentlich bekannt, dass du mit einer 6216 die DIOs nur mit Software-Taktung lesen und setzen kannst.

Theoretisch hast du somit eine Genauigkeit von 1 ms, in Realität deutlich weniger.

Gruß, Jens
Nein das war mir noch nicht klar. Ist das bei der DAQ 6215 genau das selbe?
so hier dann noch meine VI wie sie in der Klasse eingebunden ist.
Ja, ist für eine 6215 genau dasselbe, vgl. Specs auf ni.com.

Meine Aussage mit der minimalen Auflösung von 1 ms ist übrigens sofort aus deinem Sourcecode ersichtlich. Beachte dabei den roten Coercion-Dot beim "Wait (ms)". Das muss das Alarm-Zeichen für dich sein.

Gruß, Jens
ok. Dachte mir das der Punkt was zu bedeuten hat.
Hab dann wohl keine Chance ein PWM mit der DAQ zu erzeugen. oder kennst du eine andere Lösungsmöglichkeit??
Hallo Tobias,

du kannst schon eine PWM erzeugen, nur darfst du die Anforderungen an Frequenz/Dutycycle nicht so hoch schrauben… Big Grin

Ist der Aufwand, den du dort mit deinem boolschen Array betreibst, wirklich gerechtfertigt?
Da wird ein Array mit genau einem Element initialisiert, durch zwei Schieberegister geschoben, und es wird jeweils das erste (und einzige) Element ersetzt!
Warum nicht einfach das Ergebnis der Vergleichsoperation über ein BuildArray an DAQmxWrite anschließen?

Noch mehr Rube-Goldberg:
- 1/x gibt es als fertige Reziprok-Funktion…
- Die Mehrfacharithmetik kann auch verODERn und dabei gleich den ErrorCluster entgegennehmen…
- Warum muss in jeder Iteration erneut Periodenlänge und Dutycycle berechnet werden?
- Wann tritt in einer FOR-Loop der Fall ein, dass der Loop-Iterator i größer/gleich als der an N angeschlossene Wert wird? Wozu dieser Vergleich?
na klar kann man immer was vereinfachen, ich war jedoch schon froh als ich gesehen hab das es sich um ein PWM Signal handelt.
Werde dan wohl auf meine Arduino ausweichen und die mit LabView steuern. Mit der habe ich den Servo schon betrieben.

Vielen dank für die schnellen Antworten
Du hast noch zwei AO auf der Karte, aber ob die so geeignet sind für ein sauberes PWM, das steht auf einer anderen Karte.

Gruß, Jens
Referenz-URLs