Forum: Mikrocontroller und Digitale Elektronik Leuchtkraft dimmen


von max (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Meine Frage bezieht sich auf folgenden Beitrag.
Beitrag "segment anzeige"

Mir wurde gesagt, dass ich die OE-PINS der Schieberegister gar nicht 
brauche und die Anzeigen über die PNPs dimmen kann.

Jetzt frage ich mich wie das funktionieren soll?!

Dann müsste ich aber 4 PWM Signale an den 4 Transistoren haben, daher 
auch 4 Timer dafür nutzen. Mit einem 5.Timer multiplexe ich das Ganze 
dann mittels Interrupt und schalte in jedem Aufruf immer das 
vorhergehende PWM Signal ab (Disablen).

Mit dem OE benötige ich nur 2 Timer und habe halt eine Leitung mehr.

Würde das mit den 4 PWMs so überhaupt funktionieren?

von Teo D. (teoderix)


Lesenswert?

max schrieb:
> Dann müsste ich aber 4 PWM Signale an den 4 Transistoren haben, daher
> auch 4 Timer dafür nutzen. Mit einem 5.Timer

Wowowowo, mal immer langsam mit den jungen Pferden! ;)

Erstens, man braucht nicht gleich für jeden PWM-Kanla einen eigenen 
Timer.
Zweitens, willst du JEDES Digit EINZELN dimmen? Egal, mach wie du 
willst. ;)

Du musst doch nach mem aktivieren eines Digits, nur einen Zähler in 
einem Timer mitlaufen lassen. Ist dieser abgelaufen, wird vorzeitig 
deine komplette Anzeige über OE wieder dunkel geschaltet, fettig.

von Michael B. (laberkopp)


Lesenswert?

max schrieb:
> Würde das mit den 4 PWMs so überhaupt funktionieren?

?!?

Du hast eine Multiplexanzeige.

Beispielsweise legst du das Segmentmuster der 1. Stelle an und schaltest 
den PNP der 1. Stelle ein, wartest 1/1000 Sekunde , dann wieder aus, 
nimmst das Segmentmuster der 2. Stelle und schaltest für 1/1000 Sekunde 
den PNP der zweiten Stelle an, wieder aus, Muster der 3. Stelle, PNP der 
3.Stelle, 1/1000 Sekunde warten, 3. aus, Segmentmuster von 4., PNP von 
4., 1/1000 Sekunde warten, 4. wieder aus.

Wenn du jetzt nicht jedesmal 1/1000 Sekunde wartest und die Stelle an 
lässt, sondern mal nur 0.5/1000 Sekunden an lässt, und dann 0.5/1000 
Sekunde aus lässt, dann ist deine Anzeige halb so hell.

0 weitere Bauteile, nur Software.

von max (Gast)


Lesenswert?

Teo D. schrieb:
> max schrieb:
>> Dann müsste ich aber 4 PWM Signale an den 4 Transistoren haben, daher
>> auch 4 Timer dafür nutzen. Mit einem 5.Timer
>
> Wowowowo, mal immer langsam mit den jungen Pferden! ;)
>
> Erstens, man braucht nicht gleich für jeden PWM-Kanla einen eigenen
> Timer.
> Zweitens, willst du JEDES Digit EINZELN dimmen? Egal, mach wie du
> willst. ;)
>
> Du musst doch nach mem aktivieren eines Digits, nur einen Zähler in
> einem Timer mitlaufen lassen. Ist dieser abgelaufen, wird vorzeitig
> deine komplette Anzeige über OE wieder dunkel geschaltet, fettig.

Dann benötige ich OE ja doch. Dann kann ich es ja gleich über OE machen. 
PWM direkt auf diesen Pin leiten.

von Teo D. (teoderix)


Lesenswert?

max schrieb:
> Dann benötige ich OE ja doch. Dann kann ich es ja gleich über OE machen.
> PWM direkt auf diesen Pin leiten.

Nein! Bin vom Thema abgekommen. :-/
Kannst natürlich auch die die Transistoren ausschalten, wie max 
beschrieben hat.
Kommt SW mäßig aufs selbe raus, nur halt 4 Pins abschalten, anstatt 
einen.

von max (Gast)


Lesenswert?

Michael B. schrieb:
> max schrieb:

>
> Beispielsweise legst du das Segmentmuster der 1. Stelle an und schaltest
> den PNP der 1. Stelle ein, wartest 1/1000 Sekunde , dann wieder aus,
> nimmst das Segmentmuster der 2. Stelle und schaltest für 1/1000 Sekunde
> den PNP der zweiten Stelle an, wieder aus, Muster der 3. Stelle, PNP der
> 3.Stelle, 1/1000 Sekunde warten, 3. aus, Segmentmuster von 4., PNP von
> 4., 1/1000 Sekunde warten, 4. wieder aus.
>
> Wenn du jetzt nicht jedesmal 1/1000 Sekunde wartest und die Stelle an
> lässt, sondern mal nur 0.5/1000 Sekunden an lässt, und dann 0.5/1000
> Sekunde aus lässt, dann ist deine Anzeige halb so hell.
>
> 0 weitere Bauteile, nur Software.

Danke

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.