Bascom : 4-5 Empfängersignale auswerten?

#691386
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
Gast #691391
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 :-)
#691401
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
#691750
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...
#691908
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.

...
#692520
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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.