Searcher
14.06.2023, 22:33
In ungefähr 10 Jahren ist es mir nun endlich gelungen eine akzepabele Regelungslösung für meine dreirädrigen gleichstromgetriebenen Fahrzeuge zu implementieren.
Gut, trotz der längeren Pausen in den Bastelintervallen hätte es meinetwegen doch noch etwas schneller gehen können.
Neben diversen HW-Problemen mit hakelnden bzw klemmenden Getrieben, abspringenden Reifen, verschiedenste Stützradversionen und anderen mechanischen Unbilden gab es immer Fehler in der Software, die mich oft auf falsche Fährten geführt hatten. Im Nachhinein mit der jetzigen Hard- und Software frage ich mich: wieso nicht gleich so begonnen.
Aber da waren nicht zuletzt die Anforderung an die Steuerung der beiden Antriebsmotore:
Übertragung der Steuerbefehle über IR-Fernbedienung
Geschwindigkeit des Vehikels sollte über ein Potentiometer gesteuert werden.
Lenkung ebenfalls über Potentiometer. Geradeaus bei Mittelstellung.
Bei extremerem Lenkeinschlag soll das kurveninnere Rad entgegengesetzt zu drehen beginnen bis sich das Vehikel sich um seinen Antriebsachsmittelpunkt dreht.
Per Knopfdruck (schwarzer Knopf auf der Fernbedienung) werden beide Motore kompromißlos hart in entgegengesetzte Richtung geschaltet. Die Lenkeigenschaften sollen wie in der anderen Richtung erhalten bleiben. Lenkeinschlag wirkt jedoch nun in der neuen Fahrtrichtung anders herum. Einschlag nach rechts Vehikel fährt nun nach links - rückwärtsgangmäßig ...
Roter Knopf der FB schaltet PWM für die Motore ein bzw. aus.
Gelber Knopf: Sonderfunktion zB serielle Ausgabe per Kabel der aufgezeichneten "Telemetriedaten" zum Computer.
Die Drehzahlen der Vehikel werden mit Infrarotlichtschranken-Mausencodern von alten Computermäusen abgenommen. Die liefern je ein Quadratursignal, das im µC je nach Drehrichtung mit positiven oder negative Werten gezählt wird. Und hier hatte ich die meisten Bugs bei der Implementierung des Regelalgorithmus. Lenkeinschlag wird stärker - Encoder gibt positive Werte bis das Rad rückwärts zu drehen beginnt und die Werte negativ werden. Das PWM Tastverhältnis für das langsamer werdende Rad mußte sinken und mußte nach der Richtungsumschaltung wegen dem noch größeren Lenkeinschlag und wieder schneller werdenden Rad wieder steigen. Aber bitte für die Compareregister in den PWM erzeugenden Timern im positiven Bereich bleiben. ... und die Regelgrößen müssen auch noch vorzeichenrichtig behandelt werden. Und das Ganze soll natürlich auch bei Umschaltung der Fahrtrichtung mit dem schwarzen Knopf und variierenden Geschwindigkeiten funktionieren und nicht mit überlaufenden Registern bei Vollgas den Sprungrekord vom Tisch zu knacken versuchen. Mal abgesehen davon, daß ich zunächst bei den Regelgrößen trotz vieler Besuche im RN-Wissen bei dem Regelungsartikel total im Dunklen getappt bin aber nun bei mir jetzt immer mehr Verbesserungsmöglichkeiten sehe.
Auf jeden Fall gibt es nun eine Basis für die nächsten 10 Jahre :lol: Vielleicht braucht es auch mit einem neuen Konzept nicht mehr gar so lange :confused:.
Kurzes Demovideo, daß das für mich gute Handling der Dreiräder zeigen soll. (Das schmale Dreirad geht theoretisch bis 80cm/Sekunde und wird dann aber abgeregelt) Die vierstellige 7-Segmentanzeige im Video zeigt die per RC5 übermittelten Steuerbefehle zu den Vehikeln. Die erste Stelle ist die Funktion und die folgenden 3 Stellen der zugehörige Steuerungswert: 1 = Geschwindigkeit (000..127), 2 = Lenkeinschlag(002..125, 63 ist Geradeausfahrt-rote LED auf den Vehikeln als Indikator dazu), 3 = Vor-/Rückwärts(000/255), 4 = PWM aus/ein(000/255).
https://youtu.be/YM_zlGSeAD0
Gruß
Searcher
Gut, trotz der längeren Pausen in den Bastelintervallen hätte es meinetwegen doch noch etwas schneller gehen können.
Neben diversen HW-Problemen mit hakelnden bzw klemmenden Getrieben, abspringenden Reifen, verschiedenste Stützradversionen und anderen mechanischen Unbilden gab es immer Fehler in der Software, die mich oft auf falsche Fährten geführt hatten. Im Nachhinein mit der jetzigen Hard- und Software frage ich mich: wieso nicht gleich so begonnen.
Aber da waren nicht zuletzt die Anforderung an die Steuerung der beiden Antriebsmotore:
Übertragung der Steuerbefehle über IR-Fernbedienung
Geschwindigkeit des Vehikels sollte über ein Potentiometer gesteuert werden.
Lenkung ebenfalls über Potentiometer. Geradeaus bei Mittelstellung.
Bei extremerem Lenkeinschlag soll das kurveninnere Rad entgegengesetzt zu drehen beginnen bis sich das Vehikel sich um seinen Antriebsachsmittelpunkt dreht.
Per Knopfdruck (schwarzer Knopf auf der Fernbedienung) werden beide Motore kompromißlos hart in entgegengesetzte Richtung geschaltet. Die Lenkeigenschaften sollen wie in der anderen Richtung erhalten bleiben. Lenkeinschlag wirkt jedoch nun in der neuen Fahrtrichtung anders herum. Einschlag nach rechts Vehikel fährt nun nach links - rückwärtsgangmäßig ...
Roter Knopf der FB schaltet PWM für die Motore ein bzw. aus.
Gelber Knopf: Sonderfunktion zB serielle Ausgabe per Kabel der aufgezeichneten "Telemetriedaten" zum Computer.
Die Drehzahlen der Vehikel werden mit Infrarotlichtschranken-Mausencodern von alten Computermäusen abgenommen. Die liefern je ein Quadratursignal, das im µC je nach Drehrichtung mit positiven oder negative Werten gezählt wird. Und hier hatte ich die meisten Bugs bei der Implementierung des Regelalgorithmus. Lenkeinschlag wird stärker - Encoder gibt positive Werte bis das Rad rückwärts zu drehen beginnt und die Werte negativ werden. Das PWM Tastverhältnis für das langsamer werdende Rad mußte sinken und mußte nach der Richtungsumschaltung wegen dem noch größeren Lenkeinschlag und wieder schneller werdenden Rad wieder steigen. Aber bitte für die Compareregister in den PWM erzeugenden Timern im positiven Bereich bleiben. ... und die Regelgrößen müssen auch noch vorzeichenrichtig behandelt werden. Und das Ganze soll natürlich auch bei Umschaltung der Fahrtrichtung mit dem schwarzen Knopf und variierenden Geschwindigkeiten funktionieren und nicht mit überlaufenden Registern bei Vollgas den Sprungrekord vom Tisch zu knacken versuchen. Mal abgesehen davon, daß ich zunächst bei den Regelgrößen trotz vieler Besuche im RN-Wissen bei dem Regelungsartikel total im Dunklen getappt bin aber nun bei mir jetzt immer mehr Verbesserungsmöglichkeiten sehe.
Auf jeden Fall gibt es nun eine Basis für die nächsten 10 Jahre :lol: Vielleicht braucht es auch mit einem neuen Konzept nicht mehr gar so lange :confused:.
Kurzes Demovideo, daß das für mich gute Handling der Dreiräder zeigen soll. (Das schmale Dreirad geht theoretisch bis 80cm/Sekunde und wird dann aber abgeregelt) Die vierstellige 7-Segmentanzeige im Video zeigt die per RC5 übermittelten Steuerbefehle zu den Vehikeln. Die erste Stelle ist die Funktion und die folgenden 3 Stellen der zugehörige Steuerungswert: 1 = Geschwindigkeit (000..127), 2 = Lenkeinschlag(002..125, 63 ist Geradeausfahrt-rote LED auf den Vehikeln als Indikator dazu), 3 = Vor-/Rückwärts(000/255), 4 = PWM aus/ein(000/255).
https://youtu.be/YM_zlGSeAD0
Gruß
Searcher