Forum: Mikrocontroller und Digitale Elektronik LED Multiplexing


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Martin S. (sirnails)


Angehängte Dateien:

Lesenswert?

Hallo miteinander,

ich bin gerade am Ideen sammeln und Umsetzbarkeit prüfen.

Ich möchte an einem µC (Mega32 oder 2313) 10 LEDs anschließen. Diese 
sind RGB-LED. Es sollen immer 3 LED gleichzeitig leuchten, wobei LED 2 
mit voller Lichtstärke, LED 1 und 3 mit halber Stärke betrieben werden 
sollen. Vielleicht wird das aus dem Anhang heraus verständlich. Bei LED 
2 sollte also der Duty-Cycle zwischen 0 und 1, bei LED 1 und 3 zwischen 
0 und 0,5 liegen (je nachdem, welche Helligkeit ein Sensor feststellt).

Problematisch ist für mich auch, dass die RGB-LED nicht für jeden 
Farbwert den gleichen Strom bei gleicher Helligkeit verträgt (LATB T66C 
OSRAM MultiLED -> Amber 30mA, Blau und Grün 20mA).

Idealerweise würde ich aber gerne für jede LED den Farbwert und die 
Helligkeit softwareseitig einstellbar haben wollen.

Wie lässt sich sowas geschickt umsetzen? Ich habe in dem Gebiet wenig 
bis kaum Erfahrung.

Vielen Dank für eure Unterstützung,

Grüße M. Schwaikert

von Dude (Gast)


Lesenswert?


von MaWin (Gast)


Lesenswert?

> Wie lässt sich sowas geschickt umsetzen?

Nimm deinen Mega32. Der hat (mehr als) 30 Ausgänge.
Schliesse die 10 RGB LEDs über Vorwiderstände an, die den maximalen 
Strom zulassen den du brauchst.
Die Helligkeit der LEDs regelst du durch schnelles ein-/ausschalten 
(PWM, nicht Multiplex).
Die LEDs links und rechts von der mittleren sind nur die halbe zeit an 
wie die mittlere, die anderen sind aus. Dadurch wird auch der 
Gesamtstrom des ATmega nicht überschritten.
Als Helligkeitssensor kann eine Photodiode mit einem Vorwiderstand in 
Reihe an 5V und die Spannung zwichen beiden wird mit einem A/D-Eingang 
gemessen.

Mehr Bauteile braucht man nicht, man braucht auch keinen Quartz weil die 
Taktfrequenz nicht so wichtig ist.

Nimmt man einen 2313, könnte man zwei TLC5921 oder ähnlich anschliessen, 
das sind dann zwar zwei zusätzliche ICs, aber 28 Widerstände weniger. 
Das Programm wird aufwänsiger, aber schaffen tut der 2313 das.

von Ulrich (Gast)


Lesenswert?

Da nur je 3 RGB LEDs gleichzeitig an sein sollten, kann man das noch 
ganz gut als LED Matrix machen. Schon von der Verdrahtung in den LEDs 
führt das zu einer 10 x 3 Matrix. Also einmal die 10 gemeinsamten 
anschlüsse der LEDs an der einen Seite, und die 3 Farben an der anderen. 
Die Widerstände zu einstellung des Stromes kommen auf die Seite mit den 
Farben - damit kann man da frei unterscheiden.

Da von den 10 LED nur je 3 an sind, wird auch das Tastverhältniss nicht 
so schlecht. Halt nicht 100%, aber immerhin sind 50% für die Helle LED 
und je 25% für die beiden halb hellen drin.

Wenn man wirklich 100% Helligkeit braucht, kann man auch die LED-reihe 
in 2 Teilen und je die geraden und ungeraden Positionen zusammenfassen, 
dann als 5 x 6 Matrix. Dann ist die helle LED für sich, und nur die 
beiden halb hellen LEDs teilen sich ein Zeitfenster. Von der Software 
geht das auch mit den Tiny 2313. Der Mega32 ist übertrieben, aber ein 
Mega48 oder ähnlich wäre ggf. schon sinnvoll, denn der Tiny2313 hat 
keinen AD Wandler.

von Martin S. (sirnails)


Lesenswert?

Wenn ich das also richtig verstehe, dann sollte die Farbe fest 
eingestellt leichter zu handhaben sein.

Das ergibt dann im schlimmsten Fall allerdings einen Spitzenstrom von 
70mA. Hält das der ATMEGA überhaupt aus? Sinnvoller wäre doch dann, in 
die 10 Transistoren zu investieren, oder?

Und wie läuft dann das PWM ab? Ich gebe nach und nach auf jeden Portpin 
das PWM-Signal, dessen Puls/Pausen-Verhältnis anhand der geographischen 
Anordnung eingestellt wird?

von Ulrich (Gast)


Lesenswert?

Mehr als etwa 20 mA geht nicht direkt über die Ausgänge. Entsprechend 
wird man wohl extra Treiber (z.B. kleine Transistoren oder MOSFETS) 
brauchen. Nur wenn man sich für alle Farben auf je 20 mA beschränkt 
könnte man an der einen Seite ohne Treiber auskommen - da reichen dann 5 
Transistoren. Die LEDs leuchten ja auch mit weniger als dem maximalen 
Strom.

Für LEDs kann man noch mit Software PWM auskommen. Es wird ja keine so 
hohe Wiederholfrequenz benötigt. Die LEDs bekommen auf der einen Seite 
dsa Signal zur Auswahl der LED und auf der anderen das PWM Signal, wenn 
man nicht die volle Helligkeit haben will. Bei der Umschaltung als LED 
Matrix wird das PWM Signal eher eine variable Pulslänge und dann für den 
Rest eine Pause.

von Martin S. (sirnails)


Lesenswert?

Also ich habe mir dazu jetzt noch einige Gedanken gemacht:

Ich ordne die LEDs in einer 10x2 Matrix an. Somit kann ich auf jeden 
Fall schonmal alle R/B-Werte geziehlt ansteuern. Grün brauche ich 
eigentlich nicht, da weder in Blau, noch in Rot bzw. jeglichen 
Zwischenstufen Grün enthalten ist.

Die gemeinsame Anode bzw. Kathode (ist ja eigenlich egal) würde ich dann 
noch über einen Mosfet/Bipolar am PWM-Ausgang schalten. Somit könnte ich 
für jede LED ganz gezielt das Puls/Pausen-Verhältnis einstellen.

Die LEDs selbst vertragen maximal 100mA Impulsstrom. Somit würde ich mal 
80mA als Maximalstrom veranschlagen.

Ist das eine Lösung, die funktionieren könnte? Welche Transistoren im 
SOT-Gehäuse würden sich dafür eignen?

Vielen Dank für Eure Hilfe,

Grüße

M. Schwaikert

von Martin S. (sirnails)


Lesenswert?

Ist die Frage zu schwer, oder zu abwegig?

von Krapao (Gast)


Lesenswert?

Kennst du die Artikel Standardbauelemente: Transistoren und 
Transistor-Übersicht? Beim zweiten Link kannst du die Tabelle nach 
Package sortieren.

von Hebel Zieher (Gast)


Lesenswert?

Martin Schwaikert schrieb:
> Die LEDs selbst vertragen maximal 100mA Impulsstrom. Somit würde ich mal
>
> 80mA als Maximalstrom veranschlagen.

Hi,

was sagt den dein datenblatt zur Pulsstromdauer? Ich hab mals kurz 
reingeschaut... bei 100mA Pulsstrom darf bei 1/5Duty gerademal 1ms die 
100mA anstehn das wären dann 1kHz ohne PWM... überprüf das nochmal da 
verschätzt man sich schnell... und wenn die LEDS relativ schnell im 
eimer sind ist das auch ärgerlich.

PS: Ich hab nur sehr kurz ins Datenblatt geschaut... die Werte müssen 
nicht stimmen...

von Martin S. (sirnails)


Lesenswert?

Hallo,

danke erstmal für die Antworten.

Ich habe jetzt mir das ganze mal aufgezeichnet, und bin auf zwei 
Probleme gestoßen:

1) Die Lichteffizienz ETA (lm/W) ist bei allen Farben unterschiedlich. 
Um also bei Blau die gleiche Helligkeit wie bei Rot zu erreichen, 
brauche ich den fast 3-fachen Strom.

Daher habe ich mir überlegt, diese Helligkeitsregelung über einen 
Mosfet, der per PWM gesteuert wird, umzusetzen.

2) Die Flusspannung ist bei Rot anders als bei Grün und Blau. Wenn ich 
nun eine Matrix (10x3) mache, welche die einzelfarben als Spannung 
multiplext, wie kann ich dann die Flussspannung einstellen? Ich müsste 
ja alle Zeilen dann mit 3V (d.h. Rv= (5V - U_CEsat - U_BE - 2V)/30mA) 
versorgen, aber die Spalte für Rot weniger ansteuern. Hier müssten dann 
statt UCE = 0,7V 1,7V abfallen. Ist das eine adäquate Lösung?

von Karl H. (kbuchegg)


Lesenswert?

Kommt mir alles reichlich kompliziert vor.

Warum nicht einfach für jede LED-Farbe einen entsprechend angepassten 
Vorwiderstand und den Rest macht man in der Software durch Beeinflussung 
der PWM.

Nichts gegen rechnen. Aber in der Praxis macht dir die Exemplarstreuung 
sowieso einen Strich durch die Rechnung. Und ob das abgedimmt Violett 
tatsächlich abgedimmt ist und anonsten der gleiche HL-Farbton (im HLS 
Farbraum) ist oder einen ganz leichten Rotstich bekommen hat, merkt kein 
Mensch.

von Martin S. (sirnails)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Kommt mir alles reichlich kompliziert vor.
>
> Warum nicht einfach für jede LED-Farbe einen entsprechend angepassten
> Vorwiderstand und den Rest macht man in der Software durch Beeinflussung
> der PWM.

Weil ich dann 10 Widerstände mehr brauchen würde.

> Nichts gegen rechnen. Aber in der Praxis macht dir die Exemplarstreuung
> sowieso einen Strich durch die Rechnung. Und ob das abgedimmt Violett
> tatsächlich abgedimmt ist und anonsten der gleiche HL-Farbton (im HLS
> Farbraum) ist oder einen ganz leichten Rotstich bekommen hat, merkt kein
> Mensch.

Darum geht es mir ja auch nicht. In der Tat ist Rot mit 11mA genauso 
hell wie Grün bei 4mA - zumindest für das menschliche Auge. Diese Werte 
sollten also schon grob stimmen. Problematisch ist ja nur für mich, dass 
R, G und B einer LED in der gleichen Reihe liegt. Die einzige Chance ist 
daher, UCE der Spaltentransistoren zu vergrößern. Und daher interessiert 
mich, ob das eine mögliche Lösung ist.

Ich mache mal ne Zeichnung, und lade sie hoch. Dann wird es wohl 
verständlicher.

von Ulrich (Gast)


Lesenswert?

Den Strom der LEDs bestimmt man durch Widerstände. Jeder Widerstand ist 
dabei nur für LEDs einer Farbe zuständig. Entsprechend man man die 
unterschiedliche Spannung der LEDs bei der Berechnung der Widerstände 
berücksichtigen. Die Feinheiten kommen dann per PWM (bzw. nur Pulsläge) 
Steuerung für die LEDs einzeln.

Da maximal 3 LEDs leuchten sollten muss man den Strom auch gar nicht so 
hoch wählen. Man kann die LEDs für relativ lange Zeit an lassen: bei der 
10x2 Matirx kann die LED mit der Vollen Helligkeit bis zu 50% 
Tastverhältniss bekommen - mehr als etwa 40 mA darf man der LED dann gar 
nicht geben.
Bei der 5x4 Matrix (war oben als 5x6 mit RGB) kann die LED in der Mitte 
sogar bis 100% bekommen und nur die halb hellen LEDs bekommen maximal 
50% Tastverhältnis. Da braucht man dann nicht mehr als 30 mA, und 
eventuell reichen sogar die 20 mA direkt vom Port.

von MaWin (Gast)


Lesenswert?

> Die einzige Chance ist daher, UCE der Spaltentransistoren zu vergrößern.

Kannst du vergessen.

10x3 Multiplex ist also doof.

5x6 ist besser, 5 rote, 5 rote, 5 blaue, 5 blaue, 5 grüne und 5 grüne,
damit sind 2 Spaltenwiderstände für rot, 2 für blau und 2 für grün zu 
dimensionieren, mit 5-fachem Pulsstrom 1/5 der Zeit.
Netterweise sin 11 Anschlüsse auch noch weniger als 13 Anschlüsse.

von Martin S. (sirnails)


Lesenswert?

Hey Mawin,

super Idee. Das spart mir sogar noch ein haufen Zeit, weil ich dann 
immer nur Reihe 1, 3, 5 oder 2, 4, 6 ansprechen muss.

Mal sehen, wie da die Umsetzung aussieht.

von Martin S. (sirnails)


Lesenswert?

Ich hab mal die Transistortabelle durchgesehen, und bin auf den recht 
preisgünstigen FMMT617 gestoßen.

Bei der Berechnung für den Vorwiderstand an der Basis für die Zeilen bin 
ich allerdings ein wenig ins Stutzen gekommen.

Für ein Beta von 60 sagt das Datenblatt ein UBEsat von 0,7V, ein UCEsat 
von 10mV. Bei 30mA Schaltstrom wären das 500µA Basisstrom an einem 
7,6kOhm Vorwiderstand. Mir kommen diese Werte ein wenig spanisch vor. 
Kann das stimmen? Mir fehlen einfach die Erfahrungswerte, um das richtig 
einschätzen zu können.

Grüße

M. Schwaikert.

von MaWin (Gast)


Lesenswert?

> Kann das stimmen?

Bei diesem Transistor schon, es ist ein speziell dünngeschliffener low 
sat high beta Transistor, dessen Nachteil die geringe 
Spannungsfestigkeit ist, der aber eigentlich füh höhere Ströme gedacht 
ist.

Nimm einen BC547/BC847 und 3mA Basisstrom, also 1k2 als Vorwiderstand.

von Martin S. (sirnails)


Lesenswert?

MaWin schrieb:
>> Kann das stimmen?
>
> Bei diesem Transistor schon, es ist ein speziell dünngeschliffener low
> sat high beta Transistor, dessen Nachteil die geringe
> Spannungsfestigkeit ist, der aber eigentlich füh höhere Ströme gedacht
> ist.

U_CEmax ist ja 15V. Da bin ich dann ja bei 5V auf jeden Fall auf der 
sicheren Seite.

>
> Nimm einen BC547/BC847 und 3mA Basisstrom, also 1k2 als Vorwiderstand.

Also wenn ich vergleiche:

           FMMT617          BC846
U_CEsat    10    mV         100   mV
U_BEsat    0,7    V         0,75   V
h_fe(25°C) 60               30
€/St.      0,30             0,06

Von den Werten her scheint der FMMT617 besser als der BC846, ist aber 
dafür fünf mal so teuer. Welcher Grund spricht also neben dem Preis für 
den BC? Das Teil soll am Schluss nicht unbedingt viel Strom verbrauchen. 
Ein wenig sparen ist schon angesagt.

von Karl H. (kbuchegg)


Lesenswert?

Martin Schwaikert schrieb:

>
>            FMMT617          BC846
> U_CEsat    10    mV         100   mV
> U_BEsat    0,7    V         0,75   V
> h_fe(25°C) 60               30
> €/St.      0,30             0,06
>
> Von den Werten her scheint der FMMT617 besser als der BC846,

Was bei dir aber völlig wurscht ist. Du bist nirgends auch nur annähernd 
im Grenzbereich.

> den BC? Das Teil soll am Schluss nicht unbedingt viel Strom verbrauchen.
> Ein wenig sparen ist schon angesagt.

Auch das ist herzlich egal. Dein Stromverbrauch wird durch die LED 
bestimmt, nicht durch die Treibertransistoren.

Wenn dein Auto im Sommer wegen der Winterreifen 2l auf 100km mehr 
verbraucht, sind die 10ml Spritersparnis durch einen Spoiler auch schon 
egal.

von MaWin (Gast)


Lesenswert?

> Welcher Grund spricht also neben dem Preis für den BC?

Der Preis.
Der FMMT617 wird schon gar nicht mehr hergestellt.
Bei eBay zu Sammlerpreisen erhältlich
http://www.ebay.de/sch/i.html?_from=R40&_trksid=p5197.m570.l1313&_nkw=fmmt617&_sacat=See-All-Categories

Eine Schaltung auf BC847 lässt sich mit quasi jedem
Transistor aufbauen, eben dem billigsten der gerade
rumliegt, z.B. SS8050.

Ein LowSat ist immer teurer. Man verwendet ihn nur,
wo man so viel Strom auch schalten muß.

Wenn bei dir natürlich eine 100er Tüte rumliegt,
mujsst du sie ja nicht bei eBay versilbern.

von Martin S. (sirnails)


Lesenswert?

Ahh ok. Das dürfte als Argument reichen :) Ich hatte mich da nur an der 
Liste von hier orientiert, und nicht näher gesucht. Bei Reichelt wäre er 
auch verfügbar.

Wie dem auch sei: Ich komme beim BC auf 1mA Basisstrom, du schriebst 
3mA. Was ist jetzt besser? Für den Sättigungsbetrieb sollte ja 1 mA 
ausreichend sein.

von Karl H. (kbuchegg)


Lesenswert?

Martin Schwaikert schrieb:

> Wie dem auch sei: Ich komme beim BC auf 1mA Basisstrom, du schriebst
> 3mA. Was ist jetzt besser? Für den Sättigungsbetrieb sollte ja 1 mA
> ausreichend sein.

Du hast auch Einzelexemplarstreuung. Blas in die Basis mit 3mA rein und 
du kannst sicher sein, dass der Transistor auf jeden Fall in der 
Sättigung ist.
Selbst wenn er zu deinen Ungunsten mit seinen Parametern gestreut ist.

Wenn du 50kg unter der Decke an einem Seil aufhängen willst, kaufst du 
auch nicht ein Seil, welches 50kg gerade noch hält und bei 51kg reißt.
Das Zauberwort in der Technik heißt "Überdimensionierung". Mit Mass und 
Ziel natürlich, aber man lässt sich immer eine Reserve. (Ausser in der 
Raumfahrt und der Formel 1)

von Martin S. (sirnails)


Lesenswert?

Hach ist das herrlich. Vor dem Studium lernt man, dass die gültigen 
Ziffern das wichtigste der Welt sind, im ersten Semester reicht dann nur 
noch eine Nachkommastelle, und in der Praxis ist das alles egal, da darf 
man mal um 60% daneben liegen.

Dann werde ich das mal mit 3mA durchrechnen.

Vielen Dank euch erstmal.

von Karl H. (kbuchegg)


Lesenswert?

Martin Schwaikert schrieb:
> Hach ist das herrlich. Vor dem Studium lernt man, dass die gültigen
> Ziffern das wichtigste der Welt sind, im ersten Semester reicht dann nur
> noch eine Nachkommastelle, und in der Praxis ist das alles egal, da darf
> man mal um 60% daneben liegen.

Solange du auf der richtigen Seite daneben liegst :-)

Was rein rechnerisch rauskommt, sind in dem Fall sowas wie die 
Mindestanforderungen. Wenn du errechnest, dass dein Widerstand mit 0.12W 
belastet wird, dann nimmst du keinen 1/8W Widerstand, sondern die 
nächste größere Größe. Denn die Dinge altern und verändern im Lauf der 
Zeit ihre Werte. Und was sich heute noch knapp ausgeht, kann morgen dann 
schon über dem Limit sein. Und genau aus dem Grund geht man mit 
Dimensionierungen eben nicht bis knapp ans Limit, selbst wenn der 
Baustein das heute gerade noch aushalten würde.

So auch hier: rein rechnerisch brauchst du 1mA damit der Transistor in 
der Sättigung ist. Weniger als 1mA darf es daher nicht sein. Aber mehr 
ist solange kein Problem, solange du ihn nicht dadurch überlastest. Also 
nimmst du einen kleinen Sicherheitsfaktor damit du auch dann die 
Sättigung noch halten kannst, wenn
* dein realer Transistor die Werte aus dem Datenblatt nicht ganz 
erreicht
* die Bausteine rundherum gealtert sind und ihre Werte verändert haben

von Martin S. (sirnails)


Lesenswert?

Ist zwar nicht schön, dafür aber selten :)

Könnte das jetzt so funktionieren? Berechnet sind die Widerstände auf 
30mA Impulsstrom, sodass also auch ein Dauerbetrieb theoretisch die LEDs 
nicht killt.

Streng genommen steuere ich im Verhältnis 1/30 bzw. 1/15 an (je nachdem, 
ob die LEDs auf zwei Spalten, oder auf einer Spalte leuchten müssen). 
Welche Taktfrequenz ist hier realistisch, wenn für jede LED das 
PWM-Register geändert wird, und ich auf 8MHz interner RC-Oszillator 
laufe? Die Berechnungen selbst, die der Prozessor vornehmen muss, werden 
allerhöchstens alle 5 bis 10 Sekunden ausgeführt, können also 
vernachlässigt werden.

Hat da jemand eine Abschätzung für mich?

von Martin S. (sirnails)


Angehängte Dateien:

Lesenswert?

(Geht das nachträgliche Einfügen von Bildern gar nicht?)

von Ulrich (Gast)


Lesenswert?

Die Widerstände sollten alle an die eine Seite der Matrix, in diesem 
Fall unten.
Auf den extra Transistor für das PWM Signal kann man auch verzichten - 
das kann man auch direkt an den Leitungen für die LEDs in Software 
machen.

Beim Gruppieren der LEDs kann man oben z.B. jeweils die LEDs 1 und 2 , 3 
und 4 usw. zusammen auf einen Leitung legen. Für die 3 LEDs die zu einer 
Zeit aktiv sein sollen braucht man dann nur jeweils 2 der Gruppen, und 
bei der einen Gruppe ist nur eine halb helle LED dabei. Entsprechend 
kann man 2/3 der Zeit die Helle LED an haben, und 1/3 für die 
halb-helle.

von MaWin (Gast)


Lesenswert?

> Könnte das jetzt so funktionieren?

Wo kommt eigentlich diese Scheiss-Schaltung her,
die sehe ich doch nicht zum ersten Mal,
die hast du doch bloss abgezeichnet,
auf solchen Humbug kommt man doch hoffentlich
nicht von alleine.

Den zusätzlichen PWM Transistor,
die Widerstände vor und nach der Matrix,
Emitterfolger wenn die Spannung eh schon knapp ist,
das ist doch alles so abstrus, da zeichnet doch bloss
ein Held vom anderen ab, je grösser der Schwachsinn
um so bevorzugter die Schaltung.

         +--+--+--+--+--+-- +5V
         |  |  |  |  |  |E
 --220R--(--(--(--(--(-|< PNP (BC857)
 --220R--(--(--(--(-|<  |      +-------------------+
 --220R--(--(--(-|<  |  +-27R--|rot                |
 --220R--(--(-|<  |  +----27R--|rot                |
 --220R--(-|<  |  +-------12R--|blau  je 5 LEDs    |
 --220R-|<  |  +----------12R--|blau               |
         |  +-------------27R--|grün               |
         +----------------27R--|grün               |
           100mA Zeilenstrom   +-------------------+
                                 |   |   |   |   |
 --220R-------------------------|<   |   |   |   |
                                 |E  |   |   |   |
 --220R--------------------------(--|<   |   |   |
                                 |   |E  |   |   |
 --220R--------------------------(---(--|<   |   |
                                 |   |   |E  |   |
 --220R--------------------------(---(---(--|<   |
                                 |   |   |   |E  |
 --220R--------------------------(---(---(---(--|<
                    FMMT617      |   |   |   |   |E
                           GND --+---+---+---+---+

> Streng genommen steuere ich im Verhältnis 1/30 bzw. 1/15 an

Das wäre blöd, nur wenige LEDs vertragen Pulsströme unter 1:10,
die Schaltung wurde extra für 1:5 ausgelegt.

von Ulrich (Gast)


Lesenswert?

Die Basiswiderstände können ruhig etwas größer werden. Mehr als 2 mA an 
Basisstrom wird man nicht brauchen - vor allem nicht für die PNP, die 
nur je 1 LED treiben.

Wenn wirklich nur die oben beschriebenen LED muster gefordert sind, muss 
man nicht mal 1:5 Multiplexen, man kann sogar auf 1:2 gehen, oder wie 
oben schon gesagt gar auf 2:3. Für die Fälle wo keine LED an ist muss 
man ja nicht noch extra warten. Dann sollten auch 30 mA für die LEDs 
reichen, und die Widerstände zum einstellen des Stroms dürfen auch 
größer werden.

Es reichen dann auch überall kleine Transistoren wie BC848, da maximal 
60 mA fließen. Wenn man beim Strom noch von 30 mA auf 20 mA runter geht, 
kann man auch noch auf die 6 PNP Treiber verzichten und die 20 mA direkt 
vom Port aus treiben.

von Martin Schwaikert (Gast)


Lesenswert?

MaWin schrieb:
>> Könnte das jetzt so funktionieren?
>
> Wo kommt eigentlich diese Scheiss-Schaltung her,
> die sehe ich doch nicht zum ersten Mal,
> die hast du doch bloss abgezeichnet,
> auf solchen Humbug kommt man doch hoffentlich
> nicht von alleine.

Nicht ganz. Die grobe Vorlage stammt von Mikrocontroller.net, zu finden 
unter LED Matrix.

> Den zusätzlichen PWM Transistor,

Der soll eigentlich bloß die Ansteuerung vereinfachen, da ich mindestens 
3 zur gleichen Zeit, pro vollständigen Durchlauf 9 LEDs mit jeweils 
unterschiedlichen Puls-Pausen-Verhältnissen ansteuern muss.

> die Widerstände vor und nach der Matrix,

Sind aus der Not geboren.

> Emitterfolger wenn die Spannung eh schon knapp ist,

Sowas nennt man dann wohl mangelnde Erfahrung. Man lernt doch sowas 
nicht mehr im Studium. Rein rechnerisch geht es auf, also wird es 
gebaut... oder so ähnlich.

> das ist doch alles so abstrus, da zeichnet doch bloss
> ein Held vom anderen ab, je grösser der Schwachsinn
> um so bevorzugter die Schaltung.

Wenn die Schaltung wirklich so katastrophal ist, dann wäre es mal an der 
Zeit, den Wiki-Artikel zu überarbeiten.

>
>          +--+--+--+--+--+-- +5V
>          |  |  |  |  |  |E
>  --220R--(--(--(--(--(-|< PNP (BC857)
>  --220R--(--(--(--(-|<  |      +-------------------+
>  --220R--(--(--(-|<  |  +-27R--|rot                |
>  --220R--(--(-|<  |  +----27R--|rot                |
>  --220R--(-|<  |  +-------12R--|blau  je 5 LEDs    |
>  --220R-|<  |  +----------12R--|blau               |
>          |  +-------------27R--|grün               |
>          +----------------27R--|grün               |
>            100mA Zeilenstrom   +-------------------+
>                                  |   |   |   |   |
>  --220R-------------------------|<   |   |   |   |
>                                  |E  |   |   |   |
>  --220R--------------------------(--|<   |   |   |
>                                  |   |E  |   |   |
>  --220R--------------------------(---(--|<   |   |
>                                  |   |   |E  |   |
>  --220R--------------------------(---(---(--|<   |
>                                  |   |   |   |E  |
>  --220R--------------------------(---(---(---(--|<
>                     FMMT617      |   |   |   |   |E
>                            GND --+---+---+---+---+
>
>> Streng genommen steuere ich im Verhältnis 1/30 bzw. 1/15 an
>
> Das wäre blöd, nur wenige LEDs vertragen Pulsströme unter 1:10,
> die Schaltung wurde extra für 1:5 ausgelegt.

Die LEDs vertragen 30mA Dauerstrom. Dabei sind sie aber so unerträglich 
hell, dass man sich damit die Netzhaut wegbrennt. Dass man eine LED, die 
30mA als Dauerstrom aushält nicht mit 30mA pulsen darf, wusste ich 
nicht.

Wie gesagt: Das ist alles Neuland. Irgendwann muss man ja anfangen.

von MaWin (Gast)


Lesenswert?

> Dass man eine LED, die 30mA als Dauerstrom aushält nicht mit
> 30mA pulsen darf, wusste ich nicht.

Doch, darf man, nur ist sie dann eben 1/5 so hell (bei 1:5 Multiplex)

Nur damit eine 30mA LED auch im 1:30 Multiplex so hell erscheint wie 
wenn man sie mit 30mA Dauerstrom versorgt, muss man 1/30tel der Zeit 
eben 900mA durchjagen, und das verträgt sie nicht. Meist ist bei 120mA 
Schluss.

Und ob deine 30mA LEDs schon bei 1mA hell genug wären mag dann doch 
bezweifelt werden. Daher ist 1:30 als Multiplex wohl übertrieben, auch 
2mA bei 1:15.

Wenn die LEDs zu hell sind, spricht übrigens nichts dagegen, die 
Schaltung trotzdem für volle Helligkeit auszulegen, und einfach das 
Programm so zu schreiben, daß die LEDs nicht die ganze 1/5tel oder 
1/30tel der Zeit an sind, sondern noch weniger, z.B. 1/20tel oder 
1/60tel. Dann hätte man nachträglich immer noch die Gelegenheit, die 
Helligkeit durch einfache Softwareänderung zu erhöhen, wo sonst ein 
ganzer Schaltungsumbau nötig wäre.

Wenn man die Schaltung so aufbaut, daß man weniger Strom durch die LEDs 
schickt, dann sollte das für die Schaltung auch einen Vorteil haben, 
z.B. Transistoren sparen. Da kommt man aber legal nur hin, wenn man 
nicht 30mA sondern nur 20mA fliessen lässt, dann könnte man sich alle 
Reihentransistoren einsparen.


Deine Ursprungsgeschichte, 30 LEDs von denen nur 3 voll mit 20mA und 6 
halb mit 10mA bzw. 50% der Zeit 20mA leuchten, lässt sich ganz ohne 
extra Transistoren aufbauen, nur mit den bis 20mA liefernden uC 
Ausgängen und Vorwiderständen. Mit etwas Intelligenz und Mühe kann man 
eine Anordnung der 10 LEDs finden, je 2 in unterschiedlicher Polung, mit 
denen es auch mit weniger Ausgängen geht, 5 pro Farbe, 15 gesamt und 
damit einem ATmega8.

Pro rot, grün, blau:

 +-------------------------------R-------------------------------+
 |                                                               |
 +--|>|--+     +--|>|--+     +--|>|--+     +--|>|--+     +--|>|--+
 |       +--R--+       +--R--+       +--R--+       +--R--+       |
 +--|<|--+     +--|<|--+     +--|<|--+     +--|<|--+     +--|<|--+
 |             |             |             |             |
Pin1          Pin2          Pin3          Pin4          Pin5

von Ulrich (Gast)


Lesenswert?

Im Artikel zur LED matrix ist schon das Problem mit der Spannung 
beschrieben. Die Matrix mit Emiterfolgern geht mit nur roten LEDs, aber 
halt kaum noch mit blauen LEDs.

Die LEDs darf man auch mit weniger Strom betreiben. Wie hell die LEDs 
werden hängt stark vom Typ ab - da gibt es sehr helle, aber halt auch 
Funzeln, die man kaum hell genug bekommt. Gepulst kann man oft nicht 
mehr als das 10 fache des Dauerstromes nutzen - entsprechend wird es 
spätestens ab 10-fach Multiplexing dunkler.

Wenn die LEDs mit 30 mA schon zu hell sind, sollten 20 mA oder noch 
etwas weniger als Strom reichen, so dass man auf der einen Seite (die 
mit den LED Farben) auf die Transistoren verzichten kann.

Für LEDs darf das PWM Signal relativ langsam sein - das kann man noch in 
Software erreichen. Im Idealfall wird das auch kein klassisches PWM, 
sondern eine Variable Zeit für das Umschalten beim Multiplexing. Für die 
3 LEDs wie anfangs Beschrieben, erhält man dann z.B. folgende Phasen:
1) LED 1 an und LED 2 an (z.B. 2 ms)
2) LED 2 an (z.B 3 ms)
3) LED 3 an (z.B. 2 ms)
4) alle LEDs aus (z.B. 8 ms)

von Martin S. (sirnails)


Lesenswert?

MaWin schrieb:
>> Dass man eine LED, die 30mA als Dauerstrom aushält nicht mit
>> 30mA pulsen darf, wusste ich nicht.
>
> Doch, darf man, nur ist sie dann eben 1/5 so hell (bei 1:5 Multiplex)
>
> Nur damit eine 30mA LED auch im 1:30 Multiplex so hell erscheint wie
> wenn man sie mit 30mA Dauerstrom versorgt, muss man 1/30tel der Zeit
> eben 900mA durchjagen, und das verträgt sie nicht. Meist ist bei 120mA
> Schluss.

Bei meiner leider schon bei 100mA. Dann aber nur bei sehr kurzen 
Pulsdauern (1ms [lt. Datenblatt]).

> Pro rot, grün, blau:
>
>  +-------------------------------R-------------------------------+
>  |                                                               |
>  +--|>|--+     +--|>|--+     +--|>|--+     +--|>|--+     +--|>|--+
>  |       +--R--+       +--R--+       +--R--+       +--R--+       |
>  +--|<|--+     +--|<|--+     +--|<|--+     +--|<|--+     +--|<|--+
>  |             |             |             |             |
> Pin1          Pin2          Pin3          Pin4          Pin5

PIN1-PIN5 wäre dann die Versorgung. Wo wird hier die Masse 
angeschlossen? Mir schwebt zwar schon ein wenig vor, was Du dir hierbei 
gedacht hast, aber so recht nachvollziehen kann ich das gerade nicht.


Ulrich (Gast) schrieb:

> Für die
> 3 LEDs wie anfangs Beschrieben, erhält man dann z.B. folgende Phasen:
> 1) LED 1 an und LED 2 an (z.B. 2 ms)
> 2) LED 2 an (z.B 3 ms)
> 3) LED 3 an (z.B. 2 ms)
> 4) alle LEDs aus (z.B. 8 ms)

Das ganze habe ich aber mal 3, da ich drei Farben gleichzeit ansteuern 
will. Bei 100Hz käme ich dann auf 10ms.

Rein vom Timing her:

LED1 25%, LED2 50%, LED3 25% (in Summe 100% = 10ms)

LED1(25%)_ROT: 50%, LED1(25%)_GRÜN: 35%, LED1(25%)_BLAU: 15%.
Oder als Zeit: LED1(25%)_Rot: 0.25*1/100Hz*0.5 = 1,25ms
               LED1(25%)_Grün: 0.25*1/100Hz*0.35 = 875µs
               LED1(25%)_Grün: 0.25*1/100Hz*0.15 = 375µs

Die Zeitwerte wären für LED3 nahezu gleich (die Prozentsätze der 
Farbmischung ändern sich), für LED2 wären sie doppelt so lang. Mein 
kürzest möglicher Impuls würde dann bei 8Bit / 10 = 25 Schritte = 
100%/25 Schritte * 1 Schritt = 4% => 0.25*1/100Hz*0.04 = 100µs liegen. 
Ist das noch machbar?

Bei dieser Rechnung ergibt sich auch:

LED2(50%)_Rot: 0.5*1/100Hz*0.5 = 2,5ms für den längsten Impuls bei dem 
oben angesetzen Farbwert. Bei 100Hz wird dieser Impuls 100mal wiederholt 
=> 250ms. Das ergibt einen Effektivstrom von 7,5mA. Damit könnte ich auf 
jeden Fall leben.

von MaWin (Gast)


Lesenswert?

> Wo wird hier die Masse angeschlossen?

Pin können sowohl HIGH als auch LOW ausgeben, es braucht keine Masse.

> aber so recht nachvollziehen kann ich das gerade nicht.

Die Schaltung kann entweder 0, 2 oder 4 LEDs leuchten lassen.

Da deine äusseren halbhell sein sollen, passt das gut, es wird eine 50% 
der Zeit an sein, die andere die anderen 50%.

Wollte man auch 1, 3 und 5 LEDs leuchten lassen, hätte es einen Pin6 
benötigt.

von Martin S. (sirnails)


Lesenswert?

MaWin schrieb:
>> Wo wird hier die Masse angeschlossen?
>
> Pin können sowohl HIGH als auch LOW ausgeben, es braucht keine Masse.
>
>> aber so recht nachvollziehen kann ich das gerade nicht.
>
> Die Schaltung kann entweder 0, 2 oder 4 LEDs leuchten lassen.
>
> Da deine äusseren halbhell sein sollen, passt das gut, es wird eine 50%
> der Zeit an sein, die andere die anderen 50%.
>
> Wollte man auch 1, 3 und 5 LEDs leuchten lassen, hätte es einen Pin6
> benötigt.

So wie ich die Schaltung sehe, erlaubt sie aber nicht, dass die rote LED 
1 mit effektiv 3mA, LED2 mit 7,5mA und LED3 mit 1mA betrieben wird. 
Durch die geforderten Mischfarben ist das aber nötig.

Von daher schein mir Deine obige Schaltung recht interessant.

von MaWin (Gast)


Lesenswert?

> erlaubt sie aber nicht, dass die rote LED 1 mit effektiv 3mA,
> LED2 mit 7,5mA und LED3 mit 1mA betrieben wird

Wenn es sich bei den LEDs um gleichfarbige handelt: Nein, geht nicht, 
stand so auch nicht in der Aufgabenbeschreibung.

Wenn es um verschiedenfarbige geht: Natürlich geht das, daher ja 3 
getrennte Kreise und die Möglichkeit alle einer Farbe abzuschalten.

von Martin S. (sirnails)


Lesenswert?

Dann habe ich nochmal eine Frage:


                    D4      R1       D1    R2
                  |-|<-|    _    |-|<-|  _  |
                  |    +---|___|---+    +-|___|-+
                  |->|-|           |->|-|       |
                  | D3             | D2         |
                  |                |            |
                  0V               5V           0V

Ich gebe am mittleren Pin 2 = 5V ein. Über D2 fallen dann 2V (bei Rot) 
ab. Die gleiche Spannung liegt aber dann auch über R1 und D4 gegen Pin 1 
an. Ich habe also eine Parallelschaltung aus (R1 + D4) || (D2 + R2). Da 
beide werte gleich groß sind, und ich mit 40mA Strom ansteuere, ist das 
also ein Stromteiler im Verhältnis 1:1. Somit leuchten D4 und D2 beide 
gleich hell bei halben Strom.

Das war dann auch das, was Du geschrieben hast. Um eine LED einzeln 
leuchten zu lassen, braucht es den Pin 6. Wo sollte dieser dann aber 
angeschlossen werden?

von Hagen R. (hagen)


Lesenswert?

MaWins Vorschlag funktioniert weil an einem Pin drei Zustände herrschen 
können: 0V, 5V und Hochohmig als Eingang. Die Formel lautet PinAnzahl * 
(PinAnzahl -1). Bei 3 Pins kannst du also 3*(3-1)=6 LEDs auf diese Art 
steuern. Das hat MaWin aber nicht so gezeichnet.

von MaWin (Gast)


Lesenswert?

> Das war dann auch das, was Du geschrieben hast.

Nicht ganz, bei mir teilt sich ein Strom nicht 50:50 auf,
sondern entweder leuchtet eine LED mit dem Strom den ihr
Vorwiderstand sagt, oder eben nicht weil verpolt bzw. 0V.

Es leuchten also immer 2 LEDs mit ihrem vollen Strom,
und wenn man schnell so wechselt daß es LED1 und LED2
und kurze Zeit später LED2 und LED3 sind, dann leuchet
eben LED2 mit voller Helligkeit, LED1 und LED3 mit
halber (oder zumindest in der Summe 100%).

> Wo sollte dieser dann aber angeschlossen werden?

Man muß den Ring aufbrechen, dann hat man einen Anfang und
ein Ende und braucht entsprechend 2 Pins.

von Martin S. (sirnails)


Angehängte Dateien:

Lesenswert?

Nun gut. Ich hab MaWins Vorschlag soweit übernommen. Fällt jemanden 
etwas auf, das nicht passt?

Grüße M. Schwaikert

von MaWin (Gast)


Lesenswert?

> Ich hab MaWins Vorschlag soweit übernommen.

Den ersten, die Multiplexansteuerung.

> Fällt jemanden etwas auf, das nicht passt?

Du solltest nachgucken, was deine LEDs an Spitzenstrom aushalten.


> MaWins Vorschlag funktioniert
> weil an einem Pin drei Zustände herrschen können:

Nein, das nutzt meine (zweite) Schaltung nicht aus.

von Martin S. (sirnails)


Lesenswert?

MaWin schrieb:
>> Ich hab MaWins Vorschlag soweit übernommen.
>
> Den ersten, die Multiplexansteuerung.

Richtig.

>> Fällt jemanden etwas auf, das nicht passt?
>
> Du solltest nachgucken, was deine LEDs an Spitzenstrom aushalten.

100mA. Das wäre aber bereits der maximalstrom, den der 78L05 bringen 
kann. Beim SO-8-Gehäuse liegt P_tot bei 625mA. Das passt also. So hoch 
möchte ich den Strom nicht treiben. 20mA Prozessor und etwa 40mA für die 
Matrix habe ich mal kalkuliert.

>> MaWins Vorschlag funktioniert
>> weil an einem Pin drei Zustände herrschen können:
>
> Nein, das nutzt meine (zweite) Schaltung nicht aus.

Das stammt nicht aus meiner Feder :)

von Martin S. (sirnails)


Lesenswert?

Hallo miteinander,

ich habe die beiden Platinen (habe sie aufgeteilt) jetzt soweit 
aufgebaut. Die Spaltentransistoren (FMMT) ziehen ungefähr 4mA 
Basisstrom). Das dürfte soweit i.O. sein.

Die BC857 (Zeilentransen) jedoch machen gar nichts. Ich habe die B-Typen 
genommen. War das ein Fehlkauf? Soweit ich das nachgesehen habe, düfte 
das aber eigentlich passen.

Sind die Vorwiderstände eventuell zu groß? Ich wäre für jeden Tipp 
dankbar.

Grüße

M. Schwaikert

von MaWin (Gast)


Lesenswert?

> Die BC857 (Zeilentransen) jedoch machen gar nichts.

Vielleicht Transistor falschrum eingelötet oder nicht an +5V ?

> Ich habe die B-Typen genommen. War das ein Fehlkauf?

Passen.

> Sind die Vorwiderstände eventuell zu groß?

Wenn du die 220 Ohm genommen hast, sind sie so klein wie möglich.

Oder PortC nicht auf Ausgang geschaltet ?

von Martin S. (sirnails)


Lesenswert?

MaWin schrieb:
>> Die BC857 (Zeilentransen) jedoch machen gar nichts.
>
> Vielleicht Transistor falschrum eingelötet oder nicht an +5V ?

Also laut Datenblatt (ich hoffe, es sind überhaupt die richtigen):

1 base -> Geht auf +5V (TTL) über 220 Ohm
2 emitter -> Geht auf +5V Versorgung
3 collector -> Geht auf die LED

>> Ich habe die B-Typen genommen. War das ein Fehlkauf?
>
> Passen.
>
>> Sind die Vorwiderstände eventuell zu groß?
>
> Wenn du die 220 Ohm genommen hast, sind sie so klein wie möglich.
>
> Oder PortC nicht auf Ausgang geschaltet ?

Ich habe die Schaltung (da das mit dem Pizzaofen-Reflow etwas gefährlich 
ist) in zwei Hälften geteilt. Momentan hängt noch kein Prozessor dran.

von MaWin (Gast)


Lesenswert?

> base -> Geht auf +5V (TTL) über 220 Ohm

Wirst du an Masse legen müssen damit es leitet.

von Martin S. (sirnails)


Angehängte Dateien:

Lesenswert?

Hier als Anhang noch das Layout. Leider sind die Namen/Werte teilweise 
sau dämlich. Kann man die Anordnung ändern?

von MaWin (Gast)


Lesenswert?

Wozu ändern ?

von Hunt W. (hunt_work_er)


Lesenswert?

vermutlich suchst du den smash befehl

von Martin S. (sirnails)


Lesenswert?

Das mit dem Smash werde ich morgen mal ausprobieren.

Und dass der PNP invertiert, hätte ich vermutlich vor fünf Stunden noch 
gemerkt :)

Das Teil funktioniert jetzt soweit. Aber 20mA Basisstrom sind schon 
verdammt happig für die kleinen Transistoren. Sicher, dass 220 Ohm 
vertretbar sind?

von Martin S. (sirnails)


Lesenswert?

Hallo miteinander,

ich habe mein Programm soweit geschrieben, und in der Simulation lief es 
auch so, wie es soll. In der Praxis sieht es dann aber irgendwie ein 
bisschen anders aus...

Ich habe das Teil jetzt nach diesem Schaltplan 
(http://www.mikrocontroller.net/attachment/135998/Schaltung.png) 
aufgebaut.

Zum Testen habe ich mal folgenden Code aufgebrannt:

Definitions.h
1
#define MUX_ROW      PINC
2
#define MUX_ROW_DDR    DDRC
3
4
#define MUX_COL      PIND
5
#define MUX_COL_DDR    DDRD
6
7
#define LED_REF      PINB
8
#define LED_REF_DDR    DDRB
9
10
#define TEMP_SENSE    PINA
11
#define TEMP_SENSE_DDR  DDRA

Main.c
1
int main (void) { 
2
  
3
  _delay_ms(30);
4
  
5
  PORTA = 0x00;
6
  PORTB = 0x00;
7
  PORTC = 0xFF;
8
  PORTD = 0x00;  
9
  
10
  MUX_COL_DDR = 0xFF;      
11
  MUX_ROW_DDR = 0xFF;
12
  LED_REF_DDR = 0xFF;
13
  TEMP_SENSE_DDR = 0x00;
14
  
15
  ADC_Init();
16
  ADC_Value = ADC_Read(0);  // read one value and dispose
17
  ADC_Value = 0;
18
  
19
  // REF-Diode to see Reset
20
  PORTB = 0xFF;
21
  _delay_ms(1000);
22
  PORTB = 0x00;
23
  
24
  while(1) {
25
    
26
    // PERFORMS TESTING
27
    
28
    PORTC = ~0x01;
29
    PORTD = 0x01;
30
    _delay_ms(100);
31
    
32
    PORTD = 0x02;
33
    _delay_ms(100);
34
35
    PORTD = 0x04;
36
    _delay_ms(100);
37
    
38
    PORTD = 0x08;
39
    _delay_ms(100);
40
    
41
    PORTD = 0x10;
42
    _delay_ms(100);    
43
    
44
    PORTC = ~0x02;
45
    PORTD = 0x01;
46
    _delay_ms(100);
47
    
48
    PORTD = 0x02;
49
    _delay_ms(100);
50
51
    PORTD = 0x04;
52
    _delay_ms(100);
53
    
54
    PORTD = 0x08;
55
    _delay_ms(100);
56
    
57
    PORTD = 0x10;
58
    _delay_ms(100);    
59
    
60
    PORTC = ~0x04;
61
    PORTD = 0x01;
62
    _delay_ms(100);
63
    
64
    PORTD = 0x02;
65
    _delay_ms(100);
66
67
    PORTD = 0x04;
68
    _delay_ms(100);
69
    
70
    PORTD = 0x08;
71
    _delay_ms(100);
72
    
73
    PORTD = 0x10;
74
    _delay_ms(100);      
75
    
76
    // PERFORMS TESTING
77
    
78
    PORTC = ~0x08;
79
    PORTD = 0x01;
80
    _delay_ms(100);
81
    
82
    PORTD = 0x02;
83
    _delay_ms(100);
84
85
    PORTD = 0x04;
86
    _delay_ms(100);
87
    
88
    PORTD = 0x08;
89
    _delay_ms(100);
90
    
91
    PORTD = 0x10;
92
    _delay_ms(100);    
93
    
94
    PORTC = ~0x10;
95
    PORTD = 0x01;
96
    _delay_ms(100);
97
    
98
    PORTD = 0x02;
99
    _delay_ms(100);
100
101
    PORTD = 0x04;
102
    _delay_ms(100);
103
    
104
    PORTD = 0x08;
105
    _delay_ms(100);
106
    
107
    PORTD = 0x10;
108
    _delay_ms(100);    
109
    
110
    PORTC = ~0x20;
111
    PORTD = 0x01;
112
    _delay_ms(100);
113
    
114
    PORTD = 0x02;
115
    _delay_ms(100);
116
117
    PORTD = 0x04;
118
    _delay_ms(100);
119
    
120
    PORTD = 0x08;
121
    _delay_ms(100);
122
    
123
    PORTD = 0x10;
124
    _delay_ms(100);    
125
  }  
126
  
127
    return 0;                
128
}

Die Spaltentransistoren (PortD) schalten alle hervorragend durch. Bei 
den Zeilen sieht es schlecht aus. Hier bekomme ich am Ausgang der Ports 
nur bei PORDC = 0x04 und 0x02 überhaupt etwas heraus.

Woran kann das liegen? Zwischen den Beinchen am Prozessor ist kein 
Kurzschluss.

Grüße

M. Schwaikert

von Martin S. (sirnails)


Lesenswert?

Hallo,

ich möchte das Thema nochmal aufgreifen. Ich wollte MaWin zwar nicht 
glauben, aber er hatte halt wieder recht. Und damit meine ich, dass mir 
lieber gewesen wäre, wenn es auch mit "Soft-PWM" geht.

Das ergebnis ist bei weitem nicht zufriedenstellend. Die Farbwiedergabe 
und Helligkeit passen hinten und vorne nicht. Daher meine Frage: Wie 
geht es besser?

Schönen Abend noch.

Grüße M. Schwaikert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.