26.01.2011, 11:38 Uhr
 Robert
BW-Meister [Administrator]

|
Hallo Zusammen,
da hier bei RCP in der letzten Zeit öfter über Steuerungen für den Gepard diskutiert wird, möchte ich auch mal mein altes Gepard-Projekt beginnend aus dem Jahre 2007 vorstellen.
Den Ursprung zu dieser Idee stammt von den Modellbaumessen (Magdeburg, Berlin, Leipzig) wo die RK-Modellbau leider nicht den ganzen Tag über fahren konnte, weil sie sich die Sendefrequenzen mit den anderen Modellbauvereinen teilen mußte. Die Folge davon war, daß das schöne 1:16 Diorama für mehrere Stunden völlig bewegungslos verharrte, bis die RK-Modellbau wieder eine zugeteilte Fahrzeit hatte.
Damit wärend dieser Zeit etwas Bewegung ins Diorama kommt, sollte ein Gepard-Standmodell gebaut werden, der über einen Mircoprozesseor gesteuert, voll automatisch das Gelände überwachen und gegen Luftangriffe schützen sollte.
Als gelernter Programmierer habe ich mich schon seit langem privat mit Microprozessoren beschäftigt, daher kannte ich mich schon so einigermaßen in der benötigten Hardware und deren Programmierung aus.
Ich kann jetzt schon verraten, es ist wirklich NICHT einfach !!!!!!!!!!!!!!!!!!
Auf Grund meiner Erfahrungen mit der Conrad C-Control kam dieser Microcontroler schonmal nicht mehr als Steuerung in Frage. Die C-Cotrol ist zwar ein leistungsfähiger Microprozessor, aber die dazugehörige Software-Entwicklungsumgebung und Programmiersprache ist eine echte Katastrophe. Die Programmausführung ist viel zu langsam, das Betriebsystem voller Fehler, die Entwicklungsumgebung ist unfexibel und aus kommerziellen Gründen komplett unterdokumentiert und für Erweiterungen verschlossen.
Nach langem Suchen bin ich dann im Jahre 2007 auf folgende Kombination gestoßen:
SD21 als Servosteuerung
-> http://roboter-teile.de/Oxid/Motor/Servotreiber/Servocontroller/Servocontroller-Modul-SD21.html
Javelin-Stamp von Parallax als Microcontroler zu Stererung des Modells (wird in Java programmiert)
-> http://elmicro.com/de/javelin.html
Der Vorteil dieser Kombination liegt darin, daß der Microcontroler "Javelin-Stamp" direkt in einen Sockel auf der SD21-Platine gesteckt werden kann und daher keine weitere Elektronik entwickelt werden muß.
Ursprünglich war geplant, die Turmdrehung mit einem Servo oder Segelwinden-Servo, und das Kanonen-Heben mit einem Servo zu machen. Der Vorteil wäre gewesen, daß man den gesammten Gepard incl. der Steuerelektronik mit ca. 5 V hätte betreiben können. Die ersten Versuche haben dann jedoch gezeigt, daß Servo und Segelwinden-Servo nicht dafür geeignet sind.
... zu langsam, zu unpräzise, zu zitterig !!!
Allso habe ich mir die kleinsten Schrittmotoren und die dazugehörigen Steuerplatinen bei Conrad besorgt.
Für Turm-Drehen: Best.-Nr. 197956 ....... für Kanone-Heben: Best.-Nr.: 197943
Zur Steuerung der Schrittmotoren das "I²C-Bus Schrittmotor-Modul" : Best.-Nr.: 198266
Leider gibt es für diese Elektronik-Kombination keinerlei fertige Treiber-Programme, weshalb ich im ersten Schritt ersteinmal die Hardware-Treiber (Treiber für I²C-Bus, Treiber für SD21-Platine, Treiber für Schrittmotor-Steuerkarte) selber schreiben mußte, bevor ich die Hardeware überhaupt in Funktion testen konnte. Das hat dann mit Unterbrechungen schonmal 3-4 Monate gedauert
Bei der Programmierung kam dann der erste Schock .... die Schrittmotorsteuerung funktionierte nicht !!
Nach tagelanger Fehlersuche stellte sich dann heraus, daß die Elektronik einen Unterspannungsschutz für die Leistungsendstufe der Schrittmotoren von 9V hat. Demnach müssen die Schrittmotorkarten mit zwei Spannungen betrieben werden. Eine mit 5V für die Elektronik der Schrittmotorkarte, und eine für die Leistungsendstufe der Schrittmotorkarte, die zuverlässig auch bei Last über 9V bleibt, sonst schaltet die Karte die Schritmotoren ab. Dadurch mußte die Akkuspannung des gesamten Projektes von 5V auf 12V erhöht, und zusätzlich ein 5V-3A BEC für die Elektronik mit eingebaut werden.
Nachdem die ersten Tests gezeigt hatten, daß ich mit der Hardware auf dem richtigen Weg war, konnte die eigentliche Programmierung der Gepard-Turmsteuerung beginnen. Ursprünglich war geplannt, eine echte Realitätssimulation zu Programmieren. Dabei sollte per Zufallsgenerator das Erscheinen und die Flugbahn eines feindlichen Flugzeuges generiert werden, worauf der Gepard dann "reagiert" hätte. Um sowas zu Programmieren, muß man 3D-Koordinaten festlegen und sie recht aufwendig mit Sinus-, Cosinus-, und Tangens-Funktionen in andere 3D-Kordinatensysteme umrechnen. Nach anfänglichen Versuchen stellte sich dann heraus, daß der Microcontroller keine Gleitkomma-Zahlen (Zahlen mit Nachkommastellen) beherrscht, und die manuelle Berechnung der Winkelfunktionen viel zu lange gedauert hätte. Allso wurden die Ansprüche zurückgeschraubt und einfach nur eine "primitive" Ablaufsteuerung programmiert, die das Bekämpfen eines Zieles nur simuliert. Auch diese Programmierung hat wieder mehrer Monate gedauert und ist immer noch nicht komplett abgeschlossen.
Zusätzlich zur Steuerung der Turm- und Kanonen-Bewegungen wurden auch noch eine AFV-Mechanik für das Suchradar, ein Sensor für das einklappen des Suchradars, eine AFV-Mechanik für das Zielfolgeradar, zwei Servos unter den Turm-Periskopen und ein Servo zum Klappen der Turmluke verbaut. In Zukunft geplant sind auch noch zwei per Servo bewegte Besatzungs-Figuren, deren Bewegungen ebenfalls automatisch durch den Microcontroller gesteuert werden sollen.
Da ein bewegtes Modell ohne Sound im Gelände einfach komisch aussieht, mußte dann auch noch ein Gepard-Soundmodul von Benedini her, das dann über einen zusätzlichen Servokanal vom Microcontroller zusätzlich syncron zur Trumbewegung mit angesteuert wird.
Mit dieser ganzen Mechanik und Elektronik im Modell wird der Platz im Gepard schon recht knapp. Der Einbau fuktionierte nur deshalb, weil der Turm bis in die Wanne hinein verlängert, und der 12V-Akku jetzt unter dem Modell zwischen die Ketten platziert wurde (ist ja ein Standmodell, das nicht fahren muß).
Nachdem die komplette Hardware und das Programm einigermaßen fehlerfrei waren, mußten die einzelnen Funktionen noch "Kalibiert" werden.
Das bedeutet:
Wo ist die Nullstellung des Turmes ?
Wo ist die Nullstellung des Zielfolgeradars ?
Was ist der maximale Schwenkbereich links rechts ?
Zeigen Kanonen und Zielfolgeradar auch immer in die gleiche Richtung ?
Wie groß ist die Zeitverzögerung bis zum Anlaufen einzelner Funktionen ?
Wo ist der Sensorpunkt zum Einklappen des Suchradars und wie lang ist der Motornachlauf bis zur idealen Einklapp-Position
Das dauerte dann auch nochmal ca. 2-3 Tage bis alles rund lief.
Bei den ersten Veranstaltungen hatte ich dann auch immer einen Laptop und das Programmierkabel für den Microcontroller dabei, um noch Anpassungen am Programm und der Ablaufsteuerung zu machen. War auch teilweise wirklich nötig
Alleine die Elektronik (ohne die obligatorischen Fehlkäufe) kostet:
Servosteuerplatine SD21: 39,96 €
Micocontroller Javelin-Stamp: 72,70 €
2x Schrittmotorkarte, zusammen: 65,90 €
Conrad-Schrittmotor 1: 47,60 €
Conrad-Schrittmotor 2: 38,80 €
AFV-Mechanik für Suchradar: ???,??
AFV-Mechanik für Zielfolgeradar: 66,68
Benedini-Soundmodul: 215,00 €
Conrad-Verstärker: 15,34 €
Conrad-Lautsprecher: 10,95 @
Kleinmaterial wie Stecker, Kabel, Zahnräder, BEC: ???,?? €
Insgesammt so ca. 700,- EUR !!!!!!
Hinzu kommen dann noch die Kosten für das Gepard-Modell.
Leider gibt es aus der Bauphase nur ein einziges Foto .... vielleicht mache ich bei Gelegenheit nochmal welche von den Innereien des fertigen Modells.
(man beachte den Zustand des Basteltisches !!! )
Und noch ein kurzes Video von den Bewegungen des Turmes (Achtung: 58 MB !!!!):
(der zweite Teil des Videos ist leider ohne Ton)
-> http://www.rcpanzer.de/_Privat/Gepard/Gepard_Leipzig.wmv
Gruß Robert
|
|
Beitrag 12 mal editiert. Zuletzt editiert von Robert am 26.01.2011 16:39. |
|
|