Forum: Analoge Elektronik und Schaltungstechnik Arduino + ULN2803A (die hundertste)


von Till K. (tifafri)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

es gibt zwar zum Betreff hunderte Fragen+Antworten im Netz aber bisher 
konnte ich mit keiner mein Problem erklären.
Ich möchte gerne ein 12V-Relais mit dem Arduino schalten und die Lösung 
mit dem ULN2803 gefiel mir am Besten.
Ohne Relais scheint es auch zu funktionieren. Pin 18 am ULN hat bei 
0V-Pegel des Arduinos 12V und bei 5V des Arduino 0V.
Mit Relais baut sich die Spannung am Relais sehr langsam auf, bis das 
Relais nach etwa 60 s und etwa 7V beginnt zu schalten. Nachfolgende 
Schaltvorgänge passieren dann schneller.
Der Arduino-Ausgang kommt allerdings mit Relais auch nicht auf 5 V 
sondern erreicht nur 1,5 V.
Kontakte habe ich alle nochmal überprüft, habe einen anderen Arduino Pin 
verwendet, habe einen Ersatz-ULN2803A ausprobiert, habe die Massen von 
Netzteil und Arduino zusätzlich verbunden,...
Direkt an das Netzteil angeschlossen schält das Netzteil auch, der Strom 
beträgt dann 32 mA, also alles machbare Werte.


Ich würde mich sehr über Tipps freuen wo der Fehler liegen könnte.

von Falk B. (falk)


Lesenswert?

@ Till Krauß (tifafri)

>Ich möchte gerne ein 12V-Relais mit dem Arduino schalten und die Lösung
>mit dem ULN2803 gefiel mir am Besten.

Kann man machen. Dein Schaltplan sieht OK aus.

>Ohne Relais scheint es auch zu funktionieren. Pin 18 am ULN hat bei
>0V-Pegel des Arduinos 12V und bei 5V des Arduino 0V.

OK.

>Mit Relais baut sich die Spannung am Relais sehr langsam auf, bis das
>Relais nach etwa 60 s und etwa 7V beginnt zu schalten.

Da stimmt was nicht.

> Nachfolgende
>Schaltvorgänge passieren dann schneller.

Wie schnell? Das muss SOFORT schalten, in wenigen Millisekunden!

>Der Arduino-Ausgang kommt allerdings mit Relais auch nicht auf 5 V
>sondern erreicht nur 1,5 V.

Das darf gar nicht sein, denn der Arduino "sieht" das Relais nicht, nur 
den ULN2803.

>Kontakte habe ich alle nochmal überprüft, habe einen anderen Arduino Pin
>verwendet, habe einen Ersatz-ULN2803A ausprobiert, habe die Massen von
>Netzteil und Arduino zusätzlich verbunden,...

>Direkt an das Netzteil angeschlossen schält das Netzteil auch,

Schält? Wer schält was? Einen Apfel?

>Ich würde mich sehr über Tipps freuen wo der Fehler liegen könnte.

Irgendwas verpolt oder falsch verbunden.

von Till K. (tifafri)


Lesenswert?

Falk B. schrieb:
> Das darf gar nicht sein, denn der Arduino "sieht" das Relais nicht, nur
> den ULN2803.
Das wundert mich auch. Ohne ULN2803 liegen am ArduinoPin 4,6 V. Die 
Schaltung entspricht der im Schaltplan. Wenn das alles so stimmt und 
funktionieren müsste, dann bleiben für mich noch 3 Möglichkeiten:
1) Beide ULN2803 sind defekt
2) Irgendwo ist eine Kontaktstelle nicht in Ordnung (obwohl ich die 
Schaltung sowohl auf Threadbord als auch gelötet auf einer 
Lochrasterplatine aufgebaut habe)
3) Der Arduino-Ausgang hat zu wenig Leistung um den ULN zu schalten. 
(z.B. defekter Arduino)

>>Direkt an das Netzteil angeschlossen schält das Netzteil auch,
>
> Schält? Wer schält was? Einen Apfel?
Entschuldigung, ich meinte über das Netzteil kann ich das Relais direkt 
schalten. Damit will ich sagen, dass es vermutlich nicht am Relais 
liegt.

von Falk B. (falk)


Lesenswert?

Hast du dein Pin als Ausgang geschaltet?

von Till K. (tifafri)


Lesenswert?

Falk B. schrieb:
> Hast du dein Pin als Ausgang geschaltet?

Ja. Um den Code zu testen hatte ich zuvor eine LED an besagtem Pin. 
Diese hat immer zuverlässig geleuchtet.

von M. K. (sylaina)


Lesenswert?

Till K. schrieb:
> 3) Der Arduino-Ausgang hat zu wenig Leistung um den ULN zu schalten.
> (z.B. defekter Arduino)

Da der Arduino eine LED schalten kann kannst du einen defekten Arduino 
schon mal ausschließen.

Till K. schrieb:
> 1) Beide ULN2803 sind defekt

Das kannst du leicht testen: Arduino von der Schaltung trennen, 
Multimeter auf Strommessen stellen und über das Multimeter 5 V auf den 
Pin 1 des ULN geben. Wieviel Strom fließt dabei?

Till K. schrieb:
> 2) Irgendwo ist eine Kontaktstelle nicht in Ordnung (obwohl ich die
> Schaltung sowohl auf Threadbord als auch gelötet auf einer
> Lochrasterplatine aufgebaut habe)

Deutet erstmal darauf hin, dass es kein Aufbaufehler ist aber man weiß 
ja nie.

4.) Mit dem Netzteil ist auch alles OK? Dein Arduino läuft auch mit ~2 
V. Vielleicht hat das den Hau weg. Schau dir die Signale auch mal mit 
dem Oszi an.

von Forist (Gast)


Lesenswert?

Falk B. schrieb:
> Dein Schaltplan sieht OK aus.

Welcher Schaltplan?
https://de.wikipedia.org/wiki/Schaltplan

von Till K. (Gast)


Lesenswert?

Michael K. schrieb:
> Das kannst du leicht testen: Arduino von der Schaltung trennen,
> Multimeter auf Strommessen stellen und über das Multimeter 5 V auf den
> Pin 1 des ULN geben. Wieviel Strom fließt dabei?
>
Das werde ich heute abend testen.
> Till K. schrieb:
>> 2) Irgendwo ist eine Kontaktstelle nicht in Ordnung (obwohl ich die
>> Schaltung sowohl auf Threadbord als auch gelötet auf einer
>> Lochrasterplatine aufgebaut habe)
>
> Deutet erstmal darauf hin, dass es kein Aufbaufehler ist aber man weiß
> ja nie.
>
> 4.) Mit dem Netzteil ist auch alles OK? Dein Arduino läuft auch mit ~2
> V. Vielleicht hat das den Hau weg. Schau dir die Signale auch mal mit
> dem Oszi an.
Das Netzteil ist ein neuwertiges 12V/80 W Netzteil. Die Spannung an den 
Klemmen liegt auch bei 12,01 V. Allerdings ändert sich beim 
Schaltversuch des ULN das Geräusch des Netzteils (leises Summen/Surren). 
Dem Netzteil habe ich den Ferritkern in der Leitung geklaut, aber daran 
sollte es meiner Meinung nach doch nicht liegen. Das Netzteil an sich 
ist ja in der Lage das Relais zu schalten. Ich könnte mal den Arduino 
noch mit meinem 5V Netzteil betrieben und müsste dann halt die GND noch 
verbinden. Das kann ich auch noch testen.

von W.A. (Gast)


Lesenswert?

Till K. schrieb:
> Das Netzteil ist ein neuwertiges 12V/80 W Netzteil.

"Neuwertig" kann man auch übersetzen als "Am Anfang der 
Badewannenkurve", i.e. Frühausfälle nicht ausgeschlossen.

von Werner (Gast)


Lesenswert?

Poste mal den Code.

Das hört sich nach "Pin ist Eingang" an.
Ok, ich weiß, du sagst das hat früher mit LED funktioniert. Aber sicher 
ist sicher.

Dann können wir das schon mal ausschließen. 1,5 V am Pin hört sich 
nämlich nicht nach Ausgang an.

Oder au hast irgenwo eine Masse vergessen. Wie wäre es, wenn Du mal 
testweise Pin 9 vom ULN an GND vom Arduino (direkt) verbindest.

Werner

von M. K. (sylaina)


Lesenswert?

Till K. schrieb:
> Allerdings ändert sich beim
> Schaltversuch des ULN das Geräusch des Netzteils (leises Summen/Surren).

Das machen Schaltnetzteile gerne wenn sie an ihrer Leistungsgrenze sind. 
Spricht dafür, dass du einen fehlerhaften Aufbau hast, irgendwo 
vielleicht eine unbeabsichtigte Verbindung die durch den Schaltversuch 
zum Kurzschluss führt.

Till K. schrieb:
> Dem Netzteil habe ich den Ferritkern in der Leitung geklaut

Nicht grad eine kluge Idee. Der Ferritkern soll ja Störungen wegfiltern 
und den Filter hast du so eliminiert.

von Falk B. (falk)


Lesenswert?

Man kann den ULN testen, indem man per Drahtbrücke 5V auf den Eingang 
gibt.

von Till K. (tifafri)


Lesenswert?

Hallo zusammen,

Lösungen können manchmal so einfach sein. Ich hatte anfangs mal Pin und 
Software geändert da es nicht funktioniert hat ( mit LED aber 
schon).Irgendwie habe ich in der Zwischenzeit den Verdrahtungsfehler 
behoben und mir ist nicht aufgefallen dass die Software falsch war. Mit 
einem Minimalbeispiel konnte ich eben beweisen, dass es nur an der 
Software lag.

Vielen Dank für die vielen Antworten und eure Unterstützung! :-)


Michael K. schrieb:

> Nicht grad eine kluge Idee. Der Ferritkern soll ja Störungen wegfiltern
> und den Filter hast du so eliminiert.

Ich weiß, das Problem war nur, dass ich die Hoffnung hatte dass zwischen 
Ferritkern und Netzteil eine normale Leitung und keine Koaxleitung ist 
wie am Stecker. Dem war aber nicht so. Jetzt ist der Ferritkern halt 
weg.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.