- 3D-Druck Einstieg und Tipps         
Seite 7 von 9 ErsteErste ... 56789 LetzteLetzte
Ergebnis 61 bis 70 von 82

Thema: 4x4x4 Led RGB Cube

  1. #61
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.07.2005
    Beiträge
    232
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi Tom,

    ich kann das gut nachvollziehen und würde das selber auch lieber so machen, aber dafür reichen meine Fähigkeiten in diesem Fachgebiet nicht aus. Mit Niedrigspannungen trau ich mir das noch zu, aber hohe Spannungen sind was für Profis bzw. Fortgeschrittene.

    Ich habe mir heute Gedanken zur Software PWM gemacht und bin auf mehrere Ansätze gekommen.

    Um ordentliche Farbwechsel zu bekommen brauche ich mindestens 7 Bit. besser 8 Bit. Ich habe 15 Kanäle, das ist schon nicht mehr so ganz einfach, wenn ich das richtig verstanden habe. zusätzlich habe ich noch einen TWI Interrupt, der verarbeitet werden muss. Und schließlich noch mein Externer Interrupt zur Zeilenumschaltung.

    D.h. ich muss da schon ganz schön optimieren.

    4 varianten sind mir eingefallen

    1.) Inline Assembler in der ISR für den PWM Timer
    2.) externe Assemblerdatei einbinden und auch die Interrupts wenn möglich dort auslösen (dürfte das performanteste sein)
    3.) Das ganze in C aufbauen und sehr auf Optimierung achten. Es gibt da wohl Lösungen die hohe Geschwindigkeiten in C ermöglichen, wenn man die Kanäle geschickt sortiert und zusammenfast. Da müsste ich mir aber nochmal Gedanken zu machen. Das wäre meine präferierte Lösung
    4.) Ich weiß nicht ob das mit dem Timing funktioniert, aber ich könnte ja die 6 Hardware PWM Kanäle verwenden, dann bräuchte ich nur noch 9 Software PWM Kanäle.


    Viele Grüße,

    Tim

  2. #62
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    13.10.2006
    Ort
    Kohlenpott
    Alter
    37
    Beiträge
    263
    http://www.das-labor.org/wiki/Farb_Borg_3d Kennst du das Ding schon?

  3. #63
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.07.2005
    Beiträge
    232
    Ja, den kenne ich schon. Bin mir nur unschlüssig ob ich die Leds auch so künstlich mattieren soll.
    Finde es eigendlich in Klar schöner und der Effekt gefällt mir auch besser, allerdings habe ich in echt noch nie einen Würfel gesehen.

    Ich hab heute mal weitergemacht.
    Die Bauteile sind jetzt alle da. Ich hab die Teile mal grob auf die Platine gesteckt um ein Layout auszuarbeiten und eine Schablone fürs Löten habe ich ebenfalls gebaut. Der 0.6mm Draht ist auf jeden Fall mehr als ausreichend, allerdings ein wenig störrisch. Soll heißen. Der hat ein wenig Eigenleben, aber das bekomme ich schon hin. Die Schablone bekommt noch einen Nagel am Anfang und Ende jeder Zeile. Dann kann ich da schön den Silberdraht drum herum spannen während ich die Leds anlöte.
    Zur Verbindung der Lagen ist mir noch nicht wirklich etwas eingefallen. Einzige idee ist Papp Würfel zu bauen, die ich an Ellen Eckpunkten auf den Silberdraht auflege um sie als Abstandshalter zu nutzen. Damit die Sache grad wird kann ich ja einen Anschlag für die Ebenen bauen.
    Dann die einzelnen lagen immer mit kurzen Drahtstücken verbinden. Lange Drähte am Stück zum Verbinden wird wohl nichts werden. Damit bekomme ich das gute Stück niemals gerade.

    Viele Grüße,

    Tim

  4. #64
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Für so viele Kanäle sollte man das software PWM schon in ASM schreiben. Ob man jetzt Inline ASM oder als extra Datei ist relativ egal. Als dritte alternative wäre noch das gesamte Programm in ASM zu schreiben.
    Da man wohl die komplette ISR in ASM hat, ist die extra Datei vermutlich einfacher, Inline ASM bei GCC ist zwar sehr mächtig, aber auch etwas unübersichtlich.

    Gerade die Software PWM routine geht in ASM sehr effektiv - auch mit guter optimierung wird ein C Compiler da noch etwa 2-3 mal langsamer sein. Man kann da zum einen das Laden aus dem Speicher und hochzählen per LD Reg,x+ machen. Wenn man glück hat schaft das der Compiler auch, von der Tendenz her aber eher nicht. Vor allem kann man aber die Ergebnisse des Vergeleiches per ROL oder ROR direkt aus dem Carry flag in ein Byte zusammenfassen - da gibt es in C einfach keine equivalente Strucktur. Die Vergleiche für die 15 Kanäle kann man einfach so hintereinander schreiben, ohne Schleife., da sind je Kanal ja nur 3 Befehle (LDR,x+ / cp / ROL ).

    Mit dem Hardware PWM könnte auch gehen, aber man sollte das PWM Signal ja mit der Umschaltung der LED Ebenen syncron halten. Es könnte gehen auch ein Paar LEDs per hardware zu steuern, viel Vorteil hat man dait aber nicht - dafür aber ein schränkungen bei der Frequenzwahl, um syncron zu bleiben.
    Es wird also jede LED nur für eine unterschiedliche lange Zeit angeschaltet, dann ggf. etwas gewartet und dann schon die nächste LED-gruppe.

  5. #65
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.07.2005
    Beiträge
    232
    hm ASM ist natürlich harte Kost. Da habe ich mich noch nie mit Beschäftigt.
    Ich werde die Sache jetzt erstmal versuchen ohne PWM ans laufen zu bekommen, also im Master die Ebenen umschalten und über I2C die Leds aktivieren. Wenn das funktioniert gehts weiter.
    Ich habe bei Mikrocontroller.net noch diesen PWM Ansatz gefunden:
    http://www.mikrocontroller.net/articles/Soft-PWM
    Er spricht von einer Prozessorlast von maximal 1.2% bei 8Mhz und 8 Kanälen. Ich frage mich ob das nicht auch für meine 15 Kanäle noch funktionieren würde.
    Vielleicht probiere ich das einfach mal aus.

    Viele Grüße,

    Tim

  6. #66
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.07.2005
    Beiträge
    232
    so, nicht dass ihr denkt es geht nicht mehr weiter hier.
    In der Zwischenzeit habe ich eine Schablone gebaut und die Hardware getestet. Die Schaltung funktioniert wie geplant. Das weiß ist etwas bläulich, aber das ist nicht so heftig und kann sicher in Software korrigiert werden. Vielleicht bekommt man aber auch einfach kein schönes weiß hin mit den Leds.
    Meine Test Led dürfte jetzt definitiv was abbekommen haben. in meiner MPX Routine war ein Fehler (hab ihn noch nicht gefunde. Hab glaube ich divide Clock by 8 ausgewählt bei den Fuses) und die Led ging sichtbar an und aus. Aber sie lebt noch, auch wenn mich das mehr als Wundert. Morgen messe ich mal den Strom der an der Led fließt wenn ich sie ohne Multiplexing anschließe (hin ist sie vermutlich eh schon und eh nur Testobjekt, wie oben schon geschrieben).
    Aber interessant, was die so alles aushalten. Einfarbige hatte ich da schon wesentlich schneller über dem Jordan

    Viele Grüße,

    Tim

  7. #67
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.07.2005
    Beiträge
    232
    So ich bin wieder einen Schritt weiter.

    1)1 Ebene hab ich gelötet.
    Den Draht bekommt man nicht 100% gerade. Das macht aber auch nicht.
    Hauptsache Die Leds haben den gleichen Abstand voneinander und einigermaßen den gleichen Winkel

    2)Ich habe die Schaltung durchgemessen. Irgendwas stimmt da leider noch nicht ganz. Ich komme beim 1:5 Multiplexing auf nur circa 4mA pro Led. Ohne Multiplexing folglich auf 20mA.
    Das ist doch schon sehr funzelig. wie kann ich anfangen das Problem einzugrenzen?

    Viele Grüße,

    Tim

  8. #68
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Eine Schritt um die Probleme mit dem Strom einzugrenzen wäre ein LED kurzzuschließen, oder ggf. eine normale Diode parallel. Damit kann man dann auch dauerhaft mehr Strom durchschicken und messen wieviel Spannung an den Treibern usw. abfällt.
    Daran kann man dann sehen ob die Treiber genug Strom liefern können und es ggf. reicht die Widerstände zu verkleinern.



    Der nächste Schritt wäre dann die LEDs mal extern mit ca. 10 mA und ca. 20 mA zu beteiben und die Spannung nach messen. Daraus sollte man die Spannung und ggf. auch den internen Serienwiderstand der LEDs bestimmen können.

  9. #69
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.07.2005
    Beiträge
    232
    Also, dann probiere ich das mal und melde mich hier wieder. Ich hoffe daran liegt es tatsächlich und es reicht die Widerstände zu verkleiner. Aber doch irgendwie ärgerlich. Naja, passiert.

    Kann ich auch einfach 2 Vorwiderstände parallel anschließen und so den Widerstand halbieren? Dann sehe ich ja auch ob mehr Strom kommt, oder nicht.

    Viele Grüße,

    Tim

  10. #70
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    36
    Beiträge
    5.070
    Kann ich auch einfach 2 Vorwiderstände parallel anschließen und so den Widerstand halbieren?
    Der Widerstand halbiert sich nur, wenn du 2 gleiche Widerstände parallel schaltest. Der Strom wird dann höher.

    MfG Hannes

Seite 7 von 9 ErsteErste ... 56789 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen