Pages: [1]   Go Down
Author Topic: Leichtes Glimmen am LED-Stripe, tortz analogWrite=0  (Read 729 times)
0 Members and 1 Guest are viewing this topic.
Hamburg
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Moin Moin,

ich habe einen RGB LED Controller mit Hilfe von drei Mosfets gebaut und habe leider das Problem, dass die LEDs trotz analogWrite=0 leicht Glimmen. Bei den Mosfets handelt es sich um STP 16 NF 06. Die Mosfets sind dabei direkt mit dem PINs 3,5 und 6 vom Arduino Nano verbunden. Ist hier eventuell ein Fehler?
Muss ich zum Dämpfen eventuell noch ein Wiederstand dazwischen legen oder ist es doch ein Fehler im Sketch?


Datenblatt vom Mosfet:
http://www.produktinfo.conrad.com/datenblaetter/150000-174999/156110-da-01-en-PWRMOS_60V_16A_STP16NF06L_STM.pdf


Aufbau ist wie hier:

Quelle: http://www.ladyada.net/products/rgbledstrip/
« Last Edit: October 06, 2012, 09:11:22 am by da2001 » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 236
Posts: 20275
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Von der Beschaltung her müßte alles richtig sein. Gate an Arduino Ausgang, Source an Masse und Drain an die LED. Wenn Du sie so wie im Bild angeschlossen hast dann ist es richtig. Zur Sicherheit des Arduino-Ausgangs würd ich einen 150 Ohm Widerstand zwischen Ausgang und Gate schalten (um den Strom im Schaltmoment zu begrenzen) wie in http://www.ladyada.net/wiki/_media/products/rgbledstrip/ledstripbjt.gif gezeichent.

Hast Du die Masse der 12V mit der Masse des Arduino verbunden?

Gib uns mal den Sketch.

Grüße Uwe
« Last Edit: October 06, 2012, 11:53:05 am by uwefed » Logged

Hamburg
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Uwe,

VIN sind mit dem 12V+ Netzteil verbunden und der GND-PIN vom Arduino mit Masse vom Netzteil.
Die Widerstände hab ich bislang nicht integriert. Bin davon ausgegangen, dass diese nur bei den anderen Mosfets von nöten sind.
Werde es aber morgen nachholen smiley

Mein Sketch sieht wie folgt aus:
Code:
#include <VirtualWire.h>
String mycmd;
String Empf ="02";
int red, green, blue, ledr=3, ledg=5,ledb=6, currentColor=0;
String color;

void setup()
{
  Serial.begin(9600); // Debugging only
  // Initialise the IO and ISR
  vw_set_ptt_inverted(true); // Required for DR3100
  vw_setup(2000); // Bits per sec
  vw_rx_start();       // Start the receiver PLL running
  pinMode(ledg, OUTPUT);
  pinMode(ledb, OUTPUT);
  pinMode(ledr, OUTPUT);
}
 
void loop()
{
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  if (vw_get_message(buf, &buflen)) // Non-blocking
  {
    int i;
    mycmd =  "";
    for (i = 0; i < buflen; i++)
    {
      mycmd +=  (char)buf[i];
      if (isDigit((char)buf[i]) && i > 2)
      {
        color += (char)buf[i];
      }
      if ((char)buf[i] == ',')
      {
        switch (currentColor) {
        case 0:    // 0 = rot
          red = color.toInt();
          color = "";
          break;
          case 1:    // 1 = gruen:
          green = color.toInt();
          color = "";
          break;
        }
        currentColor++;
      }
    }
    blue = color.toInt();
    color="";
    currentColor = 0;
    if (mycmd.startsWith(Empf+"|"))
    {
      analogWrite(ledr, red);
      analogWrite(ledg, green);
      analogWrite(ledb, blue);
      Serial.print("ROT:");
      Serial.println(red);
      Serial.print("Gruen:");
      Serial.println(green);
      Serial.print("Blau:");
      Serial.println(blue);
      Serial.println();
      Serial.println();  
    }
  }  
}

Erklärung: Jeder RGB Receiver hat eine Nummer von 00-99.
Der Sender schickt einen String mit dem Aufbau "Receivernummer|R,B,G" z.B. "01|255,255,255" für die Farbe weiß
Logged

Hamburg
Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hatte leider nur 180ohm zur Verfügung und hab es damit probiert. Anfangs gibts jetzt ein kleines Glimmen, aber nach wenigen Sekunden verlischt dies und die Emitter sind komplett dunkel. Damit könnte ich leben. Vielen Dank schonmal smiley

Logged

Pages: [1]   Go Up
Jump to: