LEDs über Fernbedienung schalten

Benutzeravatar
Tueftler
Beiträge: 16137
Registriert: 27.10.2005 18:05:11
Wohnort: Odenbach (Pfalz)
Kontaktdaten:

#1 LEDs über Fernbedienung schalten

Beitrag von Tueftler »

Ich beziehe mich mal hier drauf... http://www.rchelifan.org/post1429185.html#p1429185
ein User hat mich gefragt ob ich dazu nicht mal ein paar Hinweise geben kann und ein paar Bauteile beim Namen nennen könnte. Habe mich heute Mittag mal drann gesetzt und eine Kleinigkeit gebastelt.

Inhalt ist:
Ein freier Empfängerkanal wird verwendet um über einen Schieber/Drehrad am Sender eine LED, oder LED-Kette im Modell zu dimmen, oder auszuschalten. Bei der vorgeschlagenen Schaltung ist die LED(Kette) am Flugakku verbunden. Es steht also die volle Spannung des Flugakkus für LEDs zur Verfügung.
WICHTIG: Beachtet das ihr entsprechende Vorwiderstände verwendet. Ist euch die Spannung zu hoch und ihr wollt sie einfach dimmen, dann gibt es hier auch eine Lösung. Fangen wir also mal bei 0 an...

Hier mal als erstes ein Foto einer Beispielschaltung die ich eben aufgebaut habe:
IMG_8121.jpg
IMG_8121.jpg (1.44 MiB) 6881 mal betrachtet
Ich hab das große Arduino Board (Arduino Uno) genommen, weil ich nur dieses hier habe. Das Ganze ist aber auch auf die kleinen Boards ohne USB-Anschluss übertragbar, die viele ja schon aus ihren Coptern kennen.
Das Ganze ist im Beispiel so aufgebaut, dass ich über den Gas-Schieber eine LED dimmen kann von aus, bis ganz hell. Stufenlos... ok, in 256 Stufen :-) Aber optisch scheint das stufenlos.

Benötigte Bauteile für den Versuch: (Ihr müsst das dann für eure Ansprüche abwandeln... hier ging es mir darum eine LED u dimmen).
- 2x Widerstand 470 Ohm
- 1x LED rot
- 1x Transistor BC 550 B Datenblatt
- 1x Sender + Emfpänger
- 1x LiPo 2S
- Steckbrett
- Steckbrücken

Die Schaltung ist wie folgt aufgebaut:
ACHTUNG: An die LED muss auch ein Widerstand. Ich hab da jetzt mal in der Zeichnung nur ein einfaches Symbol für eine Glühlampe eingezeichnet
led-schalter.jpg
led-schalter.jpg (53.07 KiB) 6881 mal betrachtet
Ihr seht, es ist recht wenig Aufwand da was zu basteln und das Ganze ist beliebig erweiterbar.
Wichtig ist, dass ihr genau darauf achtet an geeigneter Stelle Vorwiderstände einzusetzen (das müsst ihr z.B. an jeder Basis von jedem Transistor machen und solltet es auch an den LEDs machen!) da euch sonst die Teile überhitzen und durchbrennen können. Bestellt am Besten schonmal gleich mehr Bauteile, als ihr einplant ;)
Der Arduino ist NICHT dafür ausgelegt, hohe Lasten zu schalten. ein LED-Stripe direkt am Arduino zu betreiben endet für den Kleinen leider mit Rauchzeichen. Darum ist der Transistor erforderlich. Dieser dient als Schalter und kann eine große Last schalten. Der hier verwendete Typ kann nur 0,1A schalten, was aber schon wesentlich mehr ist als ein einzelner Ausgang am Arduino. Der Transistor kann auch durch stärkere Transistoren die 1A oder auch Hochleistungstransistoren die viele A schalten können ersetzt werden. Achtet dann aber auch auf ausreichende Kühlung und das die erforderlichen Daten im Datenblat passen.

Wie funktioniert die Schaltung?

Ganz einfach... habt ihr den Senderknüppel oder einen Schieber oder Drehrad auf voll negativ stehen, wird am Empfänger am entsprechenden Kanalausgang ein High-Signal mit einer Dauer von 1 - 2 ms ausgegeben. 1ms = Servo auf Anschlag eine Seite (0°), 2ms = Servo auf Anschalg andere Seite (270° bis 280°).
Dieses Signal lest ihr mit dem Arduino an einem Ditigalpin (hier Pin 12) ein. Schon ist es im Controller und ihr könnt damit arbeiten.
Für die LED anzusteuern benötigt ihr am Ausgang auch wieder ein gepulstes Signal. Ihr regelt also nicht direkt die Spannung die an eurer LED ankommt, sondern die Dauer, wie lange diese Spannung anliegt. Beispiel: Ein schnelles Blinken der LED bei dem sie zu 1/3 aus und 2/3 an ist, lässt bei einer sehr schnellen Blinkfolge für das menschlische Auge die LED nur zu 66% hell leuchten :shock:
Diese Eigenschaft nutzen wir und unterteilen die Leuchtdauer (also die optisch wahrgenommene Helligkeit) in 256 Schritte. Diese Impulse müssen am Ausgang ankommen das die LED (bzw. genau genommen der davor geschaltete Transistor) das so umsetzen kann.
Wie macht man das am einfachsten? Es gibt dafür eine Methode die das Leben sehr leicht macht und zuverlässig funktioniert. Sie heißt "map()" und hat die Parameter 'value', 'min-Input', 'max-Input', 'min-Output', 'max-Output'.
'value' ist das Signal, das wir vorher vom Empfänger über dne Pin 12 des Arduino eingelesen haben.
'min-Input' ist der niedrigste Wert der vom Empfänger kommen kann - 1ms = 1000
'max-Input' ist der höchste Wert der vom Empfänger kommen kann - 2ms = 2000
'min-Output' ist der niedrigste Wert der für die Helligkeit der LED an Pin 6 vom Arduino ausgegeben werden soll - 0
'max-Output' ist der höchste Wert der für die Helligkeit der LED an Pin 6 vom Arduino ausgegeben werden soll - 255

Der Rest im Code ist Konfiguration und Standardgeplänkel. Der Code ist auch soweit kommentiert.

Der Code:

Code: Alles auswählen

/*
"Mode-Switch" für RC-Anlagen (in dem Fall ein einzelner Kanal)

Pinbelegung:
Kanal 3 vom Emfpänger an Digit 12 //noch frei
Schalt-Ausgang an Digit 6
*/
    const int kanal3 = 12; //hier können weitere Emfpängerkanäle den Digitalports des Arduinos zugeordnet werden
    const int out6 = 6;

    #include <Servo.h> //Wichtig. Muss includiert werden, um die Empfängerausgänge auszulesen

        int inputValueKanal3 = 0; //In dieser Variable wird der Wert von Kanal 3 am Empfänger gespeichert
        
        void setup() {     
          //Input- und Output-Pins setzen... 
          pinMode(kanal3, INPUT);
          pinMode(out6, OUTPUT);

          //Output über serielle Schnittstelle starten (optional, aber praktisch zur Fehlersuche)
          Serial.begin(9600);
        }

        void loop(){
          inputValueKanal3 = pulseIn(kanal3, HIGH); //Auslesen vom Emfpängersignal
          analogWrite(out6, map(inputValueKanal3, 1000, 2000, 0, 255));
          Serial.println(map(inputValueKanal3, 1100, 1900, 0, 255));           

        }
Wenn ihr das alles so nachbaut, könnt ihr ganz einfach den Code 1:1 übernehmen und mal damit testen.

Einfaches Schalten von LEDs und LED-Stripes ohne Dimmen und ohne Arduino:
Angenommen ihr wollt jetzt einfach nur an/aus von Licht und nicht dimmen, dann braucht ihr auch keinen Arduino!
Für den Fall reicht ein altes Servo. Dort lötet ihr das Poti aus (oder stellt es auf Neutralposition, aber auslöten ist sauberer...) und ersetzt das Poti durch 2 Widerstände mit gleichem Wert. Ein Poti hat 3 Anschlüsse. Es geht je ein Widerstand auf der Servoplatine von den beiden äußeren Lötpunkten des Potis zum Mittleren. Anstelle des Motors im Servo schließt ihr jetzt entweder
- für eine einzelne LED die LED (mit Vorwiderstand!) direkt an (ich rede hier von standard-LEDs die nur ihre ca. 20mAh benötigen ;) )
- oder an den Motorkabeln ein Relais für große Lasten (damit schatet ihr nur das Relais und die Spannung für eure Last kommt vom Flugakku)
- oder die elgante Lösung: Wieder mit einem Transistor. Den schließt ihr genau so an wie oben geschrieben das Arduino-Board. Ground (Der Collector, im Datenblatt mit C oder K gekennzeichnet) ist dann die Minus-Leitung an der Servoelektronik wo vorher der Servomotor angeschlossen war, die Basis vom Transistor an die Plus-Leitung vom Servomotor und den Rest wie oben auf der Zeichnung vom Anschluss mit dem Arduino-Board. - fertig.
Schließt ihr das umgebaute Servo jetzt an einem Emfpänger an und daran wie oben gezeichnet die Last, dann könnt ihr mit einem einfachen Kanalschalter (ohne Dimmen) die Last an und aus schalten.


So das wars jetzt erst mal von meiner Seite. Ich hoffe das hilft dem Ein oder Anderen.
Empfehlenswerte Literatur von meiner Seite: "Die elektronische Welt mit Arduino entdecken". Da wird sowohl auf E-Technik, wie auch auf die Programmierung eingegangen. Leider hab ich das Ganze auch nicht professionell gelernt und deswegen sind alle hier gemachten Angaben aufgrund meiner bisher angelesenen und durch Ausprobieren erlangten Erfahrungen gemacht. Kann sein das so mancher der sich damit wirklich auskennt die Hände überm Kopf zusammenschlägt wenn er das sieht, aber so habe ich schon einige Schaltungen erfolgreich zu ihrer Funktionalität verholfen.
Gruß
Daniel
__________________________________________________________
Helis: WLtoys V911, T-Rex 450 FBL, Logo10, Eco Piccolo, Blade Nano CP X, Futaba T9CP mit FASST/Spektrum
Aeroworker

#2 Re: LEDs über Fernbedienung schalten

Beitrag von Aeroworker »

sehr schön das man jetzt weiß wie es funktioniert, da aber die meisten nicht so viel Equipment rumligen haben oder einfach das Wissen fehlt geht auch ein fertiges Modul von Vobo oder Yogi?
Benutzeravatar
Armadillo
Beiträge: 4464
Registriert: 11.04.2010 20:03:05
Wohnort: München
Kontaktdaten:

#3 Re: LEDs über Fernbedienung schalten

Beitrag von Armadillo »

Beim Hobbykönig gibts nen Turnigy RC Schalter Modul, siehe anderer Thread.
HeliChat.de - Von Helipiloten für Helipiloten - Schaut einfach mal rein! ;-) Chat User Treffen 2011 - Chat User Treffen 2012

Goblin 700 VStabi - Daten auf Helifleet.com
Voodoo 400 VStabi - Daten auf Helifleet.com
Protos 500 streched VStabi - Daten auf Helifleet.com
Benutzeravatar
Husi
Beiträge: 2808
Registriert: 19.03.2007 20:06:17
Wohnort: Darmstadt
Kontaktdaten:

#4 Re: LEDs über Fernbedienung schalten

Beitrag von Husi »

Danke Daniel,

das ist mir ein grauen Hubschrauber wert!
Ich werde mir die Anleitung als Lesezeichen speichern.

Sobald ich mir meinen ersten Arduino gekauft habe, werde zuerst diese Anleitung befolgen und diese Schaltung nachbauen.

Viele Grüße
Mirko
Bild Bild Bild Bild
Benutzeravatar
Tueftler
Beiträge: 16137
Registriert: 27.10.2005 18:05:11
Wohnort: Odenbach (Pfalz)
Kontaktdaten:

#5 Re: LEDs über Fernbedienung schalten

Beitrag von Tueftler »

Danke Husi!
Wenn's bei dir zeitlich passt, komm doch einfach demnächst mal ein WE (oder nen Tag :-) ) vorbei.
Gruß
Daniel
__________________________________________________________
Helis: WLtoys V911, T-Rex 450 FBL, Logo10, Eco Piccolo, Blade Nano CP X, Futaba T9CP mit FASST/Spektrum
Benutzeravatar
acanthurus
Beiträge: 3348
Registriert: 21.10.2008 08:39:59
Wohnort: Kreis Ludwigsburg

#6 Re: LEDs über Fernbedienung schalten

Beitrag von acanthurus »

Danke fürds Einstellen - allerdings bleibt für mich wie immer die Frage, warum man dafür ein Arduino Board (für 10€ aufwärts) nehmen muss wenns ein nackter AVR (1,5€ max) exakt genauso macht - auf dem Arduino Board ist ja auch nix anderes drauf.

gruß
andi
I told my mom when I grow up I want to be an Engineer, she told me I can't do both!
Benutzeravatar
Husi
Beiträge: 2808
Registriert: 19.03.2007 20:06:17
Wohnort: Darmstadt
Kontaktdaten:

#7 Re: LEDs über Fernbedienung schalten

Beitrag von Husi »

acanthurus hat geschrieben:Danke fürds Einstellen - allerdings bleibt für mich wie immer die Frage, warum man dafür ein Arduino Board (für 10€ aufwärts) nehmen muss wenns ein nackter AVR (1,5€ max) exakt genauso macht - auf dem Arduino Board ist ja auch nix anderes drauf.
Moin Andi,

ich habe ja (noch) von der Sache keine Ahnung. Gelesen habe ich allerdings, das das Thema externen Quarz verschalten duch die Leitungslängen gerne alles andere stört. Das scheint ja auf den fertigen Boards gut / besser gelöst zu sein. Außerdem ist für das Experimentieren eine USB Schnittstelle sehr bequem.

Du darfst aus meiner Sicht aber gerne ein Beispiel hier einstellen, wie es nur mit dem AVR ohne Board funktioniert.
Wenn ich für mein zukünftiges Projekt diese Technik brauche, muß ich eh jedes unnötige Gramm weglassen. (Du weißt warum...) Wenn es also noch gewichtstechnisch leichter geht, dann gerne her damit. Und wenn mir jemand noch einen Dreizeiler geben kann, wie man zwei oder mehr Prozessoren als Co-Prozessor arbeiten lässt, wäre ich sehr Dankbar.

Viele Grüße
Mirko
Bild Bild Bild Bild
Benutzeravatar
Tueftler
Beiträge: 16137
Registriert: 27.10.2005 18:05:11
Wohnort: Odenbach (Pfalz)
Kontaktdaten:

#8 Re: LEDs über Fernbedienung schalten

Beitrag von Tueftler »

acanthurus hat geschrieben: allerdings bleibt für mich wie immer die Frage, warum man dafür ein Arduino Board (für 10€ aufwärts) nehmen muss wenns ein nackter AVR (1,5€ max) exakt genauso macht
Weil es für den Einsteiger einfacher ist zum Erfolg zu kommen und somit die Motivation eher erhalten bleibt.
Um auf kleinere Baugrößen zu kommen, kann man das Projekt ja nachträglich noch verkleinern... hier mal ein nettes Video. Man hat die Vorzüge vom Arduino, aber im Einsatz später nur einen kleinen Chip.

Gruß
Daniel
__________________________________________________________
Helis: WLtoys V911, T-Rex 450 FBL, Logo10, Eco Piccolo, Blade Nano CP X, Futaba T9CP mit FASST/Spektrum
Benutzeravatar
acanthurus
Beiträge: 3348
Registriert: 21.10.2008 08:39:59
Wohnort: Kreis Ludwigsburg

#9 Re: LEDs über Fernbedienung schalten

Beitrag von acanthurus »

Hallo miteinander.

Hmmm ich hab jetzt noch nicht wirklich was mir Arduinos gemacht, aber wenn ich mir das so anschaue, was ich beim nackten AVR machen muss..
- Code schreiben, ggf. unter der Verwendung der vielfältig verfürbaren, bequemen Libraries (WinAVR, sieht genauso aus wie das, was hier an Source steht)
- Code aufbrutzeln (ISP-Adapter im Selbstbau oder für 6$ beim Chinesen, kann man immer wieder verwenden)
- Externe Hardware anschließen (Transistor, Widerstand)
- fertig.
Damit hätte man das Teil mit 3 Bauteilen erschlagen.

Wenn man einen passenden AVR verwendet, z.b. aus der ATTINY-Serie, so entfällt die gesamte Quarzgeschichte (für die meisten nich wirklich exakt zeitkritischen Anwendugnen jedenfalls) ERSATZLOS, da diese Dinger ihren eigenen Onchip-Taktgenerator mitbringen. Da stört dann auch nichts.

Ich hab jetzt mit Dimmgeschichte nichts "fertiges" in der Schublade, und mir fehlt grade etwas die Zeit, allerdings haben wir vor einiger Zeit mal ne schöne Beleuchtung (für Koaxe und andere 2s-getriebene Luftfahrzeuge) gemacht. Damals haben wir den Landescheinwerfer nur geschaltet, nicht gedimmt. Damit sich aber der Controller nicht langweilte, war er nebenbei mit einer akkuspannungsabhängigen Blinksequenz beschäftigt und steuerte noch ne Einzelzellenüberwachung.
Wenns interessiert kann ich ja n Video und ein paar Infos hochladen,

Prinzipiell find ich die Arduino-Projekte ja nett, allerdings sind sie mir eben in vielen Fällen hardwaremäßig (und damit preislich und von der Boardgröße her) völlig oversized, weshalb ich es besser fände, wenn man sich für solche einfachen Anwendungen auf den grundlegenden Controller beschränken würde, der ja schon eine dicke Reihe an Hardware mitbringt (AD-Wandler, PWM-Timer, Schaltkanäle usw.).
Bei irgendwelchen Quadrocoptern brauch mer das nicht diskutieren, aber um ein Lämpchen per RC zu schalten ist das so als würde ich gleich den Abschleppdienst bestellen, nur um den Mülleimer rauszuschieben.

Danke auch für den Videolink bez. Arduino-Schrumpfen, das ist vielleicht noch nützlich.

gruß
andi
I told my mom when I grow up I want to be an Engineer, she told me I can't do both!
Benutzeravatar
Helicombat
Beiträge: 453
Registriert: 21.10.2004 22:58:51
Wohnort: 32760 Detmold

#10 Re: LEDs über Fernbedienung schalten

Beitrag von Helicombat »

Hallo zusammen,

ich würde gerne mal ein wenig mit einem AVR experimentieren.
Gibt es ein Starterkit "mit allem dabei" oder/und eine gute Seite für Anfänger? :oops:
Gruß Torsten




Mini Titan E325 ,Twinstar BL, MQX, MPX Evo 2G4
Benutzeravatar
acanthurus
Beiträge: 3348
Registriert: 21.10.2008 08:39:59
Wohnort: Kreis Ludwigsburg

#11 Re: LEDs über Fernbedienung schalten

Beitrag von acanthurus »

"mit allem dabei" ist halt so ne Frage.

Eigentlich brauchst du nur einen ISP-Programmer, am bequemstem mit USB-Interface, z.B. den hier
http://www.hobbyking.com/hobbyking/stor ... duct=21321
(Oder auch, wenn schon vorhanden, einen Arduino, der als ISP-programmer fungiert)
ein Breadboard und eine Handvoll Controller. Ich habe früher gerne den attiny26 zum "spielen" verwendet, da er nen Haufen IOPins hat, A/D, PWM und internen Taktgenerator. Allerdings hat der keine echte UART, d.h. irgendwelche Schnittstellengeschichten sind damit nicht so prickelnd.

Fertige Starterkits gibts auch. Ich habe das STK500 in Betrieb - ist schon älter, und für "normale" serielle Schnittstelle (RS232), beinhaltet ISP-Progger, und etwas "Infrastruktur" zum Spielen (LEDs, Taster, Schnittstellentreiber, externer Taktgenerator usw.)

gruß
andi
I told my mom when I grow up I want to be an Engineer, she told me I can't do both!
Benutzeravatar
DJBlue
Beiträge: 223
Registriert: 13.09.2012 10:54:23
Wohnort: Dietmannsried

#12 Re: LEDs über Fernbedienung schalten

Beitrag von DJBlue »

... und wenn man nur wenige LEDs beschalten will, reicht die Elektronik aus einem Servo voll und ganz aus.
Benutzeravatar
Crizz
Beiträge: 27061
Registriert: 12.04.2007 17:44:22
Wohnort: Haiger
Kontaktdaten:

#13 Re: LEDs über Fernbedienung schalten

Beitrag von Crizz »

Und wer verzweifelt das nötige Hardware-Lib sucht findet es hier : http://hlt.media.mit.edu/?p=1695

Ist die aktuelle Site mit Arduino 1.0 - Unterstützung, ferner werden neben ATTiny 45 und 85 auch die Typen 44 und 84 unterstützt - für Anwednungen die mehr als 4 E/A-Ports benötigen :)

Achtung : der Link zum Liub ist schlecht erkennbar, da im Text in grau dargestellt, hebt sich kaum ab und kann schnell übersehen werden. Findet sich ca. im unteren Drittel der Seite ( Verweis auf die .ZIP -Datei ist der Link ).
_________________________________________________________________________________
"Leben ist das, was passiert, während du etwas ganz anderes planst" ... ( John Lennon )

! REVOLECTRIX-Distributor ! -> Ladeequipment / Akkus : -> HaDi-RC.de

Alle Projektberichte für den VTH-Verlag als PDF zum Download unter http://www.CrizzD.de !
Benutzeravatar
acanthurus
Beiträge: 3348
Registriert: 21.10.2008 08:39:59
Wohnort: Kreis Ludwigsburg

#14 Re: LEDs über Fernbedienung schalten

Beitrag von acanthurus »

Hi..
Wie angedroht hier ein kurzes Video von der Lichtgeschichte für 2s..
1677

Und was die von DJBlue vorgeschlagene Lösung per Servoelektronik angeht, anbei die einfache Beschaltung (alllerdings war die fürs Auslösen einer Kamera konfiguriert) - Man müsste für LEDs halt den Treibertransistor entsprechend aufpeppen bzw. durch nen FET ersetzen.

gruß
andi
Dateianhänge
per Servoelektronik schalten
per Servoelektronik schalten
cam_combi.jpg (43.49 KiB) 6467 mal betrachtet
I told my mom when I grow up I want to be an Engineer, she told me I can't do both!
hiwi
Beiträge: 102
Registriert: 12.07.2012 09:28:42

#15 Re: LEDs über Fernbedienung schalten

Beitrag von hiwi »

Hallo,
es gibt von Graupner einen mikro kleinen Schalter bis 10A SX und SX-H, der kann dann auch blinken und hat 4 Ausgänge.

Ich habe aber auch schon mit Arduineborads geabeitet und verwende allerdings keine NPN Transsitoren sondern FETS.
Für kleinen Leistungen den BS170 für größere einen BUZ11.

1 Watt LEDS betreibe ich dann über einen linear geregelte Konstantstromquelle mit einem LM317 z.B.
Stelle ich einen Strom von 100 - 200mA ein.

Gruss Ralf
Antworten

Zurück zu „Empfänger“