Hallo AVR-Frickler,

ich halte diese Schaltung für, ähh, nicht geeignet zur Ansteuerung von Schrittmotoren.
Der L297 ist ja nicht umsonst erdacht worden
Zudem erschließt sich mir der Sinn noch nicht.
Du müßtest den Strom messen, ab einem bestimmten Wert Enable abschalten, mit einem Interrupt wieder einschalten und wieder von vorne.
Und das ist nur für einen einzigen Microstep. Und für eine einzige Phase.
Bei 3 Motoren hast du 6 Stück davon. Allein die Meßzeit für einen analogen Eingang ist mit 23Takten@200kHz 0,115ms (theoretisch!) dann bist du bei 6 Phasen bei 1,4 kHz PWM-Frequenz.
Rechnet man nur 1/16 Schritt, also 3200 Microsteps pro Umdrehung bei einem 200er Motor, dann ist ab 1/2 Umdrehungen pro Sekunde Schluß mit der Stromerfassung, weil deine Messungen nicht mehr hinterherkommen.
Und das ist noch schöngerechnet, ohne die eigentlichen Berechnungen und I/Os die ein Controller sonst macht.

Gruß, Michael