Schrittmotoren

Angesichts von Werkzeugmaschinen, Robotern und 3D-Druckern ist das

Schrittmotoren synchron die typischen 2D Bahnen (Gerade, Ellipse) fahren

DoDi

Reply to
Hans-Peter Diettrich
Loading thread data ...

Hans-Peter Diettrich :

Klothoiden fahren zu lassen (ruckfrei in die Kurve, der Beschleunigungswechsel ist dabei linear von der Geraden in den Kreisbogen).

M.

Reply to
Matthias Weingart

Falscher Ansatz. Es gibt kein Raster.

Wenn Du Schrittmotoren mit Sin/Cos-Generator ansteuerst, laufen sie

Position stehen bleiben.

gar dritter Ordnung musst Du schon vorher vorgeben.

die Du so ohne weiteres nicht wieder los wirst.

Ja geht.

Also, ein Raspi wird es schaffen.

Marcel

Reply to
Marcel Mueller

Marcel Mueller :

Auch sin, cos schafft man auf kleinen 8MHz Controllern, dann arbeitet man in Integer mit Tabellen im ROM und skaliert durch ne Multiplikation hoch. Aber die Frage ist, ob man sich das heutzutage noch antun will, wo schnelle ARM

M.

Reply to
Matthias Weingart

Am 25.08.16 um 09.53 schrieb Hans-Peter Diettrich:

J. Man kann in 2D, 3D oder 6D einfach eine geeignete Trajektorie vorgeben, die in der 2. oder auch 3. Zeitableitung stetig ist - wenn man will, auch noch in der 4. Zeitableitung. Schwieriger wirds nur, wenn man

unterworfen ist.

Klothoiden waren ja schon genannt. Trajektoriegeneratoren lassen sich recht elegant und effizient im Zustandsraum implementieren. Da braucht

skalieren will, vermutlich mit Gleitkommaarithmetik. Aber

V.

Reply to
Volker Staben

"Hans-Peter Diettrich" schrieb im Newsbeitrag news: snipped-for-privacy@mid.individual.net...

--
MaWin, Manfred Winterhoff, mawin at gmx dot net 
Homepage http://www.oocities.org/mwinterhoff/ 
dse-FAQ: http://dse-faq.elektronik-kompendium.de/
Reply to
MaWin

Volker Staben schrieb:

Das erinnert mich jetzt an sowas wie Splines, die bei vorgegebenen

Ausgangspunkt meiner Frage war eigentlich, was ein Schrittmotor-Treiber

eher unsinnig ist, zumindest zwischen fest vorgegebenen Bahnen (Formerhalt bei Konturen) und Trajektorien mit ggf. variablen Endpunkten unterschieden werden sollte (optimale Bewegungen).

number-crucher eher nicht zur direkten Ansteuerung von Schrittmotoren geeignet sind, und die entsprechende Peripherie ja auch implementiert

entspechende Abgrenzung.

DoDi

Reply to
Hans-Peter Diettrich

MaWin schrieb:

Grbl war ein gutes Stichwort :-)

Frage: kann ein Arduino neben grbl noch mehr tun (Speicher?

DoDi

Reply to
Hans-Peter Diettrich

Am 26.08.16 um 14.06 schrieb Hans-Peter Diettrich:

Stetigkeit einer beliebig hohen Ableitung erreichen.

  1. liefert ein Trajektoriegenerator immer auch bei "Kurswechseln" zwischendurch automatisch die passenden Zeitableitungen. Mit Splines muss man bei Kurswechseln vom Momentanzustand aus neu rechnen - und auch

minimal sein kann.

herauszuziehen.

V.

Reply to
Volker Staben

Sensor ) oder open loop. Bei open loop hat man hinreichend Probleme keine Schritte zu verlieren. Wehwechen sind ja in der Literatur dargestellt:

formatting link
Ich vermute Drucker usw. hatten ihre Mechanik sehr genau optimiert.

Das Buch

formatting link

formatting link

MfG JRD

Reply to
Rafael Deliano

Volker Staben schrieb:

DoDi

Reply to
Hans-Peter Diettrich

Rafael Deliano schrieb:

Eigentlich denke ich bei Schrittmotoren an open-loop. Bei closed-loop kann man beliebige Aktoren einsetzen.

um die Grenzen beim Einsatz von Schrittmotoren auszuloten. Dabei bin ich

Schrittmotoren. Von da kam die Frage auf, wie sich komplexe Bewegungen planen lassen, und wie eine universelle Schnittstelle zu den

DoDi

Reply to
Hans-Peter Diettrich

Am 26.08.16 um 21.28 schrieb Hans-Peter Diettrich:

mit den Suchbegriffen "Trajektoriegenerator" oder

meiste ist allerdings in Richtung zeitoptimale Regelung in der

Das, was mir spontan einfiel, ist ein so alter Hut, dass man kaum Infos

dann im Zusammenhang mit flachheitbasierten Steuerungen und Regelungen. Aber darauf muss man erst einmal kommen :-) Dort "bastelt" man sich ja

nichtlinearen Strecke und deren Ableitungen so zusammen, dass die

den einachsigen linearen Fall:

formatting link

Im Grundsatz ist der Trajektoriegenerator ein im Zustandsraum formuliertes System: eine Kette von Integratoren - im Bild mit ihrer

Eigenwerte dimensioniert. Das geht mit Hilfe von Standard-Entwurfsverfahren im Zustandsraum ziemlich simpel. Ein

Ausgang "Ort" das gleiche Signal ansteht wie am Eingang "Sollwert Ort" vorgegeben. Der Ausgang "Ort" folgt nun dem Eingang "Sollwert Ort" mit

beliebig vorgeben kann.

jeweils aus den vorgelagerten Integratoren herausgezogen werden, stellen

der Antriebstechnik verwenden. Und weil alle Signale - auch der Ruck -

stetig verlaufen, egal, was am Eingang "Sollwert Ort" passiert (endliche Signale vorausgesetzt). Wenn man will, kann man so auch noch die 7. Ableitung stetig realisieren, indem man das Prinzip erweitert.

Achsen ist nicht ganz trivial, wenn man die vorgezogenen Signale Geschwindigkeit etc. nutzen will. Braucht man nur den Ort in x und y und ist Mehrdeutigkeit nicht gefordert, kann man einfach den Ort y als

Mehrdeutigkeiten, dann muss das Ganze sowieso anders konzipiert werden, vielleicht mit vorgelagerten Splines, die drei Orte x,y,z als drei

Trajektoriegeneratoren wie im Bild verarbeitet werden, um die drei Achsen dann ruckstetig anzusteuern. So kann man dann auch bspw. mit

fahren.

Zeitoptimal ist das Ganze auch nicht, daher auch der Kontext zur Regelungstechnik.

Reply to
Volker Staben

Volker Staben :

Konstante Schnittgeschwindigkeit ist manchmal eine wichtige Vorgabe, das klappt aber nur, wenn die Kontur auch entsprechend geformt ist. An einer rechteckigen Kante schaffst Du keine konstante Schnittgeschwindigkeit. D.h.

angepasst werden, sonst wird das nicht ruckfrei...

M.

Reply to
Matthias Weingart

Am 30.08.16 um 08.12 schrieb Matthias Weingart:

nicht, da muss man schon anders planen.

V.

Reply to
Volker Staben

"ein Arduino" ist nichts anderes als ein Atmel-Prozessor mit USB-Schnittstelle, Stromversorgung und Bootloader, z.B. ATmega328

formatting link

2 kB SRAM; 32 kB Flash Memory; 1 kB EEPROM; 16 MHz Clock Speed

formatting link

8 kB SRAM, 256 kB Flash, 4 kB EEPROM, 16 MHz Clock Speed

gebrauchen ist.

Reply to
Edzard Egberts

Volker Staben schrieb:

Das sieht mir wie ein Beobachter aus?

Otto Normaluser ist das jedenfalls kein brauchbarer Ansatz :-(

nicht begrenzt?

DoDi

Reply to
Hans-Peter Diettrich

"Arduino" bezeichnet eher eine Entwicklungsumgebung, die inzwischen

Steuerung/Regelung interessiert mich nur insoweit, als sie die

DoDi

Reply to
Hans-Peter Diettrich

betreiben. Ich hab hier an meinem 3D Drucker ein 4GB Karte auf die ich die Druckdateien speichere.

Reply to
Stefan

Am 30.08.16 um 11.16 schrieb Hans-Peter Diettrich:

Allgemeinheit hinausgeht. In wissenschaftlichen Publikationsdatenbanken gibt es durchaus Zehntausende von Treffern.

Nein. Ein Beobachter ist ein Modell eines realen Systems, das dem realen

Der Generator ist letztlich ein Filter, das in einer Zustandsraum-Normalform formuliert wird. Und diese

einem Zustandsraummodel, einem Beobachter, einem Kalman-Filter oder eben hier dem Trajektoriegenerator.

Die Dynamik des Generators der Ordnung n wird durch vorgegebene n Eigenwerte lambda_1, lambda_2,... festgelegt. Dann ergibt sich ein charakteristisches Sollpolynom P_soll durch Ausmultiplizieren von

P_soll = (lambda - lambda_1)*(lambda - lambda_2)*...

Man beschreibt die Integratorkette des Generators durch die vier Standardmatrizen A, B, C, D eines Zustandsraummodells, damit wird bei

  1. die Eingangsmatrix B so festlegt, dass der (skalare) Eingang nur auf den "ersten" Integrator wirkt, also B = (1 0 0 0 ...)',
  2. die Ausgangsmatrix C so festlegt, dass der Ausgang des "letzten"

ist, und

  1. Die Systemmatrix eine Hauptdiagonalparallelform besitzt, es wird also A zu

/ 0 0 0 0 usw. \ / 1 0 0 0 \ A = ( 0 1 0 0 ) \ 0 0 1 0 / \ usw. usw. /

Das charakteristische Polynom P des Generators ergibt sich dann mit der Einheitsmatrix I aus

P = det(lambda*I - A + B*R)

dann der Ausgang mit gegebener Dynamik dem Eingang und die vorgelagerten Integratoren liefern die Ableitungen des Ausgangs.

That's it. Standard-Entwurfsverfahren im Zustandsraum, wie bei einer

Kalman-Filter geht man i.d.R. anders vor, weil dort die

zeitoptimal, d.h., die Grenzen werden genau einmal erreicht und man

Andererseits kann man den Generator auch schnell auslegen, die Bahn anders planen und den Generator dann nur noch verwenden, um die Ableitungen online zu berechnen - dann vielleicht auch gleich

Es ist wie immer: wenn man es einmal kapiert hat, ist es supereinfach und superpraktisch.

Mehrdeutigkeiten. Damit hat man dann die Bahngeschwindigkeit im Griff.

V.

Reply to
Volker Staben

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.