Arduino ULN2803A

Hallo,

ich versuche mich gerade im Umgang mit einem ULN2803. Habe dazu 4 LEDs an einen ULN2803 angeschlossen. Der ULN2803 ist wie im BIld mit dem Arduino verkabelt. Die LEDs werden über eine separate 5V Spannungsquelle versorgt, der Arduino wird mit USB versorgt. Gemeinsamer GND existiert auch.
Zum Testen hab ich einen simplen Sketch geschrieben, die die verwendeten Pins vom Arduino für 2 Sekunden HIGH und dann 2 Sekunden LOW schaltet (Blink-Sketch).
Dies läuft so einigermaßen, denn ca. 3 Minuten nach der Startzeit leuchten die LEDs am ULN2803A nicht mehr. Schalte ich dann die Spannungsquelle aus, nehm den Arduino vom USB-Anschluss und beginne dann von neuem, dann lecuhten die LEDs wieder. Jede LED ist mit einem 220 Ohm Widerstand versehen.
Soviel ich gelesen habe, braucht man zum Ansteuern der Pins des ULN2803A keinen Vorwiderstand, da der ULN2803 intern schon über Widerstände verfügt.

Könnt ihr mir sagen, warum nach einiger Zeit die LEDs einfach aus bleiben ?

Es ist richtig, dass die Treiber-IC schon alles beinhaltet. Nach deiner Beschreibung sollte es funktionieren. Warum es nicht geht, keine Ahnung, kann kein Schaltbild sehen. Das Programm sehe ich auch nicht.

Hi

Hängt sich der Arduino auf? (benutzt Du Strings?)
Mit dem Sketch könnte man wohl mehr zu dem Phänomen schreiben.

MfG

UnoRookie:
Könnt ihr mir sagen, warum nach einiger Zeit die LEDs einfach aus bleiben ?

Nein, kann ich nicht. Die Schaltung scheint mir richtig.

Wie Postmaster-ino sagt könnte es am Sketch liegen.
Zeigst Dus den mal?

Grüße Uwe

im deinem "Bild" sehe ich keine VCC zum ULN2803A

mach mal einen echten Schaltplan und ein echtes Bild von deinem Aufbau!

mach mal einen echten Schaltplan und ein echtes Bild von deinem Aufbau!

Bin leider nicht so fit im Zeichnen von Schaltplänen...

im deinem "Bild" sehe ich keine VCC zum ULN2803A

Das stimmt. Bei einigen Verschaltungen im Internet war die VCC dabei, bei einigen nicht. Habs auch schon mit versucht (Im Bild der rechts obere Pin des ULN2805 ist COM), aber selbst dann passiert dasselbe.

Hängt sich der Arduino auf? (benutzt Du Strings?)

Nein, tut er nicht, weil ich die integrierte LED als "Referenz, wann die Pins High geschalten werden", mit leuchten lasse

Wie dem auch sei, hier der Code :

void setup() {
   pinMode(LED_BUILTIN, OUTPUT);
   pinMode(3, OUTPUT);
   pinMode(4, OUTPUT);
   pinMode(5, OUTPUT);
   pinMode(6, OUTPUT);
}

void loop() {
   digitalWrite(LED_BUILTIN, HIGH); //Indikator-LED auch HIGH schalten
   digitalWrite(3, HIGH);   //Die 4 angeschlossenen Ausgänge des ULN2803 setzen
   digitalWrite(4, HIGH);
   digitalWrite(5, HIGH);
   digitalWrite(6, HIGH);
   delay(2000);
   digitalWrite(LED_BUILTIN, LOW); //Alles wieder aus
   digitalWrite(3, LOW);   //Die 4 angeschlossenen Ausgänge des ULN2803 zurücksetzen
   digitalWrite(4, LOW);
   digitalWrite(5, LOW);
   digitalWrite(6, LOW);
   delay(2000);
}

In deinem Projekt braucht der ULN kein VCC. Das wird gebraucht, wenn die interne Freilaufdiode genutzt wird.

Warum der Fehler auftritt, kann ich allerdings auch nicht erkennen.
Es sei denn, du hast einen Fehler im Aufbau, den wir nicht sehen können.

noiasca:
im deinem "Bild" sehe ich keine VCC zum ULN2803A

mach mal einen echten Schaltplan und ein echtes Bild von deinem Aufbau!

Bitte Schau Dir mal das Datenblatt an bevor Du etwas sagst.
Der ULN2803 braucht keine Versorgungsspannung. Der + Anschluß diehnt nur für die integrierten Schutzdioden wenn man induktive Lasten schaltet.

uwe

@UnoRookie Hast Du einen ULN2805 oder ULN2803?

Dein Sketch macht die LED an Pin 13 blinken.
Stopt dieses Blinken auch?

Wenn ja glaube ich daß der Aufbau der Schaltung nicht dem Bild entspricht und diese viel strom zieht. Die 500mA Sicherung schaltet dann nach einiger Zeit aus.

grüße Uwe

Sketch auf UNO und Schaltung mit ULN2803L laufen bei mir seit über einer Stunde ohne Probleme.

Dein Sketch macht die LED an Pin 13 blinken.
Stopt dieses Blinken auch?

Ja, dieses Blinken stoppt auch wieder. Also wie im Code 2 Sekunden an, 2 Sekunden aus. Die integrated LED macht das.

Was ich auch beobachtet habe ist, dass ab und an die LEDs auch nur ganz minimal leuchten. Dies wäre evtl. auch ein Indikator für zuviel Strom, oder ?

Als Versorgungsquelle der LEDs (+5V) hab ich ein Labornetzteil, das 1,5A max. liefern kann. Multimeter sagt, dass eine "reale Spannung" von 4,8V anliegt.

uwefed:
Bitte Schau Dir mal das Datenblatt an bevor Du etwas sagst.

Bezüglich deiner Wortwahl bin ich ob deines Moderator-Status eher erstaunt.

Ich gehe davon aus dass du nicht beurteilen kannst, ob ich in das Datenblatt gesehen habe oder nicht. Das was ich geschrieben habe ist 100% korrekt. Bitte lies meine Worte ganz genau.

noiasca:
Bezüglich deiner Wortwahl bin ich ob deines Moderator-Status eher erstaunt.

Ich gehe davon aus dass du nicht beurteilen kannst, ob ich in das Datenblatt gesehen habe oder nicht. Das was ich geschrieben habe ist 100% korrekt. Bitte lies meine Worte ganz genau.

Nochmal gelesen:

im deinem "Bild" sehe ich keine VCC zum ULN2803A

Das ist nicht notwendig und darum ist ein Hinweis darauf irreführend für eine Elektronikanfänger und falsch das als Fehler darzustellen.
Der COM Anschluß muß bei ohmscher Last wie das eine LED mit Vorwiderstand darstellt nicht mit der Versorgungsspannung verbunden werden. Er sollte unbeschaltet bleiben.
Grüße Uwe

UnoRookie:
Was ich auch beobachtet habe ist, dass ab und an die LEDs auch nur ganz minimal leuchten. Dies wäre evtl. auch ein Indikator für zuviel Strom, oder ?

Oder falsche/schlechte Verbindungen. Mein Steckbrett hat in der Mitte Unterbrechungen von + und -, kann eine böse Falle sein. Oder ein Kabel hat keinen Durchgang, womit ich mir Schieberegister abgeraucht habe.

Hier sollte der TO mal zwingend ein gutes Foto seines Aufbaus posten.
Da wird sicher ein Fehler sein.

Wenn GND vom Arduino und GND vom ULN2803A nicht (oder sehr schlecht) miteinander verbunden sind, dann würde das das beschriebene Verhalten auslösen.

Das dürfte IMHO die Fehlerursache sein.