Forum: Analoge Elektronik und Schaltungstechnik Mosfet oder load switch


von Helge (Gast)


Lesenswert?

Hallo,

in einem anderen Beitrag ging es um das Abschalten von Slaves an einem 
I2C bus. Ich will hier einen neuen Beitrag aufmachen, da ich mich gerade 
umgesehen habe wie man VCC auftrennen kann. Ich würde gerne mein EEPROM 
und RTC zusammen an einen Schalter hängen um einfach beide abschalten zu 
können.

Nun habe ich diesen LoadSwitch gefunden 
https://www.ti.com/lit/ds/symlink/tps22919-q1.pdf oder einen einfachen 
Mosfet, der vom Widerstand ähnlich ist, allerdings vermutlich geringer 
im Stromverbrauch als der load switch(8µA)
https://cdn-reichelt.de/documents/datenblatt/A100/IRLML6402PBF-IR.pdf

Was nimmt man da eher, loadswitch oder simpler Mosfet?
Die 3,3V müssen quasi die ganze Zeit durchgeschaltet werden, nur in 
einem eventuellen Resetfall müsste der Loadswitch/Mosfet aus sein.

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


Lesenswert?

Helge schrieb:
> um das Abschalten von Slaves an einem I2C bus.
Du kannst die Slaves nicht einfach "wegbeamen" indem du ihnen die 
Versorgung abdrehst. Denn die hängen trotzdem weiter am Bus und 
versorgen sich "zur Not" parasitär über die ESD Schutzdioden in den 
Pintreibern.

Was ist dein eigentliches Ziel mit dieser Schaltung?

von Helge (Gast)


Lesenswert?

Hallo,
hatte ich jetzt verstanden, dass es so geht
Beitrag "Re: TWI Bus hängt sich auf"

Ziel ist es im Fehlerfall die Slaves resetten zu können,damit das ganze 
wieder funktioniert.
Meine Idee wäre jetzt gewesen den Saft für EEPROM,OLED und RTC 
abzudrehen, Die SDA/SCL pins auf input zu setzen, oder output low, damit 
sie nicht mehr parasiät versorgt werden..dann müsste theoretisch doch 
alles aus sein.

von Kopf Schüttel (Gast)


Lesenswert?

Helge schrieb:
> Ziel ist es im Fehlerfall die Slaves resetten zu können,damit das ganze
> wieder funktioniert.

Da darf ich wohl mal kurz laut lachen.

Andreas S. schrieb:
> Mein Problem: Das Programm wird 2 - 5 mal durchlaufen und hängt sich
> dann hinter der Start-Condition auf.(Die LED bleibt an.) Die
> Datenleitung wird, wahrscheinlich vom Slave, auf GND gehalten.

Wenn nach so kurzer Zeit mit solch "unverfänglicher" Hardware
ein Bus-Hänger auftritt dann ist so einem Hardware Aufbau massiv
etwas faul, und das nicht nur in der Einzahl (sondern mehrere
Fehler). Auch einen Software-Fehler darf man in diesem Zusammen-
hang immer noch annehmen.

Aber dafür einen (auch noch ungeeigneten) Hardware-Reset zu bauen
bzw. vorzusehen grenzt schon an debiler Elektronik-Perversität.

von Helge (Gast)


Lesenswert?

Wie du an deinem zitierten >Andreas S. schrieb: siehst, bin ich nicht 
der TO. Bei meiner Schaltung gab es bisher keine Probleme, aber sie soll 
zuverlässig sein und falls der Fall eintritt, muss der Fehler behebbar 
sein

von Bauform B. (bauformb)


Lesenswert?

Helge schrieb:
> Ziel ist es im Fehlerfall die Slaves resetten zu können,damit das ganze
> wieder funktioniert.
> Meine Idee wäre jetzt gewesen den Saft für EEPROM,OLED und RTC
> abzudrehen, Die SDA/SCL pins auf input zu setzen, oder output low, damit
> sie nicht mehr parasiät versorgt werden..dann müsste theoretisch doch
> alles aus sein.

Das OLED hat evt. einen Reset-Eingang, schau nochmal genau nach. Falls 
dem so wäre, darf der Schalter hochohmiger sein. Außerdem kann man dann 
nochmal den 9-SCL-Takte-Trick probieren. Für primitivere I2C-Slaves 
reicht der eher, als für kompliziertere wie Display-Controller.

Meine RTC kann man garnicht abschalten, weil die auch aus einer Batterie 
versorgt wird. Die hat sich aber auch noch nicht aufgehängt.

Die SDA/SCL Pins auf input funktioniert, aber nur, wenn die I2C-Pullup 
auch an der geschalteten Versorgung hängen. Die Pins auf output low 
funktioniert auch.

Die Widerstände (47 bis 220 Ohm) in Reihe mit den I2C-Pins sind ganz 
offiziell vorgesehen, zwar ursprünglich als Schutz vor Überspannung, 
aber anscheinend passt der Low-Pegel trotzdem. Die Pullup müssen 
natürlich auch passen.

von Kopf Schüttel (Gast)


Lesenswert?

Helge schrieb:
> Wie du an deinem zitierten >Andreas S. schrieb: siehst, bin ich nicht
> der TO.

Das war mir klar. Aber du hast dich darauf bezogen.

Helge schrieb:
> Bei meiner Schaltung gab es bisher keine Probleme, aber sie soll
> zuverlässig sein und falls der Fall eintritt, muss der Fehler behebbar
> sein

So etwas testet man gründlich aus, unter realen Betriebsbedingungen,
bevor man sich auf seine Kreationen verlassen möchte.
Das ist die professionelle Vorgegehensweise. Wenn ein Fehler auf-
tritt dann nicht nach Milliarden von Versuchen sondern nach wenigen
hundert. Und wenn ein Fehler auftritt dann darf man erst mal der
eigenen Hardware die Schuld geben, z.B. einem Fehler im Hardware-
Design des verwendeten Controllers.

von Helge (Gast)


Lesenswert?

>So etwas testet man gründlich aus, unter realen Betriebsbedingungen

es läuft sein 2 Wochen, aber ich kann ja kein Jahr warten nur um dann zu 
wissen, dass es geht, oder eben nicht.
Offenbar kann man eben nicht alles ausschließen und es kann dennoch zu 
einem Fehler kommen, wenn ich den ganzen Texten glauben schenken darf.

>dann darf man erst mal der eigenen Hardware die Schuld geben
das hilft mir im Zweifelsfall alles nicht. Ich handle lieber, als 
jemandem die Schuld zu geben

von Helge (Gast)


Lesenswert?

>Das OLED hat evt. einen Reset-Eingang,

Da hast du tatsächlich Recht, wollte ein SSD1306 verwenden. Der Reset 
ist zwar nicht rausgeführt, aber offensichtlich gibt es diese Funktion
https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf

von Olaf (Gast)


Lesenswert?

> Da hast du tatsächlich Recht, wollte ein SSD1306 verwenden.

Da hab ich eine gute Nachricht. Der SSD1306 scheint relativ gutmuetig zu 
sein.
Ich hab den seit 2Jahren in einer Anwendung im 24h Dauerbetrieb laufen. 
Meine Anwendung wird zwar das Oled ueber Clocks von Hand initialisieren 
wenn es sich tot stellt, kann aber die Betriebsspannung nicht 
abschalten.

Allerdings hab ich auch eine schlechte Nachricht. Diese Oled sind
nicht fuer Dauerbetrieb geeignet. Alle Pixel die leuchten altern und 
leuchten dann weniger hell.
Das war schon nach einem Jahr nicht zu uebersehen, mittlerweile sieht
es schlimm aus. Man kann die Anzeige zwar noch lesen, aber schoen ist 
das nicht mehr.

Haengt natuerlich von der Anwendung ab. Fuer irgendein blaba ist das 
okay, aber wenn huebsches aussehen wichtig ist dann wird man diese Teile 
wohl so alle 6Monate wechseln muessen wenn sie dauerhaft an sind. Oder 
man muss noch etwas Gehirnschmalz reinstecken und die Pixel ab und an 
etwas shiften damit sich die Abnutzung verteilt. Das hab ich bei mir 
jetzt nicht gemacht.

Olaf

von Olaf (Gast)


Lesenswert?

Um noch mal auf deine eigentlich Frage einzugehen.
Ein Loadswitch ist ein Mosfet, genauer gesagt sind es zwei. Und ich 
wuerde dann auch einen solchen nehmen weil das bequemer ist.

Ich wuerde das dann so machen das ich die beiden Pullups am SSD1306 auf 
Vcc lege und dieses VCC dann abschalte. Da dein Microcontroller mit 
Opendrain mit dem Baustein redet ist er dann aus. Das wird gehen.

Jetzt muss man aber natuerlich so einen Loadswitch erstmal haben. Falls 
die ueblichen Versender von Bastelbedarf wie Reichelt sowas noch nicht 
im Angebot haben vielleicht etwas schwer zu bekommen. Falls du in deiner 
Schaltung sowieso 3V3 Spannungsregler brauchst dann wuerde ich 
vielleicht einen LP2985 nutzen. Das ist ein Lowdrop Spannungsregler mit 
Enableeingang. Die gibt es auch bei Reichelt.
Rechne aber vorher mal die Verlustleistung aus!

Olaf

von Helge (Gast)


Lesenswert?

>wuerde dann auch einen solchen nehmen weil das bequemer ist

bequem ist bei mir kein Argument, es soll stromsparend sein.

> Falls du in deiner Schaltung sowieso 3V3 Spannungsregler brauchst
Dann bräuchte ich zwei Regler in der Schaltung, das ist vermutlich 
ineffizienter, als Mosfets ider load switches

benutze hier dcdc converter, um die Verluste zu minimieren.

Das OLED ist natürlich nicht die ganze Zeit an, vermutlich eher 98% der 
Zeit aus.

>ueblichen Versender von Bastelbedarf wie Reichelt
Ich bestelle schon länger alles bei mouser, dort ist so gut wie alles 
verfügbar

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.