Das mit den Ferndiagnosen stimmt. Es scheint ja hauptsächlich am Schrittmotortreiber zu liegen. Der kann sehr unterschiedlich verschieden Prozessorzeit verbrauchen, z.B. je nach Motorfrequenz, Teil (Mikro-)schritte, Verwendung gemeinsamer Register im Prozessor (die bei jedem Aufruf einer Interruptroutine gesichert und beim Verlassen wieder hergestellt werden müssen) usw.Ich weis, Diagnosen aus der Ferne sind schwer möglich. Aber wenn der 2560
das generell nicht schaffen kann, dann nehme ich für den Schrittmotor gleich
zusätzlich einen Atmega 8 und probiere nicht weiter.
Ich vermute schon, dass da noch ein Schrittmotortreiber draufpassen könnte/sollte, wenn man alle Prozesse optimiert. Ob man sich einen Gefallen damit tut, sei dahingestellt. Das Optimieren des Codes ist ein Ding, aber wenn man dann später noch etwas ändern oder dazupacken will, dann muss man wieder alle Abhängigkeiten durchdenken und alles wird vielleicht noch enger.
Wenn Du beim Sichten des Codes nicht schnell einen Ressourcenfresser erkennst, den man leicht ausmerzen kann, ist zweite Prozessor ist vermutlich die schmerzfreie Variante.
Lesezeichen