Arduino Stepper sanftanlauf/abbremsen

OP #4101764
Lesenswert?

Einen wunderschönen guten Tag :)

Ich arbeite seid Ca. 2 Wochen mit einem  Adriano mega 2560 an eine, 
Projekt für meinen Techniker auf Abendschule. Bin also noch kein Experte 
in diesem Fach. Hab damals pics und viel Sps programmiert. Wir bewegen 
auf einer linearführung einen Schlitten von links nach rechts. Verwendet 
wird ein Stepper Nema 17 angeschlossen über eine L298n H-Bridge. Über 
Library und mein bisher gesammeltes wissen bekomme ich den Schlitten 
ohne Probleme bewegt. Da aber auf dem Schlitten ein volles Glas stehen 
soll, schwappt das glas bei hohen Rpm des Steppers über. Und wir wollen 
ihn zügig bewegen lassen. Nun habe ich zahlreiche suchen bei Google 
hinter mir um eine einfach zu verstehende Art der accelaration/ 
deccelaration oder pwm zu finden. Leider fehlen mir dafür bis jetzt 
mehrere Kenntnisse. Habe auch eine accerleration Library gefunden, wobei 
ich da mit dem Quellcode große Probleme hab.

Nun frage ich hier, da ich mittlerweile recht verzweifelt bin und das 
Projekt in ein paar Tagen stehen muss. Wollen den Schlitten ungern so 
langsam fahren lassen das nichts schwappt, da das einfach nicht unserem 
Ziel entsprechen würde.

Freue mich schon auf Anregungen und Hilfen.

Mit freundlichen Grüßen
Marvin
Gast #4101770
Lesenswert?

Wenn du nichts findest, dann musst du es eben selbst schreiben. Es ist 
doch nicht schwer Pulse variabler Frequenz zu erzeugen. Wenn du es mit 
den Timern (noch) nicht schaffst (programmiertechnisch), dann musst du 
dich eben mit delays versuchen. Ist ja nicht so schlimm (zumindest mal 
zum ausprobieren).
Gast #4101776
Lesenswert?

Marvin Biel schrieb:
> Da aber auf dem Schlitten ein volles Glas stehen
> soll, schwappt das glas bei hohen Rpm des Steppers über.

Vermutlich schwappt das Glas über, wenn sich die Geschwindigkeit des 
Schlittens zu schnell ändert, das nennt man landläufig Beschleunigung.

Kleinere Beschleunigung nehmen, dafür länger beschleunigen. Oder ein 
höheres Glas ;-)

Nach jedem Schritt berechnen, wie lange die Pause bis zum nächsten 
Schritt ist, entsprechende Wartezeit abwarten, Schritt machen.

http://www.atmel.com/images/doc8017.pdf bzw. 
http://hwml.com/LeibRamp.pdf sollte helfen.
(Firma: Vescomp) #4101777
Lesenswert?

Marvin Biel schrieb:
> Nun frage ich hier, da ich mittlerweile recht verzweifelt bin und das
> Projekt in ein paar Tagen stehen muss. Wollen den Schlitten ungern so
> langsam fahren lassen das nichts schwappt, da das einfach nicht unserem
> Ziel entsprechen würde.

 LOL.
 Wenn du nicht rechnen willst, nimm einfach eine Tabelle mit Werten die
 dir dein PC ausgerechnet hat oder die Ihr durchs Ausprobieren gekriegt
 habt. Beim MEGA2560 hast du genug Flash fur so etwas und diese Tabelle
 wird nur beim Anfahren und Abbremsen benutzt.
OP #4102022
Lesenswert?

Danke für die schnellen Antworten :)
Leider sieht es aber so aus das was ihr so leicht sagt für mich garnicht 
mal so verständlich ist ^^

Bis jetzt hab ich dem Motor im Setup z.b. 60 rpm vorgegeben und ihn dann 
über
Stepper1(-2405) z.b. Nach links fahren lassen.

Ich kenn es bis jetzt nur ihm im Setup zu sagen " du brauchst 200 steps 
pro Umdrehung und fährst mit 60rpm" ?

Delays kann ich.

Ich hab es aber nicht gesehen dem Stepper im Loop eine andere
Rpm zu geben.

Tut mir leid wenn sich das noch nicht nach viel anhört ^^
Hoffe ihr könnt mir noch etwas weiter helfen.

Mit freundlichen Grüßen
Marvin
OP #4102037
Lesenswert?

Pls dieses atmel Dokument hab ich auch gelesen. Hab imminent einfach 
noch sehr das Gefühl das ich keinen richtigen Einstieg hatte. Ist 
teilweise auch wenn ich ganz gut Englisch kann doch sehr schwer zu 
verstehen leider...wenn ich das gerade richtig verstanden habe, stell 
ich mir das jetzt einfach so vor:

Stepper1.setSpeed(60)


Void loop()

Stepper1.step(3)
Delay(20)
Stepper1.step(6)
Delay(20)
Stepper1.step(9)
Delay(20)

Also kleine Schritte mit kurzem Delay, als beschleunigungsrampe.

Mit freundlichen Grüßen
Marvin
(Firma: mechapro GmbH) Persönliche Seite #4102063
Lesenswert?

Es gibt doch für Arduino eine fertige Lib mit Brems- und 
Beschleunigungsrampe, die Accellib [1]. Die ist kinderleicht anzuwenden 
[2] und sollte das können was du suchst.

Mit freundlichen Grüßen
Thorsten Ostermann

[1] http://www.airspayce.com/mikem/arduino/AccelStepper/
[2] 
http://www.schrittmotor-blog.de/ansteuern-von-schrittmotoren-mit-arduino/
OP #4102106
Lesenswert?

Danke für die erneut Schnellen Antworten :)
Also die  accel Library von airspace hab ich sogar schon etwas probiert. 
Da bin ich auch noch drann den Quellcode zu verstehen. Ist immerhin mein 
erster Quellcode. Hatte ma, da wir noch einen zweiten Stepper besitzen, 
das multistepper Bsp probiert. Wobei mir da der Loop leider nix 
sagt....:(

Mit freundlichen Grüßen
Marvin

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