www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom : 4-5 Empfängersignale auswerten?


Autor: Dominik Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin !

Hat jemand etwas Code für mich, mit dem ich (RC-) Empfängersignale 
auswerten kann (PPM)?

Ich möchte gerne 4-5 RC Kanäle auswerten. es steht aber kein 
Summensignal zur Verfügung.

Autor: Roland Z. (r-zimmermann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

etwas mehr infos wären nicht schlecht, wie liegen die Signale vor, was 
für eine Information möchtest du aus den signalen gewinnen, usw.
Sollte in Bascom eigentlich ganz einfach sein, du läßt nen Timer 
durchrennen und jede Signal das eintrifft wird quasi als "Trigger" 
verwendet. Durch ein wenig rechnerei bekommst du die Impulslänge dann 
als Ergebnis.

MfG
Roland

Autor: Dominik Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin !

Also, ich habe da einen Miniempfänger. Von dem müsste ich eben 4-5 
Kanäle auslesen.

Was ich damit will ...
Ich möchte einen kleinen Prozessor für die X-Twin Fliegerchen proggen. 
Somit könnte ich dann mit meiner normalen Fernsteuerung fliegen und muss 
nich diesen BilligPlastikSchrott nutzen.
Der Porzessor hat 2 FETs angeklemmt die direkt 2 Bürstenmotoren steuern 
per PWM.

Und mit den 4-5 Kanälen übergebe ich ihm eben Gas, Höhe, Querruder und 
eben 1-2 Steuerfunktionen (noch nix in Planung).

Also würden auch erstmal 3 Kanäle reichen :-)

Autor: Roland Z. (r-zimmermann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm,

das klingt interessant :D

Ich glaube ich hab eventuell was das vor längerer Zeit mal in C 
realisiert wurde. Es ist ein Programm daß die Empfangenen 
Fernsteuersignale entgegennimmt und den aktuellen wert in Variablen zur 
verfügung stellt. Benutzt wenn ich mich richtig erinnere nur einen Timer 
des uC. Ich muß mal sehen ob ich das heute Abend daheim noch finde. Wenn 
ja werde ich das hier mal Posten.

Kommst du mit C zurecht oder lieber Bascom? Vielleicht kann ich dir das 
sonst auf die schnelle in Bascom portieren.

Roland

Autor: Dominik Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin !

Nuja wenn du es portieren könntest wäre Klasse.

Mein C ist eingerostet .....

Autor: Roland Z. (r-zimmermann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok,

ich werde mal sehen was ich tun kann heute Abend (hoffentlich finde ich 
das Projekt auf die schnelle noch..... g)

Roland

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man fragt einfach in reglemässigen Abständen (Timer) die 4-5 Eingänge ab 
und vergleicht deren aktuellen Zustand mit dem vorherigen. Dadurch kann 
man Flanken detektieren.
Hat man auf einem Kanal eine positve Flanke erkannt, speichert man den 
Timerstand. Wurde auf dem gleichen Kanal eine fallende Flanke erkannt, 
dann speichert man wieder den Timerstand und zieht den ersten von 
zweiten ab.
Aus dem Ergebnis kann man dann auf die Pulslänge schliessen.
Hannes Lu hat sowas in Assembler programmiert...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rahul Der trollige wrote:
> Hannes Lux hat sowas in Assembler programmiert...
Und tut es sicher immernoch ;)

http://www.hanneslux.de/avr/mobau/index.html

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und tut es sicher immernoch ;)

Nööö, im Moment nicht, ist doch bereits fertig... ;-)
Würde ich aber heute anders machen, allerdings wieder in ASM.

...

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte es wohl auch mit den Pinchange-Interrupts lösen...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rahul Der trollige wrote:
> Man könnte es wohl auch mit den Pinchange-Interrupts lösen...

Jou... - Nur hatte den der AT90S2313 noch nicht. Auch eine höhere 
Auflösung (als die damals von mir verwendete) sollte ohne weiteres 
machbar sein.

Wobei zu bedenken ist, dass PCI in BASCOM kritisch (zeitkritisch) werden 
könnte, wenn man BASCOM nicht sehr genau kennt und nicht weiß, wie man 
den Interrupt-Overhead minimieren kann... Also ohne etwas ASM-Wissen 
wird's auch in BASCOM nicht gehen.

...

Autor: Roland Z. (r-zimmermann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

sorry daß ich mich erst jetzt melde, habe den Quellcode zwar gefunden 
bin aber bis jetzt noch nicht dazu gekommen das ganze mal rudimentär auf 
Bascom umzustricken da mich die Arbeit fest im Griff hatte (hatte 
bereitschaft und es war recht viel los).

Ich kann nicht sagen ob mir es dieses Wochenende noch reicht.
Schau dir doch mal das Programm von Hannes Lux an vielleicht kannst du 
das ein wenig "umbauen" für deine Zwecke. :)

MfG
Roland

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.