-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: RC Fernsteuerung mit AtMega auswerten

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.06.2008
    Beiträge
    6

    RC Fernsteuerung mit AtMega auswerten

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Ich Suche gerade nach einem passendem Board für die Steuerung eines ferngesteuerten Models. Ich habe das Arduino im Auge, da es sehr günstig ist und ich keine Features wie Motortreiber brauche, es sollen nur Servos und Fahrtenregler angeschlossen werden.

    Meine Fragen sind:
    1. Ich habe gelesen, dass man wenn man den Empfänger von einer RC Fernbedienung auswerten möchte, das Summsignal benötigt. Kann man auch die 4 einzelnen Kanäle des Empfängers auswerten?
    2. Der Arduino wird über GCC programmiert und läuft mit 16mhz (AtMega8 oder AtMega16. Gibt es schon Beispiele, woran ich sehen kann, wie eine Fernsteuerung ausgelesen wird?
    3. Benötige ich noch weitere Hardware oder kann ich den PW-Kanal direkt an die AtMega Pins anschließen? Ich habe in einem Board gelesen, dass noch ein Signalverstärker nötig ist.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    18.12.2006
    Ort
    Oderberg
    Alter
    25
    Beiträge
    870
    Ich kann dir nur die erste Frage beantworten.
    Du kannst natürlich auch alle Kanäle einzeln auswerten, aber da verschwendest du doch Pin, die Stelle zu finden, wo das Summensignal anliegt, ist garnicht so schwierig und die Software ist auch leicht.
    MfG Christopher \/


  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    06.06.2008
    Beiträge
    6
    Aber nicht jeder Empfänger unterstützt so ein Summsignal oder?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    18.12.2006
    Ort
    Oderberg
    Alter
    25
    Beiträge
    870
    Doch schon, dahinter ist dann ein Chip, der das auswertet.
    MfG Christopher \/


  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    06.06.2008
    Beiträge
    6
    Muss ich dazu den Empfänger öffnen oder ist der an einem der Ausgänge? Bei dem Mikrokopter musste man extra einen speziellen Empfänger kaufen, der das Summensignal nach draußen führt, so wie ich das auf deren Homepage verstanden habe.

    Edit: Ich habe eine Liste der kompatiblen Empfänger gefunden: http://www.mikrokopter.de/ucwiki/RC-Empf%C3%A4nger

    Dann brauche ich jetzt nur noch den Code, der das Summensignal verarbeiten kann...

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    18.12.2006
    Ort
    Oderberg
    Alter
    25
    Beiträge
    870
    Du musst den Empfänger öffnen.
    Es gehen nicht nur die Empfänger, die dort aufgelistet sind, es geht jeder billige Chinaempfänger, man muss halt nur die richtige Stelle finden.
    Stimmt also nicht, dass man extra einen speziellen Empfänger kaufen muss, aber die meisten die sich dort dieses Fertigzeug kaufen, sind wohl nicht dazu in der Lage, desshalb...
    Welche Programmiersprache?
    MfG Christopher \/


  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    06.06.2008
    Beiträge
    6
    Dann werde ich mir bei ebay einen günstigen Empfänger ersteigern. Ich hab hier noch so eine 4 Kanalfernsteuerung von einem Modellhelicopter mit 35Mhz. Sie stammt von einem dieser kleinen Helis für 130-150€. Die sollte doch wohl mit jedem Empfänger dann kompatibel sein oder?

    Die Programmiersprache ist C. Ich benutze als ein speziell für AVRs gebautes GCC.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    18.12.2006
    Ort
    Oderberg
    Alter
    25
    Beiträge
    870
    Ok.
    Bei der Umsetzung in C kann ich dir wohl nicht helfen, aber ich kann ja mal meine Auswertung bescheiben.
    Empfänger mit 5Vversorgen, PPM signal suchen (Empfänger öffnen-> Datenblatt vom IC suchen->PPM rausführen; wenn du es nicht selbst findest, kannst du ja die Bezeichnung hier posten).
    Das PPM Signal am AVR auf INT0/1/2 legen.
    Nun Timer und Interrupt konfigurieren. Variable für Kanal und für die einzelnden Kanäle.
    Wenn der Interrupt ausgelöst wird, guckst du ob Kanal 1 (usw.) ist, wenn ja, dann schreibst du den Timerwert in die Variable für den Kanal (Kanal_1) danach erhöhst du die Variable um 1, damits weiter geht.
    Danach frag ich ab ob der Timerwert größer als 3ms ist, wenn ja setz ich Kanal auf 1 (Pausenerkennung) und das wars.
    Vielleicht verstehst du, wie ich das meine und kannst was mit anfangen
    MfG Christopher \/


  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    06.06.2008
    Beiträge
    6
    Gut, danke. Ich denke mal, dass das hier das richtige sein wird: http://www.ulrichradig.de/home/index.php/avr/avr_-_rc

    Jetzt verstehe ich auch die Theorie dahinter

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    06.06.2008
    Beiträge
    6
    Ich habe mir jetzt ein ACT Pico 4 bei ebay gekauft. Läuft alles super. Ich werte mit diesem Code http://www.arduino.cc/cgi-bin/yabb2/...020386/156#156 den Empfänger aus. Jedoch habe ich wenn ich den Empfänger mit dem Arduino Board verbinde ein leichtes Zittern der Servos an allen Kanälen (wenn ich die Servos direkt an den Empfänger anschließe). Auch schwanken die ausgelesenen Werte ein wenig. Wenn ich vom Netzgerät auf Batterie umstelle, wird es ein wenig besser. Ich denke mal, dass man irgendwie die Strom und Signalleitung entstören sollte, der Empfänger selbst scheint in Ordnung zu sein. Habe ihn mal unangeschlossen ausprobiert, nur mit einem Servo und Batterie. Hat irgendwer eine Idee/Schaltung? Zwischen Pin und der Signalleitung habe ich schon einen 180 Ohm Widerstand gelötet, was eine kleine Verbesserung gegeben hat.

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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