PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fritzing 4x4x4 LED Cube Schaltplan



nawiat
27.07.2015, 08:47
Hallo alle zusammen ^^

Ich habe vor einen 4x4x4 LED Cube zu bauen. Um diesen zu steuern habe ich mich für den "Arduino Uno R3" entschieden. Ich habe schon im arduinoforum.de gefragt aber dort kamen wir alle an unsere Grenzen und ich hoffe das ich hier eine Antwort finde.

Ich möchte den Würfel Multiplexen. Wenn ich ihn zusammen gelötet habe, sind am unteren Ende des Würfels noch 16 Kathoden übrig. An jede Schicht geht noch ein Silberdraht um die Anoden zu versorgen. Um alles richtig zu bauen und dem Board/LEDs nicht zu schaden, wollte ich hier mal nachfragen wie ich die richtigen Resistor und Transistor aussuche.

Daten der LED:


Gruppenstrom = 35 mA
Betriebsspannung = 2,8 ... 4,0 V


Daten des Boards:


Operating Voltage = 5V
Input Voltage (recommended) = 7-12V
Input Voltage (limits) = 6-20V
Digital I/O Pins = 14 (of which 6 provide PWM output)
Analog Input Pins = 6
DC Current per I/O Pin = 40 mA
DC Current for 3.3V Pin = 50 mA


Meine Rechnung um auf den Widerstand zu kommen ist so:

R = (5V - 2,8V) / 0,035A
R = 62 Ohm

Also könnte man 80 Ohm Resistor für je eine Kathode nehmen.

Meine erste Frage ist:
Was ist wenn es statt 2,8 V mal 4 sind, dann wird doch die LED dunkler als vorher. Wie kann ich das Problem lösen?

Dann noch eine Frage zu den Transistoren:
Woher weiß ich welche ich für mein Projekt nehmen muss? Den "BC547C"? Wie bekommt man das raus? ^^

Das wären so meine Fragen. Wenn jemand so nett von euch wäre und mir ein Schaltplan entwickeln könnte, so das ich nichts kaputt machen kann, wäre das echt nett :)

Danke Schonmal an alle fleißigen Helfer.

Grüße
Peter

Greensiver
27.07.2015, 19:37
hey Peter,

Mal grundsätzlich, wenn der LED-Würfel nicht wieder abgebaut wird, sondern bis in alle Ewigkeit bestehen soll, wäre es mir zu schade einen ganzen Arduino zu verbraten. Ich würde an deiner Stelle eine Lochrasterplatine nehmen und einen ATmega328 mit Minimalbeschaltung (16MHz Quarz mit 2x22pF, 1x100nF Kondensatoren, 10k Wiederstand) auflöten. Zum Programmieren nimmst du dann nen ISP (Dein Arduino kann auch als ISP fungieren). Deine ArduinoIDE kannst du wie gewohnt verwenden. Das würde soweit Sinn machen, da du ja sowieso zum Multiplexen noch extra Schaltung brauchst. ... Aber das ist wohl Geschmackssache. (Zum Testen am Anfang macht der Arduino aber daraus Sinn)

Zur Ersten Frage:
Du möchtest den Cube ja Multiplexen, damit werden pro Ebene jeweils nur eine LED geschaltet. Bei Mehreren LEDs schaltest du diese mit hoher Frequenz der Reihe nach An und Aus. ... Damit sollte sich diese Frage eigentlich erledigt haben. ;)

Zur Zweiten Frage:
Nunja...dafür gibts Nachschlagetabellen. Grundsätzlich würde ich für diese Aufgabe aber MOSFETS empfehlen...haben einige Vorteile gegenüber von Transistoren.


Vielleicht macht es für den Anfang Sinn, sich den Würfel als 2-dimensionale Matrix vorzustellen. Somit erhältst du eine 4x16 Matrix. An der einen Seite hast du dann die 4 Anoden und an der anderen Seite stehen die ersten 4 Kathoden für Ebene 1, die nächsten 4 Kathoden für Ebene 2 usw.

Peter(TOO)
27.07.2015, 20:56
Hallo Peter.

4x4x4 sind 64 LEDs.

Zuersteinmal musst du festlegen wie du die Ports belegst und was du als externen Decoderaufwand treiben willst?
8x8 = 64, dies würde 2 8-Bit Ports belegen aber keinen Decoder benötigen.
Die Auswahl der richtigen LED macht man dann per Software, die elektrische Matrix muss also nicht mit der optischen Anordnung übereinstimmen.

Bei einer 8x8 Anordnung brennt nun die LED aber nur 1/8 der Zeit. Man muss also die LED mit etwa dem 8-fachen Impulsstrom ansteuern, damit sie gleich hell erscheint wie wenn sie mit Gleichstrom betrieben wird. Im Datenblatt findet man deshalb auch den maximalen Impulsstrom und das Tastverhältnis bei welchem dieser zulässig ist.

Erst jetzt kannst du die Widerstände wirklich berechnen.
Bei 8x8 läge dann der Strom bei etwa 8x35mA, also 280mA.
Schaltungstechnisch muss du aber noch aufpassen, dass z.B. bei einem Reset nicht irgendwelche LEDs länger mit diesem Strom betrieben werden.

Die FET/Transistoren musst du dann nach diesem Strom auswählen,

Der BC546 ist für maximal 100mA ausgelegt, kommt also nicht hin.
Da wäre dann der BC337 angesagt, welcher für 800mA ausgelegt ist.

FET habe ich jetzt gerade keinen parat. Da schaut man auch auf den Preis, wenn man einen 5A-Typen billiger bekommt als einen 1A-Typen, kann man den günstigeren nehmen. Da ein FET über die Spannung gesteuert wird, hat dies bei deiner Anwendung keinen wirklichen Einfluss auf die Schaltung.

NfG Peter(TOO)

cavy
27.07.2015, 22:33
Hallo Peter,

wenn du bezüglich der verwendeten LEDs flexibel bist, gibt es noch eine nette Alternative zum Multiplexen, bei der du nicht einmal einen externen Transistor benötigst:

Meine Wahl wären RGB-LEDs, mit eingebautem Controller wie z.B. die WS2812b. Mit ihnen kannst du bis zu einigen Tausend LEDs an einem Bus mit 3 Leitungen (GND,5V,Data) betreiben und von einem einzigen I/O Pin am Arduino in der gewünschten Farbe ansteuern.

Meist werden diese LEDs als Stripe geliefert, man kriegt sie aber auch in der üblichen LED-Bauform, die für einen Würfel wohl geeigneter ist.

Mir ist klar, dass ich damit nicht direkt deine Fragen beantworte, aber vielleicht ist es ja eine Anregung für eine ganz andere Lösung.

Grüsse
Thomas

nawiat
28.07.2015, 07:51
Hallo,

danke auf jedenfall erstmal für eure Anworten.

Also ich habe es versucht aber ich habe eben nicht so direkt ein Plan was ich brauche und was wo verbaut werden soll.

Ich weiß nicht ob meine Rechnung für die Widerstände stimmt.
Ich weiß nicht wie man die Transistoren anklemmt.
Ich weiß nicht wie groß der Resistor an der "Base" des Transistors sein muss.
Und ich weiß nicht ob ich ein Vorwiderstand für die Transistoren brauche, wenn ja wie hoch.

Deswegen wäre es nett wenn mir jemand meine Fragen konkret beantworten könnte und wenn es geht noch ein Schaltplan machen könnte ^^

Greensiver
28.07.2015, 08:39
Deswegen wäre es nett wenn mir jemand meine Fragen konkret beantworten könnte und wenn es geht noch ein Schaltplan machen könnte ^^

Dafür wären noch ein paar genauere Angaben nicht schlecht. Welche LEDs benutzt du denn? Welche Teile hast du schon da?

nawiat
28.07.2015, 08:56
Dafür wären noch ein paar genauere Angaben nicht schlecht. Welche LEDs benutzt du denn? Welche Teile hast du schon da?

Ich habe noch keine Teile, ich wollte mir erstmal ein Plan machen und danach bestelle ich alles bei reichelt.de.
Angaben zur LED und alles steht ganz oben in meiner ersten Frage ^^

- - - Aktualisiert - - -


Mal grundsätzlich, wenn der LED-Würfel nicht wieder abgebaut wird, sondern bis in alle Ewigkeit bestehen soll, wäre es mir zu schade einen ganzen Arduino zu verbraten. Ich würde an deiner Stelle eine Lochrasterplatine nehmen und einen ATmega328 mit Minimalbeschaltung (16MHz Quarz mit 2x22pF, 1x100nF Kondensatoren, 10k Wiederstand) auflöten.

Ich würde ihn gerne ohne den Arduino bauen, da ich aber nicht so viel Wissen in Elektrotechnik habe wird das leider nichts. Ich bin froh das ich mit Transistoren/Resistoren und allem umgehen kann :D.

Greensiver
28.07.2015, 09:40
Mit genaueren Angaben meinte ich so etwas, wie ein Datenblatt oder die Typenbezeichnung der LEDs ;)

nawiat
28.07.2015, 10:38
Okay hier die Daten der LED(http://www.reichelt.de/LEDs-5-mm/LED-5-12000-BL/3/index.html?&ACTION=3&LA=2&ARTICLE=96902&GROUPID=3019&artnr=LED+5-12000+BL):

Ausführung
Lichtstärke = 12000 mcd
Abstrahlwinkel = 18 °
Gehäuseausführung = klar, farblos

Allgemeines
Wellenlänge = 466 nm
Farbe = blau
Bauform = T1 3/4
Modellbezeichnung = LL-504BC2E-B4-2CC
Typ = LED 5 mm
Ausführung = ultrahell

Elektrische Werte
Gruppenstrom = 35 mA
Betriebsspannung = 2,8 ... 4,0 V

Besonderheiten
Betriebstemperatur = -40 ... +80 °C

Maße
Höhe = 8,6 mm

Anschlüsse / Schnittstellen
Anschluss = radial bedrahtet

Der Arduino Uno R3 hat diese Daten(http://www.reichelt.de/ARDUINO-UNO/3/index.html?&ACTION=3&LA=446&ARTICLE=119045&artnr=ARDUINO+UNO&SEARCH=Arduino+uno):

Allgemeines
Aufbau = Board
Ausführung = für Grundlagen-Kenntnisse
Modellbezeichnung = Arduino UNO
Sockel = SMD (Rev.3)
Typ = Evaluation Kit

Anschlüsse / Schnittstellen
I/O = 14
Schnittstelle/n = 14 Digital-Pins, 6 Analog-Pins
SPI = ja
UART = ja
USB = ja

Besonderheiten
Protokoll = ICSP, TWI

Maße
Länge = 68.58 mm

Peter(TOO)
28.07.2015, 15:47
Hallo,

Datenblätter lesen musst du noch lernen ;-)

Sie 35mA sind der maximale kontinuierliche Strom bei 25°C.
Bei 36mA garantiert der Hersteller nicht, dass die LED nicht schneller kaputt geht, besonders wenn auch noch wärmer als 25°C ist! :-)
Der typische Strom liegt bei 20mA!

Unter "Absolute Maximum Ratings" sind immer die Grenzwerte angegeben, bei deren Überschreitung das Bauteil Schaden nimmt.
Diese Werte darf man also nicht zur Dimensionierung verwenden, bzw. nur dazu, um zu sehen, dass diese Werte auch im schlechtesten Fall nicht überschritten werden.

Diese LED ist aber nicht so Ideal zum Multiplexen.
Bei 10% ED darf der Spitzenstrom maximal 100mA betragen, das ergibt dann einen mittleren Strom von 10mA.

MfG Peter(TOO)

HaWe
28.07.2015, 22:05
ich würde das Pferd nicht von hinten aufzäumen, für mich wären das für den Anfang viel zu viele Einzeldaten.
Ich würde erstmal einen Schaltplan zeichnen mit allen Baugruppen. Das müsste jemand machen, der sich mit so etwas auskennt, also nicht unbedingt der TO.

Und dann kann man überlegen, welche Typen genau verwendet werden sollen.

Greensiver
28.07.2015, 22:58
Deine LEDs haben auch einen sehr geringen Öffnungswinkel...also von der Warte auch nicht ideal (Wenn du nicht gerade einen Deckenausleuchter bauen möchtest ;)). Ist aber erstmal nicht so wichtig.
Wenn es unbedingt von Nöten sein sollte, kann ich ja mal einen Schaltplan entwerfen.
Aber vorher solltest du dir DAS (http://tronicstuff.blogspot.de/2013/07/led-cube-4x4x4.html) mal anschauen. Das wäre so das minimal einer Schaltung ;)

nawiat
29.07.2015, 07:55
Okay danke für die Antworten. Den Schaltplan verstehe ich.. :D Auch alle anderen im Netz, nur ist jeder anders. Ich will sozusagen "DEN" Schaltplan, der komplett richtig ist und man nichts zerschießt. Man kann ja erstmal einen entwerfen wo alle Teile hin müssten und dann darüber sprechen was für Daten die Teile haben müssen ^^

Danke für eure Hilfe schonmal :)

HaWe
29.07.2015, 08:13
wieso "perfekt" oder nicht?
Der angegebene Link von Greensiver http://tronicstuff.blogspot.de/2013/07/led-cube-4x4x4.html ist doch genial!
30523
in Verbindung mit
PARTS:

64 LEDS.
ATmega328P.
General purpose PCB.
Ribbon cables.
Arduino board to program the ATmega328P/USB to UART converter.
4 x BC547 transistors.
4 x 1K resistor
4 x 100 Ohm resistor.
Jumper wires.

und

...AS THE ARDUINO IS SOURCE THE LED ANODES WHICH GO TO DIGITAL PINS 0-9 and 14-19 AND THE CATHODES ARE SINKED THROUGH A 100Ohm RESISTOR THROUGH A BC547,SO THAT LOGIC LEVEL REMAINS THE SAME IN THE PROGRAM..i.e to ground the leds you have to put HIGH on the pins 10,11,12,13 respectively according to the grid.

das klingt doch, als ob es top funktioniert, was willst du mehr?

nawiat
29.07.2015, 08:34
Kann ja sein das es klappt, aber ich will ja nicht einfach blöd nachbauen :D Ich möchte einfach wissen wie ich auf die 100 Ohm Resistor, auf die 1K Resistor komme und warum er grade DIE Transistoren nimmt :)

HaWe
29.07.2015, 08:46
man nimmt die BC547 Transistoren, weil sie gängig sind und für deinen Zweck erfahrungsgemäß passen (das habe ich dir auch schon im Arduino Forum geschrieben), man kann aber genausogut andere Transistoren nehmen.
Hat man sich erst einmal für einen bestimmten Transistortyp entschieden, ergeben sich die Widerstandswerte aus den Transistor-Daten (Basisstrom, Kollektorstrom, Verstärkungsfaktor, angelegte Spannungen etc. ), und die kannst du in den Datenblättern nachlesen.
Das hat man dir auch schon im Arduinoforum so beschrieben und vorgerechnet.
Dass du aber derart tief in die elektronische Schaltungs-Materie eintauchen und Schaltungen selber berechnen willst, hast du im TOP nicht geschrieben - weder hier noch im Arduinoforum.
Dann nützt es allerding nichts, wenn dir hier jemand einen anderen Schaltplan mit anderen Bauteilen entwirft, denn den kannst du ja auch nur dumm nachbauen, also musst du selber mal in die Datenblätter etc eintauchen und lernen, Schaltungen auszurechnen.
Ich weiß aber ehrlich gesagt nicht, ob dir hier jemand einen kostenlosen Elektronik-Schaltungs-Berechnungs-Kurs wird zuteil lassen können (oder wollen^^).

PICture
29.07.2015, 09:00
Hallo!


Wenn jemand so nett von euch wäre und mir ein Schaltplan entwickeln könnte, so das ich nichts kaputt machen kann, wäre das echt nett :)

Wenn es möglich wäre, hätte ich es schon längst gemacht. Wie könnte man kapput machen verhindern ? :confused:

nawiat
29.07.2015, 09:10
Wenn es möglich wäre, hätte ich es schon längst gemacht. Wie könnte man kapput machen verhindern ? :confused:

Durch richtige ausrechnung der Widerstände und Transistoren?!

Ich wollte nur nochmal Fragen, im Tut nimmt er den Arduino als Programmierer für den ATMega. Kann ich den ATMega Programmiern und anstatt des Arduinos dann einfach den ATMega setzten? geht das so einfach? Weil er baut ja alles für den Arduino auf :D

PICture
29.07.2015, 09:47
Durch richtige ausrechnung der Widerstände und Transistoren?!

Danke sehr, das habe ich bisher nicht gewußt. :D

HaWe
29.07.2015, 10:13
damit das ganze jetzt hier nicht ins Kafka-eske abgleitet, würde ich dem TO vorschlagen:
bau doch einfach die Schaltung nach, die Greensiver gepostet hat, und wenn du wissen willst, wie man es ausrechnet, frag in einem anderen, neuen Thread, denn das ist ja dann kein Bau-Problem mehr sondern ein ganz anderes, neues, grundsätzliches Lernproblem.
Vielleicht findest du ja wen, der dir die Bemaßung von Basis- und Collector-/ Emitterwiderständen passend zu gegebenen Transistoren und Dioden in einem Tutorium vorrechnet.

ps,
und stelle bitte immer nur 1 Frage, nicht einen ganzen Haufen auf einmal, denn wenn du 5 Fragen gleichzeitig stellst bleiben nach aller Forums-Erfahrung davon 6 oder 7 unbeantwortet. ;)

nawiat
29.07.2015, 10:17
Okay danke an alle für eure Hilfe. Ich werde den Cube erstmal so bauen wie " Greensiver" gepostet hat und werde mich bei Fragen in einen neuen Post melden ^^

Grüße

Peter

Peter(TOO)
30.07.2015, 01:57
Hallo!

Den Schaltplan verstehe ich.. :D Auch alle anderen im Netz, nur ist jeder anders. Ich will sozusagen "DEN" Schaltplan, der komplett richtig ist und man nichts zerschießt.

DEN Schaltplan gibt es nicht, für rein gar nichts!

Technisch ist jede Lösung immer ein Kompromiss aus unterschiedlichen Anforderungen! Dies gilt nicht nur in der Elektronik, sondern für sämtliche technischen Lösungen.
Wichtig ist zuerst einmal, dass die Lösung funktioniert.

Bei so einer Matrix-Aufgabe, versucht man meistens die Anzahl der Pins zu minimieren.
Bei so einem Würfel muss man aber eine 3D Matrix als 2D Matrix abbilden. Je nachdem hat aber die Lösung mit den wenigstens Pins einen grösseren Aufwand bei der Software zur Folge, da muss der Entwickler schon entscheiden ....

Die Variante mit den intelligenten LEDs wurde dir auch schon gegeben, aber die ist meist teurer als mit einzelnen LEDs und Transistoren und kann auch langsamer sein, da jeder Chip sein eigenes Telegramm erhalten muss.

Bei der Wahl der Transistoren geht es ähnlich zu:
OK, da gibt es Mindestanforderungen, welche das Teil, gemäss den Berechnungen erfüllen muss.
Dann stellt sich die Frage was man in des Bastelkiste noch rumliegen hat oder eben was einfach erhältlich ist und was es kostet.
Der BC546 ist ein Standard-Typ. welcher in grossen Stückzahlen hergestellt wird und überall günstig erhältlich ist, der 2N3904 ist aber in deinem Fall genau so gut geeignet.
Entsprechend stellt sich auch noch die Frage nach dem Gehäuse.

Bei den Strombegrenzungswiderständen hat man natürlich das Problem, dass der Strom, je nach Vorwärtsspannung der Diode etwas unterschiedlich ist.
Aber mit Bauteiltoleranzen muss man nun mal leben.
Praktisch rechnet man das Ganze zuerst einmal mit der typischen Vorwärtsspannung aus.
Dann rechnet man auch noch mit den beiden Extremwerten und dem berechneten Widerstand und erhält einen minimalen und maximalen Strom.
Dann muss man wieder in Datenblatt sehen um nachzuschlagen ob der grössere Strom dann nicht etwa den maximal zulässigen Wert übersteigt.
Bekommt man das nicht hin, muss man eine andere Lösung oder vorgehen wählen.
Z.B. eine höhere Spannung wählen oder die LEDs einzeln ausmessen und dann erst den Widerstand berechnen. It natürlich mehr Aufwand und im Profibereich teurer.
Oder man steuert die LEDs mit Stromquellen an, ist dann aber ein höherer Schaltungsaufwand.
Stromquellen kann man jetzt mit einzelnen Transistoren aufbauen, das kostet aber wieder und braucht Platz auf der Leiterplatte.
Es gibt aber auch LED-Treiber als IC, da ist die Stromquelle schon drin. Ist dann eine Frage der Kosten, des Platzes und der Software.

Die Kostenfrage ist dann auch noch direkt mit der Stückzahl verknüpft.
Die Herstellungskosten setzten sich aus Material, Aufwand und Entwicklungskosten geteilt durch die Stückzahl zusammen.
Bei 100'000 Stück lohnt es sich, wenn man für 100'000€ einen speziellen Chip machen lässt und damit die Materialkosten um 2€ senkt, man hat dann immer noch 100'000€ mehr Gewinn!

Das ist jetzt nur mal grob angerissen, wieso es DIE Schaltung nicht geben kann.

MfG Peter(TOO)