Nach langer Zeit (ein defekter Spannungsregler hat Atmegas zerstört) kann mein Mäher endlich wieder ein paar neue Sachen:

.) das Program ist umgeschrieben, besser als vorher in Funktionen aufgebaut, wieder mal was in C gelernt, und den Code besser auf Geschwindigkeit optimiert. Jetzt macht kaum einen Unterschied ob der Compiler auf Optimerung -01 oder 03 eingestellt ist, aber bei grad 6kB belegten Flash ist das wirklich egal.

.) das Messer wird zusätzlich überwacht ob es steckt, oder viel zu langsam dreht. In diesem Fall wird ein Stück zurückgefahren, der Messerhochlauf neu gestartet, wenn alles passt auf die alte Position zurückgefahren und weitergemäht. Wenn das Messer ein bestimmte Zeit zu langsam dreht, wird abgeschalten. Es gibt für solche Fälle eine eigene Error Routine, die irgendwann mal mehr machen soll als alle Motoren abschalten und eine Meldung anzeigen. Das alles funktioniert auch bei der Spiralfahrt, s.u.

.) es gibt eine primitive 2 Stufen Regelung damit er so halbwegs gerade fährt. Beim Chaos Prinzip ist es eigentlich egal wie er fährt, aber so wird jede Sekunde die Odometrie kontrolliert und je nach Abweichung der langsamere Motor in 2 Stufen beschleunigt, wenn der schon am Maximum ist, wird der andere Motor gedrosselt.
Vielleicht schreibe ich das mal auf einen PID Regler um, aber mit nur 6 Impulsen pro Umdrehung wird es schwer werden den vernünftig einzustellen.

.) Spiralfahrt mit einer wenn möglich idealen archimedischen Spirale bis 5m Durchmesser, Bahnradius alle 20cm, damit ich eine gute Überdeckung der Bahnen habe und kein Gras stehenbleibt.
Damit kämpfe ich noch herum, die idealen Werte des Weges und der Motorleistung innen/aussen sind bereits berechnet, aber die Motoren lassen sich halt nicht ideal linear steuern. 25% Pwm sind leider nicht 25% der Drehzahl, das wird noch einiges an Versuchen erfordern.
Die Spirale wird so gefahren dass das äussere Rad mit 100% dreht und hier der Weg gemessen wird. Abhängig vom Weg wird die PWM vom inneren Motor geregelt.
Am Betonboden habe ich einen verwendbaren Regelbereich von 23%-100% PWM, mit sprunghafter Anstieg der Drehzahlen am unteren Ende. Damit kann man die Spirale im Bereich zwischen 360° und 720° nicht so eng fahren wie man sollte, es gibt keine gute Überdeckung der Bahn. Unter 360° ist der innere Motor aus, das geht immer. Ich würde 20% PWM brauchen, aber da dreht der Motor noch nicht, bzw hat keine Kraft.
Im Keller kann ich derzeit nur bis 900° testen, steht zu viel Zeugs im Weg.

Nach vielen Überlegungen wie auch Spirale aus Halbkreisen, genauer Wegkontrolle des inneren und äusseren Rades, etc, habe ich eine einfache Regelung gewählt:
Die Motorregelung ist in 25 Stufen abhängig vom Weg der Spirale aufgebaut, das entspricht 25 Stufen der idealen Drehzahl von je ca 3% Drehzahlerhöhung für 5m Durchmesser. Das wird genau genug sein, die Abweichungen durch Unebenheiten im Gras sind sicher größer.
Man könnte auch alles viel genauer in jedem Wegpunkt der Odometrie berechnen, aber die beste Näherungsgleichung hatte eine nicht so schöne Potenzfunktion dazu mehrere Brüche und Multiplikationen, alles mit float Variablen, dafür ist der Atmega sicher nicht gut geeignet. Die Abweichung von der Idealkurve war am Anfang auch um die 3%, die daraus resultierende ideale PWM auf reale Werte umzurechnen wäre das nächste Problem gewesen.

So aber kann ich meine 25 Stufen leicht anpassen, und der Atmega kann 25 einfache Abfragen sicher um vieles schneller abarbeiten als eine komplizierte Formel.
Mehr dazu wird es erst geben wenn der Schnee draussen weg ist...

Was noch fehlt / kommen wird:

.) optimierung Spiralfahrt

.) Motor fürs Messer: der 540er ist mir fast zu laut, ich werde testen ob der Johnson mit einem 16cm Mähteller zurechtkommt, dann werden es 2 Johnson mit je 16cm, leicht versetzt angeordnet

.) leichtere Vorderräder und damit bessere Fahreigenschaften

.) ein Gehäuse

.) GPS! Damit verbunden eine Fahrfunktion: fahre von x1/y1 nach x2/y2; ebenso wird an festgelegten koordinaten die Spirale gefahren, und nicht wie jetzt in gewissen Zeitintervallen

.) Ladestation und das Anfahren, wenn notwendig. Im Idealfall sollte mit der Kombination GPS und Spirale in kürzester Zeit über 90% gemäht sein, doppeltes Mähen vermieden und ausgelassene Stellen gezielt angefahren werden.


Wenn es noch weitere Ideen und Anregungen gibt, nur her damit!

LG!