Forum: Mikrocontroller und Digitale Elektronik Ventil und Status-LED schalten


von Philipp H. (magier)


Angehängte Dateien:

Lesenswert?

Ventil und Status-LED schalten

Hallo

ich suche eine Schaltung die mit einem Mikrocontrollerausgang, 2 Status 
LEDs und 1 Ventil schaltet.

1. On/Off => GND : Rot-LED An  , Ventil stromlos.
2. On/Off => 5V  : Grüne-LED An, Ventil an.

Meine Fragen. Würde meine Schaltung funktionieren?


'Mosfet's'
1
_________________________________________________________________
2
Herst.- Nr.          | BSS138              | SQ2351ES-T1_GE3 
3
Beschreibung         | MOSFET N-CH LOGIC   | MOSFET P-Channel 20V 
4
Transistorpolung     | N-Channel           | P-Channel 
5
Anzahl der Kanäle    | 1 Channel           | 1 Channel   
6
Vds                  | 50 V                | 20 V   
7
Id                   | 220 mA              | 3.2 A  
8
Rds On               | 3.5 Ohms            | 80 mOhms  
9
Vgs                  | - 20 V, + 20 V      | - 12 V, + 12 V 
10
Vgs th               | 1.5 V               | 1.5 V 
11
Pd – Verlustleistung | 360 mW              | 2 W  
12
_________________________________________________________________
Der Controller ist ein Arduino Uno, also 5V TTL.

Liebe Grüße und schon mal Danke.

P.S. Arg, ähm was für ein Krampf hier eine Tabelle zu schreiben.
[Mod: PPS. Bedienungsanleitung über der Texteingabebox lesen...]

: Bearbeitet durch Moderator
von H.Joachim S. (crazyhorse)


Lesenswert?

Philipp H. schrieb:
> Würde meine Schaltung funktionieren?

Nein.
Wie soll denn bei 12V 600mA durch 470R fliessen?
Und, falls das möglich wäre, wie soll eine einfache LED das aushalten?

edit: das geht alles sehr viel einfacher als du dir vorstellst.

: Bearbeitet durch User
von Philipp H. (magier)


Lesenswert?

H.Joachim S. schrieb:
> Philipp H. schrieb:
>> Würde meine Schaltung funktionieren?
>
> Nein.
> Wie soll denn bei 12V 600mA durch 470R fliessen?
> Und, falls das möglich wäre, wie soll eine einfache LED das aushalten?
>
Okay. Kurzer Kontakt von Hand an Stirn Da hast du recht.
R4 und LED1 Parallel zum Ventil, das müsste gehen und wenn ich R4 ändere 
könnte ich LED1 auch mit +5V speisen.

> edit: das geht alles sehr viel einfacher als du dir vorstellst.
Klingt gut und wie? Mein größtes Problem ist auch das ich nicht genau 
weiß wie das heißt was ich machen will und ohne den oder die Ausdrücke 
richtig zu kennen kann ich auch so schlecht googlen ;-).

von my2ct (Gast)


Lesenswert?

Philipp H. schrieb:
> Der Controller ist ein Arduino Uno, also 5V TTL.

Das kann nicht sein.
Der Arduino Uno verwendet einen ATmega328P, der mit CMOS Signalen 
arbeitet.

von Philipp H. (magier)


Lesenswert?

my2ct schrieb:
> Philipp H. schrieb:
>> Der Controller ist ein Arduino Uno, also 5V TTL.
>
> Das kann nicht sein.
> Der Arduino Uno verwendet einen ATmega328P, der mit CMOS Signalen
> arbeitet.

So stehst in der Doku.
Microcontroller   ATmega328P
Operating Voltage   5V
Input Voltage (recommended)   7-12V


http://store.arduino.cc/products/arduino-uno-rev3

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

H.Joachim S. schrieb:
> Nein.
> Wie soll denn bei 12V 600mA durch 470R fliessen?

Er ist doch der "magier", da klappt das schon.

> das geht alles sehr viel einfacher

So, wie ich es gerade gemalt habe?
Über den Daumen 3mA für die LEDs, das 600mA-Ventil rührt sich dabei noch 
nicht.

my2ct schrieb:
>> Der Controller ist ein Arduino Uno, also 5V TTL.
> Das kann nicht sein.
> Der Arduino Uno verwendet einen ATmega328P, der mit CMOS Signalen
> arbeitet.

Stimmt natürlich, er ist CMOS, nicht TTL. Aber 5 Volt passt und er hätte 
sogar genug Strom, TTL zu treiben.

von my2ct (Gast)


Lesenswert?

Philipp H. schrieb:
> So stehst in der Doku.

Und wo steht da etwas von TTL?

von my2ct (Gast)


Lesenswert?

Manfred schrieb:
> Aber 5 Volt passt und er hätte
> sogar genug Strom, TTL zu treiben.

Neben dem geringeren H-Ausgangsstrom liegt bei TTL der wesentliche 
Unterschied in den anderen Pegeldefinitionen für die Eingangssignale und 
in den Eingangsströmen.

von Dietrich L. (dietrichl)


Lesenswert?

Philipp H. schrieb:
> Meine Fragen. Würde meine Schaltung funktionieren?

Nein, die Schaltung von Q3 ist falsch: Source muss an +12V (P-Channel!).
Dann wird aber die Ansteuerung falsch und du brauchst einen 
Pegelwandler.

von Philipp H. (magier)


Angehängte Dateien:

Lesenswert?

So hatte endlich mal wieder Zeit und alles umgebaut.

Zu oben. Mit TTL meinte ich die Operating Voltage, ich weiß das das 
nicht das selbe ist, mir fiel nur nicht das richtige Wort ein.

Also nach viel suchen habe ich mir folgendes Überlegt.

Bei der Idee von Manfred (danke dafür), sehe ich nur folgendes Problem. 
Ich habe neben den 4 Ventilen auch noch 16 Leds, 8 davon rot, die 
anderen 8 grün.
Hätte das erwähnen sollen. 8 X 20mA, das liegt ziemlich nah am Maximum 
und da an dem Uno noch mehr hängt, 1-Wire Sensoren, I2C Display, Tasten 
usw, dachte ich es wäre besser da noch was dazwischen zu hängen.

Der ULN 2803A hat eingebaute 2,7k Basiswiderstand und ~10k Pull-Down's. 
Die Mosfet's und BC846's mögen etwas überdimensioniert sein, hätte ich 
aber hier.

Würde das so funzen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Philipp H. schrieb:
> Der ULN 2803A
...könnte die LEDs dann auch gleich selbst ganz ohne T1..T4 samt 
Klimbimdrumrum treiben.

Derzeit geht z.B. die LED8 aus, wenn die LED16 über den T4 angeht. Und 
zudem ist die LED 8 heller als die LED16. Kurios...

Philipp H. schrieb:
> Würde das so funzen?
Unnötig schlecht...

Denn es bleiben für die Mosfets dank der Pullups mit LEDs grade noch 3V 
als Einschaltspannung fürs Gate. Mein Tipp: lass mindestens die LED1..8 
weg. Besser noch: lass die ganze "Zwischenschaltung" mit dem ULN und den 
LEDs weg. Schließe die Gates der Mosfests und die R21, 23, 25, 27 direkt 
an den unbekannten Schaltkreis (=Arduino??) an, wenn der 5V ausgibt.

: Bearbeitet durch Moderator
von Philipp H. (magier)


Lesenswert?

VCC sind 12V, brauche ich für die Ventile. Naja und wenn LED1-LED8 (rot) 
leuchten und LED9-LED16 (grün) nicht und umgekehrt ist das genau das was 
ich will.

Ja ist ein Arduino Uno. LEDs weg indiskutabel, werden gebraucht.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Philipp H. schrieb:
> LEDs weg indiskutabel, werden gebraucht.
Dann schließ die Pullups R9..R16 an 12V an und mach deren Vorwiderstände 
hochohmiger. Dann schalten wenigstens die Mosfets anständig ein.

von Philipp H. (magier)


Lesenswert?

Lothar M. schrieb:
> Philipp H. schrieb:
>> LEDs weg indiskutabel, werden gebraucht.
> Dann schließ die Pullups R9..R16 an 12V an und mach deren Vorwiderstände
> hochohmiger. Dann schalten wenigstens die Mosfets anständig ein.

Danke für die Hilfe. Werde ich machen.

von Philipp H. (magier)


Angehängte Dateien:

Lesenswert?

Mir ist aufgefallen das der BC846 ein VEBO (Emitter-Base Voltage) von 6V 
hat. Habe daher LED5 - LED8 mit 150Ohm an 5V  gelassen.

von Teo D. (teoderix)


Lesenswert?

Emitter-Base "Reverse" Voltage!
Was Du da meinst, ist aber die Collector-Base Stecke und da liegt die 
max. Spannung, nochmals um diese Emitter-Base "Reverse" Voltage über der 
max. Collector Emitter Voltage.

von Dietrich L. (dietrichl)


Lesenswert?

Philipp H. schrieb:
> Mir ist aufgefallen das der BC846 ein VEBO (Emitter-Base Voltage) von 6V
> hat. Habe daher LED5 - LED8 mit 150Ohm an 5V  gelassen.

Das hast du wohl falsch verstanden: das ist die max. Sperrspannung der 
Basis-Emitter-Diode. Aber du legst ja keine negative Spannung an die 
Basis.

Ein ganz anderes Problem sehe ich dadurch, dass du einen ULN benutzt. 
Der hat einen Darlington-Ausgang, d.h. der Ausgang geht nur auf ca. 1V 
herunter (abhängig von der Ansteuerung am Eingang und vom 
Ausgangsstrom).
Folge: Der BC846 wird nicht richtig abgeschaltet, und beim IRLZ34 bist 
du knapp an der minimalen "Gate Threshold Voltage".
Konsequenz:
- nicht den IRLZ34 verwenden
- an der Basis des BC846 einen Spannungsteiler verwenden oder direkt an 
den µC-Ausgang anschließen
Oder am Besten den ULN rausschmeißen und, wenn der Strom des µC nicht 
ausreicht, einen 8-fach Buffer aus der 74HC-Serie verwenden.
Dann hast du zwar nur +5V am Ausgang, aber für der IRLZ34 reicht das.

von Teo D. (teoderix)


Lesenswert?

Dietrich L. schrieb:
> Ein ganz anderes Problem sehe ich dadurch, dass du einen ULN benutzt.

Oh, garnicht darauf geachtet. Dann sind die zusätzlichen Transistoren ja 
überflüssig!
Abgesehen davon, fehlen auch noch die PullUps an den überflüssigen 
Transistoren.

von Michael M. (Firma: Autotronic) (michael_metzer)


Lesenswert?

Philipp H. schrieb:
> Habe daher LED5 - LED8 mit 150Ohm an 5V  gelassen.

Dann kann es aber passieren, dass die LEDs über den 10k Basiswiderstand 
etwas dunkler weiterleuchten. Ein parallel geschalteter 3k3 Widerstand 
zur LED kann da für Abhilfe sorgen.

von Philipp H. (magier)


Lesenswert?

Oki
Dietrich L. schrieb:
> Oder am Besten den ULN rausschmeißen und, wenn der Strom des µC nicht
> ausreicht, einen 8-fach Buffer aus der 74HC-Serie verwenden.
> Dann hast du zwar nur +5V am Ausgang, aber für der IRLZ34 reicht das.

Ich habe da ein paar Fragen zu 74HC Buffer. In den Datenblättern die ich 
mir angesehen habe steht immer ein Wert von 20mA Out/In Diode Current, 
ist das pro Kanal?
Ich erinnere mich das ich ganz am Anfang was über 74HC..s gelesen habe, 
mich aber genau aus dem Grund der geringen Strombelastbarkeit für den 
ULN entschieden habe.

Also um das noch mal zusammen zu fassen. Ich habe den Arduino Uno, 16 
Leds [8X Rot, 5mm, 2,2V, 20mA],[8X Grün, 5mm, 3,6V, 20mA] und die 4 
Ventile [12V, ca 600mA] fest.

Ich möchte nicht mehr als 8 Pins des Arduinos benutzten. Ich weiß das es 
so etwas wie Schieberegister ICs gibt (auch in den 74HC Reihen) und auch 
I2C oder SPI Porterweiterungs ICs. Die 8 Pins für die 8 Kanäle hätte ich 
aber.

Die Funktion pro Pin/Kanal soll es sein die LEDs von rot auf grün 
umzuschalten und bei 4 dazu noch ein Ventil.

von H.Joachim S. (crazyhorse)


Lesenswert?

Trenn dich doch endlich mal von den antiquierten 20mA, oder muss das 
wirklich so sein?

von H.Joachim S. (crazyhorse)


Angehängte Dateien:

Lesenswert?

So sollte es mit 20mA und ohne nennenswerte Belastung des Arduino gehen.

von Michael M. (Firma: Autotronic) (michael_metzer)


Angehängte Dateien:

Lesenswert?

H.Joachim S. schrieb:
> So sollte es mit 20mA und ohne nennenswerte Belastung des Arduino
> gehen.

Vielleicht genügen auch schon 10mA. Außerdem könnte man mit deiner 
Schaltung sogar Duo-LEDs einsetzen. Damit können von den 16 LEDs, 8 LEDs 
eingespart werden!

von Manfred (Gast)


Lesenswert?

Philipp H. schrieb:
> Hätte das erwähnen sollen. 8 X 20mA, das liegt ziemlich nah am Maximum
> und da an dem Uno noch mehr hängt,

Versorge Deinen UNO extern mit 5 Volt (7805 TO-220). Ihn mit 12V zu 
speisen und aus seinem 5V-Reglerchen weitere Schaltungsteile zu 
versorgen, birgt das Risiko thermischer Überlastung.

Halbwegs aktuelle LEDs leuchten mit erheblich weniger Strom, im Haus 
komme ich unter 1mA klar: Ausprobieren, bei welchem Strom die für Dich 
hell genug sind.

Der ULN2803 hat openCollector-Ausgänge, die Ansteuerung der IRLZ34 über 
die LEDs könnte gehen, aber gefällt mir nicht.

An den BC846 ist nichts auszusetzen, Transistoren für weniger Strom sind 
weder kleiner noch billiger.

Die LEDs 5..8 werden leicht glimmen, weil sie Strom in die Basis der 
BC546 schieben, wobei diese vermutlich ungewollt schalten - so also 
nicht.

H.Joachim S. schrieb:
> So sollte es mit 20mA und ohne nennenswerte Belastung des Arduino gehen.

Wackelig: Du verlässt Dich darauf, dass das Relais niederohmig genug 
ist, nicht doch noch LED1 glimmen zu lassen.

von Philipp H. (magier)


Angehängte Dateien:

Lesenswert?

Manfred schrieb:
> Philipp H. schrieb:
>> Hätte das erwähnen sollen. 8 X 20mA, das liegt ziemlich nah am Maximum
>> und da an dem Uno noch mehr hängt,
>
> Versorge Deinen UNO extern mit 5 Volt (7805 TO-220). Ihn mit 12V zu
> speisen und aus seinem 5V-Reglerchen weitere Schaltungsteile zu
> versorgen, birgt das Risiko thermischer Überlastung.

Sicher? Den +5V Pin kann man zur Versorgung nutzen, soll man aber nicht.
1
 5V.This pin outputs a regulated 5V from the regulator on the board. The  board can be supplied with power either from the DC power jack (7 - 12V), the USB connector (5V), or the VIN pin of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage your board. We don't advise it.
https://store.arduino.cc/products/arduino-uno-rev3/?selectedStore=eu
Ich wollte eigentlich kein USB-Kabel aufbröseln um den Uno darüber zu 
versorgen.

> birgt das Risiko thermischer Überlastung

könntest du das erklären?


> Halbwegs aktuelle LEDs leuchten mit erheblich weniger Strom, im Haus
> komme ich unter 1mA klar: Ausprobieren, bei welchem Strom die für Dich
> hell genug sind.

Okay. Ich habe mich bei den Angaben ans Datenblatt gehalten.
Die LEDs sind noch nicht gekauft, nur die Farbe und die Bauform ist 
schon festgelegt. Ich hatte die im Auge.
Rot - > 
https://www.reichelt.de/led-5-mm-bedrahtet-rot-11000-mcd-20--led-5-11000-rt-p156321.html
Grün - 
>https://www.reichelt.de/led-5-mm-bedrahtet-gruen-15000-mcd-18--led-5-15000-gn-p96893.html

> Der ULN2803 hat openCollector-Ausgänge, die Ansteuerung der IRLZ34 über
> die LEDs könnte gehen, aber gefällt mir nicht.
>
> An den BC846 ist nichts auszusetzen, Transistoren für weniger Strom sind
> weder kleiner noch billiger.
>
> Die LEDs 5..8 werden leicht glimmen, weil sie Strom in die Basis der
> BC546 schieben, wobei diese vermutlich ungewollt schalten - so also
> nicht.
>
> H.Joachim S. schrieb:
>> So sollte es mit 20mA und ohne nennenswerte Belastung des Arduino gehen.
>
> Wackelig: Du verlässt Dich darauf, dass das Relais niederohmig genug
> ist, nicht doch noch LED1 glimmen zu lassen.

Den ULN2803 hatte ich eigentlich fallen lassen. Er gefiel mir weil die 
Pins so schön symmetrisch sind und die Leistung von 500mA passten auch. 
Das es  Darlington Transistoren sind, habe ich gelesen aber mir war 
nicht klar was die ~1Volt VCE(sat)(ich verwende den Begriff doch 
richtig, oder?) bedeutet und was das für Folgen hat.


Die Version von H.Joachim S. (crazyhorse) sieht doch gut aus und zeigt 
das ich viel zu kompliziert gedacht habe.

------------------------------------------------------------

Wenn ich das recht verstehe.

Bild Ventil-P (B). Am Mosfet Gate liegen ~5V. Der Strom fließt durch die 
Spule und die LED1 (Pfeil Violett und Gelb), durch den Mosfet (Blau) 
aber nicht durch die LED6 (Grün), weil der Mofet niederohmiger ist als 
der Grüne-Weg.

Bild Ventil-G (A). Das Mosfet Gate liegt auf GND. Der Strom fließt durch 
die Spule (Violett) aber nicht über Gelb, weil der Grüne weg nicht 
zulässt das die Spule ein ausreichendes Magnetisches Feld erzeugt und 
damit "nur" ein ziemlich niederohmiger Widerstand ist. ->Weniger 
Widerstand als der Gelbe-Weg.

Habe ich mir das richtig überlegt?

------------------------------------------------------------

Mein jetziges Problem sind die 4 "Kanäle" ohne das Ventil/Spule. Ganz 
ohne "etwas" Parallel zur Led1 (Gelb) geht es ja nicht. (Damit die 
Umschaltfunktion erhalten bleibt).

Kann die die Spule dann durch einen Widerstand "ersetzten"? Und wenn ja. 
Wie wähle ich den Wert?


Noch mal zu der 5V Quelle (im Gegensatz zu Vin = 12V). So wie ich das 
jetzt Plan hängen die Ventile und die LEDs alle an 12V.
Da sind noch ein paar 1-Wire Temperatur Sensoren, der I2C Bus, ein paar 
Schalter und zwei Wasserdurchfluss Sensoren (Hall Sensor). Die wollte 
ich aus dem +5V von Uno versorgen.

Spricht da etwas dagegen?

: Bearbeitet durch User
von H.Joachim S. (crazyhorse)


Lesenswert?

Philipp H. schrieb:
> Habe ich mir das richtig überlegt?

Ja.

11000mcd? Das ist ein Scheinwerfer, der den Augen weh tut. Ausserdem 
sehr schmaler Abstrehlwinkel (d.h. ein bisschen von der Seite sieht man 
schon fast nichts mehr).
Es kommt letzten Endes darauf an, aus welcher Entfernung, bei welcher 
Beleuchtung und aus welchem Winkel man die Sache erkennen soll/will.
Aber die ausgesuchten LEDs sind auf jeden Fall die falschen.
Such dir sog. low current LEDs, da bist du mit 2mA gut dabei und kannst 
die LED-Schaltung auch direkt an je einen Portpin  hängen.

von Manfred (Gast)


Lesenswert?

Philipp H. schrieb:
> Sicher? Den +5V Pin kann man zur Versorgung nutzen, soll man aber nicht.
1
>  5V.This pin outputs a regulated 5V from the regulator on the board. The 
2
> board can be supplied with power either from the DC power jack (7 - 
3
> 12V), the USB connector (5V), or the VIN pin of the board (7-12V). 
4
> Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and 
5
> can damage your board. We don't advise it.

Ich halte den Hinweis "soll man nicht" für nur bedingt sinnvoll. Es 
dürfte klar sein, dass man an den 5V-Anschluß keine höhere Spannung als 
5V anlegen darf, sollten die das gemeint haben?

Laut Schaltplan ist der Regler ein LM1117-5, der hat kein Problem, wenn 
am Eingang nichts und am Ausgang 5V angelegt werden. Das ist auch der 
Fall, wenn per USB gespeist wird.

> https://store.arduino.cc/products/arduino-uno-rev3/?selectedStore=eu

> Ich wollte eigentlich kein USB-Kabel aufbröseln um den Uno darüber zu
> versorgen.

Das wäre natürlich Unfug.

>> birgt das Risiko thermischer Überlastung
> könntest du das erklären?

Der Längsregler muß die Differenz zwischen Eingangsspannung (z.B. 12V) 
und Ausgangsspannung (5V) übernehmen, mal den fließenden Strom gibt das 
Verlustleistung, also Wärme.

Je höher man ihn belastet, desto wärmer wird der, aus dem Grund bin ich 
generell dagegen, aus diesem externe Schaltungen zu versorgen.

H.Joachim S. schrieb:
> Such dir sog. low current LEDs, da bist du mit 2mA gut dabei und kannst
> die LED-Schaltung auch direkt an je einen Portpin  hängen.

Wollen wir 'low current LED' zum drölfundneunzigsten Mal diskutieren? 
Jede aktuelle LED ist hell genug und es nicht verboten, diese mit 
geringem Strom zu betreiben.

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.