hallo, versuche gerade einen schrittmotor zu beschleunigen, habe keine ahnung ob das richtig ist, wie ich es mache. algorithmus siet bei mir so aus: schleife 1 schritt pause 2 schritt pause 3 schritt pause 4 schritt pause goto scleife in den nicht dargestellten schleifen verringere ich die pausen langsam und komme auf die frequenz ca. 1khz (also pause mit 1ms) zwischen den schritten. ich möchte gerne 2-5 khz haben, ist das generell möglich? habe keine doku zu dem motor. ich habe etwas über rampen von schrittmotoren gelesen, aber kein algorithmus gefunden wie man es richtig macht, kann jemand helfen? danke!
Probieren? Wirste schon merken wenn der Motor bei hohen Frequenzen Schritte überspringt...
Ivan schrieb: > schleife > 1 schritt > pause > 2 schritt > pause > 3 schritt > pause > 4 schritt > pause > goto scleife Das Problem bei dieser Vorgehensweise ist, dass der Schritt von 4 nach 1 wegen des goto länger braucht als die Schritte dazwischen. Aus diesem Grund wird für sowas üblicherweise ein Timer eingesetzt, der definierte Zeitabstände erzeugen kann. > komme auf die frequenz ca. 1khz (also pause mit 1ms) > ich möchte gerne 2-5 khz haben, ist das generell möglich? Ja, aber evtl. nicht mit dieser Programmiersprache/Compiler. Welche/n verwendest du denn eigentlich?
Um eine konstante Beschleunigung zu erzeugen, solltest Du dir einmal folgende Links ansehen: http://www.embedded.com/columns/technicalinsights/56800129?_requestid=56271 http://www.atmel.com/dyn/resources/prod_documents/doc8017.pdf Wenn Du jedesmal einen Konstanten Wert von deiner Pause abziehst, beschleunigst du am Anfang arschlahm und am Ende viel zu schnell. Ansonsten solltest Du, insofern dein SM-Treiber das ermöglicht, einmal die verschiedene Einstellungen durchprobieren: fast Decay an/aus, Anzahl der Mikroschritte erhöhen, verringern. :)
Vielleicht hilft dir das: http://www.mikrocontroller.net/articles/Schrittmotoren#Beschleunigungsrampen_richtig_w.C3.A4hlen_und_berechnen MfG
danke für die antworten, ich dachte dass es einfacher geht, muss nach einem algorithmus suchen, wie man das ganze umsetzen darf
Wenn du den Motor mal bis zu einer bestimmten Frequenz hochfährst und dort dann mal belastest, merkst du ganz schnell, ob da noch Reserven sind oder ob der kurz vorm Limit ist. Dort nämlich reichen kleinste Kräfte und die Motordrehung reißt ab. Hat er hingegen noch gut Drehmoment, kannst du auch noch höher mit der Frequenz gehen.
Nochwas: Rampen werden typisch mit gleichbleibender Beschleunigung gefahren. Um das auszurechnen, braucht es etwas Mathematik. In C aber recht einfach umsetzbar.
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.