Forum: Compiler & IDEs Sanftanlauf und -bremsen für Schrittmotor


von Der kleine Niels (Gast)


Lesenswert?

Servus beisammen,

ich steh hier grad vor einem programmiertechnischen Problem. Und zwar 
habe ich 2 Schrittmotoren, die mir als Zeilen- und Spaltenmotor für eine 
Regal-Lager-System arbeiten. Also ein kleiner Kran der vorm Regal hin 
nud her, auf und nieder fährt und Schubläden entnehmen und einfügen 
kann.
Die Motoren sind 2 Schrittmotoren angesteuert über einen Motorcontroller 
mittels Takt und Richtung.
so nun will ich aber meine Gondel langsam Beschleunigen und auch wieder 
Abbremsen lassen, weiß aber irgendwie nicht wie ich das hinbekommen 
soll.

In der Software habe ich eine Zeilenpositionen und Spaltenmositionen 
jeweils als 16-bit Variable. Gebe ich nun eine neue Sollposition ein, 
bricht der Motor los und rast zu dieser Position. Mit theoretisch 
unendlicher Beschleunigung... ungünstig für den Schubladeninhalt.
Aber wie berechne ich geschickt die Bescheunigungsrampe und fast noch 
interesanter, wie bringe ich 2 (noch nicht festgelegte, da bisher alles 
nur Gedankenexperimente) µC-Pins dazu unabhängig voneinander steigende 
und fallende Taktfrequenzen auszugeben?
Arbeitsumgebung soll ein 8-bit-AVR noch nicht genauer festgelegten Typs 
sein.

Ich stehe jedenfalls gerade vor einem Rätsel.

Hat vielleicht schonmal jemand etwas ähnliches gebastelt und will mir 
beschreiben wie er/sie das so gelöst hat?

Ich danke schonmal.
MfG
Niels

von Daniel -. (root)


Lesenswert?

TMC457

von Doktor Pseudorrsa (Gast)


Lesenswert?

FBGA144 (13*13mm2)

... Yeah!

von tom (Gast)


Lesenswert?


von Markus E. (engelmarkus)


Lesenswert?

Hier gibts von Atmel eine Application Note, da wird gezeigt, wie man das 
berechnet:
http://www.atmel.com/dyn/resources/prod_documents/doc8017.pdf
(AVR446: Linear speed control of stepper motor)
http://www.atmel.com/dyn/resources/prod_documents/AVR446.zip

von Der kleine Niels (Gast)


Lesenswert?

So, jetzt muss ichs wirklich nochmal rausgraben, aber ich finds 
irgendwie nicht raus. Vielleicht weiß es baer jemand von euch.

und zwar, der erste Puls für den steppermotor, also das erste zucken, 
passiert das vor zum Zeitpunkt t=0 oder  t=c0*t_t
Den Grafiken nach würde ich sagen nach c0*t_t, der logik nach eher t=0.

Wär nett wenn sich einer die langeweile mal damit vertreiben könnte.

Danke
MfG
Niels

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.