MCP23017 Spannungspegel am Output

OP #6223460
Lesenswert?

Hallo,

ich habe hier ein MCP23017 den ich als Port Expander am Atmega328P 
benutze. Alles funktioniert soweit gut, bis auf eine auf den ersten 
Blick unbedeutende Sache. Doch bei meinem Vorhaben sehr störende Sache.

Ich steuere mit dem MCP Transistoren die dann 16 LEDs anmachen. Das 
blöde ist das die Ausgänge des MCPs für einen Sekundenbruchteil nachdem 
die Stromversorgung angeht, alle einen hohen Spannungspegel (alle 
unterschiedlich 0,5-2,5 Volt)  haben und somit auch die LEDs  für diesen 
Sekundenbruchteil leicht glimmen.

Diesen Effekt kann ich auch beobachten wenn ich die I2C Verbindung 
trenne und den MCP mit Strom versorge. Das Problem bleibt bestehen, egal 
ob Transistoren dran sind oder nicht, quasi nur der nackte µC.

Wenn die Stromversorgung nicht unterbrochen wird und der Atmega den Code 
immer wieder ausführt ist alles super. Doch in meine Projekt wird die 
Stromversorgung immer wieder Komplett unterbrochen, daher nervt dieses 
glimmen sehr.


Bin relativ neu in der Materie und hoffe das mir da jemand helfen kann.

PS: Ich weiß das ich die Basiswiderstände nicht eingezeichnet habe.
Liebe Grüße
Andrej
Angehängte Dateien:
Gast #6223492
Lesenswert?

Andrej P. schrieb:
> Aber ist ja auch wurscht, der Atmega läuft ja super.
Wenn du meinst, und schlauer als der Hersteller und sein Datenblatt 
bist, dann ok.
Dann will ich nichts gesagt haben.

Andrej P. schrieb:
> NPN sollte doch auch gehen oder verstehe ich da etwas nicht.
Du hast jetzt Spannungsfolger aufgebaut.

Das macht aber meist wenig Sinn, bei Digitalstufen.
Da möchte man eher die Transistoren als Schalter nutzen, leicht bis 
deutlich in die Sättigung treiben.
OP #6223597
Lesenswert?

Thomas R. schrieb:
> wieviel Strom pro LED fließen soll, wenn sie an ist

ca. 35mA pro LED.

Thomas R. schrieb:
> - wie u. wo die LEDs angeschlossen sind (sehe ich in den Plänen nicht)

Die LEDs werden mit dem Pluspol an den Lötpads angeschlossen (in dem 
Schemata T6-T21)
mit 75ohm Widerständen und haben einen gemeinsamen Minuspol.


Bin jetzt aber schon etwas weiter, habe anstatt der angegeben BC817 mal 
2N2222 Transistoren verwendet und die LEDs glimmen am Anfang nicht mehr. 
An dem hohen Spannungspegel an den Ausgängen hat sich aber noch immer 
nix geändert und ich verstehe nicht warum das so ist. Wenn ich die auf 
LOW setzte ist alles gut. Aber es dauert halt einige Millisekunden.

Danke für die Hilfe bis jetzt.
OP #6223612
Lesenswert?

NichtWichtig schrieb:
> Warum sollten die Transitoren sperren wenn die Basis floated?

Genau das ist ja mein Problem, der Ausgang ist halt nur für ein paar 
Millisekunden im Schwebezustand und das auch nur wenn ich die 
Stromversorgung herstelle. Im code setze ich am Anfang die Ausgänge auf 
LOW und alles ist super.

NichtWichtig schrieb:
> Pulldownwiderstand pro T wäre hilfreich.

Daran habe ich leider nicht gedacht als ich das PCB gemacht habe.
#6223616
Lesenswert?

1. AVCC muss angeschlossen sein, sonst funktioniert unter anderem Port 
C nicht - der hat nämlich die ADC-Funktionen, und deswegen wird der von 
AVCC versorgt. AVCC braucht natürlich auch seinen 100n Kondensator.

2. Wenn Du den ADC verwendest, baue zwischen VCC und AVCC einen Ferrit 
ein, der die analoge Versorgungsspannung säubert.

3. Deine Transistorschaltungen sind falsch. Der Emitter gehört direkt an 
GND, die zu schaltende Last an den Kollektor und VCC. Du schaltest den 
Minuspol. Wenn Du den Pluspol schalten wollen würdest, müsstest Du 
PNP-Transistoren nehmen und den Emitter auf VCC legen.

Ändern!

fchk
OP #6223654
Lesenswert?

Frank K. schrieb:
> 1. AVCC muss angeschlossen sein, sonst funktioniert unter anderem
> Port
> C nicht - der hat nämlich die ADC-Funktionen, und deswegen wird der von
> AVCC versorgt. AVCC braucht natürlich auch seinen 100n Kondensator.
 Okay, danke für die Erklärung wusste ich nicht.


> 3. Deine Transistorschaltungen sind falsch. Der Emitter gehört direkt an
> GND, die zu schaltende Last an den Kollektor und VCC. Du schaltest den
> Minuspol. Wenn Du den Pluspol schalten wollen würdest, müsstest Du
> PNP-Transistoren nehmen und den Emitter auf VCC legen.
>
Okay, habe ich so auch überall gesehen nur dachte ich mir das es keinen 
Unterschied macht ob die Last vor dem Kollektor ist oder danach.
Macht man das so weil sonst zuviel Strom über Basis-Emitter fließen 
könnte oder welchen Grund hat es? Dafür gibt es doch normalerweise den 
Basiswiderstand

> Ändern!
Werde ich machen, danke :)

Gruß Andrej

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren