!!

Willkommen Besucher...

...um das das LabVIEWForum.de als Benutzer in vollem Umfang nutzen zu können, ist eine kostenlose Registrierung nötig...
Registrierte Benutzer können Beiträge schreiben, Dateien uploaden, Beiträge lesen :) uvm.


Antwort schreiben 
erste Schritte - Schrittmotorsteuerung
25.04.2007, 07:03
Beitrag #1

bubi Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2007

LV-Version: 8.2
LV-Erfahrung seit: 2007
LV-Sprachversion: kA


Land: United States
erste Schritte - Schrittmotorsteuerung
Hallo,

mal der erste Beitrag in dieser Rubrick.

Also ich soll einen Schrittmotor steuern. Mit dem Schrittmotor wird eine Probe auf Zug beansprucht. Die Kraft soll z.B. konstant gehalten werden. Es soll praktisch eingestellt werden können: 300N, und der Motor soll dann dementsprechend verfahren und diese Kraft konstant halten.

Hat jemand eine Idee wie man das umsetzen sollte?

Habe ein wenig mit dem Motion Assistant herum gespielt. Kann mir jemand erklären wozu man den reference move braucht und was ich dort eisntellen muss?

Bin für jede Antwort mehr als dankbar,
Robin

seize the day-or tomorrow you maybe dead
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
. .
25.04.2007, 07:20
Beitrag #2

VDB Offline
LVF-Stammgast
***


Beiträge: 408
Registriert seit: Oct 2005

LV-Version: 2010-2011
LV-Erfahrung seit: 1997
LV-Sprachversion: kA

PLZ: 52134
Land: Deutschland
erste Schritte - Schrittmotorsteuerung
' schrieb:Hallo,

mal der erste Beitrag in dieser Rubrick.

Also ich soll einen Schrittmotor steuern. Mit dem Schrittmotor wird eine Probe auf Zug beansprucht. Die Kraft soll z.B. konstant gehalten werden. Es soll praktisch eingestellt werden können: 300N, und der Motor soll dann dementsprechend verfahren und diese Kraft konstant halten.

Hat jemand eine Idee wie man das umsetzen sollte?

Habe ein wenig mit dem Motion Assistant herum gespielt. Kann mir jemand erklären wozu man den reference move braucht und was ich dort eisntellen muss?

Bin für jede Antwort mehr als dankbar,
Robin

Ein Reference Move wird benutzt um den Motor in einer festen, bekannten Position zu fahren, zu referenzieren halt. Dazu hat der Motor oder Getriebe usw. meistens einen Schalter/Sensor der die Nullstellung angibt.

VDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.04.2007, 08:44 (Dieser Beitrag wurde zuletzt bearbeitet: 25.04.2007 15:22 von Lucki.)
Beitrag #3

Lucki Offline
Guru-Simulator
LVF-Team

Beiträge: 5.534
Registriert seit: Mar 2006

LV-Version: ..2011prof.ohne Addons
LV-Erfahrung seit: 1995
LV-Sprachversion: DE

PLZ: 01108
Land: Deutschland
erste Schritte - Schrittmotorsteuerung
Ich habe mehrere Schrittmotorsteuerungen realisiert und erst kürzlich eine NI-Veranstaltung besucht. Mein Fazit (wohlgemerkt - nicht das von NI): Für 99% aller Aufgabenstellungen braucht man das LabVIEW Motion-Zusatzmodul nicht. Es ist total abschreckend, bis zu welchem Grade ein einfaches Problem, also z.B. eine Bewegung von A nach B mit rampenförmigen Geschwindigkeitsverlauf, mit dem Zusatzmodul aufgebläht wird.

Es ist ja so, daß die Herstellerfirmen selbst Programme, im Idealfall sogar LabVIEW-Treiber-Programme, zu den Schrittmotorsteuerungen mitliefern. Diese verwenden - fertig.

Frage Referenzposition, noch mal mit anderen Worten: Zur Positionsbestimmung werden von der Software die Steps mitgezählt. Beim Abschalten des Systems geht die Position verloren. Die erste Maßnahme beim Wiedereinschalten ist also, das System solange in eine bestimmte Richtung zu einem Mikroschalter hin zu fahren, bis dieser erreicht wird. Das ist dann die Referenzposition, dieser wird man z.B den Positionswert 0 zuordnen.

Bei Dir spielt die Lage keine Rolle, theoretisch brauchst Du keine Referenzposition, praktisch wird es aber sinnvoll sein, die Messung mit einer definierten Ausgangslage zu beginnen.

Dein Problem ist eigentlich einfach: Die Bewegung muß so langsam sein, daß das System ohne rampenmäßige Beschleunigung/Bremsung nach jedem Schritt sofort gestoppt werden kann.(= Start-Stop-Betrieb)

Du solltest ein Toleranzband definieren: also z.B: <298N --> Motor vorwärts, >302N Motor rückwärts, dazwischen: Motor Stop.

Meist haben die Schrittmotoren eine serielle Schnittstelle, und es ist äußerst widerwärtig, sich mit der untersten Ebene der Schnittstellenprogrammierung abgeben zu müssen. Ich würde also unbedingt eine Motorsteuerung mit mitgelieferten LabVIEWtreibern oder wenigstens mit DLL-Funktionsbibliothek aussuchen, damit Dir das erspart bleibt.

Den Labview-Beginner erkenne ich am deutlichsten an der exzessiven Verwendung der Sequenzstruktur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.04.2007, 15:14 (Dieser Beitrag wurde zuletzt bearbeitet: 25.04.2007 15:17 von Mr.T.)
Beitrag #4

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.002
Registriert seit: Jun 2005

LV-Version: 2009
LV-Erfahrung seit: 2005
LV-Sprachversion: kA

PLZ: 88400
Land: Deutschland
erste Schritte - Schrittmotorsteuerung
Hi!

Ich erzähle jetzt mal aus meiner nicht LV-Erfahrung heraus:

- Benutze auf jeden Fall ein Kraftmesselement, um den Aktualkraftwert zu erfassen - so nahe an der Probe wie möglich!
Hintergrund: Manche theoretiker kommen auf die Idee "Jaaaa, wir können ja den Motorstrom auf die Kraft umrechnen, und der liegt ja der Software vor"...Bull$%/'§!& Das wird sehr ungenau - versprochen, ausserdem ist das nicht der Kraftwert an der Probe, sondern der Umgebungsabhängige direkt an der Motorwelle. Tribologie lässt grüssen, ganz zu schweigen von Verlussten in Getrieben etc....

- Um sauber eine Position (also einen Kraftwert) zu halten, solltest Du dem Servomotor soviel Weg zum "Positionieren" geben, wie Du kannst.
Hintergrund: Z.B. Du fährst auf Block gegen eine Wand. Dann ist der Kraftunterschied zwischen zwei Inkrementen in Zustellrichtung gegen die Wand sehr groß! Da kannst Du dann auch nicht gut regeln, zu wenig "istwert"...Big Grin...Wenn der Motor aber 4000 Inkremente für selbiges "Kraftdelta" zur Verfügung hat, sieht das schon anders aus!

Ich hoffe das hilft Dir auch weiter...
Gruß!

Edit: Und ach...versuche einen Absolutwertgeber zu bekommen, dann hat sich die Referenzpositioniererei ausser bei Erstinbetriebnahme erledigt.

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.04.2007, 20:16
Beitrag #5

bubi Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2007

LV-Version: 8.2
LV-Erfahrung seit: 2007
LV-Sprachversion: kA


Land: United States
erste Schritte - Schrittmotorsteuerung
Hallo,
also erstmal vielen Dank für die Antworten!!! Es ist einfach sooo klasse wie einem hier geholfen wird!

Also ich benutze einen Kraftaufnehmer (berechne darüber die Spannung in der Probe) und auf der Probe ist ein DMS aufgebracht.

Da der Motor ja quasi übder die Kraft/Spannung in der Probe gesteuert werden soll, brauch ich doch gar keine Refernezfahrt, richtig? Ich meine ich gucke einfach: vorhandene Spannung kleiner/größer Sollwert, und fahre dann dementsprechend den Motor (wie Lucki schon beschrieben hat), richtig?
Dann brauche ich ja eigentlich nur ne Lineare Fahrt einbauen?
Oder muss ich da noch etwas bedenken?

Werde ein VI posten, sobald ich etwas zusammen gebaut habe....


Etwas Hintergrund-Information:
Folgender Schritmotor wird verwewndet (siehe auch Bild):
Superior Electric
SloSyn Synchronous/Stepping Motor
Type: M062-LE09E
Oz.In.: 100 Hold
RPM: SPEC.BM101029
Steps: 200
1.65 V
4.7 A
65 C

Das folgende 3rd party drive kommt zum einsatz (das wiederum an den Motion Controller von NI angeschlossen wird):
Compumotor
GT(GT6)-L5
siehe auch: http://www.parkermotion.com/products/Stepp..._80_567_29.html


Angehängte Datei(en) Thumbnail(s)
   

seize the day-or tomorrow you maybe dead
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2007, 08:24
Beitrag #6

bubi Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2007

LV-Version: 8.2
LV-Erfahrung seit: 2007
LV-Sprachversion: kA


Land: United States
erste Schritte - Schrittmotorsteuerung
So,

hallo ich bins nochmal. Habe jetzt mal nen VI erstellt das die Kraft und die Dehnung misst. Die Spannung wird berechnet und danach soll der Motor kontrolliert werden. Habe eine Abfrage (mit Addition) eingebaut, so dass alle 3 Fälle abgedekct sind:

maxSollwert + minSollwert < Istwert = Fall 0 (Motor fährt vorwärts, Kraft wird vergrößert)
maxSollwert + minSollwert > Istwert = Fall 2 (Motor fährt rückwärts, Kraft wird reduziert)
maxSollwert > Istwert UND minSollwert < Istwert = Fall 1 (Motor steht; gewünschte Position)


Meine erste Frage: Wird das so funktionieren? Habe leider die Hardware noch nicht (aber das Programm soll laufbereit sein wenn diese ankommt).
Habe mal nur in einem case die Motorsteuerung eingebaut (straight line move). Habe keinerlei erfahrung damit. Wird der Motor sich so bewegen oder muss doch noch zusätzlich was eingestellt werden?

Mein Professor meinte, ich solle zur Regelung des Motors einen PID Regler verwenden. Nun weiss ich zwar was PID Regler bedeutet und was seine Eigenschaften sind. Jedoch weiss ich zum einen nicht wie ich das in dieser Anwendung einbauen soll und zu anderen ob das überhaupt nötig ist? Wenn ich den Bereich groß genug wähle hab und den Motor nicht übermäßig schnell dfahren lasse, dürfte ich eh kein großes Überschwingen erwarten, oder?

Bin für jede Antwort sehr dankabr!
Hoffe das mit den SubVi's die ich angehängt habe, klappt das. Die Funktion müsste aber eh aus dem MainVI hervorgehen.

Danke und Grüße aus Tennesse-werde jetzt mal schlafen gehen...
Robin


Angehängte Datei(en)
Sonstige .vi  stress_strain_Motion_control_v4.vi (Größe: 173,38 KB / Downloads: 238)

Sonstige .vi  DAQ_Strain_Load__SubVI_.vi (Größe: 34,94 KB / Downloads: 156)

Sonstige .vi  1D_Straight_Line_Move_Start_MC.vi (Größe: 33,49 KB / Downloads: 173)

Sonstige .vi  Move_Constraints_Counts_Steps.vi (Größe: 29,57 KB / Downloads: 159)

seize the day-or tomorrow you maybe dead
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
.. .
27.04.2007, 08:29
Beitrag #7

bubi Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2007

LV-Version: 8.2
LV-Erfahrung seit: 2007
LV-Sprachversion: kA


Land: United States
erste Schritte - Schrittmotorsteuerung
Achso, hier das ganze nochmal in LV 8.0 version.


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  stress_strain_Motion_control_v4.vi (Größe: 187,46 KB / Downloads: 171)

Sonstige .vi  DAQ_Strain_Load__SubVI_.vi (Größe: 38,93 KB / Downloads: 148)

Sonstige .vi  1D_Straight_Line_Move_Start_MC.vi (Größe: 38,84 KB / Downloads: 152)

Sonstige .vi  Move_Constraints_Counts_Steps.vi (Größe: 34,94 KB / Downloads: 154)

seize the day-or tomorrow you maybe dead
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2007, 08:53 (Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2007 09:55 von Jenne.)
Beitrag #8

Jenne Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2007

LV-Version: 2010
LV-Erfahrung seit: 1997
LV-Sprachversion: DE_EN

PLZ: 38100
Land: Deutschland
erste Schritte - Schrittmotorsteuerung
Moin Robin,
Dein Prof hat nicht ganz unrecht, mit einer Regelung hast du die Möglichkeit einer genaueren Einstellung deiner Kraft. Mit dem Kraftsensor in der Rückführung zum PID Regler. Mit der richtigen Einstellung des Reglers kannst du dir auch eine Menge Programmierarbeit sparen, denke ich ;-)
Ich denke mir mal, dass du ein Überschwingen nicht vermeiden kannst auch wenn es sicherlich nicht allzu heftig werden wird.
Gruß
Jenne
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2007, 11:13 (Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2007 11:14 von Lucki.)
Beitrag #9

Lucki Offline
Guru-Simulator
LVF-Team

Beiträge: 5.534
Registriert seit: Mar 2006

LV-Version: ..2011prof.ohne Addons
LV-Erfahrung seit: 1995
LV-Sprachversion: DE

PLZ: 01108
Land: Deutschland
erste Schritte - Schrittmotorsteuerung
' schrieb:Mein Professor meinte, ich solle zur Regelung des Motors einen PID Regler verwenden. Nun weiss ich zwar was PID Regler bedeutet und was seine Eigenschaften sind. Jedoch weiss ich zum einen nicht wie ich das in dieser Anwendung einbauen soll und zu anderen ob das überhaupt nötig ist? Wenn ich den Bereich groß genug wähle hab und den Motor nicht übermäßig schnell dfahren lasse, dürfte ich eh kein großes Überschwingen erwarten, oder?
Ich beantworte jetzt mal nur diesen Punkt:
Ein Regler macht nur Sinn, wenn entweder[list]
[*]Der Sollwert so schnell als möglich überschwingungsfrei angefahren werden soll.<>
[*]Der Sollwert (Führungsgröße) schnellen Schwankungen unterworfen ist und die dynamischen Abweichungen Soll-Ist gering gehalten werden sollen<>
[*]Schnelle sich ändernde Störgrößen einwirken, die sofort auszugleichen sind.<>
[st]In Deinen Postings hast Du nichts von alldem erwähnt, so daß man davon ausgehe muß, daß es sich hier um eine praxisferne professorale Eingebung handelt - oder aber Du hast Wesentliches zur Aufgabenstellung nicht gesagt.

Den Labview-Beginner erkenne ich am deutlichsten an der exzessiven Verwendung der Sequenzstruktur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.04.2007, 15:15 (Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2007 02:07 von bubi.)
Beitrag #10

bubi Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: Apr 2007

LV-Version: 8.2
LV-Erfahrung seit: 2007
LV-Sprachversion: kA


Land: United States
erste Schritte - Schrittmotorsteuerung
Hi,

danke für die Antworten. Also wie ich mir das vorstelle ist ein Regler nicht nötig. Denke mien Pro hat das mal einfach so in den Raum geworfen, weil es halt ne Regeling ist und sich das Wort PID Regler da immer gut macht Big Grin. Falls der doch unbedingt einen einbauen will, bin ich mir nicht sicher wie iund wo ch den da unterbringen soll....

Kann das ganze ja leider noch nicht ausprobieren, da das PXI System mit Motion Controller noch nicht da ist.


Kann mir evt noch jemand mit den anderen Fragen, bez. der Umsetzung der Motorsteuerung helfen? Macht das so Sinn, bzw. iszt alles was ich machen muss ein "straight line move"?

Danke,
Robin

Edit:
Hab heute nochmal mit ihm darüber gesprochen. Er meint ich solle uaf jeden Fall nen PID Regler einsetzen. Nur um sicher gehen zu können das kein überschwingen auftritt und schneller an die gewünschte Position fahren zu können.
Habe das Addon für PID/Fuzzy auch installiert. Frage mich jedoch gerade wo/und welcher dieser Regler zu platzieren ist. Habe dann ja nen output wert. Was mache ich mit dem? Kann ich die Motorsteuerung mit der Fallunterscheidung so beibehalten, oder macht man das dann ganz anders?

seize the day-or tomorrow you maybe dead
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
  Schrittmotorsteuerung mit EMIS SMCflex Wolfgang.L 1 2.115 08.06.2010 10:44
Letzter Beitrag: Lucki

Gehe zu: