Forum: Mikrocontroller und Digitale Elektronik STM32F103 Ansteuerung vielen 5V Relais mit ULN2803


von newbe (Gast)


Lesenswert?

Hi,

nutze stm32f103 um 14x Relais (5V/etwa 80mA Steuerstrom) zu Steuern. Da 
stm32f103 nur 150mA (25mA pro pin), habe ich 2x ULN2803 dazwischen 
geschaltet. STM output Pins sind direct mit IN Pins des ULN2803 (kein 
wiederstand) verbunden.

Das ganze läuft, leider nur bis max 6-7 Relais. Dann fangen einzelne 
Relais nicht mehr zu ziehen.

Was könnte die Ursache sein? 150mA (max output STM) / 25mA (pro Pin) = 6 
würde einiges erklären, aber in der Späzifikation von ULN2803 sollte da 
ein 2.7kOhm Wiederstand am Eingang eingebaut sein...

soll ich zwischen STM und ULN jeweils ein Wiederstand von 330Ohm 
installieren? dann wird pro Pin max 3.3V / 330Ohm = 10mA...

von Helmut (Gast)


Lesenswert?

Unsinn, Dein Netzteil oder der Spannungsregler ist wahrscheinlich am 
Ende.
Da braucht kein Widerstand dazwischen, eher ein Pullup um die Pegel 
definiert zu haben.

von Jim M. (turboj)


Lesenswert?

newbe schrieb:
> soll ich zwischen STM und ULN jeweils ein Wiederstand von 330Ohm
> installieren?

Nein. Dann steuert womöglich der Transistor nicht mehr korrekt durch.
Miss erstmal Deine 5V Quelle aus wenn viele Relais angezogen sind. Die 
6-7 Relais klingen schwerstens nach ~500mA Limit.

von Christian M. (Gast)


Lesenswert?

newbe schrieb:
> nutze stm32f103

Laut verlinktem Datenblatt haben die IOs:

> 2.0 to 3.6 V application supply and I/Os

Die Speisung dürfte auch kontrolliert werden. Kürzlich hatten wir hier 
Einen (bist Du zufällig der Peter?) dem hat's die Spannung 
runtergerissen...

Gruss Chregu

von H.Joachim S. (crazyhorse)


Lesenswert?

Und ansonsten ist der alte 2803 für 5V nicht gerade super geeignet. 
Verlierst ca. 1V am Treiber.
ULN2003LV wäre besser, ändert aber natürlich nichts an deinem 
eigentlichen Prtoblem.

von newbe (Gast)


Lesenswert?

Jim M. schrieb:
> Die
> 6-7 Relais klingen schwerstens nach ~500mA Limit

Ich nutze eine Labornetzteil und habe 5V-1,5A eingestellt. Stm32 wird 
über 7333-A mit 5V->3,3V betrieben.

Und ja, bei ungefähr 500mA verbrauch (Laut - Labornetzteil Anzeige) 
fangen die Probleme an.

ULN2802 Dokumentation spricht aber über 500mA pro Kanal??? Und da sind 
es max 80mA

Ist es ein Problem, dass die Spannungen Unterschiedlich sind?

STM32-Pin 3,3V -> ULN-Darlington base input

Netzteil 5V -> Relais -> ULN-Darlington collector output -> GRD

von Christian M. (Gast)


Lesenswert?

newbe schrieb:
> Ist es ein Problem, dass die Spannungen Unterschiedlich sind?

Nein, dafür hast Du ja den ULN. Aber der braucht 5V an den Eingängen zum 
ganz Durchschalten!

von Baldrian (Gast)


Lesenswert?

Christian M. schrieb:
> newbe schrieb:
>> Ist es ein Problem, dass die Spannungen Unterschiedlich sind?
>
> Nein, dafür hast Du ja den ULN. Aber der braucht 5V an den Eingängen zum
> ganz Durchschalten!

Und warum funktioniert es mit 6 - 7 Relais?

Laut Datenblatt stimmt deine pauschale Aussage sowieso nicht.

von newbe (Gast)


Lesenswert?

Daten aus der Relais (Finder 40.52.7.005.0000) Datenblatt:

Spule:
Umin: 3,7V
Umax: 8,8
Nennspannung: 5V
R = 50hm
Bemessungsstrom: 100mA

Wenn ULN2803 einen Spannungsabfall von 1V hat soll ich dann 6V anlegen?

Vorher:
Netzteil -> 5V -> Relais -> 4,5V -> ULN2803 -> 3,5 -> GRD

Nachher:
Netzteil -> 6V -> Relais -> 5,4V -> ULN2803 -> 4,4V -> GRD

Oder Reihenfolge ULN2803 <-> relais umtauschen:
Netzteil -> 5V -> ULN2803 -> 4V -> Relais -> 3,6 -> GRD

Noch andere Ideen wie ich alle 14 Relais stabil betreiben kann?

von Mitlesa (Gast)


Lesenswert?

newbe schrieb:
> Noch andere Ideen wie ich alle 14 Relais stabil betreiben kann?

Manche Pins des F103 können nur wenig Strom liefern, vielleicht
zu wenig?

Wenn die Steuerpins auf Open Drain programmiert sind wird's
auch schwierig ...

von Mitlesa (Gast)


Lesenswert?

newbe schrieb:
> Noch andere Ideen wie ich alle 14 Relais stabil betreiben kann?

Deinen Aufbau willst du ja nicht zeigen, gell?

Der ist ja auch gar nicht wichtig. Bei so wenig Relaisen.

von Christian M. (Gast)


Lesenswert?

Baldrian schrieb:
> Laut Datenblatt stimmt deine pauschale Aussage sowieso nicht.

Schwätzer!

DB:

The
ULN2803A device has a 2.7-kΩ series base resistor
for each Darlington pair for operation directly with
TTL or 5-V CMOS devices.

Gruss Chregu

von Baldrian (Gast)


Lesenswert?

Christian M. schrieb:
> Baldrian schrieb:
>> Laut Datenblatt stimmt deine pauschale Aussage sowieso nicht.
>
> Schwätzer!

Du solltest dich nicht selbst entlarven. Das kann ich viel besser.

Fakt ist, dass du das Datenblatt nicht gelesen bzw. nicht verstanden 
hast.

EOT

von net (Gast)


Lesenswert?

zurück zu der Problem.
ich habe einen Schaltplan angehängt. Kann mir jemand was da eventuell 
falsch ist und Alternativlösungen vorschlagen?

von net (Gast)


Angehängte Dateien:

Lesenswert?

:-)

von Harald W. (wilhelms)


Lesenswert?

newbe schrieb:

> Noch andere Ideen wie ich alle 14 Relais stabil betreiben kann?

12...24V-Relais verwenden.

von net (Gast)


Lesenswert?

Harald W. schrieb:
> newbe schrieb:
>
>> Noch andere Ideen wie ich alle 14 Relais stabil betreiben kann?
>
> 12...24V-Relais verwenden.

Was spielt es für eine Rolle? Ich habe bereits die 5V Relais gekauft, 
eventuell werde ich eine Netzteil 5V benutzen.

Andere Ideen, die 5V Relais kompatibel sind?

von Gerd E. (robberknight)


Lesenswert?

net schrieb:
> ich habe einen Schaltplan angehängt. Kann mir jemand was da eventuell
> falsch ist und Alternativlösungen vorschlagen?

ui.

Für den STM32F103 fehlt da ne ganze Menge. Was mir auf den allerersten 
Blick und aus dem Kopf auffällt:

- Kondensatoren an Vdd/Vss fehlen, siehe Datenblatt
- Vdda ist nicht beschaltet, das darf nie kleiner Vdd sein
- Boot0 nicht beschaltet
- PC14 und PC15 darfst Du nicht als Ausgänge verwenden

Du musst das Datenblatt nochmal im Detail lesen. Da führt wirklich kein 
Weg drumrum.

Es ist sehr gut möglich daß dadurch dieser STM32-IC schon beschädigt 
ist. Ich würde den Schaltplan fixen und dann einen neuen nehmen.

Die 78xx-Spannungsregler brauchen an Ein- und Ausgängen auch 
Kondensatoren damit sie sauber regeln können.

: Bearbeitet durch User
von Chris F. (chfreund) Benutzerseite


Lesenswert?

Geh auf 6V für die ULN2803 und nimm ab jetzt 4 Stück davon. Versorge 
jeden einzelnen mit einem eigenen 7806 Festregler. Das wäre erstmal die 
Lösung die

Schau Dir mal selber den Schaltplan an, was ist das?
Bist Du Dir sicher, dass da genug Strom aus dem 78xx (05) rauskommt um 
alle Relais gleichzeitig zu schalten? Wie viel Strom kommt durch das 
Teil denn maximal durch? Denke doch mal selber nach.
Die Speisung von dem µC aus dem Arbeitskreis von 14 Relais zu nehmen ist 
auch gut.

von net (Gast)


Angehängte Dateien:

Lesenswert?

Es ist schwierig mit Fritzing passende Teile zu finden. Ich nutze 
momentan wie bereits geschrieben eine Labornetzteil (78xx bitte nicht 
beachten) und habe diese auf 5V und 1,5A eingestellt. Zu 5V->3.3V nutze 
ich da 7333-A schaltregler und dort habe ich Kondensatoren 
angeschlossen.

Gerd E. schrieb:
> Für den STM32F103 fehlt da ne ganze Menge. Was mir auf den allerersten
> Blick und aus dem Kopf auffällt:
>
> - Kondensatoren an Vdd/Vss fehlen, siehe Datenblatt
> - Vdda ist nicht beschaltet, das darf nie kleiner Vdd sein
> - Boot0 nicht beschaltet
> - PC14 und PC15 darfst Du nicht als Ausgänge verwenden

hier konnte ich leider auch keinen passenden Fritzing template finden.
im Anhang befindet sich ein Bild. Ich schliesse nur GND, 3.3V und die 
Pins zum schalten. Ich bin mir sicher, das wenn ich statt PC14 und PC15 
andere pins nehme, wird es genauso wenig funktionieren.

Chris F. schrieb:
> Geh auf 6V für die ULN2803 und nimm ab jetzt 4 Stück davon.

Das könnte ich ausprobieren. Gibt es andere bessere Bausteine, falls 
später nur 5V zur verfügung steht, z.B.: Standard 230V->5V Netzteil?

von Gerd E. (robberknight)


Lesenswert?

net schrieb:
> Ich nutze
> momentan wie bereits geschrieben eine Labornetzteil (78xx bitte nicht
> beachten)
[...]
> Zu 5V->3.3V nutze
> ich da 7333-A schaltregler und dort habe ich Kondensatoren
> angeschlossen.
[...]
> im Anhang befindet sich ein Bild.

Also in anderen Worten: der gepostete Schaltplan ist Welten von der 
Realität entfernt.

Wie willst Du da systematisch einen Fehler finden?

Der Schaltplan ist nicht zum schön aussehen, für Deinen Lehrer, hier für 
das Forum etc. gedacht, sondern primär damit Du selbst weißt was Du 
eigentlich wie verbinden willst.

Wenn der Schaltplan unvollständig oder falsch ist, wird es sehr schwer 
selbst einen Fehler zu finden.

Daher tu Dir den Gefallen und zeichne einen vollständigen, 100% der 
Realität entsprechenden Schaltplan.

Wenn Du Fertigmodule, wie z.B. diese Bluepill oder Breakoutboards 
verwendest, dann übernimm entweder deren Schaltplan komplett in Deinen 
eigenen, oder besorge Dir zumindest deren Schaltplan. Und damit meine 
ich nicht nur das Pinout was Du gepostet hast, sondern die komplette 
innere Verschaltung von dem Board. Wie willst Du sonst wissen was da wie 
verbunden werden muss?

> Es ist schwierig mit Fritzing passende Teile zu finden.

Entweder musst Du dann in den sauren Apfel beißen die selbst zu 
erstellen, oder Fritzing ist nicht das richtige Tool für Dich.

von Harald W. (wilhelms)


Lesenswert?

net schrieb:

> Was spielt es für eine Rolle?

Da diese wesentlich weniger Strom brauchen, fallen Probleme,
so wie Du sie hast, eher nicht an.

von Klaus (Gast)


Lesenswert?

net schrieb:
> Andere Ideen, die 5V Relais kompatibel sind?

ganz einfach, nimm einen ULN der am Eingang 3,3V kompatibel ist (also 
schon bei 3,3V mal 0,6 schaltet). Dann funktionierts auch, wenn die 
Prozessorausgänge nicht ganz auf 3,3V gehen, was bei dir wohl passiert.

MfG Klaus

von allgemein (Gast)


Lesenswert?

ok, problem erstmals gelöst. Ich habe Spannung an der Ralais gemessen 
und bei der 5V Eingangspannung lag bei Relais nur 3,1V. Erhöhung auf 6V 
hat 3,82V und auf 7V sichere 4,5V gebracht

von Gerd E. (robberknight)


Lesenswert?

Und an welcher Stelle fallen die bis zu 2,5V ab?

Sind vielleicht die Leiterbahnen zu dünn für den Strom? Oder fällt das 
meiste wirklich an den ULNs ab?

von Harald W. (wilhelms)


Lesenswert?

allgemein schrieb:

> Erhöhung auf 7V hat sichere 4,5V gebracht.

Tolle Lösung: 60% Wirkungsgrad für einen einfachen Relaistreiber.
:-(

von allgemein (Gast)


Angehängte Dateien:

Lesenswert?

Gerd E. schrieb:
> Und an welcher Stelle fallen die bis zu 2,5V ab?
>
> Sind vielleicht die Leiterbahnen zu dünn für den Strom? Oder fällt das
> meiste wirklich an den ULNs ab?

Das könnte sein. Es ist noch eine Testinstallation. Die Leiterbahnen 
haben teilsweise 1-2 ohm Widerstand

Harald W. schrieb:
> Tolle Lösung: 60% Wirkungsgrad für einen einfachen Relaistreiber.
> :-(

Verbesserungsvorschläge sind herzlich willkommen :-) Die Relais werden 
sehr selten angezogen, Stromverbrauch ohne aktiven Relais is 40mA

von Stefan F. (Gast)


Lesenswert?

> Es ist schwierig mit Fritzing passende Teile zu finden.

Dann wechsle auf ein Produkt, mit dem du besser klar kommst. Mein ernst 
gemeinter Vorschlag: Papier + Bleistift + Radiergummi.

> Erhöhung auf 6V hat 3,82V und auf 7V sichere 4,5V gebracht

Brennen deine ULN Chips nicht durch, wenn alle 8 Relais eingeschaltet 
sind?

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.