Forum: Mikrocontroller und Digitale Elektronik pnp schaltet nicht richtig ab?


von Chris H. (hergi)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin gerade in die µC Welt eingestiegen und möchte nun drei 7-Segment 
Anzeigen im Multiplexbetrieb ansteuern. Die µC Grundschaltung habe ich 
schon aufgebaut und auch LEDs an/ausschalten funktioniert. Auch eine 
einzelne 7Segment Anzeige konnte ich schon erfolgreich ansteuern.

Nun zu dem Problem, ich hab die Schaltung entsprechend des Anhangs 
aufgebaut. Von der Software-Seite her funktioniert auch alles, es wird 
einfach ne dreistellige Zahl per Timer-Interrupt hochgezählt und soll 
auf den drei Anzeigen ausgegeben werden. Das funktioniert eigentlich 
auch, ich seh die Zahl (siehe Foto), allerdings seh ich auch nen 
"Schatten" in den einzelnen Anzeigen, d.h. z.B. in der ersten Anzeige 
sieht man noch leicht die Ziffer der dritten Anzeige leuchten (Sieht man 
auf dem Foto leider nicht wirklich).

Ich denke das kommt daher, dass die pnp-Transistoren nicht komplett 
sperren, oder?
Das hieße ja wiederum, dass der Basisstrom im Sperrzustand zu klein ist. 
Also hab ich die Basiswiderstände mal kleiner gemacht (310ohm), hat aber 
auch nichts genützt.

Liegt es vielleicht doch an was anderem?

von Falk B. (falk)


Lesenswert?

@  Chris Herch (hergi)

>auch, ich seh die Zahl (siehe Foto), allerdings seh ich auch nen
>"Schatten" in den einzelnen Anzeigen, d.h. z.B. in der ersten Anzeige
>sieht man noch leicht die Ziffer der dritten Anzeige leuchten (Sieht man
>auf dem Foto leider nicht wirklich).

>Ich denke das kommt daher, dass die pnp-Transistoren nicht komplett
>sperren, oder?

Das tut er auch, nur zu langsam, weil deine Ansteuerung nicht sonderlich 
schnell/schön ist.

>Das hieße ja wiederum, dass der Basisstrom im Sperrzustand zu klein ist.

Eher zu groß.

>Liegt es vielleicht doch an was anderem?

Ja, am Timing und deinen Augen. Die sehen die LEDs auch bei 0,1% 
Helligkeit noch leuchten, siehe LED-Fading.
Das muss man verhindern. Deshalb beim Multiplexen so vorgehen (im 
Timer-Interrupt)

1. Alle Digits ausschalten
2. Neuen Datensatz für Segmente berechnen udn laden
3. Neues Digit einschalten

Die paar Mikrosekunden die Schritt 2 benötigt reichen, um das 
Nachleuchten zu verhindern.

MFG
Falk

von Chris H. (hergi)


Lesenswert?

Wow ich dachte wirklich es wäre ein Hardware-Problem (Naja ist es ja 
irgendwie auch aber ich war mir sicher ich muss was an der Schaltung 
ändern). Ich hab mein Programm jetzt so geändert wie du es vorgeschlagen 
hast und es funktioniert einwandfrei. Vielen Dank =)

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.