Forum: Mikrocontroller und Digitale Elektronik mcp23017 pull up / Vorwiderstand erforderlich?


von Markus R. (marom)


Angehängte Dateien:

Lesenswert?

Hallo,

ich haben den mcp23017 entsprechend des angehängten Schaltplanes auf dem 
Steckbrett laufen, bislang ohne Auffälligkeiten. Für die finale Platine 
frage ich mich, aber ob noch ein paar Widerstände fehlen (nachdem ich 
z.B. die Beschaltung bei Adafruit gesehen habe 
https://cdn-learn.adafruit.com/assets/assets/000/109/792/original/adafruit_products_mcp23017schem.png?1647544296):

1) an RESET 10k Vorwiderstand
2) A0  A1  A2 10k Vorwiderstand / als Pulldown gegen GND wenn der Pin 
zur Adressierung gegen 3.3V
4) an den Interrupt Pins INTA und INTB 10k Vorwiderstand
3) am unteren MCP (U2) sind einige als input genutzte GPIOs (Taster / 
Optokoppler). Diese haben alle interne im Datenblatt als "weak" 
bezeichnete Pull-Up Widerstände. Dachte ich auch so zu "verwenden". Dann 
hab ich jedoch an anderer Stelle gelesen, dass es besser sei, hochohmige 
externe zu verwenden. Also auch nochmal je 10k als Pull-Up?

Viele Grüße,
Markus

von Helmut -. (dc3yc)


Lesenswert?

Ich würde R2 und R4 (I2C) etwas kleiner machen bei 3.3V (2k2). Und dann 
finde ich es nicht gut, dem Display den Ground wegziehen zu können, wenn 
andere Signale noch anliegen. Und deine Widerstände kannst du ja 
vorsehen. Wenn du sie nicht brauchst, kannst sie offen lassen oder durch 
0R ersetzen.

von Εrnst B. (ernst)


Lesenswert?

Bist du dir ganz sicher, dass du die "COM"-Anschlüsse von den ULN2803 
auf GND legen willst?

: Bearbeitet durch User
von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Εrnst B. schrieb:
> Bist du dir ganz sicher,
> dass du die "COM"-Anschlüsse von den ULN2803
> auf GND legen willst?

ich bin sicher er will es nicht, nur weiß er das noch nicht

COM hat Freilaufdioden und die gehören nach +VCC also in Sperrrichtung

: Bearbeitet durch User
von Markus R. (marom)


Lesenswert?

Ihr seid einfach super, danke! Völlig einleuchtend dass da VCC an COM 
gehört.

Dem LCD spendieren ich dann einen high-side switch, auch das ist 
nachvollziehbar. Ebenso die Reduktion der Widerstände am i2c bus.

Aber bei den gefragten Widerständen, ist mir weiterhin unklar ob ich die 
brauche oder nicht. Klar, versuch macht klug, aber ist es ein Nachteil 
die Widerstände zu verbauen, auch wenn sie nicht zwingend erforderlich 
wären, arm werde ich da ja nicht durch ;-)

von Jörg R. (solar77)


Angehängte Dateien:

Lesenswert?

Joachim B. schrieb:
> Εrnst B. schrieb:
>> Bist du dir ganz sicher,
>> dass du die "COM"-Anschlüsse von den ULN2803
>> auf GND legen willst?
>
> ich bin sicher er will es nicht, nur weiß er das noch nicht
>
> COM hat Freilaufdioden und die gehören nach +VCC also in Sperrrichtung

Markus R. schrieb:
> Ihr seid einfach super, danke! Völlig einleuchtend dass da VCC an
> COM gehört.

Lt. Schaltplan sitzen Freilaufdioden in den Relais-Sockeln.

https://www.mikrocontroller.net/attachment/636610/IMG_2210.jpg

Wenn das tatsächlich so ist kann der COM-Anschluss freibleiben. 
Ansonsten gehört er an die Versorgungsspannung der Relais, nicht an VCC.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Jörg R. schrieb:
> Ansonsten gehört er an die Versorgungsspannung der Relais, nicht an VCC.

doch an die VCC der Relais! (mitdenken ist nicht verboten)

Jörg R. schrieb:
> Lt. Schaltplan sitzen Freilaufdioden in den Relais-Sockeln.

ja und Schaltpläne lügen nie! (übrigens wären auch 2 Freilaufdioden 
parallel kein Fehler FALLS die doch nicht im Sockel sind und wenn doch 
stört die weitere Freilaufdiode hier auch nicht, lieber eine zuviel als 
KEINE)

Beitrag #7677832 wurde vom Autor gelöscht.
von Monk (roehrmond)


Lesenswert?

Markus R. schrieb:
> Aber bei den gefragten Widerständen, ist mir weiterhin unklar ob ich die
> brauche oder nicht.

Im Schaltplan sind deine Address-Eingänge mit GND verbunden. Du hast 
gefragt, ob du Pull-Down Widerstände and den brauchst, wenn sie mit VDD 
verbunden sind. Nein brauchst du dann nicht. Einen Pin der Direkt mit 
VDD verbunden ist kannst du gar nicht herunter ziehen, außer mit einem 
Kurzschluss.

Pull-Widerstände braucht man nur für offene Eingänge die (zeitweise) 
nicht an einer definierten Spannung hängen.

Du hast nach einem Vorwiderstand für den Reset Pin gefragt. Nein, er 
braucht keinen Vorwiderstand. Und auch keinen Pull-Up, aus dem gleichen 
Grund wie bei den Address-Eingängen.

> am unteren MCP (U2) sind einige als input genutzte GPIOs.
> Diese haben alle interne im Datenblatt als "weak"
> bezeichnete Pull-Up Widerstände. Dachte ich auch so zu "verwenden".

Mach das, dazu sind sie vorgesehen.

> ist es ein Nachteil die Widerstände zu verbauen, auch
> wenn sie nicht zwingend erforderlich wären

Sie kosten Geld, brauchen Platz und nehmen Strom auf. Alles harmlos.

: Bearbeitet durch User
von Markus R. (marom)


Angehängte Dateien:

Lesenswert?

Super, vielen Dank für Deine Rückmeldung! Dann lasse ich die Widerstände 
wie geplant weg.

Schalter des LCD, Widerstände am i2c und die Fehlbeschaltung des COM 
sind im angehängten Schaltplan korrigiert/angepasst

Die Beschaltung des IRLML6402 kann ich so lassen?  Testen kann ich 
leider (noch) nicht, Display ist noch unterwegs und den IRLML6402 muss 
ich erst bestellen.

von Εrnst B. (ernst)


Lesenswert?

Markus R. schrieb:
> Die Beschaltung des IRLML6402 kann ich so lassen?

Du hast da immer noch das Problem, dass dein Display auf SDA/SCL 3.3V 
(mit Unterbrechungen) sieht. Wenn Display-VCC vom Transistor getrennt 
ist, versorgt sich das Display eben über die Pullups der 
Datenleitungen... entweder reicht das für die Funktion, oder es zieht 
den I²C-Bus soweit runter, dass der nicht mehr funktioniert.

Das Display lässt sich per Command 0xAE in den Sleep/PowerOff-Modus 
schalten.
Vielleicht reicht das?

: Bearbeitet durch User
von Markus R. (marom)


Lesenswert?

OK, klar, macht keinen Unterschied ob ich nun GND oder VCC kappe. 
Funktioniert dass dann wenn ich beides ab schalte? Oder gibt es dafür 
eine gescheite Lösung?

von Εrnst B. (ernst)


Lesenswert?

Markus R. schrieb:
> Funktioniert dass dann wenn ich beides ab schalte?

Nein. Dann kriegt das Display immer Strom, wenn eine 
I²C-Datenübertragung läuft, und SDA/SCL unterschiedliche Spannung haben.

Markus R. schrieb:
> Oder gibt es dafür
> eine gescheite Lösung?

das Display per Software abschalten. Angeblich geht der Chip dann auf 
10µA runter. Was der Rest auf den Breakout-Board dann noch braucht? 
Keine Ahnung.

Oder:
den I²C-Bus auch abschalten. Am Einfachsten: die 
I²C-"Pegelwandler-Schaltung" mit zwei Mosfets verwenden.

: Bearbeitet durch User
von Markus R. (marom)


Lesenswert?

Vielen Dank für Deine Rückmeldung.

Da hab ich mir ein Hardware seitiges Abschalten zu einfach vorgestellt. 
Software wäre natürlich viel einfacher.

Ich muss mal messen was das Board tatsächlich verbraucht. Dauert aber 
noch ein paar Tage bis es da ist. Wenn das im einstelligen mA bleibt, 
wäre das für mich OK. Auf dem Board selber dürfte eigentlich nicht viel 
mehr als ein zusätzlicher LDO sein. Mal sehen was ich da bekomme...

von Jörg R. (solar77)


Lesenswert?

Joachim B. schrieb:
> Jörg R. schrieb:
>> Ansonsten gehört er an die Versorgungsspannung der Relais, nicht an VCC.
>
> doch an die VCC der Relais!

Dann schreibe das auch.

> (mitdenken ist nicht verboten)

Präzise ausdrücken auch nicht. Es gibt im Plan übrigens kein VCC Label,
wohl aber 24V.


> Jörg R. schrieb:
>> Lt. Schaltplan sitzen Freilaufdioden in den Relais-Sockeln.
>
> ja und Schaltpläne lügen nie!

Der Schaltplan ist vermutlich vom TO gezeichnet. Er hat dann auch den
von mir markierten Text geschrieben. Zudem hat er eine Typenbezeichnung
für das Relais mit dem Sockel angegeben, suche einfach mal nach dem DB
dafür. Die Diode wird im Sockel sitzen.


> (übrigens wären auch 2 Freilaufdioden
> parallel kein Fehler FALLS die doch nicht im Sockel sind und wenn doch
> stört die weitere Freilaufdiode hier auch nicht, lieber eine zuviel als
> KEINE)

Eine reicht aber. Der TO kann ja auch einfach mal messen, oder schreiben 
ob die Angaben im Schaltplan korrekt sind.


@TO
Die ULN2803A sind nicht die allerbeste Wahl für die Ansteuerung von
einem uC der mit 3,3V versorgt wird.

von Joachim B. (jar)


Lesenswert?

Jörg R. schrieb:
> Joachim B. schrieb:
>> Jörg R. schrieb:
>>> Ansonsten gehört er an die Versorgungsspannung der Relais, nicht an VCC.
>>
>> doch an die VCC der Relais!
>
> Dann schreibe das auch.
>
>> (mitdenken ist nicht verboten)
>
> Präzise ausdrücken auch nicht. Es gibt im Plan übrigens kein VCC Label,
> wohl aber 24V.

das ist wieder mal reines Gepöbel,

übrigens wären auch 2 Freilaufdioden parallel kein Fehler FALLS die doch 
nicht im Sockel sind und wenn doch stört die weitere Freilaufdiode hier 
auch nicht, lieber eine zuviel als KEINE

Jörg R. schrieb:
> Lt. Schaltplan sitzen Freilaufdioden in den Relais-Sockeln.
> Eine reicht aber. Der TO kann ja auch einfach mal messen

Nun fehlt nur noch dein Vorschlag wie er die überflüssige Freilaufdiode 
aus dem ULN oder Relais entfernt.

von Markus R. (marom)


Lesenswert?

Jörg R. schrieb:
> Jörg R. schrieb:
> @TO
> Die ULN2803A sind nicht die allerbeste Wahl für die Ansteuerung von
> einem uC der mit 3,3V versorgt wird.

Dazu hab ich hier im forum viele Beiträge mit teils kontroversen 
Meinungen gefunden. Mein Fazit war es geht, aber evtl. ist nicht der 
volle spezifiziert Strom möglich. Stört mich nicht, denn ich kann die 
relais ja entsprechend wählen, bzw. Haben die gewählten nur 7mA...
Für Alternativen bin ich aber auch zu haben.

Was die Diskussion über die Freilaufdiode angeht: I'm  sockel ist eine. 
Da aber ggf. an den freien Ausgänge auch ein anderes kommen könnte das 
dann vielleicht keine im Sockel hat, ist die im ULN für mich nicht 
überflüssig, sondern vorausschauend

: Bearbeitet durch User
von Jörg R. (solar77)


Lesenswert?

Joachim B. schrieb:
> Jörg R. schrieb:
>> Joachim B. schrieb:
>>> Jörg R. schrieb:
>>>> Ansonsten gehört er an die Versorgungsspannung der Relais, nicht an VCC.
>>>
>>> doch an die VCC der Relais!
>>
>> Dann schreibe das auch.
>>
>>> (mitdenken ist nicht verboten)
>>
>> Präzise ausdrücken auch nicht. Es gibt im Plan übrigens kein VCC Label,
>> wohl aber 24V.
>
> das ist wieder mal reines Gepöbel,

Sorry Joachim, aber Du stänkert doch rum. Das hast Du auch im Grunde 
auch schon in Deinem ersten Kommentar gemacht in dem Du auf meinen 
kommentierst hast.


> übrigens wären auch 2 Freilaufdioden parallel kein Fehler FALLS die doch
> nicht im Sockel sind und wenn doch stört die weitere Freilaufdiode hier
> auch nicht, lieber eine zuviel als KEINE

Ja, aber das wird durch wiederholen nicht besser, auch dann nicht wenn 
Du schreist.


> Jörg R. schrieb:
>> Lt. Schaltplan sitzen Freilaufdioden in den Relais-Sockeln.
>> Eine reicht aber. Der TO kann ja auch einfach mal messen
>
> Nun fehlt nur noch dein Vorschlag wie er die überflüssige Freilaufdiode
> aus dem ULN oder Relais entfernt.

Das ist Unfug. Und wie Du zwischenzeitlich lesen konntest sind Dioden in 
den Sockeln. Das der TO noch freie Ausgänge der ULN ggf. mit weiteren 
anderen Relais bescaltet war bis Dato nicht bekannt. Also schrieb ich 
zudem was bekannt war.

Weshalb Du dich so echauffierst erschließt sich mir nicht. Schade, 
eigentlich kannst Du es besser und auch sachlicher.


Markus R. schrieb:
> Jörg R. schrieb:
>> Jörg R. schrieb:
>> @TO
>> Die ULN2803A sind nicht die allerbeste Wahl für die Ansteuerung von
>> einem uC der mit 3,3V versorgt wird.
>
> Dazu hab ich hier im forum viele Beiträge mit teils kontroversen
> Meinungen gefunden. Mein Fazit war es geht, aber evtl. ist nicht der
> volle spezifiziert Strom möglich. Stört mich nicht, denn ich kann die
> relais ja entsprechend wählen, bzw. Haben die gewählten nur 7mA...
> Für Alternativen bin ich aber auch zu haben.

Du wirst auch keine Probleme bekommen, zumal Deine Relais mit 24V 
arbeiten. Wenn da 2V am ULN hängen bleiben spielt das keine Rolle. 
Trotzdem wollte ich es erwähnt haben. Eine Alternative kann ich Dir 
leider nicht nennen, außer es klassisch mit NPN Transistoren umzusetzen.


> Was die Diskussion über die Freilaufdiode angeht: I'm  sockel ist eine.
> Da aber ggf. an den freien Ausgänge auch ein anderes kommen könnte das
> dann vielleicht keine im Sockel hat, ist die im ULN für mich nicht
> überflüssig, sondern vorausschauend

Das ist nachvollziehbar, war nur nicht bekannt.

Dann muss der COM-Anschluss an die 24V, worüber auch die Relais versorgt 
werden.

: Bearbeitet durch User
von Markus R. (marom)


Lesenswert?

Ok ich glaub dann sind wir uns alle ja einig. Wenn jetzt noch der Strom 
des abgeschalteten displays erträglich ist, und ich da nicht wie oben 
vorgeschlagen tätig werden muss, setzte ich mich ans pcb.

Danke für eure Unterstützung! Die ist wie immer sehr hilfreich und 
zielführend!

von Joachim B. (jar)


Lesenswert?

Jörg R. schrieb:
> Weshalb Du dich so echauffierst erschließt sich mir nicht. Schade,
> eigentlich kannst Du es besser und auch sachlicher.

du eigentlich auch!
Mit den ULN mit Freilaufdioden war von Anfang des Threads an bekannt, 
das es durchaus Relais mit eingebauten Freilaufdioden gibt und nicht im 
Sockel impliziert in deinen Aussagen das beides nicht zusammen möglich 
einzusetzen geht und dem widersprach ich energisch!

Ja du hast mich auch schon mal angepöbelt und da reagiere ich auf deine 
Aussagen allergisch, erst Recht wenn sie nach Widerspruch und nur nach 
Widerspruch zu mir aussehen.

Also dann erkläre doch mal warum ULN mit Freilaufdiode und Relais mit 
Freilaufdiode nicht zusammen sein dürfen, bzw. warum man deiner 
Meinung nach für eines von Beiden andere Bauteile suchen soll.

Beitrag #7678439 wurde vom Autor gelöscht.
von Markus R. (marom)


Lesenswert?

Markus R. schrieb:
> Ok ich glaub dann sind wir uns alle ja einig. Wenn jetzt noch der Strom
> des abgeschalteten displays erträglich ist, und ich da nicht wie oben
> vorgeschlagen tätig werden muss, setzte ich mich ans pcb.
>
> Danke für eure Unterstützung! Die ist wie immer sehr hilfreich und
> zielführend!

So, und um noch etwas zum Thema beizutragen: das OLED hat über die 
Software ausgeschaltet ca. 0,15mA und angeschaltet ca. 1,5mA (aber die 
Messwerte schwanken etwas und ich hab nur ein Multimeter zur Hand). 
Damit kann ich leben :-)

von Markus R. (marom)


Lesenswert?

Jörg R. schrieb:
> @TO
> Die ULN2803A sind nicht die allerbeste Wahl für die Ansteuerung von
> einem uC der mit 3,3V versorgt wird.

Alternativ wäre ein ULN2001 denkbar mit externem 1K Widerstand vor jeder 
Transistorstufe wie es hier vorgeschlagen wird:
Beitrag "mit TTL 3,3V ein 5V Relais ansteuern -- Anfänger"

Datenblatt vom uln2003a gelesen, da wird der als "typical application" 
mit 3.3v logig angepriesen: https://www.ti.com/lit/gpn/ULN2003A
Also wie so oft, es gibt nicht "die eine" Lösung einer Aufgabenstellung.

: Bearbeitet durch User
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.