Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Das Wettringer Modellbauforum. 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

Samstag, 23. Mai 2015, 02:14

Universal Beleuchtung mit Arduino

Hallo liebe Bastelgemeinde :wink:

Ich habe es endlich geschaft einen halbwegs vernünftigen
Schaltplan von meiner Led Steuerung zu Zeichen ^^ . Die Schaltung basiert auf einem Arduino Nano und 2 TLC 5940nt.

Erstmal zum Arduino an sich. Der Arduino ist eine Experimentierplatofrm, die hauptsächlich aus einem ATmega328 Mikrocontroller
besteht. Auf der Platine gibt es zahlreiche Ein und Ausgänge:

-14 Digitale Ein- und Ausgänge, von denen sind 6 PMW
Ausgänge. PMW steht für pulse with modulation, damit kann man z.B. die
Helligkeit von LEDs oder die Geschwindigkeit von Motoren steuern.
-8 Analoge Eingänge. An diese können Sensoren oder Schalter
angeschlossen werden.
-6 Stromanschlüsse, davon sind 2 Masse, einmal 5V Out, 3,3V
Out und Vin über den der Arduino mit Strom versorgt werden(7-12V).
-Ein USB Anschluss über den der Arduino Programmiert wird
und mit Strom Versorgt werden kann
Der Arduino wird mit einer vereinfachten Form von C oder C++
programmiert, darauf werde ich später noch genauer eingehen.

Der TLC 5940 ist ein LED Treiber Chip der masseseitig
schaltet. Er besitzt 16 Ausgänge wobei man diese eher als Eingänge betrachten
kann. Der Chip wird über das Serial
Peripheral Interface
(kurz SPI) angesteuert. Darüber kann man alle
16 PMW Channel ein und ausschalten. PMW Channel bedeutet hierbei wieder dass
man die Helligkeit von LEDs oder die Geschwindelt von Motoren Steuern kann. Der
Vorteil bei diesen LED Treiber Chips liegt daran das sie den vorwiederstand für
jeden Channel automatisch über einen Referenz Wiederstand einstellen, in meinem
Fall liegt dieser bei 2KiloOhm, damit begrenze ich den Strom auf 20mA pro
Channel.

Die Formel hierbei ist R=V/I
R=39,06/0,02A R= 1953 also ca. 2k. 39,06V ist die interne Spannung in
dem TLC.

Die Versorgung Spannung beträgt 5V. Die Maximale „Eingangsspannung“
an den Channeln beträgt 17V.

Man kann mit der Kombination aus Arduino und TLC5940 aus 6
PMW Channeln 16 machen oder wenn man 2 in Reihe schaltet 32 Channel, bei 3 48 Channel
und so weiter.

Nun zu meiner Schaltung, bitte endschuldigt ich bin kein Elektrotechniker und deswegen ist mein Schaltplan von der
Übersichtlichkeit vermutlich nicht die beste. Das ganze bezieht sich in dem Fall auf die Beleuchtung eines
Löschfahrzeugs von Revell in 1/24.

Das ist die Belegung des Arduino Nano und die des
Spannungswandlers der 6,5Volt Eingang Spannung von meinem Netzteil auf 17 Volt für die LEDs transformiert. Der Arduino wird direkt über VIN mit dem Netzteil
Spannung Versorgt.

Der Erste TLC5940 mit den Datenleitungen an den Arduino, dem Referenzwiederstand und einem wiederstand um unabsichtliches Blinken der LEDs
bei Zustands Wechsel zu verhindern.
OUT_0: Frontblitzer
OUT_1 und OUT_2 bilden entweder Doppelblitzleuchten oder
einen Blaulichtbalken
OUT_3 und OUT_4 bilden Doppelblitzleuchten am Heckaufbau des
Löschfahrzeuges, je nach Programmierung oder
OUT_3 – OUT_10 Bilden 2 mal 4 Rundumkennleuchten nach Hubras
Vorbild(hier ein danke für die schöne Idee). Dabei ist zu beachten das LED8,
LED12, LED16 und LED20 zusammen eine Leuchte bilden. Ich bin auf das Verkabelung
chaos gespannt durch die in Reihe geschalteten LEDs.
OUT_11 und OUT_12 bilden die Blinker vorne und Hinten
Und so weiter und sofort.

Hier der zweite TLC:

Dabei ist die Ansteuerung fast genauso bis auf einen
wiederstand der nur beim ersten TLC gebraucht wird und SIN kommt von SOUT von
dem ersten TLC

Hier die Schalter um die einzelne LED kreise ein und auszuschalter

Ein kleines Beispiel Programm welches die LEDs die an
Channel 0 angeschlossen sind in einem Takt von 50millisekunden blinken:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "Tlc5940.h"  //enthält befehle für den tlc

void setup() 
{
	Tlc.init(); // aktivirt den tlc
}

void loop() // programm wird in einer endlos schleife ausgeführt
{
	Tlc.set(0, 4000); // setz channel 0 auf den wert 4000, dabei ist der wert 4000 die helligkeit der led
	
	Tlc.update(); //aktulasirt den tlc, also führt die änderen aus die vorgenommen wurden
	delay(50); // hält das programm 50millisekunden an, somit leuchten die leds an channel 0 50millisekunden lang

	Tlc.set(0, 0);  //sezt channel 0 auf den wert 0, somit leuchten die leds nicht mehr	
	Tlc.update();
	delay(50);

}


Programmiert wird das Ganze mit einer Open-Source Software
von Arduino

Den Logikteil der Schaltung habe ich bereits auf 3 Steckbrettern aufgebaut
und mit je einer LED pro Channel getestet, funktioniert soweit auch blendend. :lol: :lol:
Vielleicht schaffe ich es am Wochenende den Programmcode noch einmal zu überarbeiten und
übersichtlicher zu gestalten um ihn euch ebenfalls vorzustellen.

Mit wunden Fingern :bang: und Freundlichen Grüßen :thumbsup:


Dennis

2

Montag, 1. Juni 2015, 21:26

Hallo Dennis :wink:

Durch Zufall habe ich "Arduino für Modellbauer" bekommen... es war ein Angebot, welches ich nicht ausschlagen konnte. Habe mich schon etwas mit diesen Käfern beschäftigt, allerdings nur mit Achtbeinigen und in Bascom. Nunja.... Arduino schein recht interessant zu sein. Bin dabei mich etwas darin zu vertiefen und versuche es nun auch auf andere AVR's umzusetzen.
Wenn Du weitere Informationen und auch Erfahrungen hast, wäre es sicher nicht schlecht, hier darüber zu schreiben.
Gruß, Torsten die Landratte :pc:

Im Bau: Steampunk: Valortanica und Geheimer Hafen, Krabbenkutter, DUKW 1:35 RC

3

Donnerstag, 11. Juni 2015, 12:33

Hallo Torsten :wink:

ich habe leider bis jetzt nur mit dem Arduino gearbeitet wegen der einfachkeit die dahinter steckt.

Werbung