Forum: Mikrocontroller und Digitale Elektronik MCP23017 Spannungspegel am Output


von Andrej P. (andrej_p)


Angehängte Dateien:

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

von Einer K. (Gast)


Lesenswert?

VAcc solltest du auch anschließen.

Und NPN Transistoren als High Side Switches kommt mir auch komisch vor!

von Andrej P. (andrej_p)


Lesenswert?

@Arduino Fanboy D.
Ist AVCC nicht intern mit VCC verbunden? Aber ist ja auch wurscht, der 
Atmega läuft ja super.

NPN sollte doch auch gehen oder verstehe ich da etwas nicht.

: Bearbeitet durch User
von Einer K. (Gast)


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.

von Andrej P. (andrej_p)


Lesenswert?

Arduino Fanboy D. schrieb:
> Wenn du meinst, und schlauer als der Hersteller und sein Datenblatt
> bist, dann ok.

Nunja wäre ich schlauer als der Hersteller würde ich hier nicht fragen 
xD. Ich bin dir auch dankbar das du mich darauf aufmerksam machst, nur 
ist es halt nicht das was mir gerade Probleme bereitet.

von Einer K. (Gast)


Lesenswert?

Andrej P. schrieb:
> nur
> ist es halt nicht das was mir gerade Probleme bereitet.
Tut mir leid, deine Kreise gestört zu haben.

von Thomas R. (analogfreak)


Lesenswert?

bitte gib an
- wieviel Strom pro LED fließen soll, wenn sie an ist
- wie u. wo die LEDs angeschlossen sind (sehe ich in den Plänen nicht)

von NichtWichtig (Gast)


Lesenswert?

Warum sollten die Transitoren sperren wenn die Basis floated?
Pulldownwiderstand pro T wäre hilfreich.

von Andrej P. (andrej_p)


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.

von Andrej P. (andrej_p)


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.

: Bearbeitet durch User
von Frank K. (fchk)


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

von Andrej P. (andrej_p)


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

: Bearbeitet durch User
von Thomas R. (analogfreak)


Lesenswert?

Die Kollektor-Schaltung (=Spannungsfolger) die Du gewählt hast ist schon 
OK.
Zwar verliert man ca. 0,7 V an der BE-Strecke - versus 0,2 V_BC bei 
einer Emitterschaltung. Aber das meiste  fällt eh an den 75 Ohm ab, 
vermutl. 2 V, je nach LED.

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.