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
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).
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.
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.
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
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
Vielleicht ist es Dir zu kompliziert, aber ich zeige es Dir dennoch, wie es gehen könnte: Beitrag "Schrittmotoransteuerung mit A4982 und ATmega328" Weiter unten gibt es einen Verweis auf Arduino, wo in C programmiert wird, was den Arduino nicht stört.
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/
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
Ps: würde mich auch gerne nach dem Projekt weiter mit dem arduino beschäftigen, welche spreche ist denn am besten fürneinstiegs Programmierer :)))? Und gibt es dazu ein gutes Buch ?! Oder weitere Internet Seiten/videochannel?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.