PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GPS Buggy



The Man
15.02.2012, 17:06
Hallo Forum,

ich habe auf Basis eines alten E-Buggys (Manta Ray v. Tamiya) ein Fahrzeug gebaut, das nur ums mal zu machen und erste Erfahrungen zu sammeln dafür gedacht ist GPS Punkte anzufahren.
Es wird eine GPS Antenne mit µBlox Chipsatz und eine ATMega8 eingesetzt.
Das Ganze dann noch Regendicht in eines Kunstoffbox und es kann losgehen.
https://storage.driveonweb.de/dowdoc/31d6e24b27c9f627210b4814b199d7b3.jpg
Der Controller filtert die GPRMC Massage von der Antenne raus, welche unter anderem Standort und Kurs über Grund enthält. Mit einem auf die 8 Bit Datenbreite des Controlers ausgelegten Allgorithmus wird

-die x und y Differenz zum Zielort gebildet,
-über deren Quotuienten mit dem Arcustangens die Gradabweichung zum Ziel
-Korrektur der Quadranten
-Verrechnung der Zielkursabweichung mit dem Kurs über Grund

Dazu sei gesagt, das der Divisionsalgorithmus nicht allgemeingültig ist und darauf zugeschnitten ist, dass der Arcustangens ab einem Argument von etwa 58 bereits 89 Grad ausgibt.
Außerdem berechne ich die Zeilabweichung nur auf 5 Grad genau.

Zudem wertet der Controller das Summensignal eines 7 Kanal RC Empfängers aus, wo neben Gas und Lenkung ein Kanal genutzt wird, die Lenkung in die Hände der GPS Steuerung zu geben.
Das bedeutet, dass das Signal vom Lenkservo, welches vom Sender kommt immer erstmal durch den Controller muss und auch wieder Ausgegeben werden muss. Wer den Atmega8 kennt und weiß, dass nur ein 16 Bit timer vorhanden ist sieht es schon kommen. Damit das funktioniert, muss nach einer Periode des Summensignales der Timer auf "Output" geschaltet werden und das Pulstiming für den Servo erzeugen.
Der Drehzahlsteller läuft ganz Simpel über die PWM des Timer2.
Der Motortreiber ist hier schon mal besprochen worden, da ich ein Problem hatte.
https://www.roboternetz.de/community/threads/56793-BUZ11-Motortreiber-diverse-Varianten


Ausblick:

Ich hatte schon mal angefangen, mich über Threadbearbeitung auf AVR´s (ohne Betriebsystem) schlau zu machen, was prinzipiell gehen sollte.
Die Idee währe also alles was zu GPS gehört "immer" laufen zu lassen und nach dem Scheduler Interrupt in Abhängigkeit der Timer Flags sich um das auswerten des RC Summensignals zu kümmern. Es müsste also nicht nach jedem Interrupt umgeschaltet werden, was den Overhead etwas verringert.
Dazu villeicht nach den Klausuren mehr.

to be continued...

viele Grüße,
The Man