Lieber Besucher, herzlich willkommen bei: RCLine Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Montag, 7. Dezember 2009, 18:09

Hilfe bei MC Programmierung für Modellbeleuchtung

Hallo liebe Hobbygemeinde,
da ich neu in Euren Reihen bin hier eine kurze Vorstellung. Also mein Name ist Wilfried, ich bin 54 und komme aus der Nähe von Madeburg.
In der RC-Modellbauerrei würde ich mich als Anfänger einstufen und habe daher naturgemäß viele Fragen die ich hoffe, mit Eurer Hilfe,
nach und nach klären zu können.
Ich habe mir den Schiffmodellbau ausgesucht und mein derzeitiges Projekt ist ein Modell von „Billing Boats“ das natürlich auch mit einer
entsprechenden Beleuchtungsanlage ausgestattet sein soll, wobei wir schon bei meinem ersten Problem wären. Ich habe vor die einzelnen
Beleuchtungsstränge (5 Stränge sprich 5 Kanäle) einzeln über einen Mikrocontroller (ATmega8) zu steuern. Ich habe zwar einige Erfahrung
als Programmierer aber mit MC’s und deren Programmierung hatte ich noch nie zu tun. Ich habe mir zwar schon einiges angelesen aber so
richtig hat es noch nicht geklickt. So wage Ahnung habe ich schon mal wie man einen Servoimpuls vom Empfänger verarbeitet. Was mir
aber bis jetzt noch völlig unklar ist, ist wie man unterscheidet welcher kKanal diesen Impuls gesendet hat. Geht das überhaupt zu realisieren.
Vielleicht könnt Ihr mir da auf die Sprünge helfen. Ach ja, ich benutze AVR Studio mit C-Compiler (WinAVR).

Grüße Wilfried

2

Dienstag, 8. Dezember 2009, 16:55

RE: Hilfe bei MC Programmierung für Modellbeleuchtung

Zitat

So wage Ahnung habe ich schon mal wie man einen Servoimpuls vom Empfänger verarbeitet

Also ich mach das am liebsten über einen freilaufenden Timer und Interrupts.

Du stellst das Interrupt Sensing auf "steigende Flanke".
Tritt der Interrupt dann auf, also der Servoimpuls beginnt, wird der aktuelle Zählerstand des Timers abgespeichert.
Das Interrupt sensing wird dann auf fallende Flanke umgestellt.

Fällt dann die Flanke wieder ist der Servoimpuls vorbei und der Interrupt wird wieder aufgerufen.
Dort subtrahierst Du den vorher abgespeicherten Wert vom aktuellen und erhältst so die Servoimpulslänge.

Bei nur einem Empfängerausgang kannst Du nicht feststellen welcher Kanal den Servoimpuls ausgegeben hat.
Das ist aber eigentlich auch egal, weil Du ja ohnehin weisst, wo deine Schaltung angeschaltet ist.

Wenn Du eine Nautic Sendemodul für einen Kanal hast kommt da aus einem Servokanal ein Multiframe raus.
Da gibst hier einen ellenlangen Threat darüber.

Ich hab mal so ein Nautic Empfängermodul gebastelt:
http://www.toeging.lednet.de/flieger/profi/nautic/nautic.htm

Der Quellcode ist in "C", allerdings nicht für WinAVR sondern für CodeVision AVR.