Positionsregelung für Schrittmotor

OP #7504326
Lesenswert?

Hej Leute,

ich stehe aktuell etwas vor einer Wissenslücke und hoffe hier guten Input zu bekommen. Zum Problem: Ich hab eine Schrittmotor der 400 steps/U im Halbschrittverfahren macht. Dem ganzen gebe ich ein P-T1 verhalten auf dem µ-Controller vor. Für die Parameter gilt:

  • P = 1
  • T1 = 0.1

Nun möchte ich für den Motor die Position regeln unter einem gewünschten Führungsverhalten. Für die Drehzahlregelung kommt mittels Polkompensation ein P-I Regler heraus. So weit so gut. Jetzt stehe ich vor der Frage, ob sich bei der Positionsregelung meine Strecke einfach nur um einen Integrator erweitert oder wie ich das berücksichtigen muss. Meine Gedanken dazu:

$$G_s(s) = \frac{1}{T_1 \cdot s + 1} \cdot \frac{1}{{T_i \cdot s}}$$

$$G_w(s) = \frac{1}{{T_w \cdot s + 1}}$$

$$G_r(s) = \frac{G_w(s)}{G_s(s) \cdot (1 - G_w(s))}$$

Für Gr(s) erhalte ich nun einen PD Regler was mich etwas stutzig macht. Eventuell kann mir ja hier jemand auf die Sprünge helfen.

Und dann würde mich mal mal interessieren wie man die reale T1 bei einem Schrittmotor erhält ohne dass er aus dem Tritt kommt.

Strommessung ist nicht möglich, da der Stepper nur über eine H-Brücke angesteuert wird und das Bitmuster hart durchgefahren wird.

#7504330
Lesenswert?

Philipp M. schrieb:

Strommessung ist nicht möglich, da der Stepper nur über eine H-Brücke angesteuert wird und das Bitmuster hart durchgefahren wird.

Das ist der Stand, wie Schrittmotoren in den 80er Jahren des vorigen Jahrhunderts betrieben wurden. Fast jeder aktuelle Schrittmotor macht eine Stromregelung. Hast du schon einmal über eine Aktualisierung deiner Hardware nachgedacht.

Was benutzt du als Positionssensor, um deinen Istwert für die Regelung zu bestimmen?

OP #7504333
Lesenswert?

Rainer W. schrieb:

Das ist der Stand, wie Schrittmotoren in den 80er Jahren des vorigen Jahrhunderts betrieben wurden. Fast jeder aktuelle Schrittmotor macht eine Stromregelung. Hast du schon einmal über eine Aktualisierung deiner Hardware nachgedacht.

Es freut mich wirklich ausgesprochen solche Antworten zu erhalten... Beantwortet nur leider nicht meine Frage. Und nein die Hardware bleibt so wie sie ist.

Rainer W. schrieb:

Was benutzt du als Positionssensor, um deinen Istwert für die Regelung zu bestimmen?

Es wird lediglich zu Beginn die Mittelposition durch zwei Endlagentaster ermittelt und danach wird per Software die Position ermittelt. Heißt pro Step 360°/400.

#7504352
Lesenswert?

Kann schon sein, dass Du den Kommentar über den Halbschrittbetrieb nicht magst. Allerdings hat er im Kern recht. Gerade beim unstetigen Halbschrittbetrieb brauchst Du keinen Regler mehr sondern einen gemächlichen Zähler, der zur gewünschten Position hinömmelt. Nachdem Du bei verschiedenen Temperaturen uns sonstigen Einflüssen geprüft hast, was möglich ist, diese Zeit noch einmal verdoppeln. Oder Du nimmst einen modernen Microstepping-Treiber und kannst die Verfahrzeiten dann tatsächlich mit einem Regler vlt. auf das 10-fache optimieren.

OP #7504362
Lesenswert?

Harald A. schrieb:

Gerade beim unstetigen Halbschrittbetrieb brauchst Du keinen Regler mehr sondern einen gemächlichen Zähler, der zur gewünschten Position hinömmelt.

Das mag ja alles sein und will ich auch gar nicht abstreiten nur bringt mir das leider überhaupt nichts. Die Motorregelung ist nur eine unterlagerte Regelung des Gesamtsystems. Daher benötige auch für den Stepper im Halbschrittverfahren eine vernünftige Übertragungsfunktion sowie Positionsregelung. Deshalb seht mir bitte nach, dass eure sicher gut gemeinten Hinweise nicht zielführend für mich sind. Die Hardware kann zum derzeitigen Projektstand nicht mehr geändert werden. Dafür fehlt leider die Zeit. Dass die derzeitige Ausführung nicht Optimal ist, war auch schon eine persönliche Erkenntnis, die ich vorher hatte. Tut nur jetzt nichts mehr zu Sache.

Daher nochmal die Bitte, meine Ausgangsfrage wenn zu beantworten. Vielen Dank.

OP #7504365
Lesenswert?

Harald A. schrieb:

Oder Du nimmst einen modernen Microstepping-Treiber und kannst die Verfahrzeiten dann tatsächlich mit einem Regler vlt. auf das 10-fache optimieren.

Ok also bedeudet, dass man dort dann quasi die Sprungantwort aufzeichnet und anhand dessen die Parameter abliest? Bleibt für mich eigentlich nur die Frage wie es mit der Positionsregelung aussieht, ob mein Ansatz richtig ist?

#7504396
Lesenswert?

Evtl. stehe ich auch auf dem Schlauch, Du hast Soll- und Istposition. Solange Ist<>Soll fährst Du vor- oder rückwärts in ganzen Schritten, ansonsten einfach Stillstand. Eine Regeldifferenz verbleibt ja nie. Du hast ein Open-Loop System ohne Rückmeldung, richtig?

Bei einem System, wo Du tatsächlich über einen weiten Bereich beschleunigen und abbremsen könntest, bräuchtest Du einen Regler, der bei großen Differenzen das System auf ein Maximum beschleunigt und vor dem Ziel wieder passend abbremst, passend zum Gesamtsystem. Bei Halbschrittbetrieb ist die maximale Frequenz doch derart limitiert, dass man über Beschleunigung und Abbremsung doch garnicht nachdenken müsste. Sicherheitshalber könnte man kurz vor Erreichen des Ziels nochmal langsamer werden, sofern überhaupt erforderlich.

#7504397
Lesenswert?

Philipp M. schrieb:

Nun möchte ich für den Motor die Position regeln

Bei Schrittmotoren regelt man nicht die Position wie bei einem Voicecoil-Antrieb oder Servomotor, sondern msn fährt sie einfach an, dafur ist es ja ein Schrittmotor, der tut was du ihm befiehlst, klugerweise mit Beschleunigungs- und Bremsrampen.

Insofern ist dein ganzer Regelansatz Kokolores.

Du bekommst einen Sollwert, und fährst du einfach hin, nix Regelung.

OP #7504432
Lesenswert?

Michael B. schrieb:

klugerweise mit Beschleunigungs- und Bremsrampen

Und die Übertragungsfunktion für den Gesamtregelkreis definierst du dann genau wie? Nochmal, die Positionsregelung ist nur eine unterlagerte Regelung des Gesamtsystems. Mir ist durchaus klar, dass man auch einfach wild irgendwelche Positionen anfahren kann, nur bringt mir das für das Gesamtsystem überhaupt nichts.

#7504441
Lesenswert?

Philipp M. schrieb:

Und die Übertragungsfunktion für den Gesamtregelkreis definierst du dann genau wie?

Ja, die Stellgeschwindigkeit hat Einfluss auf die Übertragungsstrecke, und die Rampen bewirken eine nichtlineare Verzögerung bis nach Sollwertänderung die Position erreicht ist. Aber ähnlich wie ein Heizstab der einen Boiler aufheizt und dabei der Boiler KEIN Regler ist, ist der Schrittmotor und dessen Positionsansteuerung auch kein Regler.

Nochmal, die Positionsregelung ist nur eine unterlagerte Regelung des Gesamtsystems

Nochmal: die Position wird nicht geregelt, sondern angefahren.

OP #7504455
Lesenswert?

Harald A. schrieb:

Unterlagerter Regler, Gesamtdynamik, Übertragungsfunktion, plötzlich closed Loop… An dieser Stelle wäre mal eine Übersicht angebracht, was Du vor hast. Edit: Skizze da, hat sich überschnitten Edit2: Obwohl, was soll das sein? Edit3: Ich bin raus

Das hatte ich bereits in Teilen auf deinen ersten Beitrag geantwortet…

Dennoch danke für deinen Beitrag.

OP #7504459
Lesenswert?

Michael B. schrieb:

Philipp M. schrieb:

Und die Übertragungsfunktion für den Gesamtregelkreis definierst du dann genau wie?

Ja, die Stellgeschwindigkeit hat Einfluss auf die Übertragungsstrecke, und die Rampen bewirken eine nichtlineare Verzögerung bis nach Sollwertänderung die Position erreicht ist. Aber ähnlich wie ein Heizstab der einen Boiler aufheizt und dabei der Boiler KEIN Regler ist, ist der Schrittmotor und dessen Positionsansteuerung auch kein Regler.

Nochmal, die Positionsregelung ist nur eine unterlagerte Regelung des Gesamtsystems

Nochmal: die Position wird nicht geregelt, sondern angefahren.

Sehr merkwürdiges Beispiel. Der Boiler ist auch mit Sicherheit kein Stellglied welches geregelt werden kann…

OP #7504470
Lesenswert?

Rainer W. schrieb:

Philipp M. schrieb:

Vielleicht hilft es um etwas Klarheit zu schaffen wieso ich eine Übertragungsfunktion für die Positionsregelung brauchen.

Du suchst eine Übertragungsfunktion, die es für einen Schrittmotor so nicht gibt, weil das Verhalten amplitudenabhängig ist. Die Zeitkonstante hängt von der Sprungamplitude ab.

Hmm ich denke die Übertragungsfunktion habe ich ja prinzipiell mit dem PT1 Verhalten. Die Motorfrequenz folgt ja prinzipiell dem vorgegebenen Verhalten. Sei mal dahingestellt ob es sinnvoll oder richtig für einen Stepper Motor ist. Mich interessiert eigentlich nur ob meine Herangehensweisen richtig wäre um die Position zu regeln ohne Motorstrom zu kennen.

#7504473
Lesenswert?

Philipp M. schrieb:

Der Boiler ist auch mit Sicherheit kein Stellglied welches geregelt werden kann…

Der Schrittmotor wird auch nicht geregelt.

Aber die Temperatur des Boilers kann über das Ein- Ausschalten des Heizelements genau so wie die vom Schrittmotor angefahrene Position (der ein Ventil, eine Drosselklappe, was weiss ich, der TO verschweigt es ja beharrlich) dann die Leerlaufdrehzahl oder Durchflussmenge geregelt werden kann.

OP #7504477
Lesenswert?

Michael B. schrieb:

Philipp M. schrieb:

Der Boiler ist auch mit Sicherheit kein Stellglied welches geregelt werden kann…

Der Schrittmotor wird auch nicht geregelt. Aber die Temperatur des Boilers kann über das Ein- Ausschalten des Heizelements genau so wie die vom Schrittmotor angefahrene Position (der ein Ventil, eine Drosselklappe, was weiss ich, der TO verschweigt es ja beharrlich) dann die Leerlaufdrehzahl oder Durchflussmenge geregelt werden kann.

Ich verschweige es nicht sonder habe es bisher als nicht relevant betrachtet weil es auch eigentlich nicht meine Frage war. Es geht um den Versuch Ball on a beam. Dabei muss der Winkel des Motors geregelt werden um den Winkel der Wippe zu stellen und die Kugel auf eine bestimmte Position zu bringen.

#7504483
Lesenswert?

Und wie kommt die Rückmeldung des Ist Winkel rein? Der SM hat eine maximale Schrittfrequenz, die steht im Datenblatt. Mit zunehmender Frequenz nimmt das Drehmoment ab, danach muss man Motor und Frequenz auswählen. Und die Frequenz darf ungeregelt nicht zu stark springen, sonst gibt es auch da Schrittverluste. Den Strom bei einer einfachen H Brücke zu kennen nutzt dabei auch nichts, der steigt nicht mit der Last. Gute Treiber können über die Messung der Gegen EMK einen Stillstand erkennen, besser sind aber echte CL mit Encoder. Die können dann mehrere Schritte nachholen wenn die Ansteuerung zu schnell war.

#7504538
Lesenswert?

Du suchst eine Übertragungsfunktion, die es für einen Schrittmotor so nicht gibt, weil das Verhalten amplitudenabhängig ist.

Ich verstehe natuerlich was du sagen willst und natuerlich hast du recht. Aber vermutlich kann man fuer so ziemlich alles im Leben eine Uebertragungsfunktion angeben, aber fuer so einen Schrittmotor waere das Verhalten wohl nichtlinear da er zwischen jedem einzelnem Schritt unterschiedlich beschleunigt. Mit etwas Abstand betrachtet koennte man auch sagen das er zwischen jedem einzelnen Schritt einfach springt. Und dieses verhalten wird dann nochmal nichtlinear multipliziert wenn man viele Schritte faehrt weil dann der Regler ueblicherweise beschleunigt und abbremst. Da stelle ich mir die Frage was man mit der Uebertragungsfunktion will selbst wenn man sie angeben koennte weil es die weitere Betrachtung vermutlich SEHR komplex machen wuerde.

Vanye

#7504541
Lesenswert?

Philipp M. schrieb:

Mich interessiert eigentlich nur ob meine Herangehensweisen richtig wäre um die Position zu regeln ohne Motorstrom zu kennen.

Die Position eines Schrittmotors hat mit dem Strom überhaupt nichts zu tun. Der Strom stellt lediglich sicher, dass der Motor nicht ausrastet, d.h. dass der Motor dem angelegten Feld folgt, ohne dass der Lastwinkel über 90° ansteigt. Um die Schrittmotorposition zu kennen, musst du nur den Schrittzähler auslesen Wenn der Schrittmotor auf Grund dynamischer oder statischer Last Schritte verliert, hast du sowieso verloren.

#7504542
Lesenswert?

Um die Schrittmotorposition zu kennen, musst du nur den Schrittzähler auslesen

Das ist richtig wenn du einen Schrittmotor mit etwas Abstand betrachtest. Und das machen ja auch alle anderen Menschen so weil dann ein Schrittmotor keine Regelung sondern eine Steuerung ist. Im Gegensatz zu deutlich komplexeren Linearmotoren. Aber wenn man nur scharf genug reinschaut dann wird man irgendwann sehen das ein Schrittmotor zwischen zwei Schritten beschleunigt und abbremst. Das waere dann natuerlich Teile einer Funktion.

Vanye

#7504544
Lesenswert?

Philipp M. schrieb:

Hmm ich denke die Übertragungsfunktion habe ich ja prinzipiell mit dem PT1 Verhalten. Die Motorfrequenz folgt ja prinzipiell dem vorgegebenen Verhalten.

Spätesten bei Betrachtung der Sprungantwort stimmt das nicht mehr, weil der Schrittmotor eine Beschleunigungsrampe fahren muss, bei höherer Frequenz nimmt das Drehmoment außerdem kräftig ab, insbesondere wenn der Motor nicht stromgeregelt betrieben wird.

#7504550
Lesenswert?

Hallo, für die Bahnplanung, Rampengenerierung gibt es ganz unterschiedliche Lösungen, oft ein Aufsummieralgorithmus. Mit einem Regler geht's vermutlich auch, darauf wär ich nicht gekommen 😉. Der kann dann aber auch überschwingen und man hat keine Einheiten (m/s, m/s2). Aber warum nicht, viele Wege führen nach Rom...

#7504552
Lesenswert?

Rainer W. schrieb:

bei höherer Frequenz nimmt das Drehmoment außerdem kräftig ab, insbesondere wenn der Motor nicht stromgeregelt betrieben wird.

Er will sogar den Worstcase: Halbschrittbetrieb an H-Brücke(?) ohne Stromregelung (also mit Nennspannung). Man kann sich anhand der Induktivität ausrechnen, ab welcher Freuquenz der Stromanstieg nicht mehr ausreicht, vor allem beim unstetigen Halbschrittbetrieb. Der Punkt kommt SEHR schnell. Ich denke, da fehlen vor lauter Regelungstheorie ein paar Grundlagen zum sinnvollen Betrieb eines Schrittmotors.

#7504556
Lesenswert?

Philipp M. schrieb:

Es geht um den Versuch Ball on a beam.

Da erscheint mit rin voice coil Antrieb des Balkens klüger, wie ein Leerlaufregelventil meines alten Autos, ein DC Motor der sich nur um 90 Grad dreht.

Oder wenigstens ein DC Servomotor.

Aber ein Schrittmotor ? Bedeutet doch positionsdiskrete Ansteuerung. Na ja, auch nicht anders als ein Boiler dessen Heizstab nur Stufen kann, und mit dem man trotzdem alle möglichen Endtemperaturen erreichen will. Wie regelst du da die Heizleistung ? Gar nicht, der Temperaturregler wählt die passende Stufe, der Boiler macht dann schon.

#7504561
Lesenswert?

Die maximale Geschwindigkeit und Beschleunigung kann das System eventuell selber ausmessen: immer schnellere Pendelbewegungen machen und dabei kontrollieren ob die Referenz noch an der richtigen gezählten Position kommt. Darauf muss der Regelausgang dann limitiert werden. Hört sich ja sehr nach Übungsaufgabe an wenn die HW gegeben ist.

OP #7504748
Lesenswert?

Rainer W. schrieb:

Spätesten bei Betrachtung der Sprungantwort stimmt das nicht mehr, weil der Schrittmotor eine Beschleunigungsrampe fahren muss, bei höherer Frequenz nimmt das Drehmoment außerdem kräftig ab, insbesondere wenn der Motor nicht stromgeregelt betrieben wird.

Was soll bei der Sprungantwort nicht mehr stimmen, wenn die Zielkreisfrequenz durch bloßes PT1 Verhalten nachgebildet wird. PT1 verhält sich zu Beginn ja auch wie eine Rampe und nimmt dann exponentiell ab. Daher verstehe ich diesen Einspruch nicht. Dazu mal eine Messung des Motors. Gelb die theoretische Sprungantwort und orange die Drehzahl des realen Steppers. Stimmt exakt überein. Daher erkläre mir gerne was nicht mehr übereinstimmt?

Angehängte Dateien:
OP #7504762
Lesenswert?

Harald A. schrieb:

Ich denke, da fehlen vor lauter Regelungstheorie ein paar Grundlagen zum sinnvollen Betrieb eines Schrittmotors.

Würde ich auch gar nicht abstreiten, nur ist das doch vollkommen unrelevant für meine Frage... Es geht doch rein ums Verständnis. Ob der Stepper nun mit einer Rampe bis zur Position hart angefahren wird oder PT1 Verhalten für seine Beschleunigung hat mit nem geschlossenen Regelkreis für die Position, wo ist da der Unterschied?

OP #7504766
Lesenswert?

J. S. schrieb:

Hört sich ja sehr nach Übungsaufgabe an wenn die HW gegeben ist.

Jaein, ich entwickle diesen Versuch im Rahmen meine Bachelorarbeit und unter anbetracht der verbleibenden Zeit lässt sich die Hardware leider nicht mehr austauschen. Rückblickend würde ich heute auch einen anderen Motor wählen beziehungsweise einen anderen Treiber als eine simple H-Brücke. Dafür ist nur leider jetzt nicht mehr genügend Zeit. Daher bringen eure ganzen Änderungsvorschläge zur Hardware auch nur noch bedingt etwas auch wenn ich sie durchaus nachvollziehen kann.

(Firma: mechapro GmbH) Persönliche Seite #7504848
Lesenswert?

Hallo Philipp,

ich fürchte du gehst das Problem von der falschen Seite an...

Philipp M. schrieb:

Harald A. schrieb:

Du hast ein Open-Loop System ohne Rückmeldung, richtig?

Nein da die Positionsregelung nur ein unterlagerter Regler ist um die Gesamtdynamik zu beschleunigen, ist es closed Loop.

Nein, davon das du es so nennst, ist es kein closed loop. Ein Regelkreis entsteht erst, wenn du den Istwert zurückführen kannst. Und dafür muss man ihn üblicherweise messen.

Rainer W. schrieb:

Was benutzt du als Positionssensor, um deinen Istwert für die Regelung zu bestimmen?

Es wird lediglich zu Beginn die Mittelposition durch zwei Endlagentaster ermittelt und danach wird per Software die Position ermittelt. Heißt pro Step 360°/400.

...und das scheint mir hier nicht der Fall zu sein. Oder machst du irgendeine andere Magie, Beobachter o.ä.? Mal doch mal ein Blockschaltbild auf.

Mit freundlichen Grüßen Thorsten Ostermann

(Firma: mechapro GmbH) Persönliche Seite #7504850
Lesenswert?

Hallo Philipp,

Philipp M. schrieb:

Harald A. schrieb:

Ich denke, da fehlen vor lauter Regelungstheorie ein paar Grundlagen zum sinnvollen Betrieb eines Schrittmotors.

Würde ich auch gar nicht abstreiten, nur ist das doch vollkommen unrelevant für meine Frage... Es geht doch rein ums Verständnis.

Und für das Verständnis benötigt man Grundlagen. Dir fehlt das Verständnis offensichtlich.

Mit freundlichen Grüßen Thorsten Ostermann

OP #7504861
Lesenswert?

Thorsten O. schrieb:

Nein, davon das du es so nennst, ist es kein closed loop. Ein Regelkreis entsteht erst, wenn du den Istwert zurückführen kannst. Und dafür muss man ihn üblicherweise messen.

Schau mal den gesamten Verlauf bitte durch. Etwas weiter oben ist der Gesamte Regelkreis abgebildet. Der Winkel wird nur indirekt gemessen/bestimmt indem die Schritte gezählt werden und anhand der steps per revolution lässt sich nach Initialisierung der Position ja sehr leicht bestimmen. Dabei wird davon ausgegangen, dass keine Schritte verloren gehen und das Stellglied soweit begrenzt wird, dass es nicht außer Tritt kommt.

Thorsten O. schrieb:

...und das scheint mir hier nicht der Fall zu sein. Oder machst du irgendeine andere Magie, Beobachter o.ä.? Mal doch mal ein Blockschaltbild auf.

Die Initialisierung wird selbstverständlich vor dem Start des Regelkreises durchgeführt.

(Firma: mechapro GmbH) Persönliche Seite #7504868
Lesenswert?

Hallo Philipp,

Philipp M. schrieb:

Thorsten O. schrieb:

Nein, davon das du es so nennst, ist es kein closed loop. Ein Regelkreis entsteht erst, wenn du den Istwert zurückführen kannst. Und dafür muss man ihn üblicherweise messen.

Schau mal den gesamten Verlauf bitte durch. Etwas weiter oben ist der Gesamte Regelkreis abgebildet. Der Winkel wird nur indirekt gemessen/bestimmt indem die Schritte gezählt werden und anhand der steps per revolution lässt sich nach Initialisierung der Position ja sehr leicht bestimmen. Dabei wird davon ausgegangen, dass keine Schritte verloren gehen und das Stellglied soweit begrenzt wird, dass es nicht außer Tritt kommt.

Genau, und das nennt man open-loop oder Steuerung. Das ist das Gegenteil vom closed-loop. Du brauchst keinen Positionsregler, sondern einen Sollwertgenerator.

Mit freundlichen Grüßen Thorsten Ostermann

#7504876
Lesenswert?

Ich würde den äußeren Regler erst mal weitgehend ohne Berücksichtigung des Antriebs auslegen:

  • Eingang: Position, Geschwindigkeit, Winkel der Rampe
  • Ausgang: Sollwinkel der Rampe laut Regelcharakteristik

Dann den Schrittmotor ansteuern und das ganze mal testen.

Nachfolgend hängts von den mechanischen Eigenschaften, der maximalen Störung und der Geschwindigkeit / Genauigkeit der Sensorik ab.

Denn: sind Geschwindigkeit und Position mit hoher Genauigkeit und Frequenz bekannt ist der aktuelle Winkel der Rampe unwichtig. Bei nur seltenen / ungenauen Werten - oder wenn die Geschwindigkeit nicht gemessen wird - geht's dagegen drum die Auswirkungen durch die Winkeländerung vorherzusagen und beim Winkel evtl. "vorzuhalten". Dann wird evtl. noch der konkrete Verlauf der Winkeländerung benötigt um die Geschwindigkeit zu errechnen bzw. zumindest den Messwert per Kalman-Filter o.Ä. zu verbessern.

Leider gibt es für den Antrieb keine verwertbare Sprungantwort (der Stepper ist nicht linear). Zumindest nicht für "schnellen" Betrieb. Evtl. reicht aber die geringe Stellgeschwindigkeit für einen Single-Step in der Praxis aus: Ausprobieren welche Frequenz aus dem Stand ohne Schrittverlust maximal geht und dann ggf. diese Periodendauer zu 60% auf ein Totzeitglied und zu 40% auf ein PT2-Glied aufteilen. Praktische Ansteuerung dann nur etwa mit der halben Frequenz (limitierte Stellgeschwindigkeit).

Auf nem kleinen Controller lässt sich aber eigentlich easy die aktuelle Winkelgeschwindigkeit des Steppers und eine dynamische Kennlinie mit verarbeiten. Macht man halt 5 Iterationen und steuert das dann entsprechend. Da darf dann auch die Schrittfrequenz zwischen 100 und 4000 Hz variieren. Kann man sogar noch unterschiedliche Geschwindigkeiten für "auf und ab" und je nach Position des Balls berücksichtigen.

Auflösung der Mechanik ist auch noch so ne Sache. +-30 Grad am Stepper sind noch gut linearisierbar. Sind dann vielleicht +-10 Grad an der Ebene. Aber +-30 Grad sind halt nur 67 Halbschritte. Flummi bleibt da liegen, Metallkugel wegen der Durchbiegung auch, Tischtennisball wird problematisch.

(Firma: mechapro GmbH) Persönliche Seite #7504899
Lesenswert?

Hallo Philipp,

Philipp M. schrieb:

Thorsten O. schrieb:

open-loop oder Steuerung.

Zeig mir bitte wo in der Grafik der Winkel als Open Loop angefahren wird. Ich bin ja durchaus Lernwillig, nur sehe ich bei weitem nicht wo dort der Winkel Open Loop sein soll.

Erklär mir bitte mal, wie du da den Istwert zurückführst, ohne ihn zu messen. Tatsächlich setzt du implizit Sollwert=Istwert und führst damit den Sollwert(!) zurück. Das ist dann aber kein geschlossener Regelkreis.

Mit freundlichen Grüßen Thorsten Ostermann

(Firma: Vescomp) #7504905
Lesenswert?

Philipp M. schrieb:

Dabei wird davon ausgegangen, dass keine Schritte verloren gehen und das Stellglied soweit begrenzt wird, dass es nicht außer Tritt kommt.

Lol. So viel Theorie am Anfang und dann - "es wird davon ausgegangen"? Das Einzige, wovon du mit Sicherheit ausgehen kannst ist, dass aus dem Ganzen auf diese Art nie etwas vernünftiges wird.

Aber wenn du unbedingt im Betrieb die "genaue" Position raten willst: Ein paar Striche auf der Antriebsscheibe, eine Reflexlichtschranke und du brauchst nicht mehr von irgendetwas "auszugehen", du kannst es messen, Grenzbereiche ermitteln und diese Werte später verwenden.

#7504979
Lesenswert?

Philipp M. schrieb:

Jaein, ich entwickle diesen Versuch im Rahmen meine Bachelorarbeit und unter anbetracht der verbleibenden Zeit lässt sich die Hardware leider nicht mehr austauschen. Rückblickend würde ich heute auch einen anderen Motor wählen beziehungsweise einen anderen Treiber als eine simple H-Brücke. Dafür ist nur leider jetzt nicht mehr genügend Zeit.

Ich kann nur dringend empfehlen, diese Erkenntnisse möglichst genau zu dokumentieren. Auch mit einer technisch nicht so guten Lösung lässt sich eine super Note erzielen, wenn genau erklärt werden kann, warum sich der gewählte Ansatz nicht bewährt hat und was/wie man es besser machen könnte.

#7505044
Lesenswert?

Irgendwo müssen ja ein paar Hürden liegen. Sonst is ja zu einfach. ;) Wobei der Teufel vermutlich wie meistens in den gar nicht so wichtigen Details liegt. Das System zu ner ordentlichen Funktion zu bringen sollte nicht zu kompliziert sein. Das meiste is Dokumentation und das ganze formale Zeugs.

#7505049
Lesenswert?

Wenn du unbedingt eine Rückführung haben willst, dann nimm halt einen Steppermotor mit integriertem Treiber, der kann dann tatsächlich in Grenzen den Motorstrom nach der Belastung anpassen. Die Dinger sind insgesamt nicht grossartig teurer wie Stepper und dazu passender Treiber, zumindest wenn das einer sein soll, der wirklich was taugt, also nicht diese TB6600. Und Zeit ist kein Argument, hier in Deutschland bestellt hast du die Teile 3 Werktage später im Briefkasten.

#7505054
Lesenswert?

Eigentlich war es ja genau der einzige Sinn der Schrittmotoren diese aus der Regelung rauszunehmen, um den Sensor und die Verarbeitung des Ist-Signals zu sparen. Der Motor selbst als solcher ist Mist. Wirkungsgrad, Geschwindigkeit, Drehmoment, Dynamik - alles mehr als mittelmässig. Der Einzige Vorteil, wenn man die Sache nicht überstrapaziert: theoretische und praktische Postion stimmten ohne Rückmeldung überein. Leider ist es eben nicht immer so. Aufgrund der Nachteile stirbt der SM so langsam aus.

#7505077
Lesenswert?

Uli S. schrieb im Beitrag #7505049:.

Und Zeit ist kein Argument, hier in Deutschland bestellt hast du die Teile 3 Werktage später im Briefkasten.

Das ging mir auch durch den Kopf. Bei Amazon kannst Du entsprechende „Shields“ (ich weiß, Thorsten mag den Begriff nicht) binnen 24h an die Burg bekommen. Die gibt es dank aller möglichen xyz-Tische millionenfach. Und so ein Treiber mit Step und Dir Eingang macht die Sachen nicht komplizierter sondern tendenziell einfacher. Wenn es tatsächlich ein bidirektionaler Motor ist dauert der Austausch des Treibers 30min. Was ein Problem sein könnte ist die Spannung des Motors. Für den Chopperbetrieb sollte die eher klein sein, da die Betriebsspannung des Treibers natürlich Grenzen hat.

#7505214
Lesenswert?

Leider ist es eben nicht immer so. Aufgrund der Nachteile stirbt der SM so langsam aus.

Na, das sehe ich nicht so. Der Schrittmotor hat eine Menge Nachteile, aber auch ein paar Vorteile. Der wird bis zum juengsten Tag erhalten bleiben.

Ich kenne z.B eine medizinische Anwendung wo man mit einem Schrittmotor Medikamente dosiert, dir also genau X-Schritte irgendwas wichtiges in dein Blut pumpt, und parallel dazu noch einen Encoder dran hat um zu ueberpruefen ob der der Motor richtig dreht. So bekommt man eine ueberpruefung des Motors wo es wichtig ist.

Und dann wollen wir mal nicht vergessen, die Teile haben sich deshalb so verbreitet weil sie schlicht billig sind.

Vanye

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren