PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cube 7^3: wieviel transistoren kann ich ansteuern ?



PhoenixTS82
16.07.2008, 20:19
Hi

ich bin jetzt dabei meinen Cube 7x7x7 RGB zu basteln

ich stehe dazu auf der transistorkarte vor dem problem,
dass die wahl der X-Achse meiner led immer 7 transistoren (BC 639) ansteuern müsste, klappt das oder wird mir da der Controller verrecken ? ich hab nen Mega32 dran.

den BC 639 habe ich verwendet, weil ich das in einer anderen ähnlichen schaltung gesehen habe, wenn jemand denkt, dass ich das falsch demensioniert habe oder ich da was besseres nehmen kann, wäre ich froh über die info.

zur erlärung der schaltung:


color gib strom auf die jeweilige farbe (dargestellt ist nur eine ebene, deswegen die freien transistoren oben) und z wählt, auf welche ebene der strom geht

x und y ziehen die masse auf die jeeilige reihe und spalte

(also auf den pins 1-49 stehen jeweils die 7kathoden der 7 leds übereinander)

so.. viel text, jetzt erstmal die schaltung:

auf wunsch stelle ich auch einmal die gesamtschaltung hier rein auf einer seite, wenn das geht...

fhs
16.07.2008, 20:29
Hallo,


...ich stehe dazu auf der transistorkarte vor dem problem, dass die wahl der X-Achse meiner led immer 7 transistoren (BC 639) ansteuern müsste, klappt das oder wird mir da der Controller verrecken ?
Bei welchem Kollektorstrom und welcher Schaltfrequenz?
Wenn wir mal von einem Spitzenwert von 100mA beim Kollektorstrom pro Transistor ausgehen und einem hfe von 100, dann fließt pro Transistor ein Basisstrom von 1mA. Also: 7*1mA=7mA -- und damit kein Problem für einen I/O-Pin des Atmega32 (aber bitte auch den zulässigen Gesamtstrom beachten; siehe ATmega32 Datenblatt)!

Da Du nicht schreibst, wie Dein Multiplex-Verfahren aussieht und welche Spitzenströme auftreten, lässt sich mehr dazu kaum sagen.

Viele Grüße

Fred

Murdoc_mm
16.07.2008, 20:44
ich bin jetzt dabei meinen Cube 7x7x7 RGB zu basteln

Warum hasten nicht gleich nen 8x8x8 gebaut? Oder anders gefragt: Wie bist du auf 7x7x7 gekommen?


auf wunsch stelle ich auch einmal die gesamtschaltung hier rein auf einer seite, wenn das geht...

Ich würde die gern mal sehen da ich dein Problem noch nicht wirklich verstanden habe.

Gruß

Feratu
17.07.2008, 01:03
Moin
Wenn der Strom wirklich nicht ausreichen sollte wäre es nicht möglich einfch Darlington Transistoren mit entsprechenden Wiederständen zu verwenden ?
Du musst ja lediglich drauf achten das wenn der Pin "low" ist der Pulldown Widerstand ausreicht.
Hab das noch nciht getestet aber würd das gehn ?

fhs
17.07.2008, 07:26
Hi Feratu,

wenn man die Nachteile der Darlington-Transistoren akzeptieren kann (höherer Spannungsabfall, schlechteres Zeitverhalten), müsste das wohl gehen (vorsichtig formuliert, mit Analogtechnik kenne ich mich nicht so gut aus) gehen. Ich sehe allerdings keinen Grund, nicht "normale" Typen zu verwenden. Der OP hat bisher noch nicht erklärt, welche Maximalströme auftreten, so dass eine Abschätzung nicht möglich ist.

Viele Grüße

Fred

PhoenixTS82
17.07.2008, 16:48
hmm ok, also es wird immer nur eine led leuchten, wie groß die frequenz wird weiss ich noch nicht, wahrscheinlich so, dass ich im worst case alle led's flimmerfrei zum leuchten kriege, muss ich testen..

7x7x7 hab ich genommen, weil ich dann eine mitte habe und das dann auch gleich mal statt 512 nur 343 leds werden was sich bei bei 72 cent pro stück schon lohnt


edit:
ich werde mal gleich die ganze schaltung, so wie ich mir das gedacht habe posten

Besserwessi
17.07.2008, 17:25
Wenn immer nur eine LED leuchtet, wird das ziehmlich dunkel. Man wird den Würfel wohl so auslegen, das bis zu 1/7 oder 1/14 der LEDs gelichzeitig leuchten. Dabei wird es auch eine Menge (z.B. 49) Transsitoren geben, die jeweils nur dn Strom für 1 LED liefern müssen. Da wird man dann wohl auf etwa 50-100 mA kommen.

Schon wegen der Größe sollte man überlagen dafür fertige TreiberICs wie ULN2003 zu nehmen, da hat man 7 Kanäle zusammen in einem IC.

PhoenixTS82
17.07.2008, 18:11
So bis jetzt sieht das so aus (kann sein das einige Beschriftungen falsch sind)

@beserwissi: ich dachte daran die led schon mit nem impulsstrom anzusprechen und dann evtl den watchdog zur sicherheit zu nutzen, das sollte doch dann gehen egen helligkeit oder ?

die led haben ein impulsstrom von max 100mA und 20mA wenn sie nur euchten sollen, ich dachte an so 60-70mA

fhs
17.07.2008, 18:15
Hi,

könntest Du die Schaltung bitte als Bild oder PDF hochladen? Ich verwende KICAD und meine uralte und nur zum Ansehen von Schaltplänen anderer genutzte Eagle-Version weigert sich, die Datei zu öffnen!

Gruß

Fred

PhoenixTS82
17.07.2008, 19:33
aber klar doch !


ich habe bei der ld matrix nur 3 kathoden vernden, weil das mit jetzt auf die schnelle zuviel war im gesamtplan

die einzelnen ebenen liegn selbstverständlich dann übereinander

hmm ich sehe gerade das ich die Transistoren ja gar nicht direkt über den Controller anspreche, sondern über die decoder 74138 mal gucken, was die für ne ausgangsleitung vertragen...

ich finde die leider nur als LS

fhs
17.07.2008, 20:36
Hallo,

danke für die PDF-Version. Leider blicke ich durch den Teil hinter den Decodern überhaupt nicht durch. Du musst noch das Timing erklären und wie viele Transistoren maximal mit einem LS-IC-Ausgang verbunden sind. Die LS-Serie ist als SOURCE (tut mit leid, den deutschen Begriff kenne ich nicht) nicht sehr stark, eher als SINK: http://www.twysted-pair.com/74lsxx.htm .

Gruß

Fred

Besserwessi
17.07.2008, 22:07
Der Einwand von "fhs" mit den LS Gattern ist berechtigt, das läßt sich aber leicht beheben indem man 74HC138 Gatter nimmt.

Die Schaltung ist wirklich nicht sehr übersichtlich. Soweit ich das Verstanden habe schaltet der Schaltung hinter den Decodern einen von 49 Außgängen gegen GND. Wenn nur höchstens eine von 49 LEDs leuchtet, dann hat man wahrscheinlich Helligkeitsproblem. Die LEDs kriegen dann im Mittel nur 1/49 des Stromes oder bestenfalls 2 mA. Mit extra hellen LEDs könnte das noch gehen, die meisten RGB LEDs sind aber nicht gerade extra hell.

Man wird die LED matrix wohl etwas anders aufteilen müssen. Möglich wäre eventuel Ebenen (1/7) und die Farben(3) zu trennen, sodass jeweils 1/21 der LEDs gelichzeitig brennen kann. Dann braucht man 21 starke Treiber (ca. 5 A) und 49 kleine (ca. 100 mA).

PICture
17.07.2008, 22:07
Hallo!

@ PhoenixTS82

Ich sehe keinen Sinn die 74LS138 Dekoder zu verwenden, wenn nur 3 Portpins benutzt werden. Das kann man softwaremässig machen und anstatt den Dekoder, die vom Besserwessi erwähnte Treiber nehmen.

Die zwei jeweils in Serie als Emitterfolger geschaltete Transistoren, die unbekannte +B schalten, werden im Endeffekt an die Dioden nur eine Spannung liefern, die um min. 0,7V niedriger als "H" Pegel vom µC ist. Ich würde dort pnp Transistoren einsetzen, es sei denn, dass solche Spannung gewollt ist.

MfG

Besserwessi
17.07.2008, 22:40
Zum Testen sollte man eventuell mit einer deutlich kleineren LED matrix üben. z.B. als 6x6 oder wenn es ein Würfel sein soll, dann als 4x4x4. Das wird von den Teilen nicht so teuer und man wird auch schneller fertig mit dem zeichen und löten.
Die Decodern machen eventuell schon Sinn, immerhin stellt man so sicher das nicht meherere Ausgänge gleichzeitig aktiv sind. Für die 49 kleinen Treiber wird man aber unabhängige Ausgänge, z.B. über Schieberegister brauchen.

PICture
18.07.2008, 12:18
Hallo!

@ PhoenixTS82

Alle meine weitere Aussagen beziehen sich ausschließlich auf die RGB LED von Kingbright (LF59EMBGMBC) deren Datenblatt ich mir kurz angeschaut habe.

Der Peakstrom darf nur ca. 7-fache des Stromes ohne Multiplexing betragen. Um die volle Helligkeit solcher LED zu benutzen, darf man dann bis Duty-Faktor 1/7 anwenden.

Es würde empfehlenswert ein Duty-Faktor 1/343 zu vergessen, da angeblich bei 1/49 des Stromes ohne Multiplexing die LED mit 30mA/49= ca. 0,38 mA kaum sichtbar leuchten würde (einfach probieren).

Übrigens, jede Entwicklung sollte mit Datenblätter anfangen... O:)

MfG

PhoenixTS82
18.07.2008, 13:08
hmm ok ich werde das mal versuchen genauer zu erklären...

der decoder wandelt halt aus den 24 datenleitungen in 12 datenleitungen
(ich weiss das es auch bei 4 ports ohne passen würde, aber das ist erstmal unwichtig)

zur funktion:

1.
als erstest schaltet der port D eine farbe frei (T4,T5 oder T6) damit die 5V Versorgungsspannung auf ein Farbe freigegeben werden, die in der zeichnung direkt darunter liegen (damit liegt immer an 7 Transitoren 5v an entwerder die linken, mittleren oder rechten)

port c (z-achse) bestimmt, welche der 7 transistoren durchsteuert und da damit die 5V weitergibt auf eine komplette ebene (also eine farbe einer ebene (49 leds) hat jetzt 5V.

2
port a und b entscheiden jetzt welche zeile und spalte die masse durchsteuern nach GND

so leuchtet immer eine LED mit der vollen versorgungsspannung (die widerstände r2,r3,r4 bei +ub sorgen dafür das ich immer ca. 70-80mA habe)


so zum 2. problem:

also ich denke ich kann den decoder ruhig weglassen,
wievielstrom brauch den ein transistor damit er sicher durchsteuert, ich müsste ja 10 transistoren immer ansprechen, der maximale strom beim mega32 liegt ja bei 40mA pro I/O pin und 200mA gesamt maximal.

(da steht auch maximal 400mA beiTQFP/MLF)
was auch immer das heisst


kennt einer ein programm und so trickfilme zu machen wie im TV und stromflüsse ect darzustellen ? oder bewegungsabläufe ?

Besserwessi
18.07.2008, 14:51
Die Schaltung könnte so wie beschrieben eventuell fast funktionieren (bei blau dürfte es mit der Spannung etwas knapp werden). Wegen der Pronzipiellen Probleme mit der Helligkeit macht es aber wenig Sinn die Scahltiung genauer zu analysiren. Das ganze wird sehr dunkel wegen des sehr geringen Tastverhälnisses. Es könnte noch gerade gehen wenn jeweils nur ein paar wenige (bis etwa 20) LEDs gleichzeitig hell sein sollen, das schränkt die Anwendung aber schon ganz schön ein.

PhoenixTS82
18.07.2008, 15:25
hmm also ich habe natürlich eine testschaltung gehabt mit 30 leds, die alle gleiziteig an waren (also natürlich gemultiplext) und die hatten fast normale helligkeit. da ich die neue schaltung auf impulsstrom betreiben möchte denke ich mal sollte das funktionieren (es ist ja nur der worst case, das mal alle kurz leuchten und wenn da nn ist es ja eh nur ein schnells blinken oder so.

ich orientiere mich da etwas an dem Borg3D von "das Labor" (einfach mal googlen)

wegen der helligkeit bei blau mache ich mir keine sorgen, es kriegt ja jede farbe ihre eigene spannungversorgung über die 3 widerstände, der von blau ist dann natürlich etwas kleiner

PhoenixTS82
18.07.2008, 18:53
So ich habe das mal als neues PDF gemacht und die Signale anhand eines Beipiels für die LED 2-2-2 in Rot dargestellt.

Blau = 5V
Gelb = Masse
Rot = durchgesteuerter Transistor



p.s. zum thema helligkeit:

ich dachte mir das jetzt so:

da ja jede ebende mit strom versogwerden kann kann ich ja auf jeder ebene die gleiche LED übereinander leuchten lassen, dann müsste ich nur 49 leds multiplexen statt 343.
dann müsste nur der port C noch nen treiber ic kriegen....

Was für ein IC nehme ich denn da ?

PhoenixTS82
18.07.2008, 19:06
so ich habe die version nochmal aktualiesiert... jetzt ist richtig....

Besserwessi
18.07.2008, 21:32
Die Schaltung hat immer noch die gleichen Probleme.
Bei den blauen LEDs wird die Spannung wirklich knapp:
Die LEDs selber braucht bei 50-100 mA ca. 4-4,5 V. Die 2 Transistoren auf der Vcc Seite geben höchstens 0,7 V Weniger raus als die Portpins die sie ansteuern. Auf der GND Seite muss man auch noch man mit wenigstens 0,2 V an verlust rechnen. Da bleibt wirklich kaum Spannung mehr für die Widerstände übrig, selbst wenn der Controller mit 6 V läuft.

Bei den 7*7*7 RGB LEDs (das sind gut 1000 LEDs !) sind das etwa 35 mal mehr als bei dem Test mit 30 LEDs. Ensprechend dunkler wird das !. Da hilft es auch nicht wenn das nur kurz hell sein soll, das wird dann halt kurz gleichmäßig fast dunkel.

Die hintereinandergeschateten Transistoren sind auch problematisch, denn es fließt immer der Basisstrom und sorgt für eine hintergrundhelligkeit. Bei dem extrem kleinen Tastverhältnis werden die LEDs dadurch kaum heller als sie ohnehin schon sind, wenn eigentlich aus sein sollten.


Es ist gar nicht so viel Komplizierter mehrere LEDs gleichzeitig zu treiben. Das wesenliche was man braucht sind mehr Ausgabe pins, die man z.B. durch eine Porterweiterung erhalten kann. Dafür spart man sich die Decoder ICs.

Für den Anfang ist das Projekt wirklich etwas zu groß.

PhoenixTS82
19.07.2008, 11:17
ich denke statt den 49 transistoren nehme ich ein ULN2003A, wie er gerade in dem anderen Thread besprochen wird...

und die spannungsversorgung für jede farbe kommt ja von aussen, nicht über den controler, also kann ich die auch ohne probleme erhöhen.

die leds brauchen
2,4V grün
3,6V Rot und Blau

Wie wäre es denn damit : ?

das 343 Led's gleichzeitig leuchten sollen ist ja nur der worst case, in diesem fall kann ich ja immer die 7 LED's übereinander gleichzeitig
betreiben (bzw. aus jeder ebene eine led), dann muss halt an den port C ein treiber rein.

in den meisten fällen leuchten ja maximal 5-10 LED's gleichzeitig.

was für ein IC brauche ich denn wenn ich ein treiber davorsetzten will ?

Besserwessi
19.07.2008, 13:08
Das mit der externen Spannung stimmt schon, aber die 3,6 V reichen besonders bei der blauen LED kaum für 20 mA. Für den höheren Pulsstrom braucht man über 4 V. Bei den Datenblättern die ich habe braucht man schon für 50 mA rund 4,5 V bei blauen LEDs.
Wenn die Transistoren mit dem Emitter zur LED sind, ist die Spannung auch durch den Kontroller begrenzt. Damit das so leuchten soll müßte man recht kleine Basisvorwiderstande nehmen und kriegt damit die roten LEDs nicht richtig aus. Den Teil der gegen Vcc schaltet müßte man wenigstens überarbeiten und da PNP-Transistoren nehmen.

Die ULN2003 ersetzen 7 Transistoren, allerdings mit etwas mehr Spannungsabfall, denn da sind Darlingtons drin.

PhoenixTS82
19.07.2008, 14:23
hmm wieso erhöht sich denn die spannung wenn ich nur nen kleinen impuls habe ? mehr als 3.6V sollte ich der LED doch nicht zumuten ?!?!

und was mach ich jetzt ?

Besserwessi
19.07.2008, 17:15
Gerade die blauen LEDs habe keine reine Dioden Kennlinie, sondern noch einen zusätzlichen Serienwiderstand, der vermutlich von den Kontakten kommt. Die balue LED verhält sich damit mehr wie eine LED mit 3 V Flußspannung und einem internen Serienwiderstand von etwa 25 Ohm. Bei 20 mA kommt man so auf etwa 3,5 V , bei 50 mA aber auch etwa 4,3 V. Kurzzeitig können die meisten LEDs die 50 mA (oft sogar 200 mA) vertragen, es muß dann nur das Tastverhältnich klein bleiben.

Die Schaltungen für LED Würfel die Ich kenne arbeiten meistens mit ULN2003 als Treiber für die GND Seite. Dort werden dann relativ viele Kanäle unabhängig angesteuert, also nicht nur jeweils einer. Die Widerstände kommen auf die GND Seite, man braucht also deutlich mehr als nur 3.
Auf der Vcc Seite werden dann meistens MOSFETS oder größere PNP Transistoren genommen, denn das kann dann deutlich mehr Strom (z.B. 1-5 A) fließen.

PhoenixTS82
20.07.2008, 18:48
also ich habe gerade mal ne test mit 5 led's gemacht die nacheinander für 0,5ms angesprochen und dann noch 45x0,5ms pause gemacht (um die fehlen leds einer ebene zu simulieren) und es mach noch einen recht guten eindruck...


was ist der der vorteil an MOSFET's ? bzw. pnp transistoren ?

Besserwessi
20.07.2008, 19:40
Mit Mosfets oder PNP transistoren verliert kriegt man mehr Spannung raus als mit den NPN Transistoren an der Vcc Seite. Mit MOSFETS hat man in statischen Fall und bei den eher niedrigen Frequenzen weniger Verlustleistung. Man braucht da allerdings entweder P.Kanal Fets (teuer und weniger Auswahl) oder spezielle Treiber ICs mit höherer Spannung.

PNP transistoren sind in der Regel günstiger und die Ansteuerung ist eher etwas einfacher. Für höhere Strom kann man die aber auch nicht mehr direkt vom Controller ansteuern.