Danke Hubert.G, danke PICture. Mein oben gezeigter Code hatte seit Jahren und stundenlang funktioniert bei meinen Fahrdingern, egal ob Dottie, MiniD0 oder ein namenloser Versuchsträger. Mit m168 und m328 und m328P. Nur jetzt - gings eben nicht wie "immer". Dabei ist dieser Code mit Beispielen wie z.B. dem C-Testprogramm der RNControl weitgehend deckungsgleich. Aber die Beispiele waren natürlich nicht so voll von Interrupts wie das MiniD0 jetzt ist - und daran KÖNNTE es gelegen haben. Und damits richtig verwirrend war, kam die Fehlfunktion AUSSCHLIEßLICH auf den Ports 1Y-2Y meiner L293D.
Festgestellt hatte ich jedenfalls, dass der L293D bei Softwarebeispielen für Gleichstrommotoren mit Bürsten für den Motorstop eigentlich immer beide Schalteingängen 1A/2A oder 3A/4A auf low oder high gezogen werden. Das entspricht der Funktionstabelle des L293D im Datenblatt von TI (L293, L293D QUADRUPLE HALF-H DRIVERS, Doc SLRS008C − SEPTEMBER 1986 − REVISED NOVEMBER 2004, Seite 9). Hatte bei mir aber nicht einwandfrei funktioniert - bei zwei verschiedenen L293D, einer davon fabrikfrisch.
Gelöst habe ich es jetzt so, dass ich für den Motorstop den PWM-Port auf low ziehe. Und so geht es - bisher in rund zwei Dutzend Testfahrten ohne den geringsten Fehler.








Zitieren


Lesezeichen