FU anhand Inkremente runterfahren

Zuviel Werbung?
-> Hier kostenlos registrieren
Die Aussage über den Drehstom Asynchonmotor stimmt so nicht wenn er über einen FU betrieben wird.

Die Formel erfüllt exakt die Forderung, die im Thread-Start angehängten Grafik, skizziert wurde. Dabei handelt es sich um eine Positionierung. Im Walzwerksbereich, aus dem ich komme verwendet man sowas um ein Coil, das durchaus mehrere 1000m lang sein kann cm-genau und reproduzierbar am Stichende stillzusetzen (Stillsetzautomatik).

Beste Grüsse
Martin

sind das bei euch dann auch normale asynchronmotoren?
wer bekommt die gebersignale? die sps oder der fu?
wer regelt? die sps?
und die werden einfach mit eienr u/f kennlinie gefahren?

also ich kenne das auch so, und es ist durchaus möglich eine achse mit asynchronmotor mm genau zu positionieren (kenne ich aber nur wenn der fu die regelung übernimmt)

was haltet ihr denn jetzt von der theorie mit dem "d-anteil"?
ich hatte das so noch nicht realisiert, aber interessieren würde mich das schon...

ist das falsch gedacht oder unnötig?
 
Es handelt sich dabei um Async Motoren die eben für FU geeignet sind. Die Tachosignale werden vom Antrieb (Simovert Masterdrive) selbst eingelesen und eine echte Drehzahlregelung gefahren. (u/f Kennline ist in meinen Augen nur ein Notbetrieb jedenfalls für unsere Anwendungsfälle).
Über den D-Anteil muss ich nochmal nachdenken (war bei uns mit der Formel jedenfalls noch nicht notwendig)

Beste Grüsse
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es handelt sich dabei um Async Motoren die eben für FU geeignet sind. Die Tachosignale werden vom Antrieb (Simovert Masterdrive) selbst eingelesen und eine echte Drehzahlregelung gefahren. (u/f Kennline ist in meinen Augen nur ein Notbetrieb jedenfalls für unsere Anwendungsfälle).

soweit ich das hier verstanden habe, reden wir hier von einer sps-seitigen positionierung die abhängig von dem von ihr eingelesenen geberwert einen drehzhalsollwert für den fu ausgibt.

in deinem fall regelt aber den fu!
vermutlich bekommt er auch direkt den positionssollwert von der sps...
wenn du mit masterdrives und geberrüchführung arbeitest, dann kannd er fu den motor auch ganz anders bestromen im gegensatz zu einer normalen u/f kennlinie...

was du hast ist ein asynchronservo, da brauste dir auch über meinen "d-anteil" keine gedanekn machen... :)
 
Nach dass endsiel fahren nach ich uber weg (mit formule (restweg/bremsweg)^-2 *max geschingkheid) und die rampe hoch uber zeit. Und wehn das mit hydraulische prop ventiele ist gebrauchen wir auch nog eine minimale geschwindkheid welche wir ohne rampe ansteuren .
Mit Hydr motoren gebrauchen wir zusatlich noch eine einfache PID regeler wehn dieser motoren mit eine kleine geschwindigkeid drehen musten und sie musten aus stilstand anfange zu fahren, den ist es moglich dass der in anfang mit 80% von die max ansteuring in gang kommen und darnach zuruck geregeld muste wurde bis 15% om mit eine kleine gang zu fahren. In dieser falle mach ich die regeling in z.b. OB35 mit ein takt von 20ms. hierbei must auch aus die geber der geschwindigkeid ausgegeben oder aus gerechned wurde.
 
Ich bin ja immer dafür zu haben, sich für unterschiedliche Aufgaben eigene Lösungsstrategieen zu überlegen. Aber wenn es für ein Problem schon fertige Lösungen gibt werde ich das Rad nicht neu erfinden.

Viele Anbieter benutzen in ihren Reglern einen ganz gewöhnlichen PID bzw. PI Regler. Das machen die im Bergbau mit 1MW Motoren genau so wie mit einem kleinen dezentralen Servo mit eingebautem Umrichter.

Ich finde es durchaus interessant, hier unterschiedliche Lösungsansätze zu lesen, aber warum wollt ihr gerade in diesem Fall von dem am meisten verwendetem Algo abweichen? Der SFB 41 erfüllt doch alle Bedingungen, programmieren, bzw. parametrieren muss ich doch nur noch die P-I-D Anteile. (Wenn ich den D-Anteil überhaupt benötige).

Kaum Probleme mehr mit Toleranzen der Mechanik, keine Gedanken über den Momentenverlauf des Motors.

Der Vorschlag V=Wurzel (2*a*s) funktioniert doch nur bei Einhaltung aller Parameter optimal.

Im Falle der einmaligen Berechnung des Bremspunktes und Bremsbeginn an diesem Punkt ergibt sich doch folgendes:

Die Zykluszeit verhindert mir einen exakten, bzw. reproduzierbaren Beginn des Bremsvorganges, je höher die Geschwindigkeit des Motors desto höher dieser Einfluss.
Die Rampe muss perfekt linear sein, ansonsten gibts Fehler.

Im Falle der zyklischen Aktualisierung von v in Abhängigkeit von s habe ich im Prinzip einen P-Regler mit V= PFaktor * (Wurzel s), der eine bleibende Regelabweichung hat, was bei P-Regler ja prinzipbedingt ist.
Um diese Abweichung gegen 0 zu fahren, müsste ich zusätzlich noch einen I-Anteil einbauen.

Womit ich dann einen eigenen PI-Regler programmieren müsste. Aber dafür gibts ja schon den SFB41.
Der bietet mir dann in Verbindung mit dem Online-Meßwertschreiber zusätzlich die Möglichkeit, die Auswirkungen meiner Parameter grafisch vorgesetzt zu bekommen.

Würde mich aber mal freuen, wenn der Waelder abschliessend mal posten würde, wofür er sich letztendlich entschieden hat und welche Erfahrungen er bis dahin so gemacht hat.:-D
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Markus
FU regelt die Drehzahl der Maschine, SPS berechnet anhand der Formel die Solldrehzahl und gibt sie dem Fu vor.

Übrigens ich würde für eine Positionierung wie sie hier vorliegt, die zu einem Zeitpunt x gestartet wird und zu den der Zielsollwert festliegt, keinen D-Anteil vorsehen, vielmehr einen Zusatzsollwert zum losbrechen für kleine Positionierwege. Allerdings für eine Lageregelung, die kontinuierlich regelt und wo ich es mit sich ändernden Störgrösse bzw Sollwerten zu tun habe ist ein D-Anteil sinnvoll.

Beste Grüsse
Martin
 
Ich bin ja immer dafür zu haben, sich für unterschiedliche Aufgaben eigene Lösungsstrategieen zu überlegen. Aber wenn es für ein Problem schon fertige Lösungen gibt werde ich das Rad nicht neu erfinden.

Viele Anbieter benutzen in ihren Reglern einen ganz gewöhnlichen PID bzw. PI Regler. Das machen die im Bergbau mit 1MW Motoren genau so wie mit einem kleinen dezentralen Servo mit eingebautem Umrichter.

Ich finde es durchaus interessant, hier unterschiedliche Lösungsansätze zu lesen, aber warum wollt ihr gerade in diesem Fall von dem am meisten verwendetem Algo abweichen? Der SFB 41 erfüllt doch alle Bedingungen, programmieren, bzw. parametrieren muss ich doch nur noch die P-I-D Anteile. (Wenn ich den D-Anteil überhaupt benötige).

Kaum Probleme mehr mit Toleranzen der Mechanik, keine Gedanken über den Momentenverlauf des Motors.

Der Vorschlag V=Wurzel (2*a*s) funktioniert doch nur bei Einhaltung aller Parameter optimal.

Im Falle der einmaligen Berechnung des Bremspunktes und Bremsbeginn an diesem Punkt ergibt sich doch folgendes:

Die Zykluszeit verhindert mir einen exakten, bzw. reproduzierbaren Beginn des Bremsvorganges, je höher die Geschwindigkeit des Motors desto höher dieser Einfluss.
Die Rampe muss perfekt linear sein, ansonsten gibts Fehler.

Im Falle der zyklischen Aktualisierung von v in Abhängigkeit von s habe ich im Prinzip einen P-Regler mit V= PFaktor * (Wurzel s), der eine bleibende Regelabweichung hat, was bei P-Regler ja prinzipbedingt ist.
Um diese Abweichung gegen 0 zu fahren, müsste ich zusätzlich noch einen I-Anteil einbauen.

Womit ich dann einen eigenen PI-Regler programmieren müsste. Aber dafür gibts ja schon den SFB41.
Der bietet mir dann in Verbindung mit dem Online-Meßwertschreiber zusätzlich die Möglichkeit, die Auswirkungen meiner Parameter grafisch vorgesetzt zu bekommen.

Würde mich aber mal freuen, wenn der Waelder abschliessend mal posten würde, wofür er sich letztendlich entschieden hat und welche Erfahrungen er bis dahin so gemacht hat.:-D

@Grubba
der fehlende I-Anteil wird duch die integrierende Strecke ausgeglichen, ist also nicht unbedingt notwendig, ausserdem handelt es sich hier nicht um eine Positionsregelung oder Lageregelung sondern um eine Positionierung, die bei erreichen des Zielwertes beendet ist. Der Brenseinsatzpunkt braucht nicht berechnet zu werden, bei grosse Restwegen ist die berechnete Geschwindigkeit >100% und wird damit begrenzt, abhängig von "a" wird ab einem bestimmten Restweg der Berechnete V Sollwert kleiner und bremst die Anlage mit konst. Verzögerung auf 0 herunter (ganz einfach). Übrigens funtioniert das auch bei grossen Antrieben wie bei meinen Anwendungsfällen (Leistung ~5MW) und unterschiedlichster Belastung reproduzierbar gut.
Zudem kommt noch, das diese Art der Positionierung in weiten grenzen unabhängig von äquidistanten Zykluszeiten ist d.h. auch für OB1 geeignet.
 
@HMI-Muckel

der fehlende I-Anteil wird duch die integrierende Strecke ausgeglichen

Was meinst Du damit?

Wenn ich Euren Algorithmus richtig gelesen habe

v= Wurzel(2*a*s)

ist das nichts anderes als ein P-Regler ohne I und D Anteil - der wird niemals auf 0 positionieren können.

Aber wenn ichs falsch verstanden habe, schreibs doch bitte nochmal auf.:confused:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@HMI-Muckel



Was meinst Du damit?

Wenn ich Euren Algorithmus richtig gelesen habe

v= Wurzel(2*a*s)

ist das nichts anderes als ein P-Regler ohne I und D Anteil - der wird niemals auf 0 positionieren können.

Aber wenn ichs falsch verstanden habe, schreibs doch bitte nochmal auf.:confused:
der Antrieb fährt solange V<>0 ist (schliesslich befindet sich unterlagert eine Drehzehlregelung mit P-I Regler, die gefällist der V-Sollwert einhalten soll), und damit ändert sich der Restweg, nur das hier durch die Wurzel eine Linearisierung stattfindet und das asymptotische Verhalten wie es mit normalen P-Regler erreicht wird entfällt, vielmehr schneidet die V in Abhängikeit von der Zeit die Zeitachse unter einem Winkel <>0. Durch die Formel wird eine elegante Verstärkungsadaption erreicht man könnte z.B. dem Antrieb im Idealfall von 100% auf 0% nahe der Stromgrenze (=> konst.Verzögerung)herunterfahren und trotzdem eine Zielbremsung durchführen. Dadurch wird eine gewisse Zeitoptimierung zudem noch erreich. Andere Konzepte, müssten dies durch Adaption der P-I-D Parameter erreichen.
Ich sage nicht, dass ein P-I-D Regler das nicht kann, ist halt nicht so einfach zu Parametrieren. Hier braucht man nur "a" einstellen und sich damit an die Stromgrenze des Motors herantasten)
(der Restweg S enspricht der Fläche unter der Kurve (intergral) V=f(t) siehe Threadstart Skizze)

Beste Grüsse
Martin
 
@ HMI-Muckel
der Antrieb fährt solange V<>0 ist (schliesslich befindet sich unterlagert eine Drehzehlregelung mit P-I Regler, die gefällist der V-Sollwert einhalten soll)....

Was als Regelung untergelagert ist, ist in diesem Fall irrelevant. Die Geschwindigkeit wird bei Dir durch die bereits mehrfach erwähnte Formel errechnet. Und das ist und bleibt ein P-Regler. Also bekommst Du eine bleibende Abweichung. (Wie groß diese ist sei mal dahingestellt !)

Dein Restweg wird immer kleiner. Dadurch auch Deine Geschwindigkeit. Und so weiter. Irgendwann konvergiert Deine Geschwindigkeit gegen 0. Das ist halt so beim P-Regler.
Wie Du schon schreibst: Die untergelagerte Drehzahlregelung hält den V-Sollwert. Und der kommt von Dir.
 
also, ich mach das schon seit Jahren: Positionieren und Mitfahren mit
v=wurzel(2as).
(mit FU und Asynchronmotor, wahlweise Absolut- oder Inkrementalgeber, auch einfachen Pulsrädern...)

Probleme: für eine einfache Vorrücken-Fahrt ohne Richtungsumkehr überfährt der Antrieb immer etwas. Mit Richtungsumkehr neigt das Ding zum Schwingen, da muss man s um einen Toleranzwert vermindern.

Ohne die Eigenschaft der Regelstrecke zu berücksichtigen, die sich durch wurzel(2as) ausdrückt, geht jeder Regelversuch mit PID in die Hose.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Kermit
:s12: seh ich auch so.

@Grubba
Die unterlagerte Drehzahlregelung ist Teil des Regelkreise und somit sehrwohl relevant, sie hält meinen Geschwindigkeitssollwert ein. Die Integration der Geschwindigkeit ist der gefahrene Weg -> Integrierende Strecke.
 
Die unterlagerte Drehzahlregelung ist Teil des Regelkreise und somit sehrwohl relevant, sie hält meinen Geschwindigkeitssollwert ein.

Das mag ja sein, ist doch aber nur die Geschwindigkeitsregelung.
Angenommen, Dein FU hat den perfekten Regler und schafft es, innerhalb unendlich kurzer Zeit Deinen Motor auf Deine Sollgeschwindigkeit zu bringen. Dann wäre Deine Istgeschwindigkeit imer Deiner Sollgeschwindigkeit. Diese Sollgeschwindigkeit gibst Du über eure Wurzel(2as) Geschichte vor. V ist also eine Funktion nur von s. Ein P-Regler ist das zwar nicht mehr gerade, aber fast. Und die regeln die Abweichung nun mal nicht auf 0 aus. Es mag ja sein, das die Toleranz, die damit erreicht wird ausreicht.

 
Das mag ja sein, ist doch aber nur die Geschwindigkeitsregelung.
Angenommen, Dein FU hat den perfekten Regler und schafft es, innerhalb unendlich kurzer Zeit Deinen Motor auf Deine Sollgeschwindigkeit zu bringen. Dann wäre Deine Istgeschwindigkeit imer Deiner Sollgeschwindigkeit. Diese Sollgeschwindigkeit gibst Du über eure Wurzel(2as) Geschichte vor. V ist also eine Funktion nur von s. Ein P-Regler ist das zwar nicht mehr gerade, aber fast. Und die regeln die Abweichung nun mal nicht auf 0 aus. Es mag ja sein, das die Toleranz, die damit erreicht wird ausreicht.

Frage:
Was würde dein P-I-D- Regler in dem Falle ausgeben, und wie würde der Motor darauf reagieren?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Auf den D-Anteil würde ich erstmal verzichten.

Angenommen, ich würde Euren Regler nachbauen. Also könnte ich theoretisch den P-Faktor variabel verändern. Dann hätte ich an dieser Stelle euren Regler nachgebaut.
Dann mal probelaufen lassen und sehen, was sich so einstellt.

Dann würde ich den I-Anteil einschalten und einen kleinen Wert vorgeben. An der Stelle, wo der reine P-Regler kurz vor dem Ziel stehen bliebe, sorgt der Integralanteil für eine steigende Geschwindigkeitsvorgabe, je länger er den Sollwert nicht einhält. (Dieser Übergang ist natürlich stufenlos) Somit sorgt der I-Anteil für eine komplette Ausgleichung der Regelabweichung.

Das das System nicht anfängt zu schwingen, ist natürlich Sache der Einstellungen. Bei langsamen Systemen (wie diesem hier) kann ich wahrscheinlich keine supersteile Rampe fahren.

Kann nur aus meinen Erfahrungen sagen, das ich so bisher noch alles auf Position gefahren bekommen habe, was hier so notwendig war.

Und garantiert werde ich Euren Algo auch mal ausprobieren und vergleichen. Habe gerade noch einen Laserscanner auf dem Schreibtisch stehen, der einem Bauteil hinterherfahren muß. Mit PID gehts schon, mal sehen, was bei mir dann mit Wurzel(s) rauskommt.....
 
also, ich mach das schon seit Jahren: Positionieren und Mitfahren mit
v=wurzel(2as).
(mit FU und Asynchronmotor, wahlweise Absolut- oder Inkrementalgeber, auch einfachen Pulsrädern...)

Probleme: für eine einfache Vorrücken-Fahrt ohne Richtungsumkehr überfährt der Antrieb immer etwas. Mit Richtungsumkehr neigt das Ding zum Schwingen, da muss man s um einen Toleranzwert vermindern.

Ohne die Eigenschaft der Regelstrecke zu berücksichtigen, die sich durch wurzel(2as) ausdrückt, geht jeder Regelversuch mit PID in die Hose.

Hab ich die so richtig verstanden :
Hast du ne Fallunterscheidung für s < 0 in deinem Programm berücksichtigt?
Mit Toleranz ziehst du v bei ABS(s) < Toleranz auf 0?

Das ist zwar imho ne Regelung, aber eine nichtlineare (wegen er Wurzelfunktion), was mir aber für den Fall sehr geeignet und praktisch scheint.

just my 2 cents
 
richtig ...

da man aus einer negativen Zahl keine Wurzel gezogen bekommt, bleibt das Vorzeichen aussen vor:
v = Vorzeichen(s) * Wurzel(2 * a * ABS(s))

Ja, das mit der Toleranz sieht dann grob dargestellt etwa so aus:
if ABS(s)<Toleranz then s=0 else s=SIGN(s)*(ABS(s)-Toleranz)
in Wirklichkeit hab ich da aber zusätzlich eine mehrstufige Toleranz, die mir dann den Beschleunigungsfaktor a auch noch beeinflusst ...

ansonsten ... ja mit Freigabe der negativen Bewegungsrichtung ergibt sich tatsächlich eine Lageregelung ... sprich s ergibt sich aus der Differenz zwischen Solllage und Istlage ...

nun könnte man (was ich bisher nicht gemacht habe) bei großem Toleranzwert oder starkem Antriebsschlupf die verbleibende Regelabweichung aufintegrieren und damit die Sollposition auf einen Offsetwert verstimmen, der der Regelabweichung entspricht. In der Praxis hab das noch nie gebraucht, da ich nie CNC-Genauigkeit brauchte. Im Gegenteil, da ich i.d.R auf bewegliche Objekte in der Art der Fliegenden Säge aufsynchronisiere, wäre der I-Regler zu träge, um da noch eine Verbesserung erbringen zu können.

übrigens: solch hilfreiche Dinge wie z.B. Schlupfkompensation beim Umrichter schalte ich ab - es stört regelmäßig (zumindest bei mir), wenn der Umrichter verspätet versucht, den aufgetretenen Schlupf aufzuholen.

Die Rampe des Umrichters rechne ich in der SPS, der Umrichter ist auf Minimalrampe parametriert und bekommt den Sollwert über DP 12MBAUD. Die SPS läuft typischerweise 3ms, der Prozess läuft etwa 1m/s und die Fliegende Säge macht drei Schnitte pro Sekunde mit einer Lagegenauigkeit von etwa +-2mm.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich dachte ich häts begrifen, aber jetzt...

1.
Die bremsweg ist 80mm bij anfang bremse haben wir 100% geschwindgkeit
wehn wir nog 40mm fahren mochte must der geschwidgkeid ((40/80)^-2)*100%=70,71% bij 20mm restweg ist das ((20/80)^-2)*100%=50% ,bei 10mm =35% , bei 1mm =11% bei 0.5 mm =7,9%
Mit diese formule bekomme Sie eine liniare ramp.
Wenn Sie die formule Bremsweg/restweg*100% geschwindkeid gebraucht bekomst du eine rampe welche in anfang schnell nach unten geht und an ende gans vlak ist. (Mit grosse geschwindkheid wurd eine grosse weg/sec abgelegd und mit kleine eine kleine weg/sec)


das ist doch was völlig anderes als V =wurzel(2as) ???

und wie kommst du auf die ergebnisse?

((40/80)^-2)*100%=70,71%

((0,5)^-2)*100%=70,71%

(0,5^-2)*100%=70,71%

4*100%=400%


hier wird mit dem verhältniss von restweg zu bremsweg gerechnet, aber alle anderen reden von diesem dubiosen "a"

das fress ich noch nicht ganz, was erreicht ihr damit?
also angenommen "a" ist eine konstante, dann hat es doch keinen einfluss auf den verlauf der bremsrampe?

wenn "a" variabel behandelt wird, WIE?
bzw. in welchem zusammenhang?


@Markus,
"a" ist die Verzögerung bzw. Beschleunigung.
die Formel lässt sich wie folgt herleiten.
1. V = a * t => t = V/a
2. S = 1/2 * a * t^2
=> S = 1/2 * V^2/a
=> V^2 = 2 * a * S
-------------------
Bei konstantem a was einem konstantem Bremsmoment der Maschiene bzw konstamtem Bremsstrom entsprechen würde wird die Geschwindigkeit in Abhängikeit von der Zeit linear ensprechend einer Geraden Abgebaut und zu Null geführt.


was mir bei der formel auch noch nicht einleuchtet ist die skallierung des sollwertes, wie wird vmax definiert?

ach hätte ich doch in mathe besser aufgepasst... :ROFLMAO:
 
Hi,

ich rechne mit physikalischen Einheiten sprich [V]=[m/s], [a]=[m/s^2], und =[m].

JoopB rechnet in % von Vmax (= max Anlagengeschindigkeit oder Antriebsgeschwindigkeit) V/Vmax = SQRT(2*a*S)/SQRT(2*a*Smax)
=> v[%] = SQRT(S/Smax)
wobei S der Restweg ist und Smax der Bremsweg ist von Vmax auf 0.
 
Hi,

ich rechne mit physikalischen Einheiten sprich [V]=[m/s], [a]=[m/s^2], und =[m].


das habe ich schon begriffen, aber dein V wird ja quasi endlos erhöht beim einer längeren verfahrstrecke .

fängst du das irgendwo anders wieder ab und begrenzt es auf die geschwindigkeit die der antrieb maximal kann?

was machst du mit "a" bleibt das konstant, oder ist das variabel? wenn ja, in welchem zusammenhang?



JoopB rechnet in % von Vmax (= max Anlagengeschindigkeit oder Antriebsgeschwindigkeit) V/Vmax = SQRT(2*a*S)/SQRT(2*a*Smax)
=> v[%] = SQRT(S/Smax)
wobei S der Restweg ist und Smax der Bremsweg ist von Vmax auf 0.

hmm hier habe ich doch das selbe problem?
ich muss Vout im anschluss auf Vmax begrenzen, oder?


Was mache ich hier falsch?

das ist doch was völlig anderes als V =wurzel(2as) ???

und wie kommst du auf die ergebnisse?

((40/80)^-2)*100%=70,71%

((0,5)^-2)*100%=70,71%

(0,5^-2)*100%=70,71%

4*100%=400%
 
Zurück
Oben