INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

4 Schrittmotore einzeln ansteuern mit USB-6229



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!

06.05.2010, 21:44
Beitrag #1

Surfcony Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2010

2009
2010
en


Deutschland
4 Schrittmotore einzeln ansteuern mit USB-6229
Hallo liebes LabVIEWforum,


als LabVIEW Anfänger beschäftige ich mich nun schon seit einigen Wochen damit, 4 Schrittmotore gleichzeitig mittels eines LabVIEW-Vis anzusteuern. Jeder Motor hängt an einer Schrittmotorendstufe (SMC11 von Nanotec), die wiederum einzeln die Signale für Takt, Richtung, An-Aus etc. empfängt.
Diese Signale sollen mit einer NI USB-6229 und LabVIEW 2009 erzeugt werden. Am geeignetsten wären dabei die digitalen Signale (TTL), da hier die ausgegebenen Spannungen mit den zu empfangen Schaltsignalen der Schrittmotorendstufen übereinstimmen.
Die einfachen Schalter für Richtung, An-Aus habe ich recht schnell realisiert bekommen, das läuft soweit. Beim Taktsignal für die Motoren beiße ich mir aber die Zähne ausAngry. Es muss ein einfaches Rechtecksignal sein, der kleine Wert 0V, der große 5V.

Laut meinen Recherchen im Internet und auch hier im Forum ist eine Softwareschleife zur Taktgenerierung in LabVIEW nur bis 1000Hz geeignet und auch recht ungenau bzw. rechnerabhängig. Eine solche Schleife für die 4 Motoren habe ich als Notlösung in Form einer timed-loop.

Besser wäre jedoch eine countergestütze Taktgenerierung. Das versuche ich nun schon seit einiger Zeit hinzubekommen, bin bisher aber gescheitert. Die Anforderungen sind wie folgt:
- Die Anzahl der Takte soll für jeden der vier Motore einzeln bestimmbar sein
- Ausgabe der Takte an 4 verschiedene Digitalausgänge auf der Karte (müssen aber nicht zwingend die digitalen sein, wem was mit den 4 vorhandenen Analogausgängen einfällt, immer her damitWink)
- Die Frequenz/Geschwindigkeit der Takte kann für alle 4 gleich sein

Für einen einzelnen Motor habe ich das (Ausgang festlegen, Pulszahl und Frequenz festlegen) anhand der Beispiele hier im Forum bzw. im Examplefinder durchaus geschafft, siehe Anhang. Mein Problem ist den Code auf 4 Motore / 4 Ausgänge zu erweitern:
- Kopiere ich den Programmablauf mehrmals in dasselbe VI (ausgehend von einem Counter) sind die Resourcen belegt (DAQmx Start Task wird mehrmals parallel ausgeführt)
- Lasse ich über die DAQmx Channel Property Node auf mehrere Ausgangsterminals schreiben, wird dort jeweils dieselbe Anzahl von Pulsen ausgegeben. Die Anzahl der Pulse kann ich nur für alle 4 gleichzeitig ändern.
- Einfügen einer DAQmx Timing Node hinter der Channel Property Node führte leider auch nicht zum Erfolg, da hier anscheinend nur der gesamte Channel beeinflusst wird und nicht die vorher definierten Ausgangsterminals einzeln.

Gibt es irgendwie eine Möglichkeit mit der USB-6229 die 4 Digitalausgänge einzeln coutergestützt mit Pulsen zu versorgen und die jeweilige Pulsanzahl der vier Kanäle getrennt voneinander festzulegen?
Kann man eventuell die DAQmx Channel Property Node irgendwie mit der DAQmx Timing Node verknüpfen und die Pulszahl für jeden Ausgangsterminal einzeln festlegen? Vielleicht fällt einem von euch ja etwas dazu ein.

Ich würde mich riesig freuen wenn´s da ´ne Lösung gäbe, auf die ich bisher nicht gestoßen bin. Danke im voraus für Eure Antworten.

Mit freundliche Grüßen
Cony

Lv09_img2


Angehängte Datei(en)
Sonstige .vi  Pulsfolge_mit_Umleitung.vi (Größe: 22,28 KB / Downloads: 271)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.05.2010, 07:30
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
4 Schrittmotore einzeln ansteuern mit USB-6229
Die SMC-11 ist doch keine Schrittmotorsteuerung, auch wenn sie mit einer solchen Bezeichnung daherkommt, sondern nur eine Schrittmotor-Endstufe. Was Du da an Aufwand für die Programmierung hineinstecken wirst, ist ein Vielfachse dessen, als wenn Du ein intelligenteres Teil mit RS485-Schnittstelle nehmen würdest. Z.B. die SMC147-S von Nanotec. Man spart sich dann auch die NI-Karte, und wenn Du Glück hast, hat der Hersteller sogar die fertigen LabVIEW-Treiber. (Ich würde mir die Steuerung danach aussuchen) Die Steuerungen mit RS485 sind busfähig. Es gibt auch Steuerungen für mehrere Achsen in einer Einheit.

Also für mich ist das ganze Konzept ein Holzweg. Diese vermeintliche Billiglösung ist die teuerste und langwierigste Variante.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
07.05.2010, 08:40
Beitrag #3

gottfried Offline
LVF-Guru
*****


Beiträge: 1.735
Registriert seit: Mar 2007

2019
2004
EN

20**
Oesterreich
4 Schrittmotore einzeln ansteuern mit USB-6229
Hallo,

bin der selben Meinung.
>die SMC147-S von Nanotec.
ist wirklich gut. Die Doku benötigt aber doch wirkliches Studium wenn man so etwas das erste Mal macht. Die dazu gelieferten LV Beispiele sind sehr schwach

Gottfried

mein wöchentlicher (eigenwilliger) Beitrag zur Innovation
http://innovation1.wordpress.com/
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.05.2010, 13:29
Beitrag #4

Surfcony Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2010

2009
2010
en


Deutschland
4 Schrittmotore einzeln ansteuern mit USB-6229
Hallo Lucki,
Hallo Gottfried,

erst mal danke für Eure Einschätzung.
Leider habe ich die Hardware bereits hier und muss nun zusehen wie ich damit klarkomme. Momentan kommt daher ein Neukauf einer "richtigen" Schrittmotorsteuerung nicht in Frage.
Wenn ich das richtig bei Nanotec überflogen habe bräuchte ich ja pro Motor eine Steuerung, das sprengt bei ~199€ pro Stück auch bei weitem das Budget.

Im Prinzip habe ich in LabVIEW auch schon alles so wie ich das wollte, nur dass ich eben nur einen Motor ansteuern kann. Ich suche ja nur nach einem Trick, das Vorhandene auf alle vier Motore zu erweitern. Aber anscheinend ist das nicht so trivial und ich muss mich mit der Software-Schleife begnügen.

Mit freundlichen Grüßen
Cony
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.05.2010, 20:14
Beitrag #5

Surfcony Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: May 2010

2009
2010
en


Deutschland
4 Schrittmotore einzeln ansteuern mit USB-6229
Hallo zusammen,


diese Woche habe ich probehalber alles mal angeschlossen. In der Realität (nach Anschluss der Motore an die Hardware) lief leider die Software-Schleife auch nicht, nach kurzer Zeit war der Rechner zu 100% ausgelastet und nichts ging mehr. Ich hatte mich schon fast damit abgefunden, dass es gar nicht geht mit der vorhandenen Hardware.

Dann habe ich nochmal bei Null angefangen und bin eher durch Zufall auf eine laufende Lösung gestoßen, mit der ich alles erreicht habe was ich wollte.Prost
Das ganze verzichtet auf die "DAQmx Start Task", die ja (meiner Erfahrung nach) nicht mehrmals parallel gestartet werden kann. Prinzipiell schreibe ich eine digitale Waveform auf einen vorher festzulegenden Digitalausgang. Den Wechsel zwischen 5V und 0V erzeuge ich mit einem digitalen Toggle Signal, bei dem die Anzahl der Wechsel einstellbar ist. Das ganze 4 mal kopiert, die anderen Schalter dazu und es läuft Tongue
Die Motoren sind nun alle einzeln verfahrbar, der Weg, die Richtung, die Stromabsenkung kann individuell für jeden Motor eingestellt werden. Genau das was ich wollte.


Mit freundlichen Grüßen
Cony
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Falscher Analogwert bei Wechsel von PCI-6229 auf USB-6343 X19CrEaTiVe68X 13 10.424 15.03.2021 15:18
Letzter Beitrag: X19CrEaTiVe68X
  Spannungsbereich von Messkarte NI-6229 Christoph1993 1 3.106 03.07.2019 09:37
Letzter Beitrag: jg
  Quadratur Encoder: Counter Werte einzeln auslesen? Daniel_S 6 8.037 23.03.2015 10:26
Letzter Beitrag: Daniel_S
  PCI 6229 Ausgänge nicht auf 0V machfax 4 5.595 22.11.2013 09:54
Letzter Beitrag: machfax
  PXI 6229 Temperaturerfassung Börny 7 7.737 31.08.2011 10:51
Letzter Beitrag: Mingo
  Analog Input , DAQmx, PCI 6229 Lukas Bauer 7 9.155 25.02.2011 09:37
Letzter Beitrag: GerdW

Gehe zu: