Forum: Mikrocontroller und Digitale Elektronik Stromquelle 300mA/-50mA


von Sebastian W. (wangnick)


Lesenswert?

Liebe Leute,

bei meiner Gartenbewässerungssteuerung (siehe z.B. 
Beitrag "Schaltplan richtig zeichnen") sind bistabile 9V 
Gardena-Ventil G1251-20 (33Ω, 33mH) über H-Brücken DRV8833 und dann über 
eine Schottky-Diode (PMEG2005) und parallel dazu einen Widerstand 150Ω 
angeschlossen.

Sollstrom sind 300mA (für 250ms) zum öffnen und -50mA (für 63ms) zum 
schliessen.

Ich stelle jetzt fest dass die Ventile nicht zuverlässig abschalten. 
Grund ist der zu große Widerstand von 150Ω, der Einbruch der 
Versorgungsspannung, der Verpolungsschutz am Versorgungseingang, und die 
Übergangswiderstände der Kabel und Stecker zum Ventil. Alles zusammen 
führt dazu, dass beim Abschalten zu wenig Strom fliesst.

Beim Öffnen fliesst zwar auch zu wenig Strom (~170mA), die Ventile 
öffnen jedoch bisher zuverlässig.

Ich habe jetzt bei allen sechs Steuerboxen alle drei Widerstände durch 
100Ω ersetzt, und zur Zeit funktioniert alles wieder. Ich überlege aber, 
zwischen Ausgang der H-Brücke und den Ventilen statt des Widerstands 
eine Schaltung einzufügen, die den Strom beim Abschalten auf -50mA 
regelt, selbst wenn die Stecker anfangen zu korrodieren und sich dann 
der Übergangswiderstand weiter erhöht.

Eine Möglichkeit wäre, den Widerstand durch eine NSIC2050 
(https://www.digikey.de/product-detail/de/on-semiconductor/NSIC2050JBT3G/NSIC2050JBT3GOSCT-ND/5801750) 
zu ersetzen.

Klingt das machbar? Kennt jemand diese Strombegrenzer? Garantiert die 
PMEG2005 das die maximale Reverse Voltage der NSIC2050 von 500mV nicht 
überschritten wird? Gibt es andere Lösungen, die eventuell auch den 
verringerten Stromfluss beim Einschalten durch die PMEG2005 vermeiden 
könnten?

LG, Sebastian

: Bearbeitet durch User
von Helge (Gast)


Lesenswert?

Mir wäre das zu unsicher. 0,5V ist wenig. Übrigens Lieferzeit 49 Wochen, 
die dinger sind dann in 2022 eingebaut.

Wenn von geplanten 0,3A Ansteuerung nur noch 0,17A ankommen, ist 
irgendwas sehr faul. Dir gehen mindestens 4V flöten, das geht nicht 
lange gut.

von Egon D. (Gast)


Lesenswert?

Sebastian W. schrieb:

> [...] bistabile 9V Gardena-Ventil G1251-20

Gips dazu ein Datenblatt? Ich habe auf die Schnelle
keins gefunden...


> Sollstrom sind 300mA (für 250ms) zum öffnen und -50mA
> (für 63ms) zum schliessen.

Warum bist Du so sicher, dass man den Strom extern
begrenzen muss? (Ich behaupte nicht, dass das falsch
ist, ich möchte nur die Quelle wissen.)


> Gibt es andere Lösungen, die eventuell auch den
> verringerten Stromfluss beim Einschalten durch die
> PMEG2005 vermeiden könnten?

Nu ja... da Du ohnehin einen für Stromchopperbetrieb
konzipierten Treiberchip verwendest, wäre für mich
die naheliegendste Lösung -- der Stromcopperbetrieb.

von my2ct (Gast)


Lesenswert?

Egon D. schrieb:
> Gips?

Und das in der Elektronik?
https://de.wikipedia.org/wiki/Gips

von MaWin (Gast)


Lesenswert?

Sebastian W. schrieb:
> Eine Möglichkeit wäre, den Widerstand durch eine NSIC2050  zu ersetzen

Nein.
Dein Problem beginnt früher, weil aus den 300mA nur 170mA werden.
Wenn du das Problem (zu geringe Betriebsspannung?) löst, löst sich auch 
das Rückwärtsstromproblem

Es hilft dir nicht, an Symptomen eines nicht-behobenen Problems 
rumzudoktorn.

von Falk B. (falk)


Lesenswert?

Sebastian W. schrieb:

> Ich stelle jetzt fest dass die Ventile nicht zuverlässig abschalten.
> Grund ist der zu große Widerstand von 150Ω, der Einbruch der
> Versorgungsspannung, der Verpolungsschutz am Versorgungseingang, und die
> Übergangswiderstände der Kabel und Stecker zum Ventil. Alles zusammen
> führt dazu, dass beim Abschalten zu wenig Strom fliesst.

Na dann mach es doch richtig und lass den Murks!

Aha, da hatte ich sogar den Schaltplan schön gezeichnet.

> Ich habe jetzt bei allen sechs Steuerboxen alle drei Widerstände durch
> 100Ω ersetzt, und zur Zeit funktioniert alles wieder. Ich überlege aber,
> zwischen Ausgang der H-Brücke und den Ventilen statt des Widerstands
> eine Schaltung einzufügen, die den Strom beim Abschalten auf -50mA
> regelt, selbst wenn die Stecker anfangen zu korrodieren und sich dann
> der Übergangswiderstand weiter erhöht.

Wozu der Widerstand? Mach es so, wie es der Rest der Welt auch tut. Eine 
ausreichend stromstarke Stromversorgung und gut.

von Sebastian W. (wangnick)


Lesenswert?

Hey, danke für die ersten Rückmeldungen.

Helge schrieb:
> Wenn von geplanten 0,3A Ansteuerung nur noch 0,17A ankommen, ist
> irgendwas sehr faul. Dir gehen mindestens 4V flöten, das geht nicht
> lange gut.

MaWin schrieb:
> Nein.
> Dein Problem beginnt früher, weil aus den 300mA nur 170mA werden.
> Wenn du das Problem (zu geringe Betriebsspannung?) löst, löst sich auch
> das Rückwärtsstromproblem

Die Magnetspule hat 33Ω. Bei Ansteuerung mit vollen 9V würde ich da also 
eh nur 270mA durchbekommen.

Ich habe jetzt die Spannungsversorgung am Ende des längsten Kabels im 
Garten (110m) am Eingang zu meiner Schaltbox noch einmal durchgemessen. 
Unbelastet kommen von 9V 8,8V an. Bei 200mA Stromabnahme bricht die 
Spannung auf 7,5V ein, eine Impedanz von 6,5Ω. Davon entfallen 4Ω auf 
den Schleifenwiderstand des Kabels, der Rest anscheinend auf 
Übergangswiderstände an Steckverbindungen. Ich werde das noch mal 
genauer kontrollieren.

Dahinter frisst der Verpolschutz (MBRS130LT3) 0,3V, die H-Brücke 0,35V, 
die PMEG2005 ca. 0,4V, und mein 2,2Ω Strommesswiderstand noch ~0.4V, 
bleiben von meinen 9V also ~6V. Es fliessen also beim Anschalten ~180mA. 
Die reichen aber anscheinend gut aus, um die Ventile anzuschalten.

Das ist aber alles nicht mein aktuelles Problem. Mein Problem ist das 
Abschalten. Dabei muss die Magnetspule entmagnetisiert werden, so dass 
der Pilotstößel abfallen kann. Dabei soll der Stromfluß auf 50mA (und 
die Dauer des Stromflusses auf 63ms) begrenzt werden, um zu verhindern, 
dass sich die Spule erneut andersherum magnetisiert. Er sollte aber auch 
nicht viel kleiner als 50mA sein, da ansonsten die Entmagnetisierung 
nicht zuverlässig stattfindet.

LG, Sebastian

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Egon D. schrieb:
> Nu ja... da Du ohnehin einen für Stromchopperbetrieb
> konzipierten Treiberchip verwendest, wäre für mich
> die naheliegendste Lösung -- der Stromcopperbetrieb.

Das ist eine gute Idee. Ich habe zufällig noch genau einen Pin am 328PB 
frei, um den für die Strombegrenzung beim Abschalten nötigen 
Sense-Widerstand von 4Ω dann beim Einschalten zu überbrücken. Die 
Überbrückung darf allerdings nicht mehr als ~50mΩ Spannungsabfall 
verursachen, da die H-Brücke ansonsten bei Kurzschluss wohl auch in den 
Chopperbetrieb und nicht in den Überstrom-Fehlzustand geht -- und den 
Chopperbetrieb kann ich in Software nur ganz schwer erkennen. Ein 
IRLML6244 sollte das aber können ...

LG, Sebastian

von MaWin (Gast)


Lesenswert?

Sebastian W. schrieb:
> Die reichen aber anscheinend gut aus, um die Ventile anzuschalten.

Dann tu doch vorne mal 12V rein, wenn deine Klingelleitung satte 110m 
lang ist

von Sebastian (Gast)


Lesenswert?

MaWin schrieb:
> Sebastian W. schrieb:
>
>> Die reichen aber anscheinend gut aus, um die Ventile anzuschalten.
>
> Dann tu doch vorne mal 12V rein, wenn deine Klingelleitung satte 110m
> lang ist

Ich habe auch noch 20V zur Verfügung, und denke an einen Step-Down pro 
Steuerbox. Wie gesagt ist das aber nicht mein aktuelles Problem.

LG, Sebastian

von Helge (Gast)


Angehängte Dateien:

Lesenswert?

Chopperbetrieb ist jedenfalls eine viel bessere Idee als die 50mA-Chips 
noch extra einzubauen. Man kann nicht vorhersagen, ob die Dinger das 
überleben, und die Dioden-Widerstand-schaltung (bzw. mit dem chip) klaut 
dir Leistung, die du bei 110m klingeldraht nötig woanders brauchst.

Auch wenn das nicht dein aktuelles Problem ist, Teil der Lösung ist eine 
stabilere Versorgung. 0,5-0,7V mehr aus dem Elko für die Steuerung plus 
dein 12V-Netz stützen wäre eine gute Maßnahme.

von Sebastian (Gast)


Lesenswert?

Helge schrieb:
> 0,5-0,7V mehr aus dem Elko für die Steuerung plus dein 12V-Netz stützen
> wäre eine gute Maßnahme.

Der grosse Elko wird vorrangig benötigt um bei Stromausfall noch alle 
drei  Ventile schliessen zu können.

LG, Sebastian

von Sebastian W. (wangnick)


Lesenswert?

Sebastian W. schrieb:
> Ein IRLML6244 sollte das aber können ...

Mmh, doch nicht so einfach. Bei Kurzschluss fällt ja fast die ganze 
Spannung an meinem 2,2Ω Messwiderstand ab, so dass Source des IRLML6244 
auf 6,4V zu liegen kommt. Mein 328PB kommt am Gate aber nur auf knapp 5V 
...

LG, Sebastian

von Helge (Gast)


Lesenswert?

OK also das 12V-Netz darf nicht gestützt werden, dann siehst du kein 
brownout mehr. Verstehe.

4 Ventile schließen mim 2200uF wird sportlich. Mit Chopper könnte das 
vielleicht reichen.

Dein Mosfet soll doch den Chopperwiderstand brücken? An dem fallen eh 
nur 0,2V ab, bevor der Chopper startet. Egal ob da ein Widerstand ist 
oder ob der kurzgeschlossen ist, dir bleiben nur wenige ms zum 
ausschalten. Bleibt sich gleich. Wo siehst du ein Problem?

von Sebastian W. (wangnick)


Lesenswert?

Helge schrieb:
> Dein Mosfet soll doch den Chopperwiderstand brücken? An dem fallen eh
> nur 0,2V ab, bevor der Chopper startet. Egal ob da ein Widerstand ist
> oder ob der kurzgeschlossen ist, dir bleiben nur wenige ms zum
> ausschalten. Bleibt sich gleich. Wo siehst du ein Problem?

Ich muss mehrere Anwendungsfälle berücksichtigen. Ist in einigen anderen 
Threads schon erwähnt, hätte ich vielleicht aber von Anfang an noch mal 
zusammenfassen sollen:

1. Präsenzmessung. Ich schalte jede Sekunde der Reihe nach allen drei 
Ventilen über die Diode kurz Spannung auf und messe über R5 (2,2Ω) und 
ADC7 maximal 1ms lang den Stromanstieg. Steigt der Strom nicht an ist 
kein Ventil angeschlossen. Steigt der Strom grob entsprechend 33mH ist 
ein Ventil dran. Steigt der Stom zu schnell oder meldet die H-Brücke 
FAULT ist Kurzschluss. Ich breche die Präsenzmessung dann schon nach 
50us ab. Wenn in dieser Zeit dabei aber der Chopper anspringt bekomme 
ich an ADC7 keine vernünftigen Werte.

2. Ventil ein. Ich schalte einem Ventil über die Diode Spannung auf und 
nach 250ms wieder ab.

3. Ventil aus. Ich schalte einem Ventil über den 100Ω-Widerstand 
negative Spannung auf und nach 63ms wider ab.

4. Notabschaltung. Ich messe die Versorgungspannung vor der 
Verpolschutzdiode. Sobald die Versorgungsspannung unter ~5V fällt 
schalte ich gleichzeitig alle drei Ventile mit der Restenergie im 
2200uF-Elko noch schnell aus.

Ich möchte jetzt für 3. und 4. statt des 100Ω-Widerstands den 
Chopperbetrieb nutzen. Dazu brauche ich einen ISEN-Widerstand von 4Ω 
zwischen ABISEN und HGND. Dieser Widerstand soll aber für 1. und 2. 
überbrückt werden damit die H-Brücke nicht in den Chopperbetrieb geht. 
Die Diode benötige ich dann natürlich auch nicht mehr.

Selbst bei Kurzschluss zwischen OUT1 und OUT2 soll aber kein 
Chopperbetrieb stattfinden, sondern die H-Brücke soll den Stromanstieg 
zulassen und im Zweifelsfall in die Überstromabschaltung (≥3.3A für 
≥4us) und dann FAULT melden. Der Grund ist wie gesagt dass im 
Chopperbetrieb bei Kurzschluss (also ohne angeschlossene Induktivität) 
der Strom durch die H-Brücke ein 50kHz-Rechteck ist, den ich nur schwer 
mit dem ADC des 328PB messen kann.

Im Kurzschlussfall würde aber die komplette maximale Ventilspannung von 
dann 6,8V über meinen Messwiderstand R5 (2,2Ω) abfallen. Auf diesem 
Potential läge dann die Source des IRLML6244. Am Gate kann ich mit dem 
328PB aber nur knapp 5V anlegen. Der FET würde sperren, die Spannung an 
xISEN würde über 200mV steigen, und der Chopper würde anspringen. Dann 
könnte ich den Kurzschlussfall nicht erkennen.

Aber vielleicht sehe ich den Wald vor lauter Bäumen nicht ...

LG, Sebastian

: Bearbeitet durch User
von Helge (Gast)


Lesenswert?

OK der 2,2Ω-Widerstand dürfte jetzt überflüssig sein: Du kannst ja den 
Chopperwiderstand auswerten. Dein Controller sollte den in 2 Stufen 
schalten: Mosfet aus z.B. 3,9Ω, Mosfet-an z.B. 0,39Ω parallel dazu. ADC 
auf 0..1,1V. Die interne PWM hat 50kHz -> Zwischen ISEN und ADC nen 
10kHz Tiefpass. Bekommst du bei Mosfet-an >0,15V als ADC-Wert, ist 
Kurzschluß. Test auf vorhanden geht bei Mosfet-aus. Dann müssen 
irgendwann >0,15V am ADC ankommen.

Das sind ja nur Indikatoren, muß nicht hochgenau gemessen werden.

von Sebastian W. (wangnick)


Lesenswert?

Helge schrieb:
> Du kannst ja den Chopperwiderstand auswerten.

Ok, das werd ich mal überprüfen.

LG, Sebastian

von Sebastian W. (wangnick)


Lesenswert?

Helge schrieb:
> Du kannst ja den
> Chopperwiderstand auswerten. Dein Controller sollte den in 2 Stufen
> schalten: Mosfet aus z.B. 3,9Ω, Mosfet-an z.B. 0,39Ω parallel dazu.

Nicht so einfach. Bei 390mΩ fängt der DRV8833 ab 500mA an zu Choppen. 
Tastrate beim Choppen mit ohmscher Last (Teilkurzschluss) werd ich noch 
genauer untersuchen, kann aber wohl im Bereich 40% liegen. Dann messe 
ich 80mV hinter dem Tiefpass am ADC. Das ist aber dann genau auch der 
Wert, den ich bei den geplanten 200mA durch das Ventil messen würde, so 
dass ich die beiden Fälle nicht unterscheiden könnte.

Dazu kommt, dass beim DRV8833 das Choppen und die Überstromabschaltung 
anscheinend unabhängig arbeiten und in bestimmten Fällen zu 
interessanten Verschränkungen während des Stromanstiegs führen ...

Mein DRV8833 unterstützt halt eine externe Stromüberwachung nicht "out 
of the box".

LG, Sebastian

: Bearbeitet durch User
von Helge (Gast)


Lesenswert?

mist.

Der Strom für overcurrent protection des Treiberbausteins ist schlecht 
definiert, liegt bei 2-4A je nach Baustein. Doof.

Das Ding in thermal shutdown rauschen lassen ist auch keine gute Idee.

Bliebe noch UVLO bei Versorgung <2,5V, braucht einen Widerstand in der 
Plusleitung. Sonst sieht der Treiber ja auch keine Ansteuerung mehr bei 
Überstrom. Nachteil wieder der Leistungsverlust im Normalbetrieb. Doof.

Zum messen den peak einfangen ist viel Bauteinaufwand bei der kleinen 
Spannung.

Auf einen kleineren Widerstand umschalten? 0,1Ω vielleicht? - 
Chopperbetrieb bei intakter Spule und bei Einschalten ist nicht 
erreichbar, der Baustein darf bis 10,8V und die 33Ω Spule legen die 
technisch mögliche Grenze auf ca. 0,3A.

von Sebastian W. (wangnick)


Lesenswert?

Helge schrieb:
> Auf einen kleineren Widerstand umschalten? 0,1Ω vielleicht?

Ich denke auch ich brauche einen kleineren Shuntwiderstand. Und für den 
Kurzschlussfall muss ich die Stommessung verlegen, sonst rauscht mir 
HGND soweit nach oben dass die Logikeingänge aus Sicht der H-Brücke low 
werden.

Also entweder eine andere H-Brücke mit eingebauter Strommessung, oder 
eine separate High-Side Strommessung.

Diode und paralleler Widerstand in der Zuleitung zu den Ventilen können 
entfallen wenn ich den Ausschaltstrom über Choppen oder PWM limitiere.

Falls PWM, dann kann ich eventuell mit der Strommessung auch sich 
entwickelnde Übergangswiderstände hin zum Ventil erkennen und 
entsprechend die PWM-Tastrate so anpassen dass der Ausschaltstrom bei 
50mA bleibt.

Welche IC's könntet ihr für die High-Side Strommesung empfehlen? Wäre 
der INA381 geeignet?

LG, Sebastian

: Bearbeitet durch User
von Helge (Gast)


Lesenswert?

Voraussetzung: 3,9Ω, mit Mosfet parallelschalten 0,22Ω.

Es gibt 5 Betriebszustände, die sich unterscheiden lassen:

Ventil ist aus und soll aus bleiben, Präsenztest OK: 50mA, 3,9Ω, 
Chopper.
Ventil ist ein und soll ein bleiben, Präsenztest OK: 50mA, 3,9Ω, 
Chopper.
Ventil ist aus und soll ein werden, Ventil OK: 300mA, 0,21Ω, kein 
Chopper.
Ventil ist aus und soll ein werden, Kurzschluß: 1A, 0,21Ω, Chopper.
Ventil fehlt: 0mA.

Das geht mit dem gewählten Treiber. 0,3A entspricht 63mV, läßt sich bei 
8-bit ADC noch auflösen. Kaum mehr Bauteile, eigensicher.

von Sebastian W. (wangnick)


Angehängte Dateien:

Lesenswert?

Eine kurze Statusmeldung zu meiner Ventilsteuerung.

Meine derzeitigen Boards konnte ich nicht umbauen, das wäre zu aufwändig 
geworden. Statt dessen hab ich mich zunächst auf den Einbau eines 
Hauptventils konzentriert, um die Bewässerung abschalten zu können falls 
eines der Ventile hakt und nicht auszuschalten ist. Dafür hab ich ein 
Hunter PGV-100 für 24V AC gewählt, das nicht bistabil ist sondern einen 
Haltestrom benötigt um auf zu bleiben. Mir war der Haltestrom von 190mA 
bei 24V AC aber ein wenig zu hoch, und ausserdem wollte ich ja die 
Präsenzmessung mit dem DRV8833 endlich sauberer umsetzen. Ich hab also 
einen neuen Prototypen aus Pololu A*328PB, MCP2515/TJA1050, DRV8833 und 
zusammengesteckt und dann auch zusammengelötet. Dabei verwende ich jetzt 
einen 1,5Ω ISEN-Widerstand der 130mA Ventilstrom zulässt, zu dem ich mit 
einem IRLML6244 noch zwei parallele 1Ω parallel schalten kann, was dann 
einen ISEN von 0,4Ω bzw. einen Strom von 500mA ergibt.

Es stellt sich heraus, dass bei 9,3V Stromversorgung das PGV-100 
zuverlässig über die DRV8833 (und einen 1Ω-Messwiderstand) bei 8,6V und 
ca. 310mA einschaltet. Der Ventilstößel hält dann bis hinunter zu 80mA 
und fällt bei 70mA ab. Ich verwende einen Haltestrom von 130mA, aber 
gesteuert über die DRV8833 mit PWM; dieser Strom durch die Spule lässt 
sich mit einer Stromversorgung von ~50mA aufrechterhalten. Anbei die 
Messwerte.

Die Präsenzmessung ist beim PGV-101 etwas schwieriger als beim 1251-20, 
weil zwei Fälle unterschieden werden müssen, nämlich ob das Ventil aus 
ist, oder ob es an und im Haltemodus ist. Ich filtere ISEN über 2k7Ω an 
ADC4 und dann über 100nF zu GND. AREF ist auch mit 100nF gestützt. Bei 
ausgeschaltetem Ventil schalte ich für 1ms ein und messe den 
Spannungsanstieg über ISEN 1,5Ω. Bei eingeschaltetem und gehaltenem 
Ventil schalte ich für 50us in den fast decay modus. ISEN wird dann 
negativ, und die 100nF entladen sich in den 50us von 60-80mV auf ~30mV.

Um Remanenz zu verhindern (ich habe ein paar Beiträge in Foren gelesen 
die die Ansteuerung der PGV-100 mit Gleichstrom nicht empfehlen weil der 
Stößel beim Ausschalten manchmal hängen bleibt) drehe ich die Polung des 
Haltestroms beim Ausschalten für 10ms um (siehe zweites Bild). Ich hoffe 
das reicht, ansonsten muss ich für eine etwas längere Zeit einen 
Wechselstrom erzeugen.

Vielen Dank noch einmal für die guten Hinweise, insbesonders von Helge!

LG, Sebastian

: Bearbeitet durch User
von Helge (Gast)


Lesenswert?

Super! Ich dachte zwar, du kommst mit deinen Platinen und Bauteilen aus, 
aber wenns so besser ist, auch gut!

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.