PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RC-Fernsteuerung und Mikrokontroller



Crazy Harry
13.02.2013, 19:28
Hallo @ all,

mir geistert da eine Idee im Kopf rum, aber mir fehlt ein Gedankenanstoss, wie man das am besten macht. Ich habe ein ferngesteuertes Fahrzeug mit einer handelsüblichen RC-Fernsteuerung. Ich fahre mit diesem Fahrzeug irgendwo hin und möchte nun, daß das Fahrzeug GPSgesteuert auf kürzestem Weg zum Ausgangspunkt zurück fährt. Hier kommt ein Mikrokontroller zum Einsatz ABER wie kann ich die Steuerung der Servos und Motorregler vom RC-Empfänger übernehmen ? Irgendeine Idee ? Es soll jederzeit per Sender die Kontrolle übernommen werden können.

Gruss
Harry

HeXPloreR
13.02.2013, 19:36
Hallo Harry,

mein Tipp ist, die Empfängerkanäle werden über den µC eingelesen. wichtig ist hier die Neutralstellung, wenn Du also die Steuerung los lässt und die Hebel (alle -oder nur ausgewälhlte ) in die Neutralstellung gehen, dann kann der µC dieses erkennen und die Kontrolle übernehmen. Sobald du wieder dran bist und die Neutralstellung verstellst gibt der µC die Kontrolle wieder an Dich ab. Das geht vielleicht etwa schwierig mit Hebeln die nicht automatisch in Neutral gehen.

Das funktioniert, ich mach das auch so mit ner RC-Funke - allerdings schalte ich momentan nur einen Servo (auf Drehung gehackt) stromlos damit.

Viele Grüße

Crazy Harry
14.02.2013, 08:17
Hallo HeXPloreR,

das könnte in der Tat problematisch werden, da die Lenkung über die beiden Antriebsmotoren geschieht (ähnlich einem Panzer mit 2 Ketten). Ich dachte eher daran irgendwie per Fernsteuerung die beiden Signale für die Motorregler abzutrennen. Da über die Fernsteuerung eine Mixerfunktion realisiert wird (es gibt einen Gas- und Lenkknüppel aber wie gesagt nur 2 Antriebsmotore) könnte das auch µC-technisch (endlich kann ich ein "µ" schreiben :D - per Tablet geht das nicht) etwas schwierig werden.

wkrug
14.02.2013, 08:30
Warum nutzt Du nicht einen Fernsteuerkanal als Schaltkanal ?
Bei einer Schalterposition ist der Fernsteuersender aktiv, bei der anderen die Automatik.
Somit kannst Du jederzeit manuell zwischen diesen beiden Funktionen umschalten.

Crazy Harry
14.02.2013, 11:52
ja schon aber genau dieses Umschalten ist die Frage. Wie ? Bauteilempfehlung ?

Thalhammer
14.02.2013, 13:34
Grundsätzlich musst du nur den Signalausgang des Empfängers auf einen Eingang des uC die Pulslänge messen, die zwischen 1ms und 2ms schwangt.
1ms=Keine auslenkung
1,5ms=Neutralstellung
2ms= Voll auslenkung.
Allerdings krigst du ein ganz anderes Problem:
Woher soll der uC den kürzesten Weg kennen ?
Du kannst höchstens den direkten Weg berechnen, allerdings darfst du dann nie um eine Ecke fahren.
Eine weitere Möglichkeit wäre auf Kartendaten von Google Maps oder Openstreetmap zurückzugreifen und die kürzeste Route zu berechnen, allerdings funktionierd das dann nur auf Straßen und ist mit einem uC nicht mehr machbar, da dieser zuwenig Ram hat.

MFG Thalhammer

Crazy Harry
14.02.2013, 19:15
Mit was würdet ihr die Signalumschaltung machen ? MOS4066 ? AND-Gatter ?
Der kürzeste Weg solle auf Wasser kein Problem sein ;)

HeXPloreR
14.02.2013, 19:20
Ich meinte eigentlich das der µC zwischen Empfänger und Motorregler eingepflanzt wird. Der Empfänger und der Motorregler werden dazu natürlich mehr oder weniger getrennt.
Der µC übernimmt jetzt die komplette Steuerung, ob autonom oder manuell ist ab µC egal. Nur die empfangenen Signale vom Empfänger müssen dem µC mitteilen können, was passieren soll.

Umschalten? -wie oben beschrieben, in Software.

Und Thalhammer hat es angesprochen: möglicherweise reicht das nicht aus - Hindernisse müssen ggf auch noch umfahren werden können per zusätzliche Sensoren.

Viele Grüße

EDIT: Wasser? ähnlich Ketten? äh ... naja, ich denke wenn Du weiter so mit Infos um Dich wirfst, wird es schwierig....für Dich ;)

Thalhammer
14.02.2013, 23:29
Ich vermute mal er mein ein Modellboot mit zwei Schrauben.
Ich hatte auch mal so ein Teil, dabei wird die Lenkung wie bei einem Panzer realisiert:
Linker Motor ein, rechts aus ---->Boot dreht nach rechts
Links aus, rechts ein --->Boot dreht nach links
Allerdings hätte er das auch gleich schreiben können.
Was die Sache mit den Hindernissen angeht:
Auch auf dem Wasser können Hindernisse sein, im einfachsten Fall ein Boot, oder bei einem Fluss kann dieser um eine Ecke fliesen.
Aber der Einfachheit halber nehmen wir mal an er würde immer Sichtverbindung zum Boot halten.
Also fällt das Problem mit der Wegberechnung schonmal weg, man nimmt die Luftlinie.
Ansonsten sehe ich allerdings keine Probleme und würde es so realisieren:
Man benutzt einen atmega88 ( wobei ein mega48 auch reichen würde),
Du benutzt den 16bit Timer um den Steuerimpuls für die Motorregler zu erzeugen, in dem du den Timer für PWM konfigurierst.
Die beiden 8bit Timer kannst du nun verwenden um die Signale auszuwerten.
Für beides giebt es schon genug im Internet zu finden.
Google mal nach Servo ansteuerung und Rc empfänger auswerten.
Was die Navigation angeht ist es angesichts der direkten Sichtverbindung auch recht einfach:
Du hängst das GPS Modul an den Usart und wartest beim Start auf einen GPS Fix.
Diesen Fix speicherst derweil und wenn der Schalter umgelegt wird liest du das GPS aus und vergleichst die beiden Punkte:
ist das zweite lat größer als das erste liegt den Startpunkt im Süden,
ist das zweite lon größer als das erste liegt der Startpunkt im Westen, usw.
Du berechnest also die neue Route und versuchst ihr zu folgen, dabei die Route am besten bei jedem GPS update erneut berechnen, da du unter umständen vom Kurs abkommst.
Ansonsten seh ich jetzt irgendwie de Problem nicht.

Crazy Harry
15.02.2013, 21:21
Korrekt - ein Boot mit 2 Jetantrieben. Um das ganze nicht zu verwirrend zu machen, wollte ich das anfangs nicht so direkt schreiben. Einen Panzer und dessen Antrieb kann sich jeder vorstellen ;) . Das Fersteuersignal möchte ich nicht durch den µC "leiten" - ich möchte aus Sicherheitsgründen jederzeit umschalten können von RC auf µC. Es handelt sich übrigens nur um Seen - keine Flüsse und ich habe immer Sichtkontakt zum Boot. Das Boot soll eigentlich nur bis zu 4 Angelhaken (genauer gesagt Blinker) ca. 200m auf den See hinaus transportieren, ausklinken und dann selber zurück fahren (da ich dann natürlich was anderes zu tun hab :D ). Achja um die Gesetzestreuen milde zu stimmen: nicht in D.

HeXPloreR
16.02.2013, 08:33
Ah ja, ich finde eine Konkrete Aufgabe hätte auch eine konkretere Frage verdient - ohne das einem "die Vorstellung einfacher gemacht werden soll" - denn Deine Problemstellung beinhaltet, wie jedes andere Problem auch, Eigenschaften die nur hier zum tragen kommen.

Konkret wär es hier jetzt anzumerken, das Du den direkten Weg NICHT direkt zurückfahren kannst, jedenfalls nicht direkt zu Dir hin. Warum? Weil Du gefahr läufst Deine Angelhaken wieder mit dem Boot einzuziehen (mitzuziehen).
Es sei denn das Boot kann diesbezüglich keine Fehler anrichten. Sind diese Jetantriebe im Wasser? - dann stören sie vermutlich.

Andere "Lenkungsteile" sind laut Beschreibung ja nicht vorhanden. Und damit sollte der Rumpf an sich über die Schnürre drübergleiten können.

Viele Grüße

Crazy Harry
16.02.2013, 21:48
Ok ok dann bitte ich höflichst um Entschuldigung. Jetantriebe sind im Boot. Das Wasser wird unterhalb angesaugt und hinten ausgestossen. Die Schraube ist also nicht direkt erreichbar.

Thalhammer
17.02.2013, 16:17
Einfach umschalten wird vermutlich nicht gehen, egal wie du es machst, wenn der uC stehen bleibt heist es Badehose raussuchen.

Tjorven
17.02.2013, 16:54
müsste das mit dem umschalten nicht gehen, wenn man ein Relais mit 2 Wechslern an denn uC hängt und über einen driten Kanal (wenn vorhanden) die Steuerleitungen der Fahrtenregler entweder an den uC oder oder direckt an den Empfänger schaltet.

ist nur so eine Idee hab keine Ahnung ob das geht

radbruch
17.02.2013, 17:10
Hallo


wenn man ein Relais mit 2 Wechslern an denn uC hängt......könnte sich der µC genau dann aufhängen, wenn er die RC-Anlage ausgeklingt hat. Da muss eine Art Totmannschaltung eingebaut sein, also irgendwas das den Ausgangspin für das Relais überwacht. Und das Relais darf natürlich auch nicht "kleben" bleiben...

Ein Ansatz, zugegeben etwas um die Ecke gedacht, wäre eine Ladungspumpe, eventuell mit nachgeschaltetem Spannungsregler, um die Spannung für das Relais zu erzeugen. Kein Takt, keine Spannung. Der Takt muss dann selbstverständlich in der Hauptschleife des Programms erzeugt werden. Nebeneffekt wäre eine höhere Spannung für die Relaisspule.

https://www.google.de/search?q=ladungspumpe

Gruß

mic

Stitch
18.02.2013, 14:45
Ich würd nur die 2 PWM Steueradern der Regler übern Wechsler umschalten. Den dritten Kanal und Empfänger würd ich stets aktiv lassen.

Thalhammer
19.02.2013, 16:42
Grundsätzlich würd ich sagen das es eine So hohe sicherheit mit Ladungspumpe usw. nicht braucht, wenn das Boot nicht gerade 5000€ wert ist.
Ich würde einfach einen normalen avr mit standard beschaltung nehmen und den Watchdog aktivieren.
Das verhindert zu mindest 99% der Softwarefehler.
Für den Fall das der uC aussteigt würd ich persöhnlich garnicht vorsorgen, da es eigentlich nur 2-3 Gründe für einen Fehler giebt:
1. Wassereinbruch ----> Dann ists eh egal
2. Fehler in der Schaltung ----> Kann man vorsorgen und ist bei derart simplen Schaltungen unwarscheinlich
3. Akku Alle ----> dann kommst du eh nicht weiter
4. Regler stirbt und kilt den uC ----> Auch egal, killt dann Empfänger auch mit.

Im Großen und ganzen geht die Chance, dass der uC stirbt und der Empfänger( und die Regler) noch gehen gegen null.
Mit ner Ladungspumpe hab ich noch nicht gearbeitet aber soviel ich gelesen habe ist der Aufwand meiner Meinung nach zu groß.
Oder anders ausgedrückt:
Die Warscheinlichkeit das ein Meteroit dein Boot versenkt ist (vorallem angesichts des kürzlichen Einschalgs in Russland) größer als die das der uC stribt und ein verhindern möglich währe.

MFG Thalhammer