-         

Ergebnis 1 bis 8 von 8

Thema: Autonome Funktion mit Fernbedienung übersteuern?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    31.05.2009
    Ort
    Ingolstadt
    Beiträge
    82

    Autonome Funktion mit Fernbedienung übersteuern?

    Anzeige

    Hi,

    ich baue an einem teilautonomen R2D2. Weil das Ding ja ziemlich groß wird und auch ab und zu zur Show verwendet werden soll, möchte ich eine Fernsteuermöglichkeit einbauen. meine Idee ist:

    • Arduino A für Motorsteuerung, Geschwindigkeitsregelung etc.
      7-Kanal RC-Empfänger R für Fernsteuerung
      PC P für autonome Funktionen (Sensorik, Kartierung, Pfadplanung)
      Verbindung R -> A über 7x PWM an die Digital-IO-Ports des Arduino
      Verbindung P -> A über I2C


    Auf dem Arduino läuft dann ungefähr folgende Logik:

    Wenn Auslenkung aus Nullstellung auf Kanal N auf R detektiert:
    Lese 6x PWM von R ein
    Leite 6x PWM auf Servos, Motorsteuerung etc. weiter
    Sonst:
    Lese Befehle von P über I2C ein
    Steuere Servos, Motorsteuerung etc. entsprechend an

    Damit kann ich (z.b. über den Fahrwerks-Umschalter an meiner DX6i) von autonom auf manuell umschalten. Der Arduino muß sich dann natürlich bei der Umschaltung noch darum kümmern, daß evtl. noch anliegende Signale von PC oder Funke "sanft" auf die neuen Werte umgeblendet werden, damit die Kiste nicht "hüpft".

    Was meint Ihr? Ist das machbar? Hat das vielleicht schon mal jemand gemacht? Kommentare willkommen!

    Gruß
    Björn

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo Björn,

    sehr klar ist das von dir nicht ausgerückt, aber es scheint so unmöglich, dass ferngesteuert Nullstellung beibehalten werden kann, ohne dass die auotonome Steuerung die Fernsteuerung übersteuert.

    grüsse,
    Hannes

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    31.05.2009
    Ort
    Ingolstadt
    Beiträge
    82
    Klar, Hannes, Du hast recht. Deshalb die Idee, hier den Fahrwerkschalter der Funke zu verwenden; der hat zwei Stellungen und sendet damit auf einem bestimmten Kanal einen bestimmten Wert je nach Stellung. Wert 1 => autonome Steuerung, Wert 2 => Funke.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hi Björn,

    Ok, der Kanal wird dann nur fürs Umschalten verwendet, das konnte ich aus dem ersten Post nicht rauslesen.

    Dann sollte das schon gehen.

    grüsse,
    Hannes

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    31.05.2009
    Ort
    Ingolstadt
    Beiträge
    82
    OK, klappt nicht. Mein µC (Arduino) hat zuwenig Pin-Interrupts, ich bräuchte allein sechs, um die sechs PWMs auszulesen, die die Fernbedienung ausgibt. Außerdem ist die Idee, Fernbedienungssignale per Software weiterzuleiten, vielleicht gar nicht mal so gut, das soll ja (auch) eine Sicherheits-Schaltung sein.

    Die Alternative wäre, quasi einen sechsfachen Schalter zu verwenden, der entweder die Fernbedienungs-Signale oder die der autonomen Steuerung auf die Servos leitet. Also praktisch sechs separate Schalter, die mit einem einzigen µC-Signal gleichzeitig umgeschaltet werden können. Gibt es sowas als Baustein oder als Schaltung?

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo Björn,

    nicht verzagen, Hannes fragen:

    Es verbraucht zu viele Anschlüsse, wenn du 6 PWM Signale einliest. Also must du das PPM Signal im Empfänger anzapfen. Über einen einzigen Anschluss einlesen und weiter verarbeiten. Das heisst, du umgehst den Demultiplexer im Empfänger und machst auf Softwareebene das Demultiplexing.

    Auf der RC Funkstrecke gibt es nur einen Kanal, da kommen die Steuerkanäle im Zeitmultiplex schön aufgefädelt nacheinander daher. Die Info ist nicht durch Pulsweiten dargestellt, sondern durch die Abstände von immer gleich breiten Pulsen. Nach einem etwas grösseren Abstand zur Synchronisation fängt das Ganze wieder von vorne an. Im Empfänger liegt nach Demodulation und Verstärkung und vor dem Demultiplex genau dieses Signal an. Das kann man mit einem Oszi aber auch mit einem Softwareoszi raussuchen und über eine einzige Leitung in den MC speisen.

    Zum Beispiel sieht das PPM Multiplex Signal für 2 Kanäle so aus (grüne Linie):

    ...........................

    Die gelbe Linie ist dann das PWM Signal für den 1. Kanal. Das hat der Demultiplexer da rausgeholt. Das Ganze ist ein Screenshot von einem Standard Fernsteuersignal auf meinem PC Programm. Oszi brauch ich dazu nicht.

    grüsse,
    Hannes

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    31.05.2009
    Ort
    Ingolstadt
    Beiträge
    82
    Hi Hannes,

    das ist ja cool -- vielen Dank! Wenn der erste Kanal durch den Abstand von Peak 1 zu Peak 2 codiert wird, wird der zweite Kanal durch den Abstand von Peak 2 zu Peak 3 codiert?

    Ich habe inzwischen noch das hier gefunden: http://diydrones.com/profiles/blogs/...ead-7-channels. Wie es der Zufall so will, habe ich hier (neben verschiedenen PPM-Funken) auch noch eine Spektrum DX6i und ein Daughterboard, das ich in meinem Heli nicht wirklich brauche. Ich probier das einfach erstmal damit, sonst mit der PPM-Dekodierung, die Du beschreibst.

    Gruß,
    Björn

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Hallo,

    bitte gerne.

    ... wird der zweite Kanal durch den Abstand von Peak 2 zu Peak 3 codiert?
    Genau so ist es, du hast einen Puls mehr als Kanäle.

    grüsse,
    Hannes

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •