www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Aus RC Ferbedienung PWM signal auslesen


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
hab hier nen Problem, ich hab ne RC - Fernbedieung aus dem Modelbau und 
mit ihr möchte ich Funktionen über meinen ATMega ausführen lassen.
Die Ferbedienung erzeugt PWM Signale wobei die High zeit etwa 1-2ms 
beträgt und die Periode ca 20ms ausmacht.
Ich habe versucht die signale einfach über nen Analogeingang 
aufzunehmen, das ging leider nicht.

Hat das von euch schon mal jemand gemacht? Muss ich das Signal 
ersteinmal glätten oder irgendwie anders abfragen?

Für hilfe wäre ich sehr Dankbar!

MFG Christoph

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph schrieb:
> Ich habe versucht die signale einfach über nen Analogeingang
> aufzunehmen, das ging leider nicht.

Das taugt auch nicht.


Mess doch die Zeit direkt über einen Timereingang ähnlich wie beim 
Frequenzmesser

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja aber das benötigt soviele Systemrecourcen und bremst mir den Rest 
aus...

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das dauert weniger lange als einen Analoseingang einlesen.

Timer so einstellen, dass er in 20ms nicht überläuft
Das RC Signal auf einen Interrupteingang
Bei steigender Flanke Timer auf 0 setzen
Bei fallender Flanke Timerwert in Variable speichern

Autor: mexman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph schrieb:
> Ja aber das benötigt soviele Systemrecourcen und bremst mir den Rest
>
> aus...

Dann solltest Du schnellstens lernen, mit Interrupts und Timern 
umzugehen.


Gruss

Michael

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit timern und Interups ist das nicht das Problem, aber ich dachte immer 
das das mit den Ints zu viel Systemresourcen auffrist?!? Wenn ich mich 
täusche dann mach ich das mit ints nur die Hardware habe ich so 
aufgebaut das ich die Analogen eingänge noch frei hab, muss dann alles 
umbasteln...

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bei mir fressen andere Dinge Systemleistung im µC, in einer 
bestimmten Zeit einen Timerwert zu speichern ist nun nicht wirklich das 
Ding, lastet einen Atmega8 und Co nicht mal zu (gefühltem) 1% aus.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph schrieb:
> Mit timern und Interups ist das nicht das Problem, aber ich dachte immer
> das das mit den Ints zu viel Systemresourcen auffrist?!?

Noch schneller und einfacher als mit Interrupts ist nur ganz schwer 
möglich. Mit dem Capture Interrupt vom Timer 1 ist es geradezu ein 
Kinderspiel, solange es nur um 1 Servosignal geht.
Prozessorauslastung: irgendwo bei vielleicht Zehntel-Prozent. 
Wahrscheinlich sogar noch viel weniger.

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja aber ich brauch nachher 6 Kanäle :-(
hab ja auch schon an den ICP eingang gedacht, nur wohin mit den anderen 
5?
und hab nur noch den einen Timer Frei...
Hab schon überlegt das mit dem ICP und ner Hardwarevorschaltung zu 
machen um die nacheinander abzufragen...
Aber naja mal schauen wie ich weiter komme

Danke auf jeden Fall schon mal!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph schrieb:
> ja aber ich brauch nachher 6 Kanäle :-(

Hast du dir schon angesehen, ob die Pulse der Einzelkanäle nacheinander 
oder gleichzeitig aus dem Empfänger kommen?

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christoph schrieb:
> Mit timern und Interups ist das nicht das Problem, aber ich dachte immer
> das das mit den Ints zu viel Systemresourcen auffrist?!?

Man sollte bei Überlegungen auch immer den Umkehrschluss mit bedenken. 
Oder meinst du, dass man in Mikrocontroller mit Absicht Features einbaut 
die bremsen ? Ich möchte dir ebenfalls nahelegen dich mit dem 
AVR-Tutorial hier zu beschäftigen. Das sind einfach elementarste 
Grundlagen. Wenn man sowas schon nicht beherrscht dann kommt am Ende 
sowieso nichts akzeptables raus. Das ist wie wenn ich Eigenwerte eine 
Matrix bestimmen möchte aber 1+2 nicht ausrechenn kann ...

Christoph schrieb:
> Wenn ich mich
> täusche dann mach ich das mit ints nur die Hardware habe ich so
> aufgebaut das ich die Analogen eingänge noch frei hab, muss dann alles
> umbasteln...

Jeder analoge Eingang kann auch als digitaler Eingang verwendet werden 
... genauso eine Grundlage. Dazu müsste man natürlich wissen wie ein 
analoger Eingang eigentlich aussieht. Nachdem du das Tutorial aber nicht 
gemacht hast weißt du das offensichtlich auch nicht.

Christoph schrieb:
> hab ja auch schon an den ICP eingang gedacht, nur wohin mit den anderen
> 5?

Stichwort: multiplexen

Christoph schrieb:
> Ja aber das benötigt soviele Systemrecourcen und bremst mir den Rest
> aus...

Was musst du denn noch so groß machen ? Ich glaube du unterschätzt die 
Leistungsfähigkeit der Microcontroller.

Sag mal was du sonst noch machen musst ...

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der µC steuert nebenbei noch die 18 Servos für die Bewegung und die 3 
Servos für den kopf, habe das Programm schon zusammen gequetscht das die 
Servos noch schnell genug saubere Signale bekommen. Das man einen 
Analogen auch als normalen I/O nutzen kann ist mir schon klar.

Entschuldige bitte das ich nicht die weitsicht hatte das die 
Ferbedienung auch nur PWM's ausgibt. Aber das ist einfach die neue 
ausbaustufe.

An das multiplexen habe ich auch schon gedacht und was anderes wird mir 
wohl nicht über bleiben...

Schönen abend noch :-)

Autor: NichtGast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mehrere (alle) Känäle eines RC-Empfängers per µC überwachen taucht immer 
wieder mal im Forum auf. Ein paar Beispiele:

Beitrag "4 RC-Empfängersignale mit µC messen"
Beitrag "RC Summensignal erzeugen aus 6 Kanälen (Modellbau)"

Ich würde sagen, die klassische Lösung zu der Fragestellung heißt 
Pin-Change-Interrupt. "Summensignal" ist ein gutes Suchwort zum selber 
stöbern.

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke das ist ne super hilfe!

MFG

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.