mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Arduino Nano und TLC5947 - Projekt zur Beleuchtungssteuerung im Auto - bräuchte paar Tipps&Hilfe


Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

ich habe mir wahrscheinlich ein zu großes Projekt vorgenommen, nun sich 
aber alle Sachen schon bestellt und angekommen sodass ich es durchziehen 
muss.

Es geht mir um Instrumentenbeleuchtung im Auto mit RGB LED´s, welche ich 
gerne per Arduino steuern möchte.

Da es eine größere Anzahl an LED´s ist, mehr als beim Arduino PWM Pins 
verfügbar sind habe ich mir folgendes Modul bestellt.

http://www.adafruit.com/products/1429

Alles so angeschlossen wie es im Datenblatt steht. Erstes Problem, ich 
sehe dass die LED´s "flimmern" und zwar immer dann wenn ein Programm 
läuft oder ich ein Code gerade auf das Arduino lade.

Entkopplungskondensatoren habe ich an der Spannungsversorgung schon 
ausprobiert. Hat aber nicht wirklich eine Besserung gebracht. Evtl. ist 
das ein normales Phänomen oder ich habe die Kondensatoren falsch 
angeschlossen? Wäre schon nice-to-have das loszuwerden, da es sicherlich 
auf dauer dann nerven wird.


Habe es vorerst nur mit gewöhnlichen weissen 3,2V Leds Probiert.



Das zweite Problem besteht darin, dass die miniatur RGB LED´s welche ich 
mir bestellt habe. "PLCC-2 SMD LEDs 3528"

Ebay-Artikel Nr. 310261485548

Leider bei den Farben unterschiedliche Spannungen benötigen.

- Spannung: rot max. 2,4V / grün&blau max. 3,5V
- Strom: ca. 30mA

Das schließt natürlich eine gemeinsame Spannungsversorgung ja aus. Daher 
muss ich schauen eine separate Spannungversorgung für den Roten Kanal 
mit max. 2,4 V zu bekommen.

Da habe ich auch noch nicht wirklich eine Idee wie ich das ganze 
Anschließen soll.

Widerstände wären wohl keine gute Wahl schon allein wegen den 
Spannungsschwankungen im Auto.

Die Frage stelle ich mir auch ob ich die LED´s überhaupt an den 
LED-Controller auf die Dauer anschließen sollte, oder lieber mit 
Transistoren etc. arbeiten sollte. 30 mA sind immerhin als Limit 
angegeben.


Habe das Problem auch hier direkt geschildert (falls ich hier evtl was 
vergessen habe): http://forum.arduino.cc/index.php?topic=264325

Erhoffe mir hier evtl. mehr hilfe, da ich dann später auch einige Fragen 
zum Codieren meiner gewünschten Anwendung haben werde, wenn dieses 
Elektronische Problem erledigt ist.

: Verschoben durch Admin
Autor: Klaus2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...oder du nimmst besser ws2812 basierte leds?

Klaus.

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist die habe ich nur in der 5050 Ausführung gefunden. Gibt 
es kleinere?
Auf Grund von Platzmangel wäre das heikel.

Ich habe vorhin verschiedene Elkos an die Stromversorgung gehängt, sogar 
das ganze an einem Akku betrieben, aber es scheint irgendwie am 
Controller zu liegen.

Ist dieses Flimmern evtl. charakteristisch für diesen Controller und ich 
mache mir umsonst die Mühe?

Autor: Marc Vesely (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg P. schrieb:
> Ist dieses Flimmern evtl. charakteristisch für diesen Controller

 Mit Sicherheit nein.
 Dabla:
 To use: Power V+ with 5-30VDC, and connect ground to the common
 ground.Then send 3-5V logic SPI data on DIN (data in), CLK (clock)
 and LAT (latch). If you'd like to quickly turn off all the outputs,
 raise the OE pin - it's pulled low to enable the PWM outputs

 Der einzige Grund für Flimmern wäre OE pin. Ob du das irgendwie im
 Code schaffst oder dein Arduino ständig zum Reset springt, kann dir
 niemand ohne Code sagen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Georg P. (georg123)

>http://www.adafruit.com/products/1429

>Alles so angeschlossen wie es im Datenblatt steht. Erstes Problem, ich
>sehe dass die LED´s "flimmern" und zwar immer dann wenn ein Programm
>läuft oder ich ein Code gerade auf das Arduino lade.

Dann stimmt was nicht. Entweder ein Softwareproblem (Die PWM muss 
zyklisch einen Reset kriegen) oder Hardwareproblem.

>Leider bei den Farben unterschiedliche Spannungen benötigen.

>- Spannung: rot max. 2,4V / grün&blau max. 3,5V
>- Strom: ca. 30mA

>Das schließt natürlich eine gemeinsame Spannungsversorgung ja aus.

FALSCH! Ein Blick ins Datenblatt deines ICs, enthüllt, dass der 16 
wunderschönen Konstantstromausgange hat! Damit kann man LEDs mit 
verschiedenen Flußspannungen direkt anschließen, den Rest regelt der IC.

>Widerstände wären wohl keine gute Wahl schon allein wegen den
>Spannungsschwankungen im Auto.

Du braucht doch so oder so eine STABILISIERTE Versorgungsspannung, hier 
wahrscheinlich 5V. Die schwankt dann so oder so NICHT mehr.

>Die Frage stelle ich mir auch ob ich die LED´s überhaupt an den
>LED-Controller auf die Dauer anschließen sollte,

Natürlich. Warum denn nicht? Der Name ist Programm!

> oder lieber mit
>Transistoren etc. arbeiten sollte.

Bei deinem Wissen? Eher nicht.

> 30 mA sind immerhin als Limit angegeben.

Von wem?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg P. schrieb:

> Leider bei den Farben unterschiedliche Spannungen benötigen.

das ist nicht 'leider' sondern ist ganz normal.
zweitens ist das nichts, was dir graue Haare bereiten muss, denn darum 
kümmert sich der LED Treiber. Du schliesst den einfach an die 
Spannungsversorgung (laut Beschreibung kannst du alles von 5 bis 30 Volt 
nehmen) an, und der Treiber macht den Rest.

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> 30 mA sind immerhin als Limit angegeben.

Falk frog:
>Von wem?

Von besagtem wunderschönen Datenblatt....
;-)
(Wirklich!)

MfG Paul

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc Vesely schrieb:
> Georg P. schrieb:
>> Ist dieses Flimmern evtl. charakteristisch für diesen Controller
>
>  Mit Sicherheit nein.
>  Dabla:
>  To use: Power V+ with 5-30VDC, and connect ground to the common
>  ground.Then send 3-5V logic SPI data on DIN (data in), CLK (clock)
>  and LAT (latch). If you'd like to quickly turn off all the outputs,
>  raise the OE pin - it's pulled low to enable the PWM outputs
>
>  Der einzige Grund für Flimmern wäre OE pin. Ob du das irgendwie im
>  Code schaffst oder dein Arduino ständig zum Reset springt, kann dir
>  niemand ohne Code sagen.


Der hängt frei, evtl ist das der Grund, evtl. störung? Das werde ich mir 
mal anschauen danke für den Tipp. Als Spannung habe ich bis jetzt immer 
5V genommen, 3,2 V dann für die LED versorgung.




Falk Brunner schrieb:
> FALSCH! Ein Blick ins Datenblatt deines ICs, enthüllt, dass der 16
> wunderschönen Konstantstromausgange hat! Damit kann man LEDs mit
> verschiedenen Flußspannungen direkt anschließen, den Rest regelt der IC.


Das habe ich z.B. schon vermutet war mir aber nicht ganz sicher, daher 
auch der Thread hier.
D.h. ich könnte die einfach an 12 V (oder meinetwegen durch einen 
Spannungsregler an 5V Bordspannung anschließen) und der Treiber kümmert 
sich darum dass jederzeit maximal die 15 mA oder 30 mA (je nachdem 
welchen Referenzwiderstand ich einbaue) durch die LED´s fliessen?

Im Code kann ich dann (für alle Farben?) die Helligkeit von 0 - 4095 für 
die einzelnen Pins setzen.




Falk Brunner schrieb:
>> oder lieber mit
>>Transistoren etc. arbeiten sollte.
>
> Bei deinem Wissen? Eher nicht.

Habe ich bereits direkt am Arduino mit PowerLeds gemacht, hat wunderbar 
geklappt.



Paul Baumann schrieb:
>>> 30 mA sind immerhin als Limit angegeben.
>
> Falk frog:
>>Von wem?
>
> Von besagtem wunderschönen Datenblatt....
> ;-)
> (Wirklich!)
>
> MfG Paul

Ja das Datenblatt ist nicht das Beste.

Autor: Marc Vesely (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg P. schrieb:
> Der hängt frei, evtl ist das der Grund, evtl. störung? Das werde ich mir
> mal anschauen danke für den Tipp. Als Spannung habe ich bis jetzt immer

>>  the OE pin - it's pulled low to enable the PWM outputs

 OE muss auf low, also mit Masse verbinden.

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc Vesely schrieb:
> Georg P. schrieb:
>> Der hängt frei, evtl ist das der Grund, evtl. störung? Das werde ich mir
>> mal anschauen danke für den Tipp. Als Spannung habe ich bis jetzt immer
>
>>>  the OE pin - it's pulled low to enable the PWM outputs
>
>  OE muss auf low, also mit Masse verbinden.

Habe ich nun gemacht flimmert immer noch.

Stromversorgung läuft jetzt sauber nur von 5V und zwar das Arduino wird 
von 5V per USB versorgt und die Stromversorgung des LED-Treibers hängt 
samt dem V+ (Versorgung für LED´s) ebenfalls an dem 5V-PIN des Arduino.

kein Unterschied ob ich es am PC betreibe oder an einem 700mA 
USB-Ladeschaltnetzteil.

Es ist jetzt auch kein Flimmern welches sonderlich auffällt oder nervt.

Man merkt jedoch den Unterschied, das Leuchten der LED´s ist anders 
(Flimmerfrei) wenn ich die Verbindung zum Arduino vom LED Treiber 
trenne.

Evtl. habe ich eine falsche Vorstellung davon.

Ein Video kann ich hier auch nicht hochladen, da die Cam das Flimmern 
wohl nicht aufnehmen würde.

Code ist folgender.
/*************************************************** 
  This is an example for our Adafruit 24-channel PWM/LED driver

  Pick one up today in the adafruit shop!
  ------> http://www.adafruit.com/products/1429

  These drivers uses SPI to communicate, 3 pins are required to  
  interface: Data, Clock and Latch. The boards are chainable

  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/

#include "Adafruit_TLC5947.h"

// How many boards do you have chained?
#define NUM_TLC5974 1

#define data   8
#define clock   9
#define latch   10
#define oe  -1  // set to -1 to not use the enable pin (its optional)

Adafruit_TLC5947 tlc = Adafruit_TLC5947(NUM_TLC5974, clock, data, latch);

void setup() {
  Serial.begin(9600);
  
  Serial.println("TLC5974 test");
  tlc.begin();
  if (oe >= 0) {
    pinMode(oe, OUTPUT);
    digitalWrite(oe, LOW);
  }
}

void loop() {
  colorWipe(4095, 0, 0, 100); // "Red" (depending on your LED wiring)
  delay(200);
  colorWipe(0, 4095, 0, 100); // "Green" (depending on your LED wiring)
  delay(200);
  colorWipe(0, 0, 4095, 100); // "Blue" (depending on your LED wiring)
  delay(200);
  rainbowCycle(10);
}


// Fill the dots one after the other with a color
void colorWipe(uint16_t r, uint16_t g, uint16_t b, uint8_t wait) {
  for(uint16_t i=0; i<8*NUM_TLC5974; i++) {
      tlc.setLED(i, r, g, b);
      tlc.write();
      delay(wait);
  }
}

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
  uint32_t i, j;

  for(j=0; j<4096; j++) { // 1 cycle of all colors on wheel
    for(i=0; i< 8*NUM_TLC5974; i++) {
      Wheel(i, ((i * 4096 / (8*NUM_TLC5974)) + j) & 4095);
    }
    tlc.write();
    delay(wait);
  }
}

// Input a value 0 to 4095 to get a color value.
// The colours are a transition r - g - b - back to r.
void Wheel(uint8_t ledn, uint16_t WheelPos) {
  if(WheelPos < 1365) {
    tlc.setLED(ledn, 3*WheelPos, 4095 - 3*WheelPos, 0);
  } else if(WheelPos < 2731) {
    WheelPos -= 1365;
    tlc.setLED(ledn, 4095 - 3*WheelPos, 0, 3*WheelPos);
  } else {
    WheelPos -= 2731;
    tlc.setLED(ledn, 0, 3*WheelPos, 4095 - 3*WheelPos);
  }
}

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Georg P. (georg123)

>D.h. ich könnte die einfach an 12 V (oder meinetwegen durch einen
>Spannungsregler an 5V Bordspannung anschließen) und der Treiber kümmert
>sich darum dass jederzeit maximal die 15 mA oder 30 mA (je nachdem
>welchen Referenzwiderstand ich einbaue) durch die LED´s fliessen?

Ja.

>Im Code kann ich dann (für alle Farben?) die Helligkeit von 0 - 4095 für
>die einzelnen Pins setzen.

Ja, per PWM, die macht der IC selber. Man muss nur neue Daten dort 
reinladen, wenn man andere Werte haben möchte. Dort könnte dein Flackern 
herkommen. Du lädst zu oft oder zu ungleichmäßg, wodurch die PWM im IC 
unterbrochen wird. Teste mal ob es flimmert, wenn du für ein paar 
Sekunden KEINERLEI neue Werte in den IC schreibst (also konstante 
LED-Farben).

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Man merkt jedoch den Unterschied, das Leuchten der LED´s ist anders
(Flimmerfrei) wenn ich die Verbindung zum Arduino vom LED Treiber
trenne."

AHA! dann werden keine neuen Daten mehr reingeladen und der IC läuft mit 
konstanten PWM-Daten vom letzten Update. Dort musst du ansetzen und es 
besser machen. Möglicherweise ist der Treiber für den IC, den du ja 
"unsichtbar" benutzt, nicht so gut. Da der

"All outputs are turned off at the XLAT rising edge."

Wenn das zufällig mitten im PWM Zyklus passiert, flackert es, logisch!

Ergo. Der IC ist nicht optimal für flackerfreie Farbübergänge. TLC5940 
ist besser, denn da kann man das Synchronisieren.

Autor: Marc Vesely (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg P. schrieb:
> Code ist folgender.

 Wieviele LEDs hast du ?

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk Brunner

werde ich machen.

übrigens.

http://www.adafruit.com/products/1429

We include a few extras to make this board easy to use: a durable 5V 
low-dropout regulator (with reverse polarity protection in case y'know, 
you plug it in backwards), a green power-good LED, four mounting holes 
and a current-set resistor. A bit of 0.1" header is also included so you 
can solder it on and plug into a breadboard.

To use: Power V+ with 5-30VDC, and connect ground to the common ground. 
Then send 3-5V logic SPI data on DIN (data in), CLK (clock) and LAT 
(latch). If you'd like to quickly turn off all the outputs, raise the OE 
pin - it's pulled low to enable the PWM outputs.Our Arduino library will 
get you started with blinking LEDs, install it and run the example code 
with the noted pin configuration.


Das Board ist ja an sich schon recht noob-sicher gemacht.
Dieser "OE" PIN ist bereits auf LOW gesetzt. Daher war mein Versuch 
sinnfrei.

auf 5V ist es wohl auch schon stabilisiert.

Die Ursache wird wohl also wirklich in der Software liegen.
D.h. das Flimmern wird nur dann auftreten wenn gerade eine Farbänderung 
abläuft

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> "Man merkt jedoch den Unterschied, das Leuchten der LED´s ist
> anders
> (Flimmerfrei) wenn ich die Verbindung zum Arduino vom LED Treiber
> trenne."
>
> AHA! dann werden keine neuen Daten mehr reingeladen und der IC läuft mit
> konstanten PWM-Daten vom letzten Update. Dort musst du ansetzen und es
> besser machen. Möglicherweise ist der Treiber für den IC, den du ja
> "unsichtbar" benutzt, nicht so gut. Da der
>
> "All outputs are turned off at the XLAT rising edge."
>
> Wenn das zufällig mitten im PWM Zyklus passiert, flackert es, logisch!
>
> Ergo. Der IC ist nicht optimal für flackerfreie Farbübergänge. TLC5940
> ist besser, denn da kann man das Synchronisieren.

Das wäre dann der hier?

http://www.adafruit.com/products/815

Ist eher für Servos geeignet steht in der Beschreibung.


Marc Vesely schrieb:
> Georg P. schrieb:
>> Code ist folgender.
>
>  Wieviele LEDs hast du ?

24 - Alle Ausgänge sind belegt

Autor: Marc Vesely (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg P. schrieb:
>>  Wieviele LEDs hast du ?
>
> 24 - Alle Ausgänge sind belegt

 Wie kommst du dann auf 8 ?
 8 * einschalten, delay, 8 * einschalten == Flimmern.

: Bearbeitet durch User
Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> @Georg P. (georg123)
>
>>D.h. ich könnte die einfach an 12 V (oder meinetwegen durch einen
>>Spannungsregler an 5V Bordspannung anschließen) und der Treiber kümmert
>>sich darum dass jederzeit maximal die 15 mA oder 30 mA (je nachdem
>>welchen Referenzwiderstand ich einbaue) durch die LED´s fliessen?
>
> Ja.
>
>>Im Code kann ich dann (für alle Farben?) die Helligkeit von 0 - 4095 für
>>die einzelnen Pins setzen.
>
> Ja, per PWM, die macht der IC selber. Man muss nur neue Daten dort
> reinladen, wenn man andere Werte haben möchte. Dort könnte dein Flackern
> herkommen. Du lädst zu oft oder zu ungleichmäßg, wodurch die PWM im IC
> unterbrochen wird. Teste mal ob es flimmert, wenn du für ein paar
> Sekunden KEINERLEI neue Werte in den IC schreibst (also konstante
> LED-Farben).

Perfekt.

Wenn ich alle PWM-Werte setze und dann einmal

 
    tlc.write();
    delay(10000); 

oder
    tlc.write();
    for(int i=0; i<10000; i++) {
    delay(1); }

Ausführe. D.h. keine dynamischen Werte in den Variablen mehr. Dann 
flimmert nix mehr.

Ist für die Anwendung aber auch OK denn der Farbwechsel soll nicht 
ständig durchgeführt werden. Eher selten.

: Bearbeitet durch User
Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na dann ist doch alles palletti!

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc Vesely schrieb:
> Georg P. schrieb:
>>>  Wieviele LEDs hast du ?
>>
>> 24 - Alle Ausgänge sind belegt
>
>  Wie kommst du dann auf 8 ?
>  8 * einschalten, delay, 8 * einschalten == Flimmern.

Du meinst wohl die Funktion aus dem Code den ich weiter oben gepostet 
habe?
// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
  uint32_t i, j;

  for(j=0; j<4096; j++) { // 1 cycle of all colors on wheel
    for(i=0; i< 8*NUM_TLC5974; i++) {
      Wheel(i, ((i * 4096 / (8*NUM_TLC5974)) + j) & 4095);
    }
    tlc.write();
    delay(wait);
  }
}

Die 8 bezieht sich auf die 8 RGB LED´s die ich aber zurzeit nicht 
angeschlossen habe.

8 RGB LEDS * 3 Chips pro LED = 24

Aus der Berechnung da ergibt sich dann irgendeine Art Farbverlauf sofern 
man alle pins mit RGB LED´s belegt hat.

Die arbeiten da auch mit "tlc.setLED()" nicht mit "tlc.setPWM()"

tlc.setLED() spricht wohl 3 Pins gleichzeitig an um den RGB Wert 
darzustellen

tlc.setPWM() spricht dann nur einen Pin an (was ich in meinem Code 
nutze)
  void setPWM(uint8_t chan, uint16_t pwm);
  void setLED(uint8_t lednum, uint16_t r, uint16_t g, uint16_t b);

Ich habe einfach 24 weisse LED´s angeschlossen. Statt Farbunterschiede 
gibt es eben nur Helligkeitsunterschiede.

Die Funktion habe ich auch nicht geschrieben sondern war als "Demo" 
schon dabei.

: Bearbeitet durch User
Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Georg P. (georg123)

>http://www.adafruit.com/products/815

>Ist eher für Servos geeignet steht in der Beschreibung.

Ist ungeeignet, keine Konstantstromausgänge, viel weniger 
Gesamtausgangsstrom.

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den zweiten Rat bräuchte ich und zwar.


Dieser OE Pin der beim HIGH Signal alle LED´s ausschaltet soll bis zur 
Betriebsbereitschaft vom Arduino auf HIGH stehen.

Wie würdet ihr sowas aufbauen?

Der Controller soll also in der Lage sein, den OE pin der dauerhaft an 
Spannung hängt auf GND (LOW) zu setzen.

Ich habe eine grobe Vorstellung wohl eine Pulldown Schaltung. Aber 
möchte mich hier absichern, welche Widerstände ich wo einsetzen soll 
usw. bevor mir da ein Pin durchbrennt.

Autor: Marc Vesely (Firma: Vescomp) (logarithmus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg P. schrieb:
> Ich habe eine grobe Vorstellung wohl eine Pulldown Schaltung. Aber
> möchte mich hier absichern, welche Widerstände ich wo einsetzen soll
> usw. bevor mir da ein Pin durchbrennt.

 4K7 bis 10K sind üblich.

Georg P. schrieb:
> Der Controller soll also in der Lage sein, den OE pin der dauerhaft an
> Spannung hängt auf GND (LOW) zu setzen.

 Das ist ein Pull-Up wenn er OE mit Plus verbindet.

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc Vesely schrieb:
> Georg P. schrieb:
>> Ich habe eine grobe Vorstellung wohl eine Pulldown Schaltung. Aber
>> möchte mich hier absichern, welche Widerstände ich wo einsetzen soll
>> usw. bevor mir da ein Pin durchbrennt.
>
>  4K7 bis 10K sind üblich.
>
> Georg P. schrieb:
>> Der Controller soll also in der Lage sein, den OE pin der dauerhaft an
>> Spannung hängt auf GND (LOW) zu setzen.
>
>  Das ist ein Pull-Up wenn er OE mit Plus verbindet.

Ich kann mich also an diesen Schaltplan richten. (Nummer 1.3 in der 
schaltung)

http://www.elektronik-kompendium.de/public/schaere...

D.h

an die Basis des Transistors kommt der Ausgangspin des Arduino (über nen 
10kOhm Widerstand der in der Zeichnung noch fehlt?)

und den OE Pin des LED Treibers schließe ich zwischen den Collector und 
den (wieder 10kOhm Widerstand) in der Zeichnung?

soweit richtig?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Georg P. (georg123)

>Ich kann mich also an diesen Schaltplan richten. (Nummer 1.3 in der
>schaltung)

Nimm 1.1, den Transistor brauchst du nicht. Der Taster entfällt, der Pin 
bleibt so wie er ist an deinen Arduino angeschlossen.

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> @ Georg P. (georg123)
>
>>Ich kann mich also an diesen Schaltplan richten. (Nummer 1.3 in der
>>schaltung)
>
> Nimm 1.1, den Transistor brauchst du nicht. Der Taster entfällt, der Pin
> bleibt so wie er ist an deinen Arduino angeschlossen.

Das Problem ist, dass ich den auf GND schalten muss damit der LED 
Treiber aktiviert ist.

Der soll dauerhaft auf HIGH sein bis Arduino komplett an ist um den 
Trnasistor zu öffnen und den PIN auf "LOW" zuschalten und die Kontrolle 
zu übernehmen.

Daher die Transistor schaltung.

Wie soll ich allein mit dem Arduino den PIN auf GND schalten?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Georg P. (georg123)

>Das Problem ist, dass ich den auf GND schalten muss damit der LED
>Treiber aktiviert ist.

Das ist kein Problem, das ist normal.

>Der soll dauerhaft auf HIGH sein bis Arduino komplett an ist um den
>Trnasistor zu öffnen und den PIN auf "LOW" zuschalten und die Kontrolle
>zu übernehmen.

Genau das wird passieren.

Arduino ist im Rest, Booten, Programmierung -> IO Pin ist hochohmig 
(Eingang) .> Widerstand ziegt das Pin (vom Arduino und vom TLC) auf 
HIGH.

Arduion ist gestartet, IO Pin wurde auf Ausgang geschaltet und zieht nun 
das Pin auf GND (und auch den Widerstand).

-> Alles super.

>Wie soll ich allein mit dem Arduino den PIN auf GND schalten?

Indem man den Ausgang einfach auf 0 schaltet? Wie jeden anderen Ausgang 
auch. Sachen gibts.

Autor: Georg P. (georg123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ok, ich bin mit der genauen Funktionsweise der Arduino PIN´s noch 
nicht vertraut.

d.h. ich kann an den PIN die 5V ohne jeglichen Schutz anschliessen? Der 
diese dann im Betrieb auf GND setzen kann?


Wie ist es eigentlich wenn ich mit einem digitalem Pin ledliglich 
überwachen möchte ob Spannung anliegt oder nicht?

Ausgang auch direkt anschließen?

http://arduino.cc/en/Tutorial/DigitalPins

Das letztere laut dieser Seite schon, da standardmäßig hochohmiger 
Input.

Sofern der aber auf "output" (LOW) schaltet könnten die 5V an dem PIN 
fatal enden?

Hab jetzt die Transistorschaltung gebastelt, funktioniert OK, bin mir 
nur nicht wegen den Widerstandswerten sicher, bei einem BC337 ?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Georg P. (georg123)

>Ah ok, ich bin mit der genauen Funktionsweise der Arduino PIN´s noch
>nicht vertraut.

Scheint so.

>d.h. ich kann an den PIN die 5V ohne jeglichen Schutz anschliessen?

Wenn er als Eingang konfiguriert ist, kann man zwischen 0-VCC (hier 
meist 5V) alles anlegen.

>Wie ist es eigentlich wenn ich mit einem digitalem Pin ledliglich
>überwachen möchte ob Spannung anliegt oder nicht?

Das ist ein Eingang.

>Ausgang auch direkt anschließen?

Sicher.

>Sofern der aber auf "output" (LOW) schaltet könnten die 5V an dem PIN
>fatal enden?

Sicher. Von aussen kommen 5V, der AVR will aber auf 0V ziehen. Das ist 
nicht gut. Meist geht bei sowas ein IO-Pin kaputt, beim AVR sind die 
aber erstaunlich robust.

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.