PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mit einem (1) ferngesteuerten Modellbauservo acht (8) Kanäle schalten



Elu
07.06.2012, 21:52
22527

Hallo,
vor einiger Zeit habe ich hier https://www.roboternetz.de/community/threads/46603-Allround-Fahrroboter meinen Allround-Fahrroboter vorgestellt. In diesem sind 2 Fahrbewegungen (vor, zurück) und 4 Lenkbewegungen (geradeaus, seitlich 90 Grad, seitlich 45 Grad, Drehen auf der Stelle) programmiert. Diese Fahrbewegungen laufen kontinuierlich entsprechend dem eingegebenen Programm (Mikrocontroller PICAXE 28X1) nacheinander ab.

Jetzt möchte ich das Allround-Fahrzeug auf Funkfernsteuerung umrüsten, um einen ungebundenen Aktionsradius zu erhalten. Das bedarf einiger verändernder Eingriffe in die vorhandene Elektronik.

Ich besitze eine Funkfernsteueranlage MODELCRAFT GT2, 2,4 GHz, mit 2 Proportionalkanälen und möchte diese für meinen Umbau verwenden. Um aber das Fahrzeug nach meinen Vorstellung zu steuern, sind 8 Kanäle erforderlich. Ich habe mich im Modellbaubereich (Flug-, Schiffs-, Automodellbau) mal umgesehen. Dabei habe ich aber nie die Absicht gehabt, dafür etwas "Fertiges" zu suchen und einzubauen. Für mich waren lediglich Anregungen zur Lösung des Problems wichtig. Ich möchte hier meine gewählte Lösung beschreiben.

Der Sender der Fernsteueranlage ist pistolenförmig geformt und besitzt ein Steuerrad für die Lenkfunktion und einen Bedienhebel für die Fahrfunktion. Der Empfänger hat je einen Steckplatz für Lenkservo und Fahrservo.

Um mit dem Lenkservo acht (8) verschiedene Eingangpins (für 8 verschiedene Programmabläufe) eines Mikrocontrollers ansteuern zu können, habe ich eine Steuerplatine gemäß obiger Grafik aufgebaut, welche wie folgt funktioniert:

Mittels Steuerrad des Senders kann der Lenkservo in einem Bereich von 90 Grad stufenlos verstellt werden. In diesem Bereich sind auf der Platine in gleichmäßigen Abständen 8 Reedkontakte angeordnet. Jeder Reedkontakt hat die Funktion eines digitalen Schalters für den zugeordneten Einganspin des Mikrocontrollers. Wenn der Servohebel mit seinem Magneten einen der Reedkontakte überfährt, schaltet dieser den zugehörenden Eingangspin des Mikrocontrollers auf HIGH und das Fahrzeug führt die entsprechende programmierte Fahrbewegung aus. Der jeweils aktive Kanal wird durch eine leuchtende rote LED angezeigt. Die Pulldown-Widerstände für die Eingänge zu den Pins des Mikrocontrollers sind auf dieser Platine mit installiert. Dadurch können die 8 Leitungen des Steckverbinders direkt an den Mikrocontroller angeschlossen werden.

Über den Bedienhebel am Sender betätigt der Fahrservo einen Mikroschalter, welcher bei Bedarf die Versorgungsspannung der Elektronik unterbricht.
Bei den beiden Servos handelt es sich um die blaue Mikroausführung 9 Gramm.

Ich habe die Steuerplatine aufgebaut, um in erster Linie die Funktion der Reedkontakte in Bezug ihrer Abstände zueinander und zur Stärke des verwendeten Magneten zu testen. Dabei dürfen nicht zwei benachbarte Reedkontakte gleichzeitig eingeschaltet werden. Das is mit der gewählten Anordnung sichergestellt. Die Platinengröße 160 x 100 mm ist meiner Fahrzeuggröße angepasst. Bei entsprechender Abstimmung vorgenannter Parameter könnte man die Platine sicher auch kleiner ausführen..

Zu einem späteren Zeitpunkt, wenn das Gefährt mit der Fernsteuerung läuft, werde ich ein Video einstellen.

Gruß Elu

robo_tom_24
07.06.2012, 22:46
Hallo

Wie wärs wenn du vom Empfänger die einzelnen Kanäle ausliest bzw. das Summensignal ausliest? So hast du sicher weniger Störungen und du hast weniger bis keine merkliche Zeitverzögerung ;)
Denn wenn du von der ganz linken zur ganz rechten Poition fährst hast du ja ganz kurze Impulse am µC -> Störungen bzw. Fehlfunktionen
Ebenso muss der Robo ja einen ziemlichen Krach machen, denn die kleinen Servos sind ja nicht gerade berühmt leise zu sein...


Zu den 2 Kanälen:
1) Es gibt schon sehr günstige Einsteigersets die mehr als 2 Kanäle haben - unter 50€
2) Wieso 8 Kanäle?

- 3 reichen doch aus oder?
K.1: Geschwindigkeit - berechnung von einzelnen Radgeschwindigkeiten macht der µC und Vor- und Rückwärtsje nach Signal
K.2: Lenkeinschlag
K.3: Lenkmodus - mehrere Modi sowieso mit einem Signal möglich:
Modi: ( | / \ entspricht Rad bzw. Radstellung)
1.
/ /
\ \
Lenkung vorne + hinten -> Kurenfahren

2.
/ /
/ /
Einparken, seitwärts Fahren - Räder haben gleichen Einschlag in gleiche Richtung

3.
/ \
\ /
Auf der Stelle drehen



Aber sonst tolles Konzept bei deinem Robo, gefällt mir sehr gut :)
Vielleicht das Stadtauto-Konzept der Zukunft ;)

robin
07.06.2012, 23:37
wäre es nicht einfacher das Empfängersignal mittels Mikrocontroller auszuwerten?

Die Signale an Servos sind dank PPM relativ einfach. Alle ~20ms kommt ein Puls mit der Länge von 1ms + Xms. Die 1ms ist Fest und ist sowas wie das Startsignal, danach kommt dann ohne pause ein variables 0 bis 1ms Signal für den Winkel des Servos (bzw. Geschwindigkeit des Fahrtreglers, etc.) vorgiebt.

Die einfachste Lösung ist ein Timer, der bei steigender Flanke gestartet und bei einer fallenden Flanke gestoppt wird. Je nach länge des Signals, von 1ms bis 2ms, wird eine Aktion ausgeführt. Dann nur noch 8 oder mehr Zeitbereiche für deine Funktionen bestimmen und fertig.
Dazu in der Software vllt, noch etwas Filterung. Der selbe Bereich 2 mal hintereinander ist erst ein zulässiges Ausgangssignal, ... .
Das könnte vermutlich sogar der Hauptcontroller noch nebenbei stemmen, PICAXE sagen mir aber nichts.

Ich will deine Idee nicht schlecht machen, versteh das bitte nicht falsch. Das wäre nur meine Herangehensweise an das Problem.
Deine Konstruktion hat auch was, wäre mir aber persönlich zu groß.

djdune
08.06.2012, 09:08
Das ist doch eine pfiffige Idee :)
Finde ich toll dass man in Zeiten wo viel mit Controllern gesteuert wird noch ein bisschen Elektromechanik zum Einsatz kommt.

Elu
08.06.2012, 10:17
Hallo tom und robin,

vielen Dank für Eure postings. Mir war klar, dass es zu meiner (für den heutigen Stand der Technik) grobschlächtigen Lösung Hinweise gibt, wie man mit Hilfe der Mikroelektronik das Problem "eleganter" bewerkstelligen kann. Aber hier im Forum, das ich seit Jahren sehr schätze, gibt es vom studierten Profi bis zum blutigen Anfänger alle Wissensstände. In der Nähe der Letzteren ordne ich meinen diesbezüglichen Level ein. So nehme ich Eure, für mich recht interessanten Beiträge zur Kenntnis, kann diese aber leider wegen meiner fachlichen Defizite nicht realisieren. Selbstverständlich werde ich mich mit Euren Vorschlägen zur Erweiterung meines fachspezifischen Horizonts mal befassen.

Bei meiner vorgestellten Ausführung habe ich mich an Fachliteratur aus den 90er Jahren angelehnt, wo Schiffsmodell-Schaltfunktionen so ähnlich mechanisch und elektromechanisch gelöst wurden. Für mich als "Bastler" waren das willkommene Hinweise. Sicher sieht die Ausführung auf der Platine nicht sehr elegant aus, könnte diese aber auf der Grundlage der von mir bei diesem "Prototyp" gesammelten Erkenntnisse noch mal optisch und größenmäßig verändern.

Hallo djdune,
vielen Dank für Deinen Beistand und Dein Verständnis dafür. dass man alte "Handwerkstechniken" auch im Zeitalter der Mikroelektronik pflegen sollte.;)

Gruß Elu

robo_tom_24
09.06.2012, 14:55
Ein weiser Mann hat einmal gesagt, sag niemals Nie...


So nehme ich Eure, für mich recht interessanten Beiträge zur Kenntnis, kann diese aber leider wegen meiner fachlichen Defizite nicht realisieren. Selbstverständlich werde ich mich mit Euren Vorschlägen zur Erweiterung meines fachspezifischen Horizonts mal befassen.

Erweiterung....
Und das kann man bei so einem Projekt sehr gut machen....
Einen Eingang auslesen wirst du ja können oder? noch ein bisschen Timer und Interrupt dazu und schon ist das ganze direkt mit einander verbunden - ohne Servo ;)

MarsoTexx
10.08.2012, 12:15
Das ist doch eine pfiffige Idee :)
Finde ich toll dass man in Zeiten wo viel mit Controllern gesteuert wird noch ein bisschen Elektromechanik zum Einsatz kommt.

Ganz einverstanden!

rideyourstyle
10.08.2012, 16:10
Hehe cool du machst die Auswertung der Servostellungen mechanisch, liest es dann wieder mit dem Mikrokontroller ein und verarbeitest es weiter. Warum einfach wenn es Komplziert geht! ;-)


Gut gemacht!