Hallo zusammen,
ich habe einige Fragen zu einem - bis jetzt - rein theoretischen
Problem.
Aufbau bzw. reale Anwendung habe ich nicht, das ist mir nur letztens so
durch den Kopf geschwirrt...
Ich habe also eine Linearführung mit einem Schlitten mit einer
unbekannten Masse.
Antrieb des Schlittens mit einem DC Motor.
Ein umlaufender Riemen verbindet Motor und Schlitten.
Der Motor ist zusätzlich mit einem Rotationsencoder auagestattet, sodass
Geschwindigkeit, Position und Drehrichtung bekannt sind.
Der Schlitten soll dann moglichst schnell von einer Position zur anderen
gefahren werden. Am besten ohne über das Ziel hinauszuschießen. Bei
externer Krafteinwirkung soll dagegen gehalten werden.
Aus meiner Regelungstechnik Vorlesung hab ich ein bisschen Grundwissen,
glaube aber nicht, dass diese Konzepte alleine ausreichen.
Grundsätzlich lässt sich das ja mit einem P-Regler der Position lösen.
Ist aber langsam und schießt möglicherweise über das Ziel hinaus.
Im Prinzip soll der Motor voll beschleunigen und dann voll Bremsen,
sodass er auf dem Punkt zum stehen kommt.
Eine klassische Beschleunigungs- und Bremsrampe geht auch nicht, Problem
ist hierbei die unbekannte Masse...
Wie wird sowas gelöst?
Grüße!
Was du gerade suchst, das ist der optimale Regeler, der ohne Anpassunf
an die tatsächlichen Gegebenheiten unter allen Umständen immer perfekt
arbeitet.
Den gibt es nun mal nicht.
Gewöhn dich daran, dass es nicht für alles perfekte 100% Lösungen gibt.
Eigentlich gibt es für die meisten Dinge keine 100% perfekte Lösungen.
Techniker wissen das. Nur die Menschen auf der Strasse denken immer, es
gäbe für alles perfekte Lösungen und die Konzerne würden die nur
unterdrücken. Technik ist praktisch immer ein Kompromiss in der einen
oder anderen Art und Weise.
Man kann natürlich einen konservativ eingestellten Regler verwenden, der
zwar (Hausnummer) 95% aller praktisch vorkommenden Problemstellungen
zufriedenstellend behandeln kann, wenn auch mies. Die Alternative ist
ein perfekt eingestellter Regler, der zwar nur 5% aller praktisch
relevanten Problemstellungen behandeln kann, die aber perfekt.
Will man was dazwischen, das beste aus 2 Welten, dann kommst du nicht
umhin, dem Benutzer die Regelparameter auf die konkrete Aufgabenstellung
einstellen zu lassen. Ob das dann ein händisches Einstellen ist oder ob
es sich um einen selbstlernenden Regler handelt, der mittels einiger
Testläufe sich selbst gute Regelparameter ermittelt, ist dabei
zweitrangig. Wichtig ist, dass es kein 'out of the box' perfektes System
gibt. Irgendeine Form der Anpassung ist immer notwendig. Genau das meint
man ja auch, wenn heutzutage von sogenannten 'intelligenten' Systemen
die Rede ist. Intelligent ist da gar nichts dran. Das System hat einfach
nur Verfahren und Algorithmen mitgekriegt, mit denen es seine
Arbeitsparamter an die konkrete Aufgabenstellung anpassen kann.
Mike Litoris schrieb:> Eine klassische Beschleunigungs- und Bremsrampe geht auch nicht, Problem> ist hierbei die unbekannte Masse...
Messe beim Beschleunigen die Anfahrrampe und berechne dann über eine
vorher ermittelte Funktion den Punkt, an dem die Vollbremsung beginnt.
Mike Litoris schrieb:> Der Schlitten soll dann moglichst schnell von einer Position zur anderen> gefahren werden. Am besten ohne über das Ziel hinauszuschießen. Bei> externer Krafteinwirkung soll dagegen gehalten werden.
Was ist denn möglichst schnell?
Was ist denn eine externe Krafteinwirkung?
Mike Litoris schrieb:> .. moglichst schnell> ... ohne über das Ziel hinauszuschießen.
Das sind gegensätzliche Anforderungen an den Regler. Optimieren lässt
sich das nur für ein bestimmtes Verhältnis von Antriebsmoment zu Masse,
ändert sich das, so passiert das eine oder das andere. Reine Physik, da
kann man nichts machen.
Man kann den Regler adaptiv machen, aber das bewirkt auch nur ein
optimales Verhalten bei gleichbleibenden Verhältnissen, ändern sich die,
muss sich der Regler erst wieder adaptieren.
Seggelohrs Vorschlag bedeutet, die Adaption während der Beschleunigung
zu berechnen (praktisch wird dabei die Masse gemessen) und entsprechend
zu bremsen. Ist eine gute Idee, kannst du probieren, aber dafür musst du
zuerst mal für konstantes Drehmoment sorgen, sonst verläuft das Bremsen
nicht spiegelbildlich zum Beschleunigen. Eine genaue Punktlandung wird
auch schwierig, wahrscheinlich muss man abweichend von Seggelohrs
Theorem am Ende sich langsam annähern.
Georg
> Im Prinzip soll der Motor voll beschleunigen> und dann> voll Bremsen, sodass er auf dem Punkt zum stehen kommt.
Wann ist "und dann"? Das ist die Gretchenfrage, die du ohne Kenntnis der
masse nicht beantworten kannst.
Mir gefällt der obige Ansatz, die Masse während der Beschleunigung zu
messen, so dass Bremsweg geschätzt werden kann.
> Am besten ohne über das Ziel hinauszuschießen.
Ein ganz ander Lösungsansatz wäre, das Ziel durch einen Anschlag
festzulegen und eine Rutschkupplung zu verwenden. Dann kannst du schnell
und feste gegen den Anschlag prallen. So erreichst du die höchste
Geschwindigkeit, aber auch die höchte Material-Belastung.
Noch ein Ansatz:
Du bremst erst sehr früh und fährst dann mit minimaler Geschwindigkeit
bis zum Ziel. Beim nächsten mal bremst du etwas später, dann noch später
usw. bis das System automatisch gelernt hat, wie lang der Bremsweg denn
nun wirklich ist.
>Mir gefällt der obige Ansatz, die Masse während der Beschleunigung zu
messen, so dass Bremsweg geschätzt werden kann.
So nebenbei.. Funktioniert bei fester starrer Masse. Bei einem Glas
Wasser, einem Sandhaufen, oder einem Block Gelatine geht das nicht mehr
Jetzt Nicht schrieb:> So nebenbei.. Funktioniert bei fester starrer Masse. Bei einem Glas> Wasser, einem Sandhaufen, oder einem Block Gelatine geht das nicht mehr
Geht immer noch, wenn Du die dabei auftretende Schwingung
herausrechnest.
Seggelohr schrieb:> Geht immer noch, wenn Du die dabei auftretende Schwingung> herausrechnest.
Glaub ich nicht. Wenn du relativ stark beschleunigst, steht das Glas
Wasser nicht mehr drauf und der Sandhaufen hat sich in eine Staubwolke
verwandelt. Da wird keine Schwingung sein, die du rausrechnen kannst.
Wenn du Glück hast und die Gelatine bleibt liegen und wackelt nur, dann
könnte es klappen mit der Schwingung...
Wir haben alle ein Kriterium vergessen:
> Bei externer Krafteinwirkung soll dagegen gehalten werden.
So wird das nichts, mit dem selbst lernenden System.
Mike Litoris schrieb:> Der Schlitten soll dann moglichst schnell von einer Position zur anderen> gefahren werden. Am besten ohne über das Ziel hinauszuschießen. Bei> externer Krafteinwirkung soll dagegen gehalten werden.
Das ist das gleiche, was jedes Modellbauservo macht. Die simplen
analogen sind einfach ein P-Regler mit einem kleinen Dead-Band. Ist
dieses erreicht, wird der Motor kurzgeschlossen. Durch die hohe
Getriebeuntersetzung steht der auf den Punkt. Ist die bewegte Masse zu
groß, muß das Getriebe zum Zahnarzt.
MfG Klaus
Normalerweise macht man das mit einer kaskadierter Regelung.
Wichtig ist, dass für einen DC-Motor das Drehmoment zum Strom
proportional ist. Das heißt, man macht:
1. Regler: Stromregler, der den DC-Strom im Motor regelt. =
Drehmomentregler. Ausgabe vom Regler ist die DC-Spannung (PWM-DuCy).
Eingang vom Regler ist der Sollstrom (~Soll-Drehmoment).
2. Regler: Drehzahlregler, der die Drehzahl vom Motor (=Geschwindigkeit
des Schlittens) regelt.
Ausgabe vom Regler ist der Sollmoment für den 1. Regler. Eingang vom
Regler ist die Solldrehzahl (bzw. die Sollgeschwindigkeit des
Schlittens).
3. Regler: Lageregler, der die Lage des Motors (=Lage des Schlittens)
regelt.
Ausgabe vom Regler ist die Sollgeschwindigkeit für den 2. Regler.
Eingang vom Regler ist die Sollposition vom Motor (umgerechnet von der
Sollposition des Schlittens).
Diese Anordnung muss entsprechende Zeitkonstanten kaskadiert abgestimmt
haben, d.h. der Stromregler soll schneller einregeln, als der
Drehzahlregler arbeitet, der Lageregler soll am langsamsten eingestellt
sein.
Gruß,
Marek
Stefan Us schrieb:> Wir haben alle ein Kriterium vergessen:>>> Bei externer Krafteinwirkung soll dagegen gehalten werden.
Ich nicht!
Aber schwer zu sagen, ob für diese Frage eine Antwort geplant ist ;-)
Hallo!
Karl Heinz schrieb:> Was du gerade suchst, das ist der optimale Regeler, der ohne Anpassunf> an die tatsächlichen Gegebenheiten unter allen Umständen immer perfekt> arbeitet.>> Den gibt es nun mal nicht.
Schön gesagt aber das hilft mir nicht weiter.
Ich wollte nur "möglichst schnell". So schnell wie mit den anderen
Randbedingungen halt möglich.
> Gewöhn dich daran, dass es nicht für alles perfekte 100% Lösungen gibt.> Eigentlich gibt es für die meisten Dinge keine 100% perfekte Lösungen.> Techniker wissen das. Nur die Menschen auf der Strasse denken immer, es> gäbe für alles perfekte Lösungen und die Konzerne würden die nur> unterdrücken.
lol. Schlecht geschlafen?
Seggelohr schrieb:> Messe beim Beschleunigen die Anfahrrampe und berechne dann über eine> vorher ermittelte Funktion den Punkt, an dem die Vollbremsung beginnt.
Gute Idee!
m.n. schrieb:> Was ist denn möglichst schnell?
Siehe oben. So schnell wie mit den anderen Randbedingungen (kein
Überschwingen, unbekannte Masse, etc.) möglich.
Ich weiss nicht, ob der Vergleich was taugt, aber in einer
CNC-Fräse/Bestückungsautomat läuft das doch genauso? Möglichst schnelle
und genaue Positionierung und kein Überschwingen.
Beim Beispiel der CNC-Fräse auch Aufnahme der Gegenkräfte(Fräskräfte).
m.n. schrieb:> Was ist denn eine externe Krafteinwirkung?
z.B. ständig wirkende Schwerkraft wenn die Führung vertikal montiert
ist. Oder z.B. jemand drückt mit dem Finger auf den Schlitten.
Stefan Us schrieb:> Ein ganz ander Lösungsansatz wäre, das Ziel durch einen Anschlag> festzulegen und eine Rutschkupplung zu verwenden. Dann kannst du schnell> und feste gegen den Anschlag prallen. So erreichst du die höchste> Geschwindigkeit, aber auch die höchte Material-Belastung.
Nein geht nicht. Will beliebige Punkte anfahren, hätte ich dazuschreiben
sollen :-/
Jetzt Nicht schrieb:> So nebenbei.. Funktioniert bei fester starrer Masse. Bei einem Glas> Wasser, einem Sandhaufen, oder einem Block Gelatine geht das nicht mehr
Masse ist auf jeden Fall starr. Zumindet fast, denn wirklich starr ist
ja nichts.
Klaus schrieb:> Das ist das gleiche, was jedes Modellbauservo macht. Die simplen> analogen sind einfach ein P-Regler mit einem kleinen Dead-Band. Ist> dieses erreicht, wird der Motor kurzgeschlossen. Durch die hohe> Getriebeuntersetzung steht der auf den Punkt. Ist die bewegte Masse zu> groß, muß das Getriebe zum Zahnarzt.
So in der Richtung hab ich mir das vorgestellt.
Aber mit einem normalen P-Regler funktioniert das meines Wissens nach
nicht?!
Entweder "kriecht" der Schlitten auf seine Position (zu langsam!) oder
er überschwingt.
Auch kann ja ein P-Regler nicht bremsen, bevor er an der richtigen
Position ist?
Marek schrieb:> Normalerweise macht man das mit einer kaskadierter Regelung.
Das klingt auf den ersten Blick nicht schlecht, schau ich weiter an!
m.n. schrieb:> Aber schwer zu sagen, ob für diese Frage eine Antwort geplant ist ;-)
Na aber sicher doch! Was läst dich daran zweifeln?
Grüße ;-)
Stefan Us schrieb:> Wir haben alle ein Kriterium vergessen:>>> Bei externer Krafteinwirkung soll dagegen gehalten werden.>> So wird das nichts, mit dem selbst lernenden System.
Richtig, damit ist's endgültig Essig mit der (ohnehin überaus wackligen)
Vermessung der Masse beim Beschleunigen.
Das heißt aber nicht, daß so ein Problem nicht trotzdem ganz gut lösbar
sein könnte. Die Evolution hat gezeigt, daß es möglich ist. Wir selber
nutzen ständig bei jeder Bewegung diese evolutionär gefundenen
Optimierungen für sich dynamisch anpassende Regelungen.
OK, ist unfair, die Evolution hatte auch fast vier Milliarden Jahre Zeit
dazu, immer neue Ansätze auszuprobieren und die zwangsläufigen
Fehlschläge waren für die Probanden mit der Strafe des Sterbens oder
Aussterbens belegt. So kommt man natürlich wahrscheinlicher zu guten
Ergebnissen, als wenn vom Vertriebler zwei Monate Entwicklungszeit und
10000€ Kostenrahmen angeboten werden, um ja nur den Auftrag zu
reinzuholen...
Wie auch immer, am nächsten an den erfolgreichen Konzepten der Evolution
ist in unserer primitiven technischen Nachahmung die Fuzzy-Logic. Die
ist inzwischen so weit, daß die Mathe-Fetischisten bei dem Bemühen,
deren Verhalten wenigstens nachträglich mathematisch korrekt zu
beschreiben, wesentlich länger brauchen als diese Logik selber
braucht, um zu einem praktisch nützlichen und brauchbaren Regelverhalten
zu kommen. Sie ist aber trotzdem leider längst noch nicht so weit, wie
die Evolution gekommen ist...
Damit kann man trotzdem was anfangen. Das Problem ist: 100% Erfolgsquote
kann natürlich nicht garantiert werden. Und welcher Kunde kauft schon
was ohne 100%-Garantie, das kann doch dem für die Bewilligung der Mittel
zuständigen BWLer überhaupt nicht vermittelt werden.
Also wird fast immer erheblich suboptimaler, aber dafür leicht
berechenbarer Scheiß gekauft...
Noch 2 Punkte zur kaskadierten Regelung. Du brauchst als Sollgröße für
den P Regler einen Rampengenerator. Optimaler Weise mit sin Rampen da
die Anleitung vom sin cos ist bekommt man keinen Ruck in der
Beschleunigung.
2. Da der P Regler eine bleibende Regelabweichung hat. Steuert man den
Drehzahlregler mit der solldrehzahl aus dem Rampengenerator vor. Das
bewirkt, das der Regler noch besser an der Sollposition hängt.
Grüße
Disco
Mike Litoris schrieb:> Klaus schrieb:>> Das ist das gleiche, was jedes Modellbauservo macht. Die simplen>> analogen sind einfach ein P-Regler mit einem kleinen Dead-Band. Ist>> dieses erreicht, wird der Motor kurzgeschlossen. Durch die hohe>> Getriebeuntersetzung steht der auf den Punkt. Ist die bewegte Masse zu>> groß, muß das Getriebe zum Zahnarzt.>> So in der Richtung hab ich mir das vorgestellt.> Aber mit einem normalen P-Regler funktioniert das meines Wissens nach> nicht?!> Entweder "kriecht" der Schlitten auf seine Position (zu langsam!) oder> er überschwingt.> Auch kann ja ein P-Regler nicht bremsen, bevor er an der richtigen> Position ist?
Sicher kann der Regler bremsen: P heißt ja proportional. Die Ansteuerung
ist proportional zum Fehler. Die meißte Zeit ist Ansteuerung aber bei
100%, erst dicht am Ziel wird sie kleiner. Und ist das Dead-Band (ohne
daß schwingt das System wie ein Komparator ohne Hysterese) erreicht,
schließt die Brücke den Motor kurz. Da mag er noch eine Umdrehung weiter
laufen, nach dem Getriebe bleibt da fast nichts mehr von über.
Ich hab mal ein Blockschaltbild von so einem RC-Servo-IC rangehängt, das
sind so 2-3 Jahrzehnte alte Designs. Der erledigt die Dekodierung der
Servopulse gleich mit.
MfG Klaus