Hi Leute, ich stehe mal wieder vor ner Grundsatzfrage. Brauche für eine LED-Schaltung einige Konstantstromquellen, die natürlich relativ genau sein sollten, also keine allzu großen Abweichungen gegenüber den anderen haben sollten. Ich hab mir mal 2 Konstantstromquellen ins Auge gefasst. Einmal mit einem FET (der Strom durch die LEDs beträgt zwischen 20 und 30 mA) und einmal mit gegeneinander verschalteten Transistoren. ( http://www.ferromel.de/tronic_6.htm in Bild 2a) Für die 2. Variante würde sich der BC847S anbieten, da 2 Transistoren in einem Gehäuse mit besserer thermischer Kopplung als mit getrennten SMD-Transistoren. Welche Schaltung wäre denn besser geeignet? Bzw. was sind die Vor- und Nachteile der Schaltungen? (Preis ist etwa gleich, der Mehraufwand von einem Widerstand bei der Transistorkonstantstromquelle ist zu vernachlässigen.) Vielen Dank im Voraus für eure Antworten. Gruß, Frank.
Wie genau müssen die Ströme den zueinander gleich sein? Geht es darum, den Strom bei verschiedenen Speisespannungen konstant zu halten oder nur darum, einen "definierten" Strom zu erhalten?
Es geht um einen definierten Strom. Wahrscheinlich genügen +- 1-2mA Genauigkeit um den geforderten Wert. Aber je genauer, desto besser. Ich werde damit etwaige Ungenauigkeiten der Durchlassspannung der LEDs ausbügeln müssen (leider habe ich keine selektierte Qualität, wobei ich im voraus die LEDs selbst noch ein wenig selektieren werde). Ich nehmen an, dass man Unterschiede beim Strom eh nicht arg sehen wird, aber es geht mir auch ein wenig ums Prinzip.
Die prozentuale Abweichung geht aus Deiner Erklärung noch nicht hervor, da der Absolutstrom noch unbekannt ist. Wenn es aber 20mA sind, liegen wir bei 5%-10%. Wenn Dir die Verlustleistung eines Vorwiderstandes wurst ist, musst Du nur die Versorgungsspannung weit genug anheben dann brauchst Du keine aktiven Bauelemente. Beispiel: Diodenspannung variiert von 1.5V - 2.0V, also ein Spannungshub von 0.5V. Für 5% Genauigkeit muß also die Spannung am Vorwiderstand 20 x mal so hoch sein, also 10V, macht eine 12V-Versorgung.
Verluste hab ich immer, auch bei Konstantstromquellen. Allerdings scheiden Vorwiderstände aus, da ich dazu die LEDs vermessen müsste, um den Vorwiderstand der Durchlassspannung anzupassen, um eine einigermaßen gleiche Helligkeit der LEDs zu erreichen. Ob ich die nun bei 20 oder 30 mA betreibe, ist noch nicht ganz klar. (definitiv aber bei 5V oder 7V) Zudem werden die LEDs als Matrix geschaltet. D.h. eine Konstantstromquelle pro Spalte. Die Reihen werden über PNP getrieben, die Spalten über ULN2803. Zu allem Überfluss kommt noch ne PWM dazu. Auch da die Frage, ob die Konstantstromquellen schnell genug regeln können. PWM-Frequenz liegt bei etwa 16kHz. Ich merke schon, ich sollte bei der Informatik bleiben. :)
@ Frank Erdrich (erdi-soft) >scheiden Vorwiderstände aus, da ich dazu die LEDs vermessen müsste, um Dann nimm dem LM317. >den Vorwiderstand der Durchlassspannung anzupassen, um eine einigermaßen >gleiche Helligkeit der LEDs zu erreichen. Ob ich die nun bei 20 oder 30 Falsch, dann hast du erstmal den gleichen LED-Strom! Aber die Kennlinie Strom-Licht ist auch nicht sonderlich eng toleriert . . . ;-) >mA betreibe, ist noch nicht ganz klar. (definitiv aber bei 5V oder 7V) >Zudem werden die LEDs als Matrix geschaltet. D.h. eine >Konstantstromquelle pro Spalte. Die Reihen werden über PNP getrieben, >die Spalten über ULN2803. Zu allem Überfluss kommt noch ne PWM dazu. >Auch da die Frage, ob die Konstantstromquellen schnell genug regeln >können. PWM-Frequenz liegt bei etwa 16kHz. Nun, wenn mans richtig macht (tm) arbeiten Stromquellen bis in den GHz Bereich hinein. >Ich merke schon, ich sollte bei der Informatik bleiben. :) ;-) MfG Falk
Geht es nur darum, dass der visuelle Eindruck sagt: Alle Dioden gleich hell?
@Falk: LM317 wollte ich nicht nehmen, auch wenn der gut funktionieren würde. Letztendlich sind Transistoren (oder ein FET) doch etwas billiger und benötigen (bei guter Platzierung) etwas weniger Platz. Und Platz ist etwas, was ich wahrscheinlich nicht haben werde. @Chisi: Ja, darum geht es. Allerdings nicht nur bei einer Farbe, sonder bei 4096 Farben (also RRB-LEDs). Sonst würde ich hier nicht so nen Terz deswegen machen. :D
Diese alte, bekannte Schaltung müsste ein guter Kompromiss sein:
Höre auf den Einwand von Falk: Schaue Dir die Helligkeitstoleranzen von LEDs an (bei identischem Strom) dann wirst Du sehen, dass ich der Aufwand nicht lohnt (ein Faktor zwei ist da noch wenig). Nimm einfach die Standardschaltung für eine Matrixanzeige, damit wird die Anzeige gut genug.
Ich muss die LEDs auf jeden Fall noch ein wenig durchmessen und, nach Möglichkeit, selektieren. Aber ansonsten würde ich schon ne Konstantstromquelle nehmen, alleine schon, weil ich keine Lust habe, bei der Bestückung 3 verschiedene Werte von Widerständen an die richtigen Stellen zu setzen. Da geb ich lieber 1,50 € mehr aus. :) (bin halt manchmal ein wenig faul) Und evtl. werde ich auch den Eingangsspannungsbereich von 5 - 9V planen. Dann ist das sowieso muss.
http://de.wikipedia.org/wiki/Stromspiegel wäre vielleicht auch noch was, wenns denn so gleich sein soll. -wiebel
Ich würde auch den LM317 nehmen. Größer als ein Transistor ist er auch nicht (es gibt ihn auch in einem kleinen Gehäuse). Ok, er ist vielleicht etwas teurer, aber bei 13 Cent (Reichelt) hält sich das alles noch sehr in Grenzen.
Hoi... hoffe, es gibt noch Interesse an ein paar Vorschlägen... Wir haben für unser Projekt (http://chamaeleon.tothecore.de) im Moment noch härtere Anforderungen was die PWM-Geschwindigkeit angeht, sind aber recht optimistisch: Wir schaffen im Moment halbwegs vernünftige Flanken und Gleichstrompegel bis etwa 1-2 MHz. Für die zu schaltenden Konstantstromquellen haben wir die Schaltung 1 und 2 (http://en.wikipedia.org/wiki/Constant_current_source) adaptiert. Die Schaltung wird in unserem Anwendungsfall gut 500 mal gebraucht (eine etwas größere RGB-Matrix mit 2x Multiplex bei 16 Bits Farbtiefe für die Gammakorrektur), weshalb die Kosten pro Schaltung minimal sein sollten. Im Moment liegen wir bei ca 0,15 EUR pro schaltbaren Gleichstrom-Kanal, was echt akzeptabel ist. Die Schaltung musste umgedreht werden, da unsere LEDs eine gemeinsame Kathode haben und sonst der Strom nicht einzeln begrenzt werden könnte (also mit PNP statt NPN). Die LED wird geschaltet indem sie über die Kollektor-Emitter-Strecke eines weiteren Transistors kurzgeschlossen wird. Das hat zwar den Nachteil, dass immer ein Strom fließt (Ökonomie), dafür aber immer derselbe Strom, was bei bis zu 8 MHz die Abstrahlung stark reduziert und die Stabilisierung der Eingangsspannung entlastet. Um die Basis des Schalttransistors schnell genug schalten zu können haben wir sie zunächst normal über einen Widerstand mit dem I/O des ATMega16 verbunden. Der Widerstand wird mit einem 10nF (oder 100nF??) Kondensator überbrückt. Das sorgt bei den Flanken für einen schnelleren Ladungstransport, da der Widerstand kurzgeschlossen wird. Bei gehaltenem on-Pegel ist der Kondensator aufgeladen und sperrt, so dass der Widerstand ganz normal den Basisstrom begrenzt. Bei fallender Flanke sorgt der Kondensator als entgegengerichtete Spannungsquelle für eine schnellere Ladungsausräumung an der Basis. Wir haben die Schaltung ziemlich gestänkert: Rote LED mit 1.5V, grüne und blaue mit etwa 4.0 - 4.5 V - immer konstant 30mA. Die gemessenen Abweichungen lagen unter 1% (was nicht heißt, dass x Kopien der Schaltung auf denselben Strom kommen). Je größer der Spannungsabfall über den Regelwiderstand ist, desto stabiler der Strom. Widerstände mit 2% Toleranz und weniger sind auch nicht teuer. Zudem lässt sich in der Schaltung locker auch ein Widerstandsnetzwerk für die Regelwiderstände verwenden - spart Platz, Lötstellen, Fertigungstoleranzen und ist u.U. billiger (www.segor.de hat da eine ganz gute Auswahl) Statt den festen Spannungsabfall über die Z-Diode (oder der beiden Silizium-Dioden) zu realisieren wollen wir noch versuchen einfach mittels zweier LM-fragmichnicht zwei Spannungschienen aufzubauen zwischen welchen der Regelbasisstrom fließen soll. Pro Konstantstromquelle wird dann jeweils nur noch ein Transistor und ein Regelwiderstand benötigt. Was wir noch versuchen wollten ist zwischen dem Regeltransistor und der LED eine Induktivität zum Glätten des Stromes einzusetzen (käme uns aber recht teuer). Wir sind selber noch am Tunen - 8 MHz wäre optimal, 4 MHz wäre in Ordnung. Ich komme selber eher aus der Mathematik/Informatik-Richtung. Meine Elektronikkenntnisse sind maximal auf Hobby-Level - man verzeihe meine nichttechnische Ausdrucksweise... aber es wird langsam ;) Habe hier leider im Moment nichts, um das aufzuzeichnen, hoffe, es ist trotzdem halbwegs verständlich - sonst melden... Gruß Kai
@ Kai Giebeler (runtimeterror) >Wir schaffen im Moment halbwegs vernünftige Flanken und Gleichstrompegel >bis etwa 1-2 MHz. Wozu soll das gut sein? 1000Bilder pro Sekunde? >(also mit PNP statt NPN). Die LED wird geschaltet indem sie über die >Kollektor-Emitter-Strecke eines weiteren Transistors kurzgeschlossen >wird. Das hat zwar den Nachteil, dass immer ein Strom fließt (Ökonomie), Je eben. Völliger Nonsense. >dafür aber immer derselbe Strom, was bei bis zu 8 MHz die Abstrahlung >stark reduziert und die Stabilisierung der Eingangsspannung entlastet. Käse. Das muss ein ordentliches netzteil abkönnen. >Um die Basis des Schalttransistors schnell genug schalten zu können >haben wir sie zunächst normal über einen Widerstand mit dem I/O des >ATMega16 verbunden. Der Widerstand wird mit einem 10nF (oder 100nF??) >Kondensator überbrückt. Das sorgt bei den Flanken für einen schnelleren Viel zuviel! >Schaltung auf denselben Strom kommen). Je größer der Spannungsabfall >über den Regelwiderstand ist, desto stabiler der Strom. Widerstände mit Sicher, aber die Energiebilanz geht in den Keller. Was bei einem Display von DEM Kaliber nicht ganz nebensächlich ist. >Konstantstromquelle wird dann jeweils nur noch ein Transistor und ein >Regelwiderstand benötigt. Schonmal was von ICs gehört? Siehe LED-Matrix. >Was wir noch versuchen wollten ist zwischen dem Regeltransistor und der >LED eine Induktivität zum Glätten des Stromes einzusetzen (käme uns aber >recht teuer). Unsinn. >Wir sind selber noch am Tunen - 8 MHz wäre optimal, 4 MHz wäre in >Ordnung. Was 8 Mhz? MFG Falk
>>Wir schaffen im Moment halbwegs vernünftige Flanken und Gleichstrompegel >>bis etwa 1-2 MHz. > Wozu soll das gut sein? 1000Bilder pro Sekunde? MHz = Millionen, nicht kilo-s :-)) Ggf. gibt es eine spezielle Anwendung, die das erforderlich macht ? Rein für's Auge/ für EEG ist bei <= 300 Bilder/Sek Schluß (Auge weit unter 300 Bilder/Sek). Wie wird denn gemessen, dass die LED-s da "sauber strahlen" ? Gruß c.
Hallo, also wie ich das hier verstehe geht es nicht darum einen Strom auf einen genau definierten Wert zu halten, sondern darum, dass alle LEDs gleich hell leuchten, egal wie hell sie alle zusammen leuchten. Deshalb sollte man normale Vorwiderstände verwenden und die Betriebsspannung der gesamten Schaltung stabilisieren. Wichtig ist bei der Matrix, dass z. B. an jeder Zeile ein Vorwiderstand angeschlossen ist und dann immer nur eine Spalte gleichzeitig aktiviert wird. Der µC Kann um Fertigungstoleranzen der LEDs auszugleichen die Einschaltzeiten anpassen. Diese müssen in einer Tabelle gespeichert werden, in dieser wir die Intensität (Strom, ED) jeder LED eingestellt und dadurch eine gleichmäßige Helligkeit erreicht.
Klasse Beitrag Falk, echt tolle Leistung! Jetzt habe ich 'ne ganze Menge gelernt und der Frank hat mit Sicherheit jetzt viele Infos mehr, die er verwenden kann! Und ich dachte schon, ich hätte nicht viel Ahnung von der Materie... Unsere Schaltung funktioniert de facto, und so lange uns keiner eine bessere präsentieren kann, bleiben wir auch dabei! >>Wir schaffen im Moment halbwegs vernünftige Flanken und Gleichstrompegel >>bis etwa 1-2 MHz. > > Wozu soll das gut sein? 1000Bilder pro Sekunde? Kannst du mir mal sagen, wie du dir aus der obigen Frequenz 1000 Bilder zusammenorakelst? Der Algorithmus reagiert zwar unterhalb von 100 Taktzyklen auf eine neue Farbinformation und schafft so über Zeitdithering locker 160000 Frames pro Sekunde - braucht aber keine Sau, kann unser USART-Master eh nicht und mit der obigen Frequenz hat das schonmal gar nichts zu tun. Wir verwenden maximal 25 - 30 Bilder die Sekunde bei einer Wiederholfrequenz von ca 122 Hz. >>(also mit PNP statt NPN). Die LED wird geschaltet indem sie über die >>Kollektor-Emitter-Strecke eines weiteren Transistors kurzgeschlossen >>wird. Das hat zwar den Nachteil, dass immer ein Strom fließt (Ökonomie), > > Je eben. Völliger Nonsense. Wenn man eine hohe Signalqualität und wenig Störungen will, muss man irgendwo Abstriche machen - wir bauen das Ding nicht, um gegen die Abholzung des Regenwaldes zu demonstrieren! Wenn das Panel im Schnitt bei 75% Helligkeit arbeitet aber immer konstant für 100% Strom zieht haben wir bei 60 W Gesamtleistung satte 15 W Verlust - das ist weniger als mein Rechner im Standby zieht! Meine Deckenbeleuchtung zieht 200 W und mein Rechner mit allen Bildschirmen 300 W... da lohnt es sich eher zu optimieren! > >>dafür aber immer derselbe Strom, was bei bis zu 8 MHz die Abstrahlung >>stark reduziert und die Stabilisierung der Eingangsspannung entlastet. > > Käse. Das muss ein ordentliches netzteil abkönnen. Dem Netzteil ist das scheißegal - schonmal über 2 m-Kabel für die Spannungsversorgung bei 8 MHz Störströmen nachgedacht? > >>Um die Basis des Schalttransistors schnell genug schalten zu können >>haben wir sie zunächst normal über einen Widerstand mit dem I/O des >>ATMega16 verbunden. Der Widerstand wird mit einem 10nF (oder 100nF??) >>Kondensator überbrückt. Das sorgt bei den Flanken für einen schnelleren > > Viel zuviel! Habe ich deinen Gegenvorschlag und die Begründung überlesen, oder ist die in deinem komplexen Satzbau untergegangen? Der eingesetzte Transistor erwärmt sich nicht merklich und die Basis- und Kollektorströme sind im vom Datenblatt zulässigen Bereich. Die Signale verändern sich bei längerer Betriebsdauer nicht. Warum sollten wir den ändern? > >>Schaltung auf denselben Strom kommen). Je größer der Spannungsabfall >>über den Regelwiderstand ist, desto stabiler der Strom. Widerstände mit > > Sicher, aber die Energiebilanz geht in den Keller. Was bei einem Display > von DEM Kaliber nicht ganz nebensächlich ist. > Ich habe nicht geschrieben, dass er den größten käuflichen Widerstand einbauen soll. Bei zu geringem Spannungsabfall bewirkt eine Änderung von 1 Ω schonmal mehrere mA Unterschied im Emitterstrom. >>Konstantstromquelle wird dann jeweils nur noch ein Transistor und ein >>Regelwiderstand benötigt. > > Schonmal was von ICs gehört? Siehe LED-Matrix. > Nie gehört! Wir haben zwar 15 IC-Hersteller wegen des Problems angeschrieben, wussten aber eigentlich nicht, was ICs sind - danke für den Hinweis! Nenne mir einen IC (nennen wir ihn LED-Treiber), der in der Lage ist mehrere Common-Cathode-RGB-LEDs bei 30 mA per PWM in mindestens 8192 Helligkeitsstufen zu dimmen. Nur zur Info: Analog Devices, Fairchild, Infineon, Intersil, Maxim, Micrel, Microchip, National Semiconductor, NJR, NXP, Rohm, ST, Texas Instruments und Zetex konnten mir kein Bauteil anbieten, das diese Anforderungen erfüllt! Einige haben uns aber Angebote für ASICs gemacht. Schnell schaltende Konstantstromquellen waren auch keine zu bekommen. Die unter LED-Matrix angegebenen Treiber kommen aus den oben genannten Gründen nicht in Frage. Die integrierten Lösungen wären übrigens auch nicht wirklich billiger als unsere diskrete Schaltung - zudem sind einige nicht einfach zu beschaffen. Dann löte ich halt was mehr... wofür gibt's denn langweiliges Fernsehen. >>Was wir noch versuchen wollten ist zwischen dem Regeltransistor und der >>LED eine Induktivität zum Glätten des Stromes einzusetzen (käme uns aber >>recht teuer). > > Unsinn. Sag das Zetex... die haben das in der uns angebotenen Referenzschaltung gemacht. Warum geht das nicht? > >>Wir sind selber noch am Tunen - 8 MHz wäre optimal, 4 MHz wäre in >>Ordnung. > > Was 8 Mhz? > Jo... oder wie willst du 16 Bits Farbtiefe darstellen? Die Pegeldauer des high-Impulses bei der untersten Helligkeit beträgt genau einen Takt... das macht bei 14,7456 MHz eine equivalente Frequenz von 7,3728 MHz (Sorry, wir haben das Quarz für eine stabilere USART-Verbindung geändert, daher nicht mehr ganz 8 MHz) so... und jetzt zu den ernsthaften Gegenfragen... Gruß Kai
@Christian Wir müssen für die hohe PWM-Auflösung den Strom in Größenordnungen von 100 ns schalten können. Zum Testen nehmen wir einfach ein 50% Tastverhältnis, das Periodendauern in dieser Größenordnung hat. Mit der Bildwiederholrate hat das nichts zu tun. (siehe Ausführung oben) > Wie wird denn gemessen, dass die LED-s da "sauber strahlen" ? Wir verlassen uns da auf eine (gefundene) Versuchsreihe, in der Verzögerungen zwischen Strom und Leuchtintensität im ps-Bereich bei LEDs gemessen wurden. Wir messen also nur den Strom so gut es geht und hoffen, dass die sich nicht vermessen haben. Ob die Intensität dann noch stimmt kann ich leider nicht sagen, aber uns bleibt im Moment nichts andere übrig, als den Strom zu optimieren. @Stefan >Der µC Kann um >Fertigungstoleranzen der LEDs auszugleichen die Einschaltzeiten >anpassen. Diese müssen in einer Tabelle gespeichert werden, in dieser >wir die Intensität (Strom, ED) jeder LED eingestellt und dadurch eine >gleichmäßige Helligkeit erreicht. Der Abgleich steht uns auch noch bevor :( - bei 16 Bits hat man da aber noch gute Chancen. Ich hoffe nur, dass sich das Strom/Helligkeits-Verhältnis nicht maßgeblich durch Erwärmung ändert.
@ Kai Giebeler (runtimeterror) >Unsere Schaltung funktioniert de facto, und so lange uns keiner eine >bessere präsentieren kann, bleiben wir auch dabei! Du bist ja richtig kritikfähig . . . >Kannst du mir mal sagen, wie du dir aus der obigen Frequenz 1000 Bilder >zusammenorakelst? Gar nicht, war einfach ein Schuss ins Blaue. >schonmal gar nichts zu tun. Wir verwenden maximal 25 - 30 Bilder die >Sekunde bei einer Wiederholfrequenz von ca 122 Hz. Wozu dann 2 MHz Stromquellen? >Wenn man eine hohe Signalqualität und wenig Störungen will, muss man >irgendwo Abstriche machen - wir bauen das Ding nicht, um gegen die >Abholzung des Regenwaldes zu demonstrieren! Nöö, aber zur Demonstration von Engstirnigkeit und Lernresistenz. > Wenn das Panel im Schnitt >bei 75% Helligkeit arbeitet aber immer konstant für 100% Strom zieht >haben wir bei 60 W Gesamtleistung satte 15 W Verlust - das ist weniger >als mein Rechner im Standby zieht! Meine Deckenbeleuchtung zieht 200 W >und mein Rechner mit allen Bildschirmen 300 W... da lohnt es sich eher >zu optimieren! Und ein Kraftwerk hat bei 1 GW auch nur 50% Wirkungsgrad, was man DA alles optimieren kann. Oh mein Gott. >Dem Netzteil ist das scheißegal - schonmal über 2 m-Kabel für die >Spannungsversorgung bei 8 MHz Störströmen nachgedacht? [ ] Du hast Ahnung von Baugruppendesign und EMV. >Habe ich deinen Gegenvorschlag und die Begründung überlesen, oder ist >die in deinem komplexen Satzbau untergegangen? Wäre der nich sowieso Perlen vor die Säue, da eure Spitzenschaltung ja sowieso Spitzenmässig läuft? > Der eingesetzte >Transistor erwärmt sich nicht merklich und die Basis- und >Kollektorströme sind im vom Datenblatt zulässigen Bereich. Die Signale >verändern sich bei längerer Betriebsdauer nicht. Warum sollten wir den >ändern? Stimmt, einfach immer weiter, nicht nachdenken, das tut weh. >den Hinweis! Nenne mir einen IC (nennen wir ihn LED-Treiber), der in der >Lage ist mehrere Common-Cathode-RGB-LEDs bei 30 mA per PWM in mindestens >8192 Helligkeitsstufen zu dimmen. Nur zur Info: Analog Devices, >Fairchild, Infineon, Intersil, Maxim, Micrel, Microchip, National >Semiconductor, NJR, NXP, Rohm, ST, Texas Instruments und Zetex konnten >mir kein Bauteil anbieten, das diese Anforderungen erfüllt! Einige haben >uns aber Angebote für ASICs gemacht. Ihr seid mir ein paar Strategen. Es gibt ja auch gar keine Common Anode RGB-LEDs. Wäre auch völliger Unsinn, VORHER mal die kritischen Komponenten gegeneinander zu prüfen. > Schnell schaltende >Konstantstromquellen waren auch keine zu bekommen. Selten so gelacht. >>Was wir noch versuchen wollten ist zwischen dem Regeltransistor und der >>LED eine Induktivität zum Glätten des Stromes einzusetzen (käme uns aber >>recht teuer). > > Unsinn. >Sag das Zetex... die haben das in der uns angebotenen Referenzschaltung >gemacht. Warum geht das nicht? Weil die Induktivität dem Regeltransistor in Handwerk pfuscht. Bei richtiger Dimensionierung (tm) ist so eine Stromquelle schon SEHR gut, der Strom SEHR konstant, auch beim schalten. Im schlimmsten Fall fängt man sich duch die Spule ZUSÄTZLICHE Schingungen ein, im besten Fall ist die Spule wirkungslos. >Jo... oder wie willst du 16 Bits Farbtiefe darstellen? Die Pegeldauer ;-) Klar, weil ein RGD-LED Display auch 16 Bit pro Farbkanal braucht. Oh Mann, man merkt mal wieder DEUTLCIH, was passiert, wenn Leute mit Halbwissen sowas anpacken. >des high-Impulses bei der untersten Helligkeit beträgt genau einen >Takt... das macht bei 14,7456 MHz eine equivalente Frequenz von 7,3728 >MHz (Sorry, wir haben das Quarz für eine stabilere USART-Verbindung >geändert, daher nicht mehr ganz 8 MHz) Tja, PWM ist nicht alles. Es gibt auch noch Pulsdichtemodulation. >Wir müssen für die hohe PWM-Auflösung den Strom in Größenordnungen von >100 ns schalten können. Schafft jede halbwegs gescheit dimensionierte Stromquelle SPIELEND! >Der Abgleich steht uns auch noch bevor :( - bei 16 Bits hat man da aber Akademischer Unsinn. Mfg Falk
Tipp, weiter unten: >@Christian >Wir müssen für die hohe PWM-Auflösung den Strom in Größenordnungen von >100 ns schalten können. Zum Testen nehmen wir einfach ein 50% >Tastverhältnis, das Periodendauern in dieser Größenordnung hat. Mit der >Bildwiederholrate hat das nichts zu tun. (siehe Ausführung oben) LEDs sind aber sehr schnell - scheinbar habe ich oben etwas überlesen bzw. falsch aufgefaßt : sorry! Bei LWL-Strecken werden Dioden sogar schneller ON/OFF geschaltet, ;-). > Wie wird denn gemessen, dass die LED-s da "sauber strahlen" ? >Wir verlassen uns da auf eine (gefundene) Versuchsreihe, in der >Verzögerungen zwischen Strom und Leuchtintensität im ps-Bereich bei LEDs >gemessen wurden. Wir messen also nur den Strom so gut es geht und >hoffen, dass die sich nicht vermessen haben. >Ob die Intensität dann noch stimmt kann ich leider nicht sagen, aber uns >bleibt im Moment nichts andere übrig, als den Strom zu optimieren. Ich denke da u.a. an parasitäre C--s, die ja bei hohen Freq. deutlich "wirken". Für Testzwecke würde ich einfach einen OP mit entsprechender Verstärkung nehmen oder ein TTL-Grab und wie oben beschrieben mit einem hohen Widerstand die Sache bei 10-20 MHz testen. 5V, 30 mA - das sollte nicht die Welt sein. Mit einem guten Oszi. dann den Strom over R messen ("hf-tauglich" muss der sein, kleines L etc. => SMD sollte gehen) Und dann die Helligkeit messen: analog, per Film. Da dann mehrere LEDs optisch parallel gemessen werden können Nur so eine Idee! Gruß und viel Erfolg! Würde mich freuen - vom Projekt wieder etwas zu höhren/lesen/ Foto sehen, .... C. @Stefan >Der µC Kann um >Fertigungstoleranzen der LEDs auszugleichen die Einschaltzeiten >anpassen. Diese müssen in einer Tabelle gespeichert werden, in dieser >wir die Intensität (Strom, ED) jeder LED eingestellt und dadurch eine >gleichmäßige Helligkeit erreicht. Der Abgleich steht uns auch noch bevor :( - bei 16 Bits hat man da aber noch gute Chancen. Ich hoffe nur, dass sich das Strom/Helligkeits-Verhältnis nicht maßgeblich durch Erwärmung ändert.
@Falk Deine "alles scheiße"-Mentalität hilft mir keinen Deut weiter. Das ist typisch Deutschland: "Alles ist scheiße, aber mir fällt auch nichts Besseres ein". Ich gehe jetzt mal nur auf die halbwegs konstruktiven Beiträge ein: > Weil die Induktivität dem Regeltransistor in Handwerk pfuscht. Bei > richtiger Dimensionierung (tm) ist so eine Stromquelle schon SEHR gut, > der Strom SEHR konstant, auch beim schalten. Im schlimmsten Fall fängt > man sich duch die Spule ZUSÄTZLICHE Schingungen ein, im besten Fall ist > die Spule wirkungslos. Danke für den Hinweis, werden beim Testen mal ein Auge drauf haben. Wär mir aus Kostengründen auch ganz recht, wenn das nichts bringen würde. Im Moment haben wir durch die langen Strippen auf dem Experimentierboard schon genug Störungen :( >>schonmal gar nichts zu tun. Wir verwenden maximal 25 - 30 Bilder die >>Sekunde bei einer Wiederholfrequenz von ca 122 Hz. >Wozu dann 2 MHz Stromquellen? also: 14,7456 MHz Quarz am AVR 2-fach-Multiplex-Betrieb 16-Bit Farbtiefe (65536 Timeslots damit man ohne Timedithering arbeiten kann, was bei unserer Bildwiederholrate ein sichtbares Flimmern verursachen würde) Refreshrate = 14.745.600 Hz 2 65536 = 112,5 Hz (Die oben angegebenen 122 Hz wären bei 16 MHz gewesen) 112,5 Refreshes pro Sekunde ist ok, damit es nicht flimmert. Um diese Rate zu erreichen muss ich allerdings in der Lage sein die LED für die Dauer eines einzelnen Taktes einzuschalten: 1 / 14.745.600 Hz ~= 68 ns Um das zu testen schalten wir in jedem Takt den Pegel um, was nunmal in einer Frequenz von 7,3728 MHz resultiert. Das ist leichter zu testen als alle 65536 Takte einen Takt lang den I/O auf high zu ziehen. Diese Frequenz sollte die Stromquelle ohne großartige Überschwinger oder Glättung verkraften können. >Ihr seid mir ein paar Strategen. Es gibt ja auch gar keine Common Anode >RGB-LEDs. Wäre auch völliger Unsinn, VORHER mal die kritischen >Komponenten gegeneinander zu prüfen. Nenne mir eine Common Anode-RGB LED mit einem Streuwinkel von min 120°, die es mit 800, 2000 und 650 mlm aufnehmen kann und nicht mehr als 0,70 EUR kostet und einen vernünftigen Weißpunkt bei den typical-Werten hat. Ich habe mit meinem Halbwissen und als Privatperson leider keine finden können... für dich scheint das ja kein Problem zu sein. Die hier gilt es zu toppen (das Datenblatt ist scheiße, ich weiß - billig Fernost halt): http://www.dotlight.de/datasheets/LL-U49RGB1C.pdf Selbst für die Common-Anode-Fraktion ist das Angebot an gut verfügbaren Treibern mit der gewünschten Charakteristik nicht sehr groß. Die meisten kämen uns immer noch teurer als die diskrete Schaltung. Wir zahlen im Moment 4,50 EUR pro 60 LED-Kanäle. >> Schnell schaltende >>Konstantstromquellen waren auch keine zu bekommen. > Selten so gelacht. Hör mal kurz auf zu lachen und nenne mir eine... >>Jo... oder wie willst du 16 Bits Farbtiefe darstellen? Die Pegeldauer >;-) Klar, weil ein RGD-LED Display auch 16 Bit pro Farbkanal braucht. >Oh Mann, man merkt mal wieder DEUTLCIH, was passiert, wenn Leute mit >Halbwissen sowas anpacken. Der Unterschied zwischen einem Duty-Cycle von 0/65536, 1/65536 und 2/65536 war bei abgedunkelter Umgebung bei einer popels-LED locker mit bloßem Auge zu sehen. Ist ja auch logisch: (1 / 65536) ^ (1 / 2,2) * 256 gibt immerhin 1,66 Farbabstufungen nach einer VGA-Gamma-Korrektur bei 8-Bit Farbtiefe. Warum sollte ich mit der Farbtiefe runtergehen, wenn ich mit der Qualität schon unter einem normalen VGA-Bildschirm bei 8 Bit liege? >Tja, PWM ist nicht alles. Es gibt auch noch Pulsdichtemodulation. Bei 16 Treffern in Google und 0 Treffern hier im Forum wundert mich nicht, warum ich davon noch nichts gehört habe... eine Beschreibung habe ich auch auf die Schnelle nicht gefunden. Beschreib mal, wie das die Probleme lösen soll. Wir führen im Moment die PWM für 60 LED-Kanäle bei 16-Bit Farbtiefe auf einem Mega16 in Software durch. Die Pulsdichtemodulation sollte das an Qualität und Leistung dann ja überbieten können, wenn die für den Fall besser geeignet ist, oder? >Schafft jede halbwegs gescheit dimensionierte Stromquelle SPIELEND! Schaltung, IC, Link, Buchtipp? Irgendwas Verwertbares? >>Unsere Schaltung funktioniert de facto, und so lange uns keiner eine >>bessere präsentieren kann, bleiben wir auch dabei! >Du bist ja richtig kritikfähig . . . Was soll ich machen? Die Schaltung einstampfen, weil irgendwer dahergelaufen kommt und behauptet die ist doof und keine bessere anbieten kann? Sobald du einen verwertbaren Hinweis gibtst baue ich die Schaltung sofort um und teste, ob die Ergebnisse besser werden! Ich weiß nicht, warum in diesem Forum immer sofort der Tonfall total entgleisen muss, wenn jemand seine Erfahrungen oder Probleme schildert. Ich habe nur unsere Schaltung vorgestellt, weil ich weiß, dass sie weitgehend das im Thread geschilderte Problem lösen kann. Ich habe keine verwertbare Info gefunden, die du dem Originalautor mitgegeben hättest, außer dass du mit allem grundlos nicht einverstanden bist. @ Christian >Bei LWL-Strecken werden Dioden sogar schneller ON/OFF geschaltet, ;-) hmm... stimmt auffallend :) >Ich denke da u.a. an parasitäre C--s, die ja bei hohen Freq. >deutlich "wirken". Jo... tun sie :( wir messen derzeit nach Möglichkeit über einen Messvorwiderstand liefert auf jeden Fall bessere Ergebnisse als irgendwas über die LED zu messen. >Und dann die Helligkeit messen: analog, per Film. Gefällt mir... am Besten noch ein paar Referenzhelligkeiten rein (geringe PWM-Geschwindigkeiten 25%, 50%, 75% oder so). LEDs am besten auf eine diffuse Mattscheibe scheinen lassen... dann kann man länger belichten ohne Clipping. Werd's bei der nächsten Session mal anbringen. >Gruß und viel Erfolg! >Würde mich freuen - vom Projekt wieder etwas zu höhren/lesen/ >Foto sehen, .... Danke! Fotos gibt's ein paar (uralte :( ) auf unserer Projektseite. Wir müssen uns dringend mal Zeit nehmen das ganze Filmmaterial online zu stellen - das lineare Fading ist echt gut geworden. Der neue Algorithmus hat leider höhere Anforderungen an die Schaltung, weshalb wir immer noch einiges zu optimieren haben. Gruß und schönen Abend noch Kai
Pulsdichtemodulation oder Pulse Density Modulation http://en.wikipedia.org/wiki/Pulse-density_modulation Gruss Helmi
Danke dir... ich erinnere mich - habe ich doch schonmal gesehen ;) Sehe aber leider nicht, was das an den timings ändern soll... um bei einer niedrigeren Pulsdauer denselben Duty-Cycle zu erzeugen muss ich selben Maße die Abstände zwischen den Pulsen vergrößern (dasselbe Dilemma wie bei der PWM). Zudem kriege ich dann Probleme mit dem Multiplexing, da die Zeitfenster prinzipbedingt nicht mehr gleich lang sind - das erschwert wahrscheinlich die Umsetzung in der Software enorm :( Mal rechnen: Duty-Cycle in Abhängigkeit der linearen Helligkeitswahrnehmung: D(x) = x ^ 2,2 Bei 8 Bits Farbtiefe (Farbindex n): D(n) = (n / 255) ^ 2,2 Mittlerer Abstand zweier Pulse der Länge d: H(n) = d / ((n / 255) ^ 2,2) Mittlerer Abstand zweier Pulse bei der untersten Helligkeitsstufe: H(1) = d / ((1 / 255) ^ 2,2) H(1) = d * 196965 Setzen wir als d die geringste mögliche Pulsdauer ein (1 Takt / 16000000 Hz = 62,5 ns) erhalten wir einen Pulsabstand von 196965 Taktzyklen, was bei 16 MHz einer Refreshrate von gerade noch ausreichenden 81 Hz (16000000 Hz / 196965) entspricht. Wenn ich jetzt noch das Multiplexing dazunehme lande ich bei einem augenkrebserregenden Flimmern von 40 Hz ;) Der Vorteil von dem Verfahren ist mit Sicherheit die mögliche Feinabstimmung im unteren Bereich, aber ich denke in Software kann ich da beim AVR nicht viel reißen - schon gar nicht für mehrere Kanäle gleichzeitig. Die Anforderungen bleiben aber auch hier dieselben: Die LED muss mit Pulsdauern in der Größenordnung 100 ns geschaltet werden. Längere Pulsdauern erwirken niedrigere Refreshraten -> Flimmern Ich schau trotzdem mal, ob sich daraus was basteln lässt. Danke für den Hinweis Falk Danke für den Link helmi Bis denne...
@ Kai Giebeler (runtimeterror) >Deine "alles scheiße"-Mentalität hilft mir keinen Deut weiter. Das ist >typisch Deutschland: "Alles ist scheiße, aber mir fällt auch nichts >Besseres ein". Erzähl keine Märchen. Nutze deine Energie lieber, um mal die Materie in Internet gescheit zu recherchieren. Ich werde nicht jedes Mal alles wiedervom Urschleim vorkauen. Dazu gibt es U.a. Wiki-Artikel LED-Matrix Der ist von mir. Sicher nicht das Nonplusultra, aber ein guter Ansatz. >Moment haben wir durch die langen Strippen auf dem Experimentierboard >schon genug Störungen :( Tja, solche "mal fix was verkabeln" "Lösungen" rächen sich nur allzuschnell. Erlebt man auch im professionellem Umfeld immer wieder. >112,5 Refreshes pro Sekunde ist ok, damit es nicht flimmert. Also 16 Bit PWM bei 112 Hz. >Diese >Frequenz sollte die Stromquelle ohne großartige Überschwinger oder >Glättung verkraften können. Also Schaltzeiten von ca. 20ns oder besser. Machbar. Enspricht etwa 15 MHz. >Nenne mir eine Common Anode-RGB LED mit einem Streuwinkel von min 120°, >die es mit 800, 2000 und 650 mlm aufnehmen kann und nicht mehr als 0,70 >EUR kostet und einen vernünftigen Weißpunkt bei den typical-Werten hat. >Ich habe mit meinem Halbwissen und als Privatperson leider keine finden >können... für dich scheint das ja kein Problem zu sein. Ihr seid nicht die ersten, die sowas bauen wollen. LED Displays gibts mittlerweile wie Sand am Meer. OK, die Verfügbarkeit für Privatpersonen ist möglicherweise ein Problem. >kämen uns immer noch teurer als die diskrete Schaltung. Wir zahlen im >Moment 4,50 EUR pro 60 LED-Kanäle. Das ist doch spottbillig. Problem gelöst. >Der Unterschied zwischen einem Duty-Cycle von 0/65536, 1/65536 und >2/65536 war bei abgedunkelter Umgebung bei einer popels-LED locker mit >bloßem Auge zu sehen. Ist ja auch logisch: (1 / 65536) ^ (1 / 2,2) * 256 >gibt immerhin 1,66 Farbabstufungen nach einer VGA-Gamma-Korrektur bei >8-Bit Farbtiefe. Und wer bitteschön soll das bei normalen/hellen Umgebungslicht sehen? >Warum sollte ich mit der Farbtiefe runtergehen, wenn ich mit der >Qualität schon unter einem normalen VGA-Bildschirm bei 8 Bit liege? Weil es akademische Augenwischerei ist. >nicht, warum ich davon noch nichts gehört habe... eine Beschreibung habe >ich auch auf die Schnelle nicht gefunden. Beschreib mal, wie das die Was schonmal einer der grosse Irrtümer der Generation Google ist. "kann ich schnell mit Google nicht finden, gibts also nicht". Naja. >Probleme lösen soll. Wir führen im Moment die PWM für 60 LED-Kanäle bei >16-Bit Farbtiefe auf einem Mega16 in Software durch. Wirklich? Da würde mich schon mal interessieren? Kann ich mir schwer vorstellen. >überbieten können, wenn die für den Fall besser geeignet ist, oder? Ist sie, aber sinnvoll nur mit CPLD/FPGA realisierbar. >>Schafft jede halbwegs gescheit dimensionierte Stromquelle SPIELEND! >Schaltung, IC, Link, Buchtipp? Irgendwas Verwertbares? Klassiker Tietze Schenk. Genauer hab ichs jetzt nicht parat. >Was soll ich machen? Die Schaltung einstampfen, weil irgendwer >dahergelaufen kommt und behauptet die ist doof und keine bessere >anbieten kann? Erstmal locker bleiben und einfach in die Diskussion pro/kontra einsteigen. >Ich weiß nicht, warum in diesem Forum immer sofort der Tonfall total >entgleisen muss, wenn jemand seine Erfahrungen oder Probleme schildert. Die Frage sollltes vielleicht du dir auch mal stellen. >>Bei LWL-Strecken werden Dioden sogar schneller ON/OFF geschaltet, ;-) >hmm... stimmt auffallend :) Nundass die "etwas" kleiner sind, und damit ganz andere parasitätre Kapazitäten haben. >Jo... tun sie :( wir messen derzeit nach Möglichkeit über einen >Messvorwiderstand liefert auf jeden Fall bessere Ergebnisse als >irgendwas über die LED zu messen. Was ja allgemein wenig sinnvoll ist, bei einer exponentiellen Kennlinie. MFg Falk
> Erzähl keine Märchen. Nutze deine Energie lieber, um mal die Materie in > Internet gescheit zu recherchieren. Ich werde nicht jedes Mal alles > wiedervom Urschleim vorkauen. Dazu gibt es U.a. Wiki-Artikel > LED-Matrix > > Der ist von mir. Sicher nicht das Nonplusultra, aber ein guter Ansatz. Der Artikel ist definitiv für den Einstieg in die Materie gut geeignet. Ich habe mich nach gut einem Jahr Recherche auch etwas geärgert, dass wir keine Common Anode-LEDs gekauft haben - wir hätten dann ein etwas breiteres Angebot an integrierten Treibern gehabt. Jetzt habe ich die Dinger hier liegen und möchte die verständlicher Weise auch verwenden. Auf der anderen Seite habe ich auch im Nachhinein keine erschwinglichen Common Anode LEDs in der gewünschten Leistungsklasse gefunden - wenn ich doch noch welche finde kann ich die vorhandenen im 100er-Pack bei eBay verhökern - sollte bei +-0 rauskommen. Die von dir im Artikel erwähnten Treiber kenne ich, sind aber für unseren Anwendungsfall leider nicht geeignet. > Tja, solche "mal fix was verkabeln" "Lösungen" rächen sich nur > allzuschnell. Erlebt man auch im professionellem Umfeld immer wieder. > Bei den 100 Schaltungen, die wir bislang aufgebaut haben hätte sich das Ätzen nicht wirklich gelohnt - steht demnächst aber an. > Also 16 Bit PWM bei 112 Hz. jo - könnten ohne Multiplex natürlich auf's Doppelte, oder halt die Pulsdauer zu Gunsten der Signalqualität verdoppeln. >>kämen uns immer noch teurer als die diskrete Schaltung. Wir zahlen im >>Moment 4,50 EUR pro 60 LED-Kanäle. > > Das ist doch spottbillig. Problem gelöst. Mir wär was Integriertes natürlich auch Recht - auch wenn's etwas teurer werden sollte. Ich möchte die Signalqualität zwischen 3 - 7 MHz noch gerne was besser haben... deshalb bin ich immer noch auf der Suche nach Tipps und Tricks. > Und wer bitteschön soll das bei normalen/hellen Umgebungslicht sehen? Unsere Anwendung wird ja nicht bei normalem Umgebungslicht betrieben. >>Warum sollte ich mit der Farbtiefe runtergehen, wenn ich mit der >>Qualität schon unter einem normalen VGA-Bildschirm bei 8 Bit liege? > > Weil es akademische Augenwischerei ist. na ja... lineares Dimmen bei 8 Bits ist auch nicht das Gelbe vom Ei. Pastellfarben lassen sich damit kaum abbilden und langsames Überblenden sieht meiner Meinung nach auch ziemlich schrecklich aus - das fängt wegen der groben Abstufungen im unteren Bereich tierisch an zu zittern. Die ganze Rumrechnerei vereinfacht uns lediglich die Abstimmung. > Was schonmal einer der grosse Irrtümer der Generation Google ist. "kann > ich schnell mit Google nicht finden, gibts also nicht". Naja. Sagte ja nur, dass ich nichts auf die Schnelle gefunden habe, nicht dass ich aufhöre zu suchen... >>Probleme lösen soll. Wir führen im Moment die PWM für 60 LED-Kanäle bei >>16-Bit Farbtiefe auf einem Mega16 in Software durch. > > Wirklich? Da würde mich schon mal interessieren? Kann ich mir schwer > vorstellen. Warum nicht? Für mehr Kanäle sind leider keine I/Os mehr frei und bei mehr Multiplex-Stufen reicht die Taktung leider nicht mehr für die 16 Bits (UND ich habe zu wenig I/Os ;) ). Außerdem komme ich dann mit der USART-Fütterung nicht mehr gut hinterher - ich habe zwar noch gut 40% Rechenleistung übrig, aber ziemlich ungleich verteilt. Ist zugegebenermaßen keine reine PWM - eher 'ne Kreuzung aus PWM und Pulsdichtemodulation, aber bei dem Algorithmus mit der reinen PWM hatte ich keine Rechenzeit mehr für's USART übrig gehabt und die kürzeste Pulsdauer war mir mit 4 TZ zu hoch. Ich bin gerade nochmal bei den AVRs mit mehr I/Os am schauen... aus dem ATmega2560 (oder ATmega1280 oder ATmega640) ließen sich locker 144 Kanäle (48 RGB-LEDs) rauskitzeln und ich hätte noch satte 12 Bits für eine parallele Anbindung (oder SPI oder USART oder TWI) frei und der Code wäre was einfacher/ordentlicher... käme mich leider deutlich teurer, da die nicht ganz billig sind - die Schaltung wäre dieselbe... nur halt 2,4 mal so groß ;) Bei dem Preis wären auch FPGAs wieder im Rennen. > Ist sie, aber sinnvoll nur mit CPLD/FPGA realisierbar. FPGA bin ich schon länger am überlegen - ich wollte mich im ersten Projekt allerdings nicht in noch ein neues Thema einarbeiten. Bin ja auch erstmal mit der Controllerlösung zufrieden - die Schaltung ist im Moment der optimierungswürdigere Kandidat. FPGA ist mit Sicherheit die schönere Lösung - der AVR tut mir ja schon fast leid, dass der keine sinnvollere Tätigkeit aufnehmen darf, aber da muss er jetzt durch ;) > Klassiker Tietze Schenk. Genauer hab ichs jetzt nicht parat. Merci! Wird sich schon finden. >>>Bei LWL-Strecken werden Dioden sogar schneller ON/OFF geschaltet, ;-) > > Nundass die "etwas" kleiner sind, und damit ganz andere parasitätre > Kapazitäten haben. Kennst du eine halbwegs zuverlässige Möglichkeit die parasitären Kapazitäten (vermutlich die vom pn-Übergang) mit Hausmitteln (30 MHz analog-Ozsi, gutes Multimeter mit Kapazitätsmessung) zu ermitteln? Würde aus dem Bauch heraus versuchen beim Schalten die Auf- und Entladekurve über den Vorwiderstand der LED zu interpretieren, denke aber, das Oszi ist dann schon arg am Limit. > >>Jo... tun sie :( wir messen derzeit nach Möglichkeit über einen >>Messvorwiderstand liefert auf jeden Fall bessere Ergebnisse als >>irgendwas über die LED zu messen. > > Was ja allgemein wenig sinnvoll ist, bei einer exponentiellen Kennlinie. Wenn ich die LED digital schalte, kann anhand der abfallenden Spannung auch feststellen, ob der Strom korrekt ist - das Verhältnis muss halt einmal für die LED ermittelt werden. Mit der exponentiellen Strom/Spannung-Kennlinie habe ich dann ja nichts mehr zu tun. Ich denke das Problem dabei sind eher die von dir beschriebenen Kapazitäten, die beim Schalten die Messung unbrauchbar machen. Im Moment versuchen wir die Schaltung so auszulegen, dass die Helligkeit bei einem 50% Tastverhältnis unabhängig von der Frequenz konstant bleibt - solange das bei allen drei Farbkanälen gegeben ist, ist mir der Stromverlauf fast egal. Ab 3 MHz steigt unser Frequenzgenerator allerdings aus, weshalb wir die Schaltung darüber hinaus noch nicht gut getestet haben... kommt Zeit, kommt MHz... Gruß uns so Kai
@ Kai Giebeler (runtimeterror) >Bei den 100 Schaltungen, die wir bislang aufgebaut haben hätte sich das >Ätzen nicht wirklich gelohnt - steht demnächst aber an. Bei 100!! loht sich ätzen nicht? Hmmm. Ausserdem baut man ja sinnvolerweise erstmal ein oder zwei Prototypen, optimiert die, und baut dann grössere Stückzahlen. >werden sollte. Ich möchte die Signalqualität zwischen 3 - 7 MHz noch >gerne was besser haben... deshalb bin ich immer noch auf der Suche nach >Tipps und Tricks. In welcher Richtung? Wie die Stromquelle schneller gemacht werden kann? Poste mal deine aktuelle Schaltung. >> Und wer bitteschön soll das bei normalen/hellen Umgebungslicht sehen? >Unsere Anwendung wird ja nicht bei normalem Umgebungslicht betrieben. Dennoch hab ich da meine Zweifel, dass es auch dann notwendig ist, mit 16 Bit zu arbeiten. Egal. >na ja... lineares Dimmen bei 8 Bits ist auch nicht das Gelbe vom Ei. Man dimmt ja auch NICHTlinear. Du hast ja selber den Kommentar zum LED-Fading geschrieben. >Pastellfarben lassen sich damit kaum abbilden Naja, das ist na nun auch die Creme de la creme. Ob man das ohne gescheite Messtechnik und Kalibrierung sowieso halbwegs hinbekommt? > und langsames Überblenden > sieht meiner Meinung nach auch ziemlich schrecklich aus Dann halt bissel schneller überblenden, heute hat doch eh keiner mehr Zeit ;-) >Ist zugegebenermaßen keine reine PWM - eher 'ne Kreuzung aus PWM und >Pulsdichtemodulation, aber bei dem Algorithmus mit der reinen PWM hatte >ich keine Rechenzeit mehr für's USART übrig gehabt und die kürzeste >Pulsdauer war mir mit 4 TZ zu hoch. Nochmal, auf EINEM ATmega16 werden für SECHZIG Kanäle 16 Bit PWMs generiert? Mit 14 MHz PWM-Takt. Kann ich mir irgendwie schwer vorstellen. Siehe Soft-PWM, ist auch von mir. >Ich bin gerade nochmal bei den AVRs mit mehr I/Os am schauen... aus dem >ATmega2560 (oder ATmega1280 oder ATmega640) ließen sich locker 144 >Kanäle (48 RGB-LEDs) rauskitzeln und ich hätte noch satte 12 Bits für >eine parallele Anbindung (oder SPI oder USART oder TWI) frei und der Ich glaube die Pins sind das kleinere Problem, eher die Rechenzeit. ich würde da auf eine AVR+CPLD Kombination gehen, oder gleich alles in einem FPGA. >Kennst du eine halbwegs zuverlässige Möglichkeit die parasitären >Kapazitäten (vermutlich die vom pn-Übergang) mit Hausmitteln (30 MHz >analog-Ozsi, gutes Multimeter mit Kapazitätsmessung) zu ermitteln? Würde >aus dem Bauch heraus versuchen beim Schalten die Auf- und Entladekurve >über den Vorwiderstand der LED zu interpretieren, denke aber, das Oszi >ist dann schon arg am Limit. Naja, für deine Anwendung reicht das 30 MHz Oszi. Der Ansatz ist so erstmal OK. Man sollte nur mir relativ geringen Spannungen und damit niedrigen Vorwiderständen arbeiten (100 Ohm in etwa). >Wenn ich die LED digital schalte, kann anhand der abfallenden Spannung >auch feststellen, ob der Strom korrekt ist - das Verhältnis muss halt >einmal für die LED ermittelt werden. Mit der exponentiellen Nicht wirklich. Das kann man vielleicht für EINE LED bei halbwegs konstanter Temperatur machen (was bei Pulsbetrieb bisweilen gar nicht so einfach ist), aber alles andere ist wildestes Schätzen. >Strom/Spannung-Kennlinie habe ich dann ja nichts mehr zu tun. Ich denke >das Problem dabei sind eher die von dir beschriebenen Kapazitäten, die >beim Schalten die Messung unbrauchbar machen. ;-) Die Kapazitäten habens dir wohl angetan, was? Keine Bange, jeder 0815 10:1 Tastkopf ist dafür ausreichend. MfG Falk
Moin oder so... > Bei 100!! loht sich ätzen nicht? Hmmm. Ausserdem baut man ja > sinnvolerweise erstmal ein oder zwei Prototypen, optimiert die, und baut > dann grössere Stückzahlen. Missverständnis. Wir haben bislang eine gute Menge unterschiedlichster Schaltungen aufgebaut um in die Materie reinzukommen - dafür jedesmal eine neue Platte zu ätzen wäre ein wenig unökonomisch. Die großen Stückzahlen folgen natürlich auf print, sobald wir einen funktionierenden Prototypen haben. > In welcher Richtung? Wie die Stromquelle schneller gemacht werden kann? > Poste mal deine aktuelle Schaltung. Ich denke, die Stromquelle läuft trotz diskretem Aufbau extrem stabil... mit dem Schalten der LEDs tun wir uns allerdings schwer... bei den meisten Schaltungen, die wir ausprobiert haben war die LED bei gut 200 kHz aus :( - da fehlen uns wahrscheinlich ein paar Basics. Ich schau mal, ob ich heute noch die aktuelle Schaltung gepinselt kriege... > Dennoch hab ich da meine Zweifel, dass es auch dann notwendig ist, mit > 16 Bit zu arbeiten. Egal. Bei der unfassbar hohen Qualität der LEDs Ironie brauchen wir die Genauigkeit um eine Per-Pixel-Korrektur durchführen zu können. Die sonstigen Qualitätsansprüche lassen wir mal unter Perfektionismus, persönliche Vorliebe und akademische Pedanterie fallen ;) > Man dimmt ja auch NICHTlinear. Du hast ja selber den Kommentar zum > LED-Fading geschrieben. Wenn ich nicht linear dimme, brauch ich im unteren Bereich zwangsläufig eine höhere Präzision. Da der Controller die 16 Bits ganz gut schafft (und sonst eh nichts Sinnvolles zu tun kriegt) würde ich die halt ganz gerne nach Möglichkeit nutzen. > Nochmal, auf EINEM ATmega16 werden für SECHZIG Kanäle 16 Bit PWMs > generiert? Mit 14 MHz PWM-Takt. Kann ich mir irgendwie schwer > vorstellen. Hmm... passt aber wunderbar und läuft auch schon :) Die größere Schwierigkeit war eigentlich den USART oft genug zu pollen - bei Interrupts riskiere ich durch die Unterbrechung ein Flimmern in den unteren Helligkeitsbereichen. > Ich glaube die Pins sind das kleinere Problem, eher die Rechenzeit. Hab's eben nochmal überschlagen: die Rechenzeit sollte noch ganz gut reichen, aber für die Fütterung von außen muss ein dedizierter Controller her, der on demand die Daten liefert, wenn der PWM-Controller signalisiert, dass er Zeit hat. (Irgendwie sind das zu viele Kommas...) Gruß aus Köln Kai
@ Kai Giebeler (runtimeterror) >Missverständnis. Wir haben bislang eine gute Menge unterschiedlichster >Schaltungen aufgebaut um in die Materie reinzukommen - dafür jedesmal >eine neue Platte zu ätzen wäre ein wenig unökonomisch. Ihr habt schon 100!!! verschiede Testplatinen gebaut? WOW! >Ich denke, die Stromquelle läuft trotz diskretem Aufbau extrem stabil... Denkst du! ;-) WEISST du es auch? >sonstigen Qualitätsansprüche lassen wir mal unter Perfektionismus, >persönliche Vorliebe und akademische Pedanterie fallen ;) Amen. >> Nochmal, auf EINEM ATmega16 werden für SECHZIG Kanäle 16 Bit PWMs >> generiert? Mit 14 MHz PWM-Takt. Kann ich mir irgendwie schwer >> vorstellen. >Hmm... passt aber wunderbar und läuft auch schon :) Zeig mal den Quelltext. Das glaube ich erst, wenn ich es gesehen habe. MfG Falk
Ach ja... ein bisschen was zum Gucken (nichts Weltbewegendes - die aktuellen Videos sind noch nicht online) Lineares Ausblenden (Gamma = 2.0) http://youtube.com/watch?v=KzTjv1ayg28 Die Matrix in Aktion (alter Algorithmus) http://youtube.com/watch?v=iR2uB8KDMnw Mehr (nicht ganz so aktuelle) Infos gibt's auf http://chamaeleon.tothecore.de
So... besser spät als nie.
>Zeig mal den Quelltext. Das glaube ich erst, wenn ich es gesehen habe.
hehe... hatte ich schon fast drauf gewartet. In dem Code steckt
allerdings recht viel Arbeit drin und wir wissen noch nicht, ob wir den
kommerziell nutzen wollen - ich denke du verstehst das. Falls wir den
offenlegen, stelle ich den Code inklusive Doku hier ins Wiki ein - wenn
ich dich anderweitig überzeugen kann, schlag was vor ;)
Die Schaltung ist natürlich kein Geheimnis und als zeitgenössische
Kugelschreiberillustration angehängt (sorry, ging gerade schneller). Die
Schaltung ist in genau dieser Form noch nicht getestet.
Gruß und schönen Abend noch
Kai
@ Kai Giebeler (runtimeterror) >hehe... hatte ich schon fast drauf gewartet. In dem Code steckt >allerdings recht viel Arbeit drin und wir wissen noch nicht, ob wir den >kommerziell nutzen wollen - ich denke du verstehst das. Sicher. >offenlegen, stelle ich den Code inklusive Doku hier ins Wiki ein - wenn >ich dich anderweitig überzeugen kann, schlag was vor ;) Wüsste nicht wie. Meine Zweifel an 60! (sechzig) 16 Bit PWM-Kanälen auf EINEM Mega16 beleiben bestehen. Ist aber zweitrangig. >Schaltung ist in genau dieser Form noch nicht getestet. ??? Ausserdem fehlen die Bauteilwerte. Ergänze mal. MFG Falk
Mal kurz zur Schaltung von gestern abend. Wenn die schneller werden soll, dann schalte Schottky-Dioden zw. Basis (Anode) und Collector (Katode). Damit verhinderts Du ne Sättigung des Transistors, was ihn extrem langsam ausschalten läßt (kann je nach Typ und gewähltem Basisstrom in die µs gehen). Dies könnte erklären, daß die LED's ab 200kHz mehr aus als an sind. Auch würde ich den C an der Basis nur mit ein paar pF oder ein paar 10pF bemaßen - größere Werte belasten nur sinnlos den Treiber und die Basis (vor allem bei höheren Frequenzen), und haben sicherlich sonst keinen sinnvollen Effekt.
@ JensG (Gast) >Auch würde ich den C an der Basis nur mit ein paar pF oder ein paar 10pF >bemaßen Falsche Dimensionierung. Werte zwischn 100pF und 1nF sind hier sinnvoll. > - größere Werte belasten nur sinnlos den Treiber und die Basis >(vor allem bei höheren Frequenzen), Ja. > und haben sicherlich sonst keinen sinnvollen Effekt. Doch. Sie sollen nämlich die Basis beim H->L Übergang für ein paar Dutzend ns ins negative ziehen, um die Ladungsträger schneller auszuräumen. 10pF sind da definitiv zu wenig. MFG Falk
Sorry wegen der fehlenden Werte: - Vcc = 8 V - Vcc2 = 5 V - Ired = Igreen = Iblue = 30 mA - Regelwiderstände (oben) = 100 Ohm - Bei den Transistoren sind wir uns beim Verstärkungsfaktor noch nicht sicher, was da geeignet ist. - Der Kondensator liegt glaube ich bei 10 nF - Den Basisvorwiderstand habe ich gerade nicht parat, ist aber so dimensioniert, dass der Transistor gerade halbwegs sicher durchschaltet. - Alle I/Os sind direkt mit dem Mega16 verbunden: 0V/5V Die Schottky-Diode habe ich bisher versucht zu vermeiden, da sie derzeit das teuerste Bauteil an der Schaltung ist (würde etwa 500 mal benötigt) - oder kennt Ihr günstige Bezugsquellen oder integrierte Arrays? Kann man für unseren Frequenzbereich auch normale Dioden einsetzen? - oder ist deren Spannungsabfall zu hoch? Werde bei der nächsten Bestellung trotzdem ein paar einpacken und testen. Wenn die drin sind können wir sicher auch den Kondensator kleiner dimensionieren oder gar weglassen. Was den Kondensator angeht: unter 100 pF wurde die Flankensteilheit deutlich schlechter. Nach oben hin konnte man jeden Wert nehmen aber der Transistor wird dann irgendwann bei den niedrigen Frequenzen gegrillt. Ich hatte ursprünglich überlegt Vcc = 12 V und Vcc2 = 5 V zu verwenden, damit man das ganze ohne zusätzlichen Aufwand über ein ATX-Netzteil füttern kann. Da ich aber keine Heizung bauen wollte bin ich wieder bei 8 V gelandet. Danke für euer Feedback!
@ Falk Brunner (falk) >> und haben sicherlich sonst keinen sinnvollen Effekt. >Doch. Sie sollen nämlich die Basis beim H->L Übergang für ein paar >Dutzend ns ins negative ziehen, um die Ladungsträger schneller >auszuräumen. 10pF sind da definitiv zu wenig. Für den L-H Übergang ist so ein C auch gut ;-) Ich meinte, sinnlos hohe Werte haben keinen zusätzlichen sinnvollen Effekt. Mag sein, daß die von mir erwähnten paar (10) pF zu wenig sind (durch die Verstärkung schlägt ja die C-B Kapazität stärker zu Buche). Aber in einer Schaltung, wo ich dies nutzte, hatte ich die empirisch mit Oszi ermittelt, und da waren knapp 100p aureichend (ich glaube es waren 82p - ist schon lange her). Hängt vom Transistor ab. @ Kai Giebeler (runtimeterror) >man für unseren Frequenzbereich auch normale Dioden einsetzen? - oder >ist deren Spannungsabfall zu hoch? Ja - auf deren Spannungsabfall basiert dieses Verfahren >Wenn die drin sind können wir sicher auch den Kondensator kleiner >dimensionieren oder gar weglassen. nee, nicht unbedingt. Weil die C-B Kapazität trotzdem noch da ist, die mit dem zusätzlichen C kompensiert werden soll. >Was den Kondensator angeht: unter 100 pF wurde die Flankensteilheit >deutlich schlechter. Nach oben hin konnte man jeden Wert nehmen aber der >Transistor wird dann irgendwann bei den niedrigen Frequenzen gegrillt. Bei niedrigen? Vielleicht ist doch der Basis-R etwas zu hoch, so daß der Transistor schon im linearen Betrieb arbeitet (also nicht voll durchgeschaltet). Bei hohen Frequenzen wird das wohl durch den Basis-C wieder etwas wettgemacht.
@ Kai Giebeler (runtimeterror) >- Den Basisvorwiderstand habe ich gerade nicht parat, ist aber so Das ist aber wichtig. >Die Schottky-Diode habe ich bisher versucht zu vermeiden, da sie derzeit >das teuerste Bauteil an der Schaltung ist (würde etwa 500 mal benötigt) Bei einem Preis von 2..5 Cent sicher zu verschmerzen. Braucht man aber nicht wirklich. >- oder kennt Ihr günstige Bezugsquellen oder integrierte Arrays? Kann >man für unseren Frequenzbereich auch normale Dioden einsetzen? Nöö, da müssen schon GHz Exemplare her . . . ;-) >Wenn die drin sind können wir sicher auch den Kondensator kleiner >dimensionieren oder gar weglassen. Es reicht, ihn RICHTIG zu dimensionieren. 10nF ist VIEL zu viel. Probier mal 220pF. >Was den Kondensator angeht: unter 100 pF wurde die Flankensteilheit >deutlich schlechter. Nach oben hin konnte man jeden Wert nehmen aber der >Transistor wird dann irgendwann bei den niedrigen Frequenzen gegrillt. Bei hohen, sicher nicht bei niedrigen. >Ich hatte ursprünglich überlegt Vcc = 12 V und Vcc2 = 5 V zu verwenden, >damit man das ganze ohne zusätzlichen Aufwand über ein ATX-Netzteil >füttern kann. Da ich aber keine Heizung bauen wollte bin ich wieder bei >8 V gelandet. Kommt auf die LEDs drauf an. Was für ein Flussspanung haben die denn? So, hier mal ein einfacher, aber dennoch recht fixer Stromquellentreiber. Macht 1 MHz recht problemlos mit. Als NPN wird man heute eher einen BC337 oder ähnlich verwenden, als PNP eien BC237 etc. Wenns noch schneller sein soll muss ein Pegelwandler her, der dann bezogen auf 12V die Stromquelle schnell, und vor allem niederohmig schalten kann. MFG Falk
Meine Antwort zu den normalen Dioden ist vielleicht etwas mißverständlich. Das JA bezog sich auf den zu hohen Spannungsabfall. Ich meinte nicht, daß man nornmale Dioden nehmen könne ... Die niedrige Flußspannung der Schottky's ist der springende Punkt.
>>... Nach oben hin konnte man jeden Wert nehmen aber der >>Transistor wird dann irgendwann bei den niedrigen Frequenzen gegrillt. Was ich meine: Bei niedrigen Frequenzen dauern die High-Pegel länger. Wenn der Kondensator zu groß dimensioniert ist, wird der Vorwiderstand nach einem Lo-Hi-Übergang zu lange kurzgeschlossen und der Basisstrom ist zu lange viel zu hoch.
@ Kai Giebeler (runtimeterror) >nach einem Lo-Hi-Übergang zu lange kurzgeschlossen und der Basisstrom >ist zu lange viel zu hoch. Eben darum nimmt man einen kleineren Kondensator . . . ;-) MfG Falk
verstehe ich trotzdem nicht: wenn die Frequenz niedrig ist, und der C lädt wirklich während der gesamten H-Phase, dann passiert das aber auch bei höherer Frequenz. Im Gegenteil - bei höheren Frequenzen würden die Spitzenströme öfters kommen, und die höchsten Spitzenströme gibt's ja immer am Anfang der Ladephase. Bei niedrigeren Frequenzen hat dagegen der Strom länger Zeit, entsprechend der e-Kurve auszupendeln, womit bei niedrigeren Frequenzen ein niedrigerer mittlerer Strom herrscht, somit auch weniger Verlustleistung in der Basis. Deswegen verstehe ich das nicht. Auserdem, wenn der Transistor schon allein wegen der Basisströme heiß wird, dann müssen das schon "gewaltige" Ströme für den Tr. sein ... Wird der Transistor dann auch heiß, wenn gar keine Last (LED) dran ist bei 10nF?
@JensG Bei höheren Frequenzen bekommt der Transistor von den 50% Duty-Cycle noch was mit und kann in den Low-Phasen abkühlen. Mit niedrigen Frequenzen meine ich solche, bei denen der Transistor nach einem langen High das folgende Low nicht mehr miterlebt. 5V über Basis-Emitter sind halt auf Dauer ungesund - wie lange der das aushalten würde weiß ich nicht. @Falk >>- Den Basisvorwiderstand habe ich gerade nicht parat, ist aber so >Das ist aber wichtig. Weiß ich. Ich habe hier leider keinerlei elektronisches Equipment - der ganze Aufbau steht bei 'nem Kollegen. Ich schau mal, ob ich die genauen Werte nochmal organisieren kann. Kann die meisten eurer Vorschläge daher auch nicht zeitnah testen, auch wenn's mir echt unter den Nägeln brennt. >Nöö, da müssen schon GHz Exemplare her . . . ;-) Wollte halt wissen warum Schottky-Dioden eingesetzt werden sollen - die einzigen Unterschiede die ich zu normalen Dioden kenne sind der Spannungsabfall und die Schaltgeschwindigkeit. >Die niedrige Flußspannung der Schottky's ist der springende Punkt. Und das war die gesuchte Antwort ;) >Bei einem Preis von 2..5 Cent sicher zu verschmerzen. Braucht man aber >nicht wirklich. Hast du da für Normalsterbliche zugängliche Quellen? Unter 0,13 EUR komme ich bei Reichelt nicht, obwohl... 1A bei 40V hört sich nicht nach dem unteren Ende an... ich such nochmal ;) >Probier mal 220pF. Notiert! >Kommt auf die LEDs drauf an. Was für ein Flussspanung haben die denn? s.o. >Rote LED mit 1.5V, grüne und blaue mit etwa 4.0 - 4.5 V bei 20 mA bei 30 mA wahrscheinlich leicht drüber. Würde mal 4.0 V - 5.0 V für grün/blau veranschlagen und 1.5 V - 2.0 V für rot. Danke dir für die Schaltung! In ähnlicher Form haben wir die schon eingesetzt. Statt für den Spannungsabfall über R1 hatten wir eine Zener-Diode. Die Schaltung hatte bei uns ziemlich üble Ergebnisse - werde die aber nochmal mit den von dir vorgegebenen Werten aufbauen. Wie würdest du den Stromfluss auf 30 mA begrenzen? Den Spannungsteiler R1:R2 verschieben oder den Regelwiderstand R3 anders dimensionieren? Wie errechnet sich der im Diagramm dargestellte Strom von 90 mA in D7? Habe nicht viel Übung darin: 12V = Ur1 + Ur2 + Uq1 <=> 11,3V = Ur1 + Ur2 Ur1 / Ur2 = R1 / R2 => Ur1 = 1,98 V Ir3 = (Ur1 - Ueb(Q2)) / 10 Ohm = 1,28 V / 10 Ohm = 128 mA Id7 ~= Ir3 = 128 mA Siehst du den Fehler, oder kannst du mir das mit eigenen Worten kurz erklären? Danke und Gruß Kai
@ Kai Giebeler (runtimeterror) >Rote LED mit 1.5V, grüne und blaue mit etwa 4.0 - 4.5 V >bei 20 mA >bei 30 mA wahrscheinlich leicht drüber. Würde mal 4.0 V - 5.0 V für >grün/blau veranschlagen und 1.5 V - 2.0 V für rot. Naja, dann brauchst du ca. 6..7 Versorgungsspannung, keine 12V! >Zener-Diode. Die Schaltung hatte bei uns ziemlich üble Ergebnisse - Habt ihr mal gemessen? Mit nem Oszi? Probieren allein geht da nicht. >würdest du den Stromfluss auf 30 mA begrenzen? Warum 30mA? Ihr muxt doch. Da braucht ihr mehr Pulsstrom. > Den Spannungsteiler R1:R2 >verschieben oder den Regelwiderstand R3 anders dimensionieren? R3 anpassen. >Wie errechnet sich der im Diagramm dargestellte Strom von 90 mA in D7? >Id7 ~= Ir3 = 128 mA Genau so. MFG Falk
Ich würde auch über R2 einen C schalten, denn was nützt es, wenn Q1 schnell wird durch C1, aber dessen tolle Schaltflanke dann über R2 und den parasitären C's des Q2 wieder tiefpaßgefiltert wird. Deswegen ist die LH Flanke des Stroms immer noch relativ rund. Übrigens scheint die Spitze beim Ausschalten (HL-Flanke) wohl ebenfalls vom C1 verursacht zu werden, der über die c-b Kapazität des Q1 auf die Basis des Q2 durchschlägt. Auch ein Grund, es nicht mit dem C1 zu übertreiben (hält ja zumindest noch rund 100ns den Strom aufrecht in Q2)
@ JensG (Gast) >Ich würde auch über R2 einen C schalten, denn was nützt es, wenn Q1 DAS würde ich bleiben lassen. Denn die Basis von Q2 MUSS auf iner festen Spanng liegen, hier ca. 10V. Wenn man die weiter runter zieht (im Schaltmoment durch ein C parallel zu R2) steigt der Strom! >die LH Flanke des Stroms immer noch relativ rund. Nein, das ist die relativ hochohmige Ansteuerung über R1 und R2. Wenn richtig fix sein soll muss ein Pegelwandler her der dann die Basis von Q2 niederohmig ansteuern kann. >Übrigens scheint die Spitze beim Ausschalten (HL-Flanke) wohl ebenfalls >vom C1 verursacht zu werden, der über die c-b Kapazität des Q1 auf die Ist ein Simulationsartefakt. Die Pulsquelle ist ideal, ohne Innenwiderstand. Im Umschaltmoment sind die Kapazitäten Kurzschlüsse, C1 sowieso, aber auch die parasitäre B-C Kapazität. Damit wird die Spannung am Kollektor von Q1 kurzzeizig um 5V runtergezogen, was eben die Stromspitze zur Folge hat. >Basis des Q2 durchschlägt. > Auch ein Grund, es nicht mit dem C1 zu > übertreiben (hält ja zumindest noch rund 100ns den Strom aufrecht in Q2) Eben. Aber auf keinen Fall ein C paralle zu R2! MFG Falk
>DAS würde ich bleiben lassen. Denn die Basis von Q2 MUSS auf iner >festen Spanng liegen, hier ca. 10V. Wenn man die weiter runter zieht (im >Schaltmoment durch ein C parallel zu R2) steigt der Strom! Also wenn Du gar keine I-Spitze riskieren willst, hast Du sicherlich (fast) recht. Allerdings gibt's trotzdem ein paar parasitäre pF's, die kompensationswürdig sind (ähnlich wie Spannungsteiler für Spannungsmessungen kompensiert werden). Hier muß man aber eben mit Oszi dies empirisch ermitteln, um den besten Kompromiss zu finden. Ich denke, kein C ist genau so falsch wie ein zu großer C. >Ist ein Simulationsartefakt. Die Pulsquelle ist ideal, ohne >Innenwiderstand. Im Umschaltmoment sind die Kapazitäten Kurzschlüsse, C1 >sowieso, aber auch die parasitäre B-C Kapazität. Damit wird die Spannung >am Kollektor von Q1 kurzzeizig um 5V runtergezogen, was eben die >Stromspitze zur Folge hat. Schade. Eigentlich habe ich es doch genau so begründet. Wieso läuft deine Begründung dann auf Simulationsartefact als Ergebnis raus ? Abgesehen von der idealen Pulsquelle sehe ich aber keinen relevanten Unterschied zur realen Welt. Warum soll dann diese Spitze nicht in der realen Welt erscheinen? Würde ich zumindest für möglich halten. Schließlich wird die Basis in negative Richtung gezogen, wo die Basis praktisch keinerlei Widerstand bietet, sondern (u.a.) nur noch die B-C Strecke als "kapazitive Last". Aber dieses Tuning-Thema gibt mir Lust, dies heut' abend (mal wieder) in der Realität zu testen ;-), wenn ich dazu komme.
So, gestern hatte ich mal ein paar Tests gemacht. Meine Signalquelle war leider nicht sehr berauschend, bestenfalls (je nach Testbedingungen) 100ns/50ns (LH/HL) Flankensteilheit, was sicherlich signifikant die Flankenqualität am Ausgang verschlechtern dürfte. Die Angaben bedeuten Latenzzeit+Anstiegszeit/Latenzzeit+Abfallzeit bei ungefähr bestem Kompromis der Bauteilwerte in der jeweiligen Variante. Transistoren waren BC546/556: 1.Ohne jegliches Tuning 100ns+100ns/2,7µs+400ns 2.Mit C1=220p 20ns+50ns/150ns+100ns 3. mit Schottky ü. Q1, C1=0p 100ns+100ns/0ns+600ns 4. mit Schottky ü. Q1, C1=47p 30ns+50ns/25ns+120ns 5. mit Schottky ü. Q1, C1=47p, C2=8,2p 30ns+30ns/25ns+100ns 6. wie 5, aber mit Pullup Tr. an C-Q1 30ns+40ns/15ns+15ns zu 2. die 150ns ist die Stromspitze, die Falk einfach als Simulationsartefakt abtat - existiert also auch in der Wirklichkeit. zu 3. Latenz beim Abfall sehr gering durch die Schottky (nicht sichtbar in diesem Meßbereich, deswegen 0) zu 4. mehr C1 war nicht nötig zu 5. C2 über R2, leichte Stromspitze (20%) bei LH-Flanke, höhere Werte (eg. 20p) brachten eine leichte Zeit-Verbesserung, aber auch größere Stromspitze (80%) Die LH-flanke wird vermutlich nur deswegen nicht besser in all den Scenarien, weil die Eingangs-LH-Flanke etwas zu lange braucht, sonst wäre die sicherlich auch weit besser.
Hier noch meine Testschaltung - allerdings sicherlich nix für Kai, denn er wollte ja noch nicht mal die Schottky finanzieren ;-)
hier vielleicht mal noch die beste HL-Flanke von Variante 6 mit (C3=20p) - unten Input-Signal (MP1) - oben Output-Signal (MP3) - mitte die "Kreuzung" zw. den Transistoren (MP2). Vermutlich ist der Tastkopf nicht abgeglichen gewesen wegen der Überschwinger
JensG wrote: > Hier noch meine Testschaltung - allerdings sicherlich nix für Kai, denn > er wollte ja noch nicht mal die Schottky finanzieren ;-) Pöh ;) Testexemplare sind jetzt bestellt. Die ist leider wirklich zu komplex um sie 500 mal für eine Anwendung aufzubauen, liefert aber gute Informationen darüber, was sich zu optimieren lohnt. Trotzdem vielen Dank für die ganze Arbeit! Ich nehm mir am Wochenende Zeit 'ne Quintessenz zu ziehen. Liefert eine LED als Last bei dir nennenswerte Unterschiede im Ergebnis? Gruß Kai
Hi! @Geschaltete-Stromquelle.png Die R's sind mir alle zu hoch. Ich plädiere für: R1=680R R2=0, dafür in die Emitterleitung von Q1 240R//47p R4=1K C1=27p Q1=BC547 und von Basis Q1 ein R mit 1K gegen GND Die Simu sah ganz gut aus, einfach mal testen Viel Erfolg, Uwe
@JensG (Gast) Versuch doch einfach mal als Ansteuerschaltung für deinen Transistor Q1 einen 74AC04. Wenn du denn Rechteckimpuls von deinem Generator über einen 74AC04 schickst hast du am Ausgang eine höhere Flanksteilheit im ns Bereich. So könntest du deine Test nochmal mit verbessert Ansteuerung wiederholen. Gruss Helmi
Sooo - hab nun auch noch mal mit einer besseren Signalquelle herumgespielt, sprich mit einem PIC-Ausgang mit so um die 15-20ns (weil ich grad so eine Schaltung hier rumliegen habe). Ergebnis: 10ns/10ns+10ns/10ns (also schön symmetrisch sogar) Im Anhang eine der Flanken. Ich denke, das kann sich sehen lassen. Damit könnte man so an die 50MHz schalten (zumindest erst mal gegen eine rein ohmsche Last Damit ist aber auch so langsam das Ende der Fahnenstange bei meinem Oszi (100MHz/1GS)erreicht - was viel besseres werde ich damit kaum noch sehen. Übrigens - daß die mittlere Kurve in den letzten Bildern extreme Überschwinger zeigte, lag peinlicherweise am fehlenden Abblockkondi in der Betriebsspannung (bei 1m langen Zuleitungen für den Saft sahen die Kurven aber doch noch gut aus - oder ? ;-) @Kai hatte ich schon fast erwartet, daß Dir das etwas zu komplex ist. Habe ich aber auch nur rein aus Interesse gemacht, umd betrachte dies einfach mal so als Machbarkeitsstudie. Eine LED habe ich noch nicht getestet, und würde vermutlich etwas schlechtere Ergebnisse bringen wegen deren Sperrschichtkapazität (ich glaube, die kann wohl schon einige 10pF betragen). Der Transistor ist zwar ein Stromverstärker, so daß ich sicherlich die Kurvenformen/timings auch bei einer LED ungefähr so ansetzen kann als Stromkurven, aber durch die Sperrschichtkapazitäten der LED wird wohl das Licht selbst etwas weicher schalten. @Uwe Also ich denke, dies ist kein wirklicher Ersatz, denn deine Schaltung ist aufgrund der Dimensionierung keine echte Konstantstromquelle mehr. Denn der Q1 schaltet nicht mehr einfach gegen Masse, sondern den Emitter ziehts bei H-Pegel auf etwa 4,3V (bei Ue=5V). Mit den vorgeschlagenen Widerständen hat dieser Q1 etwa ein v=2,5, d.h. den C würde es um über 10V runterziehen, geht aber nicht so weit, weil ihm der E entgegenkommt. Somit klatschen C und E einfach zusammen (Q1 in der Sättigung). Somit ziehts den E von Q2 um rund 7V nach unten, was Du auch an den rund 70mA in deiner Simu siehst. Da damit der Ausgangsstrom abhängig wird von der Eingangsspannung, ist dies keine wirklich geschaltete Konstantstromquelle für mich mehr, die ja weitgehend unabhängig von der Eingangsspannung sein soll. R2 kannst Du also nicht einfach auf 0 setzen aus rein funktionellen Gründen, oder Du mußt R1 zumindest bedeutend kleiner machen, um v kleiner zu kriegen. Auserdem kommen mir die Simu-Ergebnisse wirklich etwas sehr optimistisch vor. 10-20ns Abfall-Zeit??? Und Anstieg in 0,nix? Ich kanns ja mal testen, habe aber nicht viel Hoffnung, so gute Werte hinzubekommen. Niedrigere Widerstände machen eine Schaltung zwar schneller, zieht aber die "Stromkosten" wieder in die Höhe. So hatte die TTL-Reihe auch mal angefangen ;-)
@ Helmi (Gast) ja, würde sicherlich noch besser sein als Quelle, aber der letzte Test mit dem PIC als Signalquelle in meinem letzten Test zeigt sicherlich, wo der Hase hinläuft, wenn die Input-Flanken steiler werden. Das bringt aber mit meinem Oszi sicherlich nicht mehr so extrem viel (ganz wenige ns sind vielleicht noch drin) - da bräuchte man sicherlich einen breitbandigeren Oszi. Gute Nacht.
Hi! Ok, Jens ich habe mir deinen Einwand zu Herzen genommen und die Schaltung optimiert. Allerdings muss ich sagen >kein wirklicher Ersatz ist etwas voreilig wenn du das mal aus dem Blickwinkel eines Stromspiegels betrachtest. Der Stromes ist momentan, bei UB = 5-12V, im Bereich 20-25mA zu finden. Bei 12V sollte C5 aber höchstens noch 10p sein sonst treten Überschwinger auf. Im Anhang erstmal die Schaltung und dann noch die Simu dazu. Ich bin mir jedenfalls recht sicher das das ganze auch so funktioniert. MFG Uwe
@JensG (Gast) Da hast du Recht es wuerde vermutlich nicht viel mehr bringen einzig was du noch versuchen konntest waeren statt den BC Typen BF Typen einzusetzen. Aber Ich vermute mal das da deine Messtechnik fast am Ende ist. Gruss Helmi
Wozu der Versuch die Flanken so steil zu kriegen. Langsame Flanken geben nur etwas Nichtlinearität bei ganz kleinen und ganz großen Intensitäten. Für die Anwendung ist das aber egal, weil gerade da die LEDs auch nichtlinear sein können. Außerdem will man gerade langsame Flanken um nicht unnötig viel HF Störungen zu erzeugen. Man solle sich auch überlegen ob 16 Bit für die Helligkeit nicht übertrieben sind. Viele TFT Displays arbeiten schließlich mit nur 6 Bits und im Video Bereich werden selten mehr als 8 Bits benutzt, fast nie mehr als 10 Bits. Für die PWM Ansteuerung macht das einen großen Unterschied.
Hi Ulrich! >Wozu der Versuch die Flanken so steil zu kriegen. Langsame Flanken geben >nur etwas Nichtlinearität bei ganz kleinen und ganz großen Intensitäten. Mir ist letztendlich nur wichtig, dass Duty-Cycle von X immer gleich hell ist, egal wie die Pulse im Intervall verteilt sind. Bei einer reinen PWM hast du sicher recht, dass nur die Extremwerte Nichtlinearitäten aufweisen würden (was nicht soo tragisch wäre). Bei einer Pulsdichtemodulation von 50% wäre eine Glättung aber u.U. fatal. Ich hatte weiter oben ja schon geschrieben, dass es mir schon reicht, wenn die LEDs unabhängig von der Pulsfrequenz immer dieselbe Helligkeit aufweisen, was aber nur bei halbwegs steilen Flanken gegeben ist. >Für die Anwendung ist das aber egal, weil gerade da die LEDs auch >nichtlinear sein können. Was meinst du genau? Die LEDs werden ja genau deshalb gepulst, damit die ganzen nichtlinearen Kennlinien nicht (nennenswert) zur Geltung kommen. >Außerdem will man gerade langsame Flanken um >nicht unnötig viel HF Störungen zu erzeugen. Je langsamer die Flanken sind, desto höher sind die Schaltverluste (zumindest bei den obigen Schaltungen - meine verbrät eh mehr) und desto mehr fallen die nichtlinearen Kennlinien der LEDs ins Gewicht. Wenn das eine Option wäre würde ich einfach das Signal hinter dem I/O glätten und die Konstantstromquelle analog ansteuern. >Man solle sich auch überlegen ob 16 Bit für die Helligkeit nicht >übertrieben sind. >Viele TFT Displays arbeiten schließlich mit nur 6 Bits ... wie der hier rechts neben mir - brauche ich gar nicht ins Datenblatt zu schauen um das zu sehen ;) >und im Video Bereich werden selten mehr als 8 Bits benutzt, fast nie >mehr als 10 Bits. ... welche meines Wissens nach nie linear verteilt sind. Meine Ansteuerung verwendet eingangsseitig auch nur 8 Bits - reicht ja auch dicke. Nur die Ausgabe ist halt 16 Bit. Hast du dir schonmal eine lineare 8-Bit-Abstufung im unteren Helligkeitsbereich angesehen? Einfach eine LED mit 256 PWM-Stufen dimmen. Ich finde, das sieht schrecklich aus. >Für die PWM Ansteuerung macht das einen großen Unterschied. Ich weiß, deshalb knobeln wir ja überhaupt noch an der Schaltung. Hätte halt nur gerne die volle Auflösung genutzt, wenn sie schon zur Verfügung steht. Wenn sich keine Schaltung findet, die sich vernünftig verhält werde ich mit der Auflösung runtergehen müssen - dann kann ich auch wieder eine reine PWM verwenden. Schöne Grüße Kai
@ Uwe (Gast) ok, ich sehe, Du benutzt ja schon Dioden als Last (ich hatte noch einen normalen R als Last, dessen Spannungsabfall ich ja gemessen hatte). Muß mal eine Diode in meine Schaltung reinklemmen, und den Strom im Oszi anschauen - kann ja nur besser werden, wenn ich Deine Simu betrachte ;-) (wobei ich aber trotzdem eine gewisse Latenzzeit (Delay) beim Ausschalten vermisse - scheinen wohl superschnelle Transistoren zu sein :-) Trotzdem ist Deine Schaltung eher ein Linearverstärker ( bzw. U/I-Wandler), d.h., die Höhe der Eingangspannung bestimmt den Ausgangsstrom, somit kein echter Schalter (falls das wichtig ist).
Hi! @JensG >(wobei ich aber trotzdem eine gewisse Latenzzeit (Delay) beim >Ausschalten vermisse - scheinen wohl superschnelle Transistoren zu sein Nein, das sind Standardtransist., aber C5 spielt eine grosse Rolle weil er beim Ausschalten die Spannung an E für eine gewisse Zeit "negativ" hält und damit den Ausschaltvorgang deutlich beschleunigt. C2 hat übrigens die selbe Funktion. Die C's haben übrigens deshalb so kleine Werte damit sie wirklich nur wärend der Umschaltflanken wirksam sind, danach statisch. >Trotzdem ist Deine Schaltung eher ein Linearverstärker ( bzw. >U/I-Wandler), Willst du mir jetzt erzählen das deine Schaltung kein Linearverstärker ist? >d.h., die Höhe der Eingangspannung bestimmt den >Ausgangsstrom, somit kein echter Schalter (falls das wichtig ist). Das ist richtig, wenn ich aber davon ausgehe das ein Controllerpin eine recht konstante Spannung erzeugt(die Last ändert sich ja nicht) bin ich auf dem richtigen Weg. >ok, ich sehe, Du benutzt ja schon Dioden als Last Beachte bitte R11. MFG Uwe
@ Uwe (Gast) >Willst du mir jetzt erzählen das deine Schaltung kein Linearverstärker >ist? Der erste Transistor wird nicht als Linearverstärker benutzt - er soll nur ein/ausschalten (also nix oder alles), womit die Sache unabhängiger von der Eingangsspannung wird. Naja - heut oder morgen werde ich das mal durchtesten - interessiert mich ja auch irgendwie ;-)
Vielen Dank für die ganze Arbeit und die Informationen! Ich habe den Algorithmus jetzt so angepasst, dass eine Schaltgeschwindigkeit von 500 kHz ausreichen sollte, dass keine Monotonie-Fehler im Helligkeitsverlauf auftreten sollten. In Intervallen ist zwar die Linearität gefährdet, aber es gibt genügend Stützpunkte, die korrekt wiedergegeben werden sollten, so dass das nicht merklich ins Gewicht fallen dürfte. Wir werden versuchen unsere Schaltung nochmal mit den oben genannten Vorschlägen zu optimieren. Da die Anforderungen jetzt etwas gesunken sind, stehen die Chancen recht gut, dass sich da noch was machen lässt, ohne den finanziellen Rahmen zu sprengen. Gruß und schöne Woche noch Kai
@@ Uwe (Gast) Hi, habe nun doch noch Deine Schaltung mal getestet, und ich muß sagen, die funktioniert auch ganz ordentlich. Wem es nicht drauf ankommt, daß der Ausgangsstrom unabhängig vom Eingangspegel ist, ist damit sehr gut bedient. Ich habs zuerst nur mit einem reinen 100R als Last versucht, um einen Vergleich zu meiner Schaltung zu haben. Die Flanken sind sogar noch steiler (LH um 6-7, HL um 10ns), auch die Latenzzeiten liegen bei rund 7ns. Also fast durchweg besser als meine. Ich würde es mal so interpretieren: - Schaltung ist allgemein niederohmiger - der Eingang verursacht weniger kapazitive Last für die Quelle, was dessen Flanken verbessert (sehe sogar 5ns an der Stelle - da scheint mein Oszi sogar besser zu sein als von mir angenommen ;-), somit schnelleres Durchschalten der Stromquelle (was ich ja schon bei meiner Schaltung gesehen habe) - der erste T sieht an seinen Anschlüssen eine geringere Differenzspannung, die er überwinden muß (bei der ursprünglichen Schaltung muß er dagegen die kompletten 12V durchziehen) - ist aber vielleicht nicht so relevant Wenn dagegen eine LED als Last dran hängt, siehts eigentlich noch besser aus, was die (Strom-) Flanken angeht, was wohl auch klar sein dürfte, denn durch die nichtlineare Kennline der LED reicht ein kleinerer Spannungshub aus, um den LED-Strom von 0 auf max. zu bringen. Latenzzeiten sind aber trotzdem noch weitgehend unverändert da (entgegen der Simu, die bei HL praktisch 0ns anzeigt). Wem also das lineare Verhalten der Schaltung (Abhängigkeit vom Eingangspegel) nicht stört, der solle diese nehmen.
noch 'ne kleine Bemerkung: ich habe ohne den Leitungs_C (50p) getestet
Mit einem Trick kann man auch eine nichtlineare PWM Steuerung hinkriegen. Die LEDs bekommen je nach gewünschter Helligkeit an der einen Seite (z.B. Kathode) einen unterschiedlich langen Puls. Die andere Seite wird nicht mit konstanter Spannung, sondern mit mit langsam ansteigender Spannung betrieben, wobei der Spannungsverlauf mit dem Puls auf der anderen Seite syncronisiert ist. Man sollte so z.B. eine etwa quadratische oder ähnliche Kennlinie realisieren können. Der Aufwand hält sich auch noch in Genzen, denn man braucht ja insgesamt nur eine Steuerbare Spannungsquelle (D/A Wandler?), und auch nur begrenzt viele Treiber, unabhängig von der Anzahl der LEDs. Problematisch wird es höchstens bei der Mischung von verschiedenen LED typen, die Müßte man dann so anordnen das zu einer Zeit nur eine LED Type an ist. Man wird auch mit etwas höherer Leitungsaufnahme rechenen müssen, da man eher größere Serienwiderstände braucht und etwas mehr Spannung für die Spannungsgesteuerten Treiber. Nochmanl zu den Nichlinearitäten, auch wenn sie hier kaum stören werden: Bei kleinen Strömen nimmt die Helligkeit schneller ab als der Strom, denn ein Teil des kann ohne Lichtproduktion fließen, das war vor allem bei alten LEDs deutlich ausgeprägt. Bei Hohen Intensitäten wird die LED einfach warm und wird dadurch weniger hell als duch den hohen strom zu erwarten. Besonders steile Flanken helfen auch schon deshalb nicht weiter, weil die Dioden eine Cappatzität haben und Anfangs mehr Strom fließt. Zumindest einige rote LEDs leuchten noch eine merkliche Zeit (Bereich 100 nS) nach, nachdem der Strom Aus ist. Zu allem Überfluß zeigen auch LEDs "Reverse Recovery", d.h. wenn man zu schnell von durchlaß in Sperrichtung umpolt, fließt ein merklicher Strom in Sperrichtung, der dann die Matrixansteuerung durcheinander bringen kann und eine Art übersprechen verursacht.
Hi! @JensG >die er überwinden muß (bei der ursprünglichen Schaltung muß er dagegen >die kompletten 12V durchziehen) - ist aber vielleicht nicht so relevant Falsch, das ist genau der Knackpunkt. Du must bei 12V die unvermeidlichen C's an C-E,C-B,C-GND komplett umladen und das kostet Zeit. Du solltest dich mal mit Kaskodeschaltungen und deren Wirkungsweise beschäftigen, da wird dir vermutlich einiges klarer(Auswirkung der Millerkapazität....). Wenn ich statt R2/R4 Transistoren(Doppeltransistoren) einsetze, also einen echten Stromspiegel aufbaue wird die Sache vermutlich noch schneller. Der finatielle Aufwand steigt dann aber noch weiter und das war überhauptnicht gewünscht. -es reicht so schon. >noch 'ne kleine Bemerkung: ich habe ohne den Leitungs_C (50p) getestet Das glaube ich nicht, die sind real immer da, in der Simmu sollte man sie aber einbauen. @Ulrich >Zumindest einige rote LEDs leuchten noch eine merkliche Zeit (Bereich >100 nS) nach, nachdem der Strom Aus ist Stimmt, aber beachte bitte R11, der soll genau das verhindern. > Zu allem Überfluß zeigen auch LEDs "Reverse Recovery" Aber nur beim Umpolen, aber das machen wir ja nicht. MFG Uwe
@ Uwe (Gast) >Falsch, das ist genau der Knackpunkt. Du must bei 12V die >unvermeidlichen C's an C-E,C-B,C-GND komplett umladen und das kostet Hatte ich das nicht auch gesagt? Kaskode kenne ich übrigens. >>noch 'ne kleine Bemerkung: ich habe ohne den Leitungs_C (50p) getestet >Das glaube ich nicht, die sind real immer da, in der Simmu sollte man >sie aber einbauen. Ich meinte, ich habe keinen extra C mit rangeklemmt. Daß parasitäre C's vorhanden sind, ist schon klar. Mit wieviel ich allerdings die LED z.B. ansetzen muß, ist mir jetzt nicht so geläufig. Kann sein, daß die 50p schon ein passender Wert sind. Dann habe ich ja alles richtig gemacht ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.