Bin nach längerer Zeit wieder zum testen gekommen:
1x Vollprogramm Atmelstudio 6.2 und 1x Vollprogramm mit dem letzten WinAVR:
WinAVR benötigt 200 Byte mehr SRam umd 5kB mehr Flash (gleiche Compiler Einstellung -0s) trotzdem in beiden Fällen starten die Fahrmotoren zu früh, und die Fahrtrichtung stimmt nicht mit der Anzeige (zb rückwärts) überein.
Dann das Programm auf das Minumum reduziert, Positionsberechnung weg, GPS weg, Bluetooth, diverse Fahrprogramme, Menüs, Daten im EEPROM etc. Er soll nur mehr Fahren, bei Hindernissen drehen und natürlich die Drehzahl der Fahrmotoren und Mähwerk regeln Mähwerk hat wie immer PI Regler, Fahrmotoren anstatt des Reglers auf feste Umrechung Vorgabe zu PWM umgestellt.
Anstatt 55kB Flash sind es noch 15kB (viele Texte fürs LCD), Ram nur 107Byte anstatt 4606Byte.
Aber immer noch gleich, bei Messerstart beginnen nach ein paar Sekunden auch die Fahrmotoren zu drehen, und die Drehrichtung wird nicht eingehalten. Display zeigt zurückfahren, Motoren drehen aber vorwärts.
Der Motortreiber ist der vom letztem Jahr, der Enable Eingang hat einen Pulldown damit bei zB Kabelbruch die Motoren sind eben nicht drehen.
Also geht diese Leitung auf high obwohl sie lt Code nicht gesetzt wird. Ebenso die beiden Leitungen für die Relais zum Fahrtrichtungswechsel, die werden beim zurückfahren oft nicht geschalten.
Beim Vollprogramm funktioniert GPS und Bluetooth auch bei laufenden Motoren, kann mir die Bluetooth Daten zum PC schicken. Also kann es kein totaler Programmausfall sein wenn diese Punkte funktionieren. Die Messerdrehzahl wird auch perfekt geregelt.
Die Bumper und Schleifensensoren werden im Voll und Minimalprogramm erkannt und am Display angezeigt. zB Bumper vorne erkannt, Anzeige am Display, es die Funktion zurückfahren ausgeführt, am Display der Fahrmodus für zurückfahren angezeigt, lt Anzeige ist die PWM Vorgabe an die Fahrmotoren bei korrekten 52%, nur die Motoren drehen fröhlich vorwärts weiter, gehen nie auf stop wie es bei den Richtungswechsel sein sollte...
Keine Ahnung wo ich noch suchen könnte, schön langsam denke ich eher in Richtung Hardware defekt da es nur die Steuerung der Fahrmotoren betrifft
Lesezeichen