Hallo, ich möchte einen Schrittmotor mit Hilfe der Treiberplatine TMCM-140-42-SE von Trinamic ansteuern. Die Steuerung soll über einen einen Microcontroller erfolgen. Mit dem MAX3221 werden die entsprechenden Signalpegel von +5,5V und -5,5V erzeugt. Mein Testprogramm lässt den Motor zunächst mit einer Geschwindigkeit von 100 drehen. Nach 2 sec Pause soll die Drehgeschwindigkeit auf 10 gesetzt werden und nach weiteren 2 sec soll der Motor wieder ausgeschalten werden. Das Problem ist jetzt, das der Motortreiber nur sehr sporadisch auf gesendete Befehle reagiert. Das Verhalten ist bei jedem Programmdurchlauf anders. Mal wird nur die Geschwindigkeit von 100 eingestellt, mal nur 10 und manchmal passsiert gar nichts. Wenn ich den Motor über die serielle Schnittstelle des PC ansteuere funktioniert alles wie es soll. Rein theoretisch sollte es mit dem MAX3221 funktionieren, da die Signalpegel zwischen +3V und +15V bzw. -3V und -15V liegen dürfen. Kann es sein, das der Motorcontroller einen Pegel größer als +-5,5V erwartet und der Pegel des MAX3221 gerade so im Grenzbereich liegt? Nur so kann ich mir erklären das es ab und zu mal funktioniert. Hat damit schonmal jemand Erfahrungen gemacht?
Martin schrieb: > Wenn ich den Motor über die serielle Schnittstelle des PC ansteuere > funktioniert alles wie es soll. Und wenn du dir die Ausgabe deines µC (welcher eigentlich?) mal am PC ansiehst, wie sieht die Sache dann dort aus?
Wenn ich den µC über RS232 an meinen PC anschließe, wird über Hterm alles korrekt ampfangen. Also sollte das Timing eigentlich stimmen. Als Baudrate verwende ich 9600. Die ist auch als Default im TMCM-140 eingestellt.
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.