schon wieder 3,3 vs 5 V

  • Hallo allerseits,

    mir ist da etwas blödes passiert - allerdings bis jetzt ohne Folgen und vorneweg es geht gar nicht um einen Raspberry Pi sondern um einen Cubietruck, aber für meine Fragen spielt das glaube ich keine große Rolle:

    Ich habe einen I²C-Adapter mit einem PCF8574P und an dem hängt ein Display. Beides wird mit 5 V versorgt und hängt an den I²C-GPIO-Pins, die natürlich nur für Spanungen bis 3,x V gedacht sind.
    Nun habe ich gedacht, das wäre aufgrund des Open Collector-Anschlusses des I²C-Adapters ja kein Problem, weil die Geräte den Bus zum Übertragen von Daten immer nur von den +3,3 V auf GND „hinunterziehen“.

    Aber wie sich herausgestellt hat, habe ich beim I²C-Adapter zwei Pull-Up-Widerstände übersehen, die das Ganze auf +5 V ziehen. Nun läuft das Werkl aber schon ein knappes Jahr ohne Probleme und ich bin unsicher was ich machen soll:

    • gar nichts…
      …und darauf vertrauen, dass die maximal 0,5 mA, die von den +5 V über die Pull-Up-Widerstände (10 kOhm) kommen auch in Zukunft keinen Schaden mehr anrichten.
    • anderswo habe ich die Variante gesehen, dass mit Dioden die "Überspannung" in Richtung 3,3 V sozusagen abgeleitet wird — wäre das in dem Fall eine Option?
    • den I²C-Adapter mit 3,3 statt 5 V versorgen und das Display nach wie vor mit 5 V.
    • I²C-Adapter samt Display mit 3,3 V versorgen. Das Display kommt damit aus (laut Datenblatt und ausprobiert habe ich es auch), allerdings brauche ich dann vermutlich einen Spannungswandler, weil ich sonst den 3,3 V-Anschluss möglicherweise überlaste.
    • ein Levelshifter (wäre glaube ich unnötig aufwändig)

    Ich tendiere zur Variante 3 oder vielleicht auch 4, aber ich frage mich auch ob ich nicht 1. ernsthaft in Betracht ziehen sollte. Unabhängig von der Spannung dürften doch die maximal 0,5 mA keinen Schaden anrichten?
    Und die 10 kOhm genügen auch als alleiniger Pull-Up - das habe ich bereits ausprobiert.

    lg smutbert

    Edited once, last by smutbert (March 1, 2016 at 9:09 PM).

  • wenn du PCF8574P meinst genügt es die pullups auszulöten

    genau wie hier bei dieser Anleitung, dort gilt sinngemäß dasselbe läuft mit 5V und zum PI ohne pullups mit 3,3V

    ps915
    September 2, 2013 at 3:10 PM

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Ja, den meine ich - habe mich nur verschrieben (es aber inzwischen korrigiert).

    Das wäre natürlich noch einfacher, könnte aber knapp werden, dass der PCF8574P das High noch als High erkennt? Mit meinem Multimeter messe ich ohne die Pullups zu 5 V im Leerlauf 3,1 V an SDA und SCL und wenn ich nicht falsch liege würde ein I²C-Gerät, das mit 5 V läuft doch erst 3,5 V verlässlich als High erkennen?

    Edited once, last by smutbert (March 1, 2016 at 9:27 PM).

  • Hallo


    ... Mit meinem Multimeter messe ich ohne die Pullups zu 5 V im Leerlauf 3,1 V an SDA und SCL und wenn ich nicht falsch liege würde ein I²C-Gerät, das mit 5 V läuft doch erst 3,5 V verlässlich als High erkennen?

    Mit nem Multimeter (das auf Gleichspannung gestellt) den SDA/SCL messen zu wollen ist Unsinn.
    Die Frequenz von SDA/SCL ist viel zu hoch.
    Dein Multimeter zeigt dir einen fiktiven Mittelwert an, der mit low/high nicht viel zu tun hat.
    Wenn schon, dann Oszi.

    gruß root


  • Das wäre natürlich noch einfacher, könnte aber knapp werden, dass der PCF8574P das High noch als High erkennt?

    i2c ist low aktiv und 3V ist sicher nicht low, also ich hatte da noch nie Probleme und wenn kommt Plan B 470 Ohm in Reihe und BAT42 zu 3,3V

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Was spricht denn gegen Variante 4, wenn Du mal im Datenblatt schaust, was Deine "Stromquelle" liefert und IO-Expander und Display an Strom benötigen?

    PS: Abgesehen davon hast Du Dir schon sehr viele Gedanken gemacht und gemäß Murphy wird Deiner Schaltung damit wohl nix passieren - kleines unsachliches Späßle am Rande :)

  • Alleine das Display braucht laut Datenblatt maximal 50 mA - das sollte sich zwar ausgehen, aber gemeinsam mit den anderen Sachen an den GPIOs ist es möglicherweise zuviel. Wenn ich mich nicht an dem Maximalwert orientiere könnte es sich zwar ausgehen, aber das ist mir ohne zusätzliche 3,3 V-Quelle auf Dauer zu unsicher, glaube ich.

    […]
    Mit nem Multimeter (das auf Gleichspannung gestellt) den SDA/SCL messen zu wollen ist Unsinn.
    Die Frequenz von SDA/SCL ist viel zu hoch.[…]


    Bei SCL habe ich das schon vermutet, aber nachdem der Bus "leer" war, habe ich gedacht bei SDA könnte ich so einen Anhaltspunkt ermitteln...


    Jetzt habe ich also einen Plan A (Pull-Up zu 5 V entfernen), einen Plan B (470 Ohm + Diode) und einen Reserve-Plan B (3,3 V Spannungswandler als Stromversorgung für Display und I²C-Adapter). Wenn ich nicht vergesse, werde ich mich noch einmal melden und schreiben ob Plan A bereits funktioniert hat...

    Vielen Dank!

    EDIT:
    und hier noch die Rückmeldung. Es läuft ohne die beiden Pull-Up-Widerstände zumindest in einem kurzen Test tatsächlich einwandfrei.

    Edited once, last by smutbert (March 2, 2016 at 8:25 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!