Hallo, vielleicht war dieses Thema schon mal aufgetaucht. Ich möchte die Geschwindigkeit eines Schrittmotors steuern. Die Geschwindigkeitskurve soll in Form einer Sinusfunktion verlaufen. Also langsamer Start und weiches abbremsen, wieder Start usw. Hat hier schon mal Jemand so etwas programmiert? Wenn ja, wäre ich für einen Tip dankbar. MfG Christoph
Christoph schrieb: > Die Geschwindigkeitskurve soll in Form einer Sinusfunktion verlaufen. Bei sinusförmigem Verlauf würde sich die Geschwindigkeit beim Start wegen der maximalen Steigung der Sinuskurve im Nulldurchgang maximal schnell ändern (wie bei einer linearen Beschleunigungsrampe), um dann immer weniger zu beschleunigen. Wenn du sanft anfahren möchtest, darfst du nicht plötzlich von 0 auf Maximalbeschleunigung gehen.
Mario M. schrieb: > Er meint wohl eher 1-cos(x). Langsam wird da ein Schuh draus. Jetzt fehlt nur noch ein Faktor 1/2 davor 😉
Hallo Christoph, Du musst Dir erst mal überlegen, was der Motor genau soll und wie Du ihm das sagen willst. Soll er einfach nur eine konstante Drehzahl machen? Brauchst Du seine Position? Soll er mit einem zweiten Motor zusammen laufen? Für einen XY-Tisch habe ich ein Programm für einen ATmega1484P in Assembler geschrieben. Der wird über die serielle Schnittstelle in Klartext gesteuert. Er versteht HPGL also z.B. PU 200, 340; (hebe den Stift oder Laser aus und gehe zur Position X=200 Y=340). Bedient wird er z.B, über HThern. Rampenanfang und Rampenlänge lassen sich über die Schnittstelle schnell ändern. Hast Du fertige Motortreiber oder baust Du die selbst? Im Moment bastel ich an Treibern für einen 5-Phasen- Motor. Der wird im Halbschritt laufen und bekommt 255 Mikroschritte pro Halbschritt drauf. Gruß Carsten
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.