mehrer LEDs parallel an einen Arduino Mega

Gast #4630428
Lesenswert?

Hallo Forum,

mein Name ist Marie aus Vechta. Ich bin hier "NEU" und habe nicht 
wirklich viel Ahnung, was Elektrik angeht. Ich möchte aber folgende 
Schaltung irgendwie realisieren, vllt. kann mir ein wenig unter die Arme 
gegriffen werden.

Mein Porjekt ist eigentlich schnell erklärt, ich möchte mehrere LEDs 
(ca. 30 Stück, alle in ROT) einzeln über einen Arduino Mega steuern. Sie 
sollten alle unterschiedlich blinken (werrden also unterschiedlich über 
den Mega angesteuert). Aber wie muss ich die Schaltung richtig aufbauen, 
um so viele LEDs über den Arduino steuern zu können.

Ich habe mir schon etwas ausgedacht (als NICHTFACHMANN) und es 
funktioniert auch so weit, aber ein Problem habe ich noch. Wenn einige 
LEDs blinken, werden die anderen LEDs mal HELL und mal weniger HELL. So 
zusagen eine Spannungsschwankung evtl.? Wie bekomme ich es so hin, dass 
ich nicht die Schwankungen sehe?

Als Spannungseingang wird ein normales Steckernetzteil mit 12v/1A 
benutz, was dann über einen Schaltregler DC/DC 5V/0,5A  weitere 2 
Transistoren BC327-40 ansteuert und über einen gemeinsamen + an die LEDs 
geht. Die Transistoren sind für "DIMMEN" und "EIN/AUS". Wie gesagt, es 
ist mein erster Versuch in Sachen Elektronik, also seid LIEB zu mir :)

LED Daten:
MCD typ.:  1000 mcd
mA test.:  20 mA
mA typ.:  20 mA
V typ.:  1,8 V
V max.:  2,4 V
Watt:  0,04 W


Meine Schaltung anbei als Foto:


Lieben Gruß Marie
Angehängte Dateien:
#4630458
Lesenswert?

Dieter S. schrieb:
> Und 3 Led parallel an einem Ausgang des Arduino ist zu viel.
> Da kannst du schnell den Controller killen.
Naja - das kommt schon erstmla auf den Strom an.
Und selbst bei mal versehentlich vorgekommenen Dauerkurschluss ist 
nichts passiert. Sind also schon recht robust.

> Ich würde bei einer Led pro Pin bleiben.
3 rote kann man bei 5V gerade noch in Reihe schalten :-)
#4630461
Lesenswert?

Ups, das ging aber schnell mit den Antworten... ;)

@frickelfreak

Danke, das werde ich mal probieren... werde mir mal ein Mosfet bestellen 
und dann berichten. Wollte den IRF9620 bestellen, der müsste ja auch 
funktionieren. Wie ich den dann anschließen soll, muss ich mal 
googeln... ECB wie beim Transistor gibt es dann ja nicht mehr :)

@Dieter S.

Verstehe ich da jetzt etwas falsch? Dann wären ja auch 30 LEDs zu viel 
für den Arduino, oder? Ich dachte, deswegen habe ich die 
Verstärkerstrecke gebaut mit den Transistoren...
Gast #4630472
Lesenswert?

Marie G. schrieb:
> @Dieter S.
>
> Verstehe ich da jetzt etwas falsch? Dann wären ja auch 30 LEDs zu viel
> für den Arduino, oder? Ich dachte, deswegen habe ich die
> Verstärkerstrecke gebaut mit den Transistoren...

Die Transistoren verstärken hier nicht, sondern schalten nur.
Der Strom der Leds fließt auch durch die Ausgänge des Controllers.

Allerdings wurde schon richtig von " H.Joachim Seifert" angemerkt, dass 
es auf den Strom durch die Leds selbst ankommt.

Ich bin da lieber etwas vorsichtiger. Daher mein Hinweis.
(Firma: Vescomp) #4630478
Lesenswert?

Marie schrieb:
> wirklich viel Ahnung, was Elektrik angeht. Ich möchte aber folgende
> Schaltung irgendwie realisieren, vllt. kann mir ein wenig unter die Arme
> gegriffen werden.

 Nach meiner Rechnung sind es:
 5V - 0.6V - 0.6V - 1.7V = 2.1V
 2.1V / 330 = 6.4mA
 27 * 6.4mA = 172mA
 MEGA selbst braucht bis zu 12mA, sind 184mA.

Marie G. schrieb:
> Verstehe ich da jetzt etwas falsch? Dann wären ja auch 30 LEDs zu viel
> für den Arduino, oder? Ich dachte, deswegen habe ich die
> Verstärkerstrecke gebaut mit den Transistoren...

 Ja, da werden LEDs mit VCC versorgt und GND ?
 Geht naturlich uber Arduino.
Gast #4630486
Lesenswert?

Marie G. schrieb:
> Dann wären ja auch 30 LEDs zu viel
> für den Arduino, oder? Ich dachte, deswegen habe ich die
> Verstärkerstrecke gebaut mit den Transistoren...

Das ist am "oberen" Ende der LEDs. Aber der Strom aus der Kathode fließt 
in den µC und muss über dessen Gnd-Anschluss auch wieder raus. Und da 
fließt die Summe aller LED-Ströme.
Gast #4630490
Lesenswert?

Marie G. schrieb:
> Huhu Dieter,
>
> dann werde ich wohl noch einen ULN2803 vor den Ausgängen schalten, ist
> ja eigentlich sinnvoll... ;) Vielleicht kann ich bald kein ROT mehr
> sehen und nehme WEIß :)
>
> Also: PC-H-FET und ULN gehen mal auf die Bestellung... ich berichte dann
> weiter, ob es geklappt hat. Erst einmal vielen lieben Danke an euch
> allen!
>
> Gruß Marie

Das ist eine gute Lösung, damit entlastest du alle Ausgänge.

Wir sind gespannt.
Gast #4630504
Lesenswert?

Marie G. schrieb:
> Flip B. schrieb:
>> der mit dem veroderten
>> signal der beiden steuerleitungen angesteuert wird
>
> da muss ich noch etwas grübeln, noch nie gehört ;) mein Freund Google
> sucht immer "vermodertes Signal", aber so lange kann ich nicht warten ;)
>
> Nun ist es schon spät geworden, ich gehen ins Bett, bin MÜDE^^
>
> Naaaaaaaaaaaaaaaaaaachtiiiiiiiiiii

Auf Deutsch "Oder-verknüpft".

Gute Nacht....
Gast #4630621
Lesenswert?

Kann es sein, dass ein Atmega1280 wirklich 200mA insgesammt verträgt?

http://electronics.stackexchange.com/questions/67092/how-much-current-can-i-draw-from-the-arduinos-pins

Der Gesamtstrom für alle LEDs kommt mir etwas hoch vor. Ich könnte mir 
vorstellen, dass die Spannung am MC leicht einbricht, wenn viele LEDs 
schalten und man es dann an den nicht geschalteten LEDs sehen kann.

Experiment: Einfach mal die Transistoren überbrücken, damit man sieht, 
das der Spannungseinbruch nicht vom den Transistoren kommt.
#4630630
Lesenswert?

chris_ schrieb:
> Experiment: Einfach mal die Transistoren überbrücken, damit man sieht,
> das der Spannungseinbruch nicht vom den Transistoren kommt.

Guten Morgen chris_, guten Morgen Forum,

genau das hatte ich schon einmal gemacht, die Transistoren überbrückt 
und siehe da, KEIN Flackern mehr... außerdem habe ich jetzt div. ULN2803 
vor die Ausgänge des Arduinos geschaltet. Nun muss ich nur noch auf den 
FET warten, damit ich die Schaltung vervollständigen kann. Hoffe es 
klappt, wie ich es umgesetzt habe... die Schaltung reiche ich mal nach 
der Arbeit rein!

Euch einen schönen Tag

Marie
#4631539
Lesenswert?

Huhu und guten Abend,

nun habe ich mal versucht, die Vorschläge umzusetzen. In meiner 
Schaltung habe ich jetzt einen P-CH-FET mit Pulldownwiderstand 
eingebaut. Ich möchte gern, das die LEDs leuchten, wenn das 
Steckernetzteil eingeschaltet wird. Weiterhin habe ich versucht ein 
"verodertes Signal" der beiden Steuerleitungen EIN/AUS und DIMMEN in die 
Schaltung zu bekommen. Ich als Neuling was Elektronik angeht, musste 
dafür viel googeln :)

Um den Arduino zu entlasten, habe ich auch zusätzlich noch Darlington 
Arrays ULN2803 verbaut.

Könnt ihr bitte mal drüberschauen, ob es so OK ist, oder ob ich einen 
Denkfehler gemacht habe? Wäre Superlieb... Die Schaltzeichen sind 
bestimmt auch nicht OK, habt Nachsicht mit mir^^

Gruß Marie
Angehängte Dateien:
#4631567
Lesenswert?

Hubert G. schrieb:
> aber einen
> Ein/Aus-Transistor der über den Arduino gesteuert wird? Es würde doch
> mehr Sinn machen die Ledausgänge direkt über die Software abzuschalten

Hallo Hubert G.,

ich will erst einmal KLEIN anfangen :) Außerdem würde ich dafür einen 
zusätzlichen I/O Port benötigen, oder? Die sind bei mir immer rar :) Die 
EIN/AUS Schaltung und die Dimmerschaltung werden hier mit einem ATTiny 
realisiert, da ich alle I/O Pins des Mega benötige! Ich muss mal sehen, 
wie ich es irgendwann mal optimiere. Mir geht es jetzt eigentlich nur um 
die Elektronik...

Gruß Marie
Gast #4631594
Lesenswert?

Das ein / ausschalten der LEDs kann der µC auch über die einzelnen Ports 
für die LEDs erledigen. Dafür braucht man auch keine extra PINs - man 
spart sogar noch 1 oder 2. Zumindest kann man die Helligkeitssteuerung 
und ein / aus zusammenfassen - also nur eine Leitung von µC und ohne die 
ODER/UND Verschaltung. Für Aus wird dann halt die Helligkeit auf 0 
gesetzt.

Statt den P-MOSFETs würde es auch ein PNP Transistor tun - der BC327 
passt da auch schon, wenn man nicht so sehr viel Strom für die LEDs 
nimmt. Mit effizienten LEDs und weniger Strom ginge es auch ohne die 
ULN....

Software PWM von Arduino ist recht langsam. Da sollte man ggf. Hardware 
PWM nutzen, dann sollte es auch nicht so flimmern.
#4631641
Lesenswert?

Lurchi schrieb:
> Statt den P-MOSFETs würde es auch ein PNP Transistor tun - der BC327
> passt da auch schon, wenn man nicht so sehr viel Strom für die LEDs
> nimmt. Mit effizienten LEDs und weniger Strom ginge es auch ohne die
> ULN....

Hallo Lurchi,

danke für dein Feedback... das mit dem Transistor hatte ich ja ganz 
zuerst, nur dann ist es so, wie ich es schon einmal geschrieben habe... 
es fängt bei den anderen LEDs an zu flackern. Wenn ich dann den 
Transistor kurzzeitig überbrücke, ist das flackern weg. Deswegen hatten 
wir jetzt die Lösung mit dem P-CH FET. Für mich ist es eigentlich jetzt 
nur wichtig, ob die Schaltung so OK ist.

Die ULN2803 habe ich gewählt, um einfach nur sicher zu sein, das der 
Arduino kein Schaden nimmt. Es sollen ja mindesten 30 LEDs verbaut 
werden. Wenn cih jetzt nicht nur ROTE LEDs nehme, auch evtl. irgendwann 
mal WEIßE oder GRÜNE könnte es bestimmt eng werden.

Vielleicht knn mal einer etwas zum FET sagen, ist der richtig eingebaut 
und wie sieht es mit dem Transistor-Gate aus?

Gruß Marie
#4631728
Lesenswert?

Dieter S. schrieb:
> Der Mosfet ist falsch rum.

Hallo und guten Abend Dieter,

ich habe es mir schon fast gedacht, SHIT! :) Okidoki, ich hänge mal ein 
neues Bild an, habe es geändert... vllt. kannst du kurz mal 
rüberschauen. Das mit dem DIMMEN und EIN/AUS werde ich testen, sonst 
muss ich eben wieder 2 Transistoren als UND-Verknüpfung machen.

Die bestellten Sachen müssen ja bald kommen, dann kann ich mehr 
berichten... dann werde ich zum TESTER *hihi

Lieben Gruß Marie
Angehängte Dateien:
#4631751
Lesenswert?

Dieter S. schrieb:
> Allerdings brauchst du keine 2 NPN, du kannst doch beide Funktionen an
> einem Ausgang vom Controller steuern. PWM zum Dimmen und dauernd HIGH
> ist Hell und LOW ist alles aus.

Huhu Dieter,

ja stimmt... muss ich den Code etwas umschreiben :) Dir eine gute Nacht 
und ich berichte die Tage nach dem Testen^^

Nachtiiiiiiiiiiii
Gast #4631857
Lesenswert?

Morgen,

die Transistoren am Eingang braucht man nicht. Dimmen und schalten der 
LEDs kann der Atmega auch direkt an den Ausgängen mit erledigen. Erst 
recht, wenn die eh alle auf die gleiche Helligkeit gedimmt werden. ULN 
braucht es auch nur, wenn die Summe der LED Ströme größer wird als die 
UB/GND Pins vom Atmega ab können. Da nirgends steht was genau für ein 
Mega verwendet wird ist das also offen (kenne mich mit Ardunio nicht 
aus,  was da ein Mega Ardunio ist - mega328?).

PWM Ansteuerung mit vielen Kanälen findet man hier im Artikelbereich.

LG Willi
#4637577
Lesenswert?

Huhu, da bin ich wieder :)

Nun habe ich es mal so aufgebaut, wie ich es in der letzten Zeichnung 
hochgeladen habe. Allerdings nur noch mit einem Transistor... alles 
klappt so wie es soll, kein FLATTERN der LEDs, und nichts wird heiß 
*freu

Allerdings ist es jetzt so, dass der Mosfet genau andersherum schaltet 
:( Geht auf dem Arduino die Testled PIN13 an, geht die Mosfetstrecke 
aus.

Wie mache ich es, dass er genau so schaltet, wie die Testled am 
Arduino... vorher mit den Transistoren klappte es auch.


Dieter S. schrieb:
> Und wichtig, der Mosfet schaltet durch, wenn HIGH auf der Basis des NPN
> liegt. Und es sollte auch mit PWM so funktionieren.

Kann ich es auch so schalten, das der Mosfet schaltet, wenn ein LOW 
Signal anliegt?

Gruß Marie
#4637856
Lesenswert?

Wiso steuerst du die LEDs nicht über einen seriellen Portexpander an wie 
der PC 8574.
Dieser hat einen 8 Bit breiten Bus und somit sind pro IC dann 8 LEDs, 
ansprechbar.
Alternativ könntest du auch Multiplexen, da wäre es denkbar das du bei 
einer Parallelen Verbindung bleibst, allerdings solltest die Pulsströme 
eventuell nicht unbeachtet lassen ?
#4638180
Lesenswert?

Norbert H. schrieb:
> Wiso steuerst du die LEDs nicht über einen seriellen Portexpander an wie
> der PC 8574.

HAllo Norbert,

dafür bin ich zu ein großer Noob, stecke gerade erst in den Anfängen der 
Elektronik. In meinem Alter sind Multiplexer, Shift-Register und 
Portexpander noch böhmische Wälder. Mein Ziel habe ich auch für diese 
Schaltung so erreicht... :)

Dir einen schönen Abend

Marie
#4646832
Lesenswert?

Huhu und Hallo , da bin ich wieder... :)

Nach erfolgreichem TESTEN der Schaltung, wollte ich diese Schaltung 
etwas optimieren. Habe da eine Idee im Kopf, nur bekomme ich sie nicht 
ganz umgesetzt.

Die Schaltung, wie in Bild 1 zu sehen, funktioniert eigentlich so ganz 
gut. Sicherlich könnte man auf die Transistoren verzichten, wenn man den 
ATTiny85 umcoden würde, aber dafür bin ich eben zu doof :( Daher sollte 
die Schaltung in allererster Linie so bleiben.

Allerdings möchte ich von dem Taster und dem Potentiometer wegkommen, 
die sind mir einfach zu groß und sehen doof aus. Ich dachte mir, dass 
ich evtl. dafür Hallsensoren einbauen könnte, damit ich EIN/AUS und 
DIMMEN über einen Magneten erledigen kann.

Nun habe ich den Taster in der Schaltung durch einen Hallsensor SS461A, 
der über einen Pullup-Widerstand von 10KOhm angesteuert wird geändert. 
Siehe Bild 2

Es funktioniert auch ganz gut, abwohl allerdings manchmal der Magnet 
mehrmals an den Hallsensor geführt werden muss, ist wohl zu schwach :)

Nun kommt es aber: Ich bekomme es einfach nicht hin, dass ich mit dem 
anderen Hallsensor, das DIMMEN erledigen könnte. Das ich da evtl. einen 
anderen Hallsensor benötige ist mir schon fast klar, aber welchen? Oder 
geht es überhaupt mit einem Hallsensor?  Das Poti verändert ja nun den 
Widerstand, aber der Hallsensor? Wie müsste ich da rangehen, um meine 
Vorstellung zu realisieren? Am liebsten wäre mir, ich wechsel einfach 
das Poti durch einen HALL aus, aber ich denke, so einfach geht es wohl 
nicht ;)

Lieben Gruß

Marie

P.S. Bild 3 zeigt die Schaltung mal auf einem Testboard mit einem HALL 
für EIN/AUS
Angehängte Dateien:
#4646915
Lesenswert?

Dieter S. schrieb:
> Mit einem analogen Hallsensor könnte es funktionieren, habe da aber
> selbst keine Erfahrung mit.

Moin Dieter,

danke für deine schnelle Antwort. Das es mit dem digitalen Sensor nicht 
ohne Probleme funktioniert, habe ich mir schon fast gedacht und habe 
natürlich gleich noch einen analogen Hallsensort SS495A mitbestellt. 
Aber wenn ich den anstelle des Potis setze, passiert nicht wirklich viel 
:(

Also doch den Code umbasteln, aber das ist nichts für mich, dafür bin 
ich zu alt und verstehe zu wenig davon.

Der Code sieht jetzt folgendermaßen aus, vielleicht kann ja mal einer 
reinschauen? Dann könnte man vielleicht auch gleich den Code so 
abändern, dass ich evtl. gar keine Transistoren benötige und alles auf 
einem Ausgang lege und damit direkt den FET ansteuere? Das wäre 
natürlich optimal... wenn sich also einer etwas dazu verdienen möchte, 
darf mich gern anschreiben ;)

// ATTiny85
// Dimmen und Tasten

const int switchPin = 3;
const int ledPin = 1;

int state;
int lastState;
int ledState;
int pwmPin = 0;
int analogInPin = 2;
void setup()
{
  pinMode(ledPin, OUTPUT);
  pinMode(switchPin, INPUT);
  pinMode(pwmPin, OUTPUT);
  pinMode(analogInPin, INPUT);
 // Serial.begin(9600);
}

void loop()
{
int analogIn = analogRead(analogInPin);

analogWrite(pwmPin, analogIn / 4);

  state = digitalRead(switchPin);

  if (state != lastState)
  {
    if (state == HIGH)
    {
      if (ledState == HIGH)
      {
       ledState = LOW;
     //   Serial.println("LED AUS");
      }
      else
      {
       ledState = HIGH;
       // Serial.println("LED EIN");
     }
   }
  lastState = state;
  }

  digitalWrite(ledPin, ledState);
  delay(20);
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren