Hi, im Anhang befindet sich mein erster selbst entworfener Schaltplan. Dabei geht um die Steuerung für einen LED-Cube (ja, für euch sicherlich langweilig ;)). Jedenfalls wäre es schön, wenn der/die ein(e) oder andere einen Blick drüber werfen könnte. Persönlich bin ich mir bei folgenden Dingen nicht ganz sicher: a) Macht der Schaltregler 7805 das Ganze mit? Es sollten in etwa (im "schlimmsten" Fall) 64 LEDs mit je 8 mA leuchten. Desweiteren kommen dann noch die ICs dazu. Grob geschätzt sollten das in etwa 600 mA sein. Aus meiner Sicht problematisch ist das Ganze deswegen, weil von einem auf den einen Moment (ein Takt bei 16MHz) die 64 LEDs ausgeschaltet werden können. Leider kann ich den Datenblättern eines typischen 7805 nicht entnehmen, ob die dafür ausgelegt sind. In einigen Beiträgen konnte ich nur lesen, dass man es strengstens unterlassen sollten (große) Elkos an die Ausgangsseite zu hängen. b) Die Widerstände an den FETs. Die 100k sind als Pull-Down Widerstände gedacht und sollen beim Benutzen der ISP Schnittstelle für "klare" Zustände sorgen (alle LEDs aus). Das sollte so hoffentlich funktionieren? Die 250 Ohm Widerstände sind zur Strombegrenzung gedacht. Damit will ich den maximalen Strom pro angeschlossenem Pin auf 20 mA begrenzen. Geschaltet werden die FETs mit voraussichtlich 100 Hz, insofern sollten die 20 mA hoffentlich reichen, um die FETs richtig durchzuschalten? In anderen Schaltungen sieht man i.d.R. Werte um die 1k. Das entspräche bei 5V dann aber nur einem Strom von 5mA. Wieso reduziert man das künstlich? Wie gesagt: Es handelt sich um mein ersten Schaltplan. Ich habe auch keine entsprechende Ausbildung genossen, insofern ist sicherlich nicht alles richtig gemacht. Über (konstruktive) Kritik würde ich mich freuen. Vielen Dank euch allen!
Aufgrund einer recht schnellen Internetverbindung (sowie Unaufmerksamkeit meinerseits), habe ich leider erst jetzt bemerkt, dass die Grafik im SVG Format recht groß ist. Daher hier im Anhang das Ganze nochmal in PNG. Vielleicht mag es ja jemand mit entsprechenden Rechten aus dem ersten Beitrag entfernen.
So jetzt im Halbschlaf noch würde ich erst mal wissen wollen, wie hoch die Eingangsspannung VOR dem Schaltregler ist. Das wäre wichtig für die Beurteilung der Verlustleistung, die der 7805 verbraten muß. Hat der einen Kühlkörper ? Ggf. mit welchem Rth ?
Etwas wacher: Also bei einer Mindesteingangsspannung von 5 + 2 Volt = 7 Volt und 0,6 A ist Pv = 1,2 Watt = auf jeden Fall mal Kühlkörper an den 7805 dran.
Ok, gut zu wissen. Kühlkörper habe ich noch, werde ich also anbringen. Gibt es ansonsten nichts auszusetzen ;)? Immerhin wurde der Schaltplan 84x gedownloadet :o!
Kurze Zwischenfrage: Ich würde gerne für definierte Anfangszustände an den Schieberegistern sorgen. Ist es dafür ausreichend den "Output Enable" Pin per Pull-Up auf High zu ziehen? Wie würde man das bei 8 parallel geschalteten Schieberegistern am Besten tun? Reicht ein Pull-Up Widerstand für alle, oder sollte man jedem IC seinen eigenen Pull-Up Widerstand gönnen? Wie müsste man den/die Widerstand/Widerstände dimensionieren?
Cube schrieb: > 64 LEDs mit je 8 mA Das ist unter Berücksichtigung des Multiplexers im Mittel aber nur 1mA. Reicht Dir die Helligkeit? Cube schrieb: > Ich würde gerne für definierte Anfangszustände an > den Schieberegistern sorgen. Ist es dafür ausreichend den "Output > Enable" Pin per Pull-Up auf High zu ziehen? Ja. > Wie würde man das bei 8 > parallel geschalteten Schieberegistern am Besten tun? Reicht ein > Pull-Up Widerstand für alle, oder sollte man jedem IC seinen eigenen > Pull-Up Widerstand gönnen? Einer reicht - die sind doch sowieso schon alle zusammen. > Wie müsste man den/die Widerstand/Widerstände > dimensionieren? Ich würde 10k nehmen. Das "verbraucht" nur 0,5mA und ist niederohmig genug. Es dürfte aber auch hochohmiger sein. Genaue Dimensionierung: alle Restströme zusammen (Schieberegister + Port-Pin + Reserve) dürfen am R nur soviel Spannungsabfall erzeugen, dass der Mindest-High-Pegel überschritten wird. Gruß Dietrich
Hallo,ich habe mir auch mal so ein teil gebaut.Ich würds mir nochmal überlegen,die Leds nur mit 1mA zu betreiben.Das ist meines erachtens viel zu wenig.Mehr wie ein leichtes glimmen kommt da nicht zustande. gruss andy
@Dietrich L.: Wieso multiplexen? Der Schaltplan sieht doch ganz anders aus.
spontan schrieb: > @Dietrich L.: Wieso multiplexen? Der Schaltplan sieht doch ganz anders > aus. Ich zähle: 8 Stck. 595 mit je 8 Ausgängen = 64 parallele Ausgänge 8 Stck. MOSFETs daraus schließe ich: 64 LEDs gleichzeitig angesteuert + 8-fach Multiplexer = 64*8 LEDs Gruß Dietrich
andy schrieb: > Hallo,ich habe mir auch mal so ein teil gebaut.Ich würds mir nochmal > überlegen,die Leds nur mit 1mA zu betreiben.Das ist meines erachtens > viel zu wenig.Mehr wie ein leichtes glimmen kommt da nicht zustande. Ich habe das eben nochmal überdacht bzw. überprüft und bin zu dem Schluss gekommen, dass 1 mA in der Tat etwas wenig ist. Daher habe ich den Schaltplan nochmal ein wenig überarbeitet und entsprechende Treiber eingebaut. Was haltet ihr nun von dem Ganzen?
@ Cube (Gast) >Was haltet ihr nun von dem Ganzen? Dein Schaltplan ist immer noch Mist. Hast du dir ein Bild mal angesehen? Als PNG? Man kann es auch überttreiben mit der Sparsamkeit. Die Auflösung ist zu gering, man kann alles nur sehr schlecht erkennen. Das Doppelte wäre OK. Inhaltlich sind Schieberegister hier wenig sinnvoll, normale Register ala 74HC273 kann man deutlich schneller und einfacher ansteuern.
@Dietrich L.: Du hast Recht, das ist wohl ne Mischung aus Multiplexen und statischer Ansteuerung. Aber irgendwie nicht zu verstehen: - 64 Leitungen für Leds - 8 FET-Treiber, die nach multiplexen aussehen, gäbe wie Dietrich L. schrieb 64x8 Led - 64 LEds im Eingangsposting Was nun?
Falk Brunner schrieb: > Dein Schaltplan ist immer noch Mist. Hast du dir ein Bild mal angesehen? > Als PNG? Man kann es auch überttreiben mit der Sparsamkeit. Die > Auflösung ist zu gering, man kann alles nur sehr schlecht erkennen. Das > Doppelte wäre OK. Ok, du hast natürlich recht. Habe es nochmal angehängt. Diesmal sollte man zumindest mit ein wenig Zoomen etwas erkennen können. Das Problem ist halt, dass es (fast) Din A3 Größe ist, insofern ist es schwer auf einer so kleinen Fläche ordentlich aufzulösen. Überhaupt scheint die Plotter-Funktion von Kicad nicht sonderlich gut zu sein :(. Daher habe ich auch stets die entsprechenden Schema Dateien angehängt. Wobei ich natürlich nicht erwarten kann, dass sich jemand die Mühe macht, diese zu importieren. Falk Brunner schrieb: > Inhaltlich sind Schieberegister hier wenig sinnvoll, normale Register > ala 74HC273 kann man deutlich schneller und einfacher ansteuern. Bei "normalen" Registern brauche ich aber mehr Leitungen, nämlich 8 für die jeweiligen Daten, 8 um jeweils das richtige Register auszuwählen und 8 für die 8 Ebenen. Das macht 24. Vereinfacht angenommen, kann ich dann jedes Register in zwei Takten "füllen". Das entspreche dann 16 Takten. Bei der Verwendung von Schieberegistern brauche ich nur 8+8+2 (bzw. 4 wenn ich Output Enable und Reset beschalte) Leitungen. Füllen kann ich die Schieberegister dann auch in 16 Takten. Ich sehe hier also nicht wirklich einen Nachteil sowie den Vorteil, dass ich weniger Leitungen benötige. spontan schrieb: > Aber irgendwie nicht zu verstehen: > - 64 Leitungen für Leds > - 8 FET-Treiber, die nach multiplexen aussehen, gäbe wie Dietrich L. > schrieb 64x8 Led > - 64 LEds im Eingangsposting Vielleicht hätte ich das deutlicher machen sollen. Aber ihr habt euch das schon ganz gut zusammengereimt ;). Es sind 64x8 LEDs (= 512). Im Eingangsposting war das so gemeint, dass jeweils nur 64 LEDs (= eine "Schicht") eingeschaltet sind, da ja gemultiplexed wird. ich schrieb: > seit wann isz ein 7805 ein Schaltregler? Ja, da haben wir wohl die falsche Terminologie verwendet. Es handelt sich um einen Spannungsregler. Die Sorgen, um die zu hohen Verlustleistungen sind allerdings vollkommen legitim gewesen ;).
Dirk J. schrieb: > Was ist denn das für ein komisches Zeichen für den C5? Gute Frage ;). Bei mir im Schaltplan sieht das anders aus. Da hat wohl die Plotter-Funktion von Kicad (oder der SVG Import von GIMP). absoluten Mist produziert. Darstellen jedenfalls soll das einen Elektrolytkondensator mit einer Kapazität von 10 µF.
Cube schrieb: > Bei "normalen" Registern brauche ich aber mehr Leitungen, nämlich 8 für > die jeweiligen Daten, 8 um jeweils das richtige Register auszuwählen und > 8 für die 8 Ebenen. Das macht 24. Vereinfacht angenommen, kann ich dann > jedes Register in zwei Takten "füllen". Das entspreche dann 16 Takten. Nicht wirklich. Rein für die Datenleitungen kannst Du mit 8+3+3 auskommen, wenn Du zwei 74HC238 benutzt. Das sind 3-zu-8 Dekoder. Je nach Bitmuster am Eingang (3 bit) wird ein Pin am Ausgang gesetzt. Mit dem '237 hast Du etwas ähnliches, nur das dieser selber nochmal ein Latch-Enable benötigt. Damit könntest Du dann auf 8+3+2 runter, 3 Leitungen gemeinsam für beide Dekoder, und 2 /LE Signale um das gewünschte Latch anzusteuern. Grüße, Chris Edit: Die Dekoder gibt es auch mit active-low Ausgängen, sind dann glaube ich die 137/138, bin mir aber grad nicht ganz sicher.
Christian Klippel schrieb: > Nicht wirklich. Rein für die Datenleitungen kannst Du mit 8+3+3 > auskommen, wenn Du zwei 74HC238 benutzt. Kannst du das vielleicht nochmal ausführen? Ich sehe ein, dass sich ein solcher Demultiplexer für die Ansteuerung der Ebenen anbietet. Aber ansonsten sehe ich gerade nicht wo ich den zweiten verbauen sollte ;)? Außerdem tue ich mir gerade schwer damit das Datenblatt des 74HC238 zu interpretieren. Wieviel Strom kann ein 74HC238 pro Pin denn liefern? Immerhin müssen die MOSFETs (um)geladen werden. Ich habe da schon fest mit 20 mA gerechnet? Unter den "absoluten Maxima" kann ich etwas von 25 mA entnehmen. Das müsste dann also hinhauen, oder?
Cube schrieb: > Ich habe das eben nochmal überdacht bzw. überprüft und bin zu dem > Schluss gekommen, dass 1 mA in der Tat etwas wenig ist. Daher habe ich > den Schaltplan nochmal ein wenig überarbeitet und entsprechende Treiber > eingebaut. Wieviel Strom willst Du jetzt spendieren? Da wirst Du wahrscheinlich Probleme mit der Verlustleistung des 7805 haben - wenn Du alles aus 5V speisen willst. Zweites Problem bei 5V: der UDN2981 hat je nach Strom 1,5...2V Spannungsabfall (Darlington-Ausgang). Was brauchen die Dioden? Reicht das noch? Es wird aber bestimmt schwer, das solide zu dimensionieren. Vielleicht brauchst Du doch noch einen Schaltregler für die LEDs. Gruß Dietrich
Cube schrieb: > Christian Klippel schrieb: >> Nicht wirklich. Rein für die Datenleitungen kannst Du mit 8+3+3 >> auskommen, wenn Du zwei 74HC238 benutzt. > Kannst du das vielleicht nochmal ausführen? Ich sehe ein, dass sich ein > solcher Demultiplexer für die Ansteuerung der Ebenen anbietet. Aber > ansonsten sehe ich gerade nicht wo ich den zweiten verbauen sollte ;)? > > Außerdem tue ich mir gerade schwer damit das Datenblatt des 74HC238 zu > interpretieren. Wieviel Strom kann ein 74HC238 pro Pin denn liefern? > Immerhin müssen die MOSFETs (um)geladen werden. Ich habe da schon fest > mit 20 mA gerechnet? Unter den "absoluten Maxima" kann ich etwas von 25 > mA entnehmen. Das müsste dann also hinhauen, oder? Moin Cube, Ja, +/- 25 mA, sollte also klappen. Anbei mal ein Beispiel-Schaltbild. Es gibt 8 gemeinsame Datenleitungen für die '273 Register. Dann gibt es 3 gemeinsame Datenleitungen für die '237 Dekoder. Das Latch-Signal der beiden Dekoder geht getrennt zum µC. Vom Dekoder für die Ebenen geht nochmal eine Enable-Leitung zum µC. Die '273 Register haben einen Clock-Eingand der Flankengesteuert ist. D.h. das bei Wechsel von Low auf High das Datenmuster das am Eingang anliegt dann am Ausgang ausgebeben wird. Diese Clock Eingänge werden hier von einem '237 angesteuert, der ja je nach anliegendem Bitmuster einen der 8 Ausgänge auf High legt. Ein Dekoder (IC4) ist für die LED Reihen zuständig. Eine Reihe = 8 LED, 8 Reihen = 1 Ebene. Der zweite Dekoder (IC5) ist für die Ebenen zuständig. An den Ausgängen von IC5 hängen dann die N-FET für die Ebenen, klar. Der Ablauf wäre in etwa wie folgt: Angenommen wird das IC4-Y7 High ist, IC4-GL und IC5-GL sind High, ebenso IC5-G1. 1: IC5-G1 auf Low ziehen. Somit sind alle Ausgänge von IC5 auf Low, und alle N-FET gesperrt (Blanking) 2: 8-Bit Daten anlegen für eine Reihe 3: 0b000 an die 3-Bit Dekoder anlegen 4: IC4-GL auf Low, dann wieder auf High. - Jetzt ist IC4-Y0 auf High 5: Schritt 2 bis 4 jetzt 7 mal wiederholen, wobei an die 3-Bit Dekoder hogezählt wird, eben bis inkl. 0b111. - Jetzt sind alle Zeilenregister mit dem gewünschten Muster geladen - und IC4-Y7 auf High 6: 0b000 an die 3-Bit Dekoder anlegen 7: IC5-GL auf Low, dann wieder auf High 8: IC5-G1 auf High ziehen. - Jetzt ist dann Eben 0 aktiv und zeigt das gewünschte 8x8 Bitmuster an. 9: Etwas warten damit das ganze auch fürs Auge sichtbar wird. 10: Das ganze wiederholen, wobei die 3-Bit Dekoder aus Schritt 6 hochgezählt wird - Wenn man das ganze dann 8 mal gemacht hat, ist ein kompletter Durchlauf 8x8x8 fertig. - Auch ist man dann wieder beim Ausgangszustand wie oben angedeutet. Grüße, Chris Edit: Natürlich sollten nach den '273 Registern entweder noch Treiber für die LED hin, oder man nimmt gleich passende Treiber mit Latch die sich genauso wie die '273 ansteuern lassen, also das Bitmuster bei steigender Flanke an einem Steuereingang übernehmen. Sollte man nur Pegelgesteuerte Treiber haben so muss man dann eben IC4-G1 auf einen µC Pin legen und das darüber steuern. Also mittels G1 die Ausgänge alle auf Low, IC4 laden, G1 auf High (so wie IC5 in o.g. Ablauf).
Achja, der Sinn hinter der von mir gezeigten Schaltung ist halt das man sich das ganze serialisieren der Daten spart, und somit viel Zeit gewinnt da man die Bytes direkt ausgeben kann. Wenn man die Ausgabe in einen Timer-Interrupt steckt und dann noch einen Double-Buffer anlegt bekommt man so sehr flüssige Animationen hin. In dem IRQ sollte man zuerst die Ausgabe machen, wobei sämtliche auszugebenden Sachen in definierten Variablen liegen, man sollte dort also keine Zugriffe auf das eigentliche Array machen. Stattdessen werden diese Variablen dann nach der eigentlichen Ausgabe mit neuen Werten gefüllt. Man hat also z.B. 10 Variablen: unsigned char row1, row2, row3, .... row8; unsigned char row_cnt, level_cnt; Man gibt jetzt zuerst gemaess oben genanntem Ablauf die row1 - row8 aus. Danach kann man dann row1 - row8 mit den Werten der nächsten Ebene laden. Da man ja sowieso etwas Wartezeit braucht in der eine Ebene angezeigt wird hat man ja auch Zeit dafür. Wenn man nun noch zwei Buffer anlegt für die 8 Ebenen kann man mit einer weiteren Variable signalisieren welcher Buffer gerade ausgegeben wird. Wenn die Variable also z.B. 0 ist wird der erste Buffer ausgegeben während man im Programcode dann den zweiten Buffer vorbereitet. Hat man den zweiten buffer fertig wartet man bis die Variable zu 1 wird und bereitet dann den ersten Buffer vor. So geht das dann immer hin- und her. Dadurch das man alles sehr schnell ausgeben kann sollte so auch eine Steuerung der Helligkeitsstufen der einzelnen LED möglich sein. Grüße, Chris
Hi, Dietrich L. schrieb: > Wieviel Strom willst Du jetzt spendieren? Da wirst Du wahrscheinlich > Probleme mit der Verlustleistung des 7805 haben - wenn Du alles aus 5V > speisen willst. Ja, der 7805 wird ohne Weiteres wohl zu Schwach auf der Brust sein. Der aktuelle Plan sieht 10 mA pro LED aus. Das wären dann 64 * 10 mA = 640 mA. Grob überschlagen kommen wir dann mit der gesamten Elektronik auf 700 mA. Bei 12 V Eingangsspannung, würde die Verlustleistung 7 V * 0,7 mA = 4,9 Watt betragen. Das lässt sich prinzipiell mit einem vernünftigen Kühlkörper wegkühlen. Ein Schaltregler wäre mir aber sowieso lieber. Mal sehen. Das "Netzteil" wird sowieso eine eigenständige Platine, die lässt sich im Fall der Fälle dann recht problemlos ersetzen. Dietrich L. schrieb: > Zweites Problem bei 5V: der UDN2981 hat je nach Strom 1,5...2V > Spannungsabfall (Darlington-Ausgang). Was brauchen die Dioden? Reicht > das noch? Es wird aber bestimmt schwer, das solide zu dimensionieren. > Vielleicht brauchst Du doch noch einen Schaltregler für die LEDs. Vielen Dank für den Hinweis! Das habe ich so gar nicht beachtet. Leider ist der Spannungsabfall im Datenblatt nur für Vin = 2,4 V angegeben. Sind die 1,5 V - 2 V auch bei 5 V Vcc realistisch? Prinzipiell sollte sich da ja nicht viel dran ändern, oder? Die LEDs haben eine Flussspannung von in etwa 2 V (Farbe: blau). Insofern sollte das noch reichen. Nur muss man dann die Widerstände anders dimensionieren! Christian Klippel schrieb: > Anbei mal ein Beispiel-Schaltbild. Vielen Dank dir für deine Erläuterungen. Dein Vorgehen ist in der Tat um Welten einfacher. Ich werde das wohl so umsetzen. Als Flip-Flop werden aber 74HC574 Verwendung finden, denn die habe ich noch vorrätig. Das sollte aber nicht wirklich etwas ändern. Christian Klippel schrieb: > oder man nimmt gleich passende Treiber mit Latch die > sich genauso wie die '273 ansteuern lassen Gibt es da Vorschläge? Prinzipiell wäre mir diese Lösung natürlich am Liebsten. Leider konnte ich keine vernünftigen Treiber (z.B. 8 oder 16 Kanäle) in PDIP Form finden. SMD will ich mir nicht unbedingt antun. Christian Klippel schrieb: > Dadurch das man alles sehr schnell ausgeben kann sollte so auch eine > Steuerung der Helligkeitsstufen der einzelnen LED möglich sein. Mal gucken was da an Helligkeitsabstufungen noch möglich ist. Ein Problem ist halt allein schon die Datenmenge die anfallen würde. Bei einer klassischen 8 Byte Abstufung für jede einzelne LED würden 512 Byte RAM benötigt werden. Sofern ich Double Buffering einsetze, dann sogar 1k. Das wäre im Falle des ATmega32 bereits die Hälfte des verfügbaren RAMs. Und ob das Ganze zeittechnisch hinhaut weiß ich auch nicht. Ich dachte an eine Refresh Rate von etwa 100 Hz. Mit der o.g. 8 Bit Abstufung wären bereits 25,5 kHz notwendig. Und dazwischen wollen noch die Bilder berechnet werden. Insofern gilt hier wohl: Probieren geht über studieren ;).
Cube schrieb: > Christian Klippel schrieb: >> Anbei mal ein Beispiel-Schaltbild. > > Vielen Dank dir für deine Erläuterungen. Dein Vorgehen ist in der Tat um > Welten einfacher. Ich werde das wohl so umsetzen. Als Flip-Flop werden > aber 74HC574 Verwendung finden, denn die habe ich noch vorrätig. Das > sollte aber nicht wirklich etwas ändern. Ja, ein '574 sollte auch gehen. Bei meinem Vorschlag ist es wichtig das das laden des Latches halt flankengesteuert ist. Wie geschrieben lässt sich das aber umgehen indem man einfach G1 dann nicht auf einen festen Pegel legt, sondern ebenfalls von einem µC Pin aus ansteuert, da man so ja alle Ausgänge auf Low ziehen kann. > Christian Klippel schrieb: >> oder man nimmt gleich passende Treiber mit Latch die >> sich genauso wie die '273 ansteuern lassen > > Gibt es da Vorschläge? Prinzipiell wäre mir diese Lösung natürlich am > Liebsten. Leider konnte ich keine vernünftigen Treiber (z.B. 8 oder 16 > Kanäle) in PDIP Form finden. SMD will ich mir nicht unbedingt antun. Ich habe da im Moment leider nichts im Kopf. Hatte mal welche gesehen, aber schon wieder vergessen welche das waren. Und keine Angst vor SMD. SOIC ist wirklich einfach zu handhaben, gerade mal den halben Pinabstand im Vergleich zu DIP. Man spart halt einiges an Platz. > Christian Klippel schrieb: >> Dadurch das man alles sehr schnell ausgeben kann sollte so auch eine >> Steuerung der Helligkeitsstufen der einzelnen LED möglich sein. > > Mal gucken was da an Helligkeitsabstufungen noch möglich ist. Ein > Problem ist halt allein schon die Datenmenge die anfallen würde. Bei > einer klassischen 8 Byte Abstufung für jede einzelne LED würden 512 Byte > RAM benötigt werden. Naja, 256 Stufen ist ja nicht unbedingt nötig. Bei 16 Stufen reicht die Hälfte an Daten, man speichert dann halt zwei 4-Bit Werte in einem Byte. Mit ein wenig Hirnschmalz kommt man auch auf effiziente Methoden das ganze zu verarbeiten. Maskieren und das benutzen passender Inkrement/Dekrement Werte ist dein Freund ;) Achja, und 256 Stufen, die auch sichtbar unterschiedlich sind, ist bei LED's eh sehr aufwändig, da deren Helligkeitskurve ja nicht linear ist. Man müsste dann intern mit einem mehrfachen an Stufen arbeiten. Macht also wenig Sinn. > Sofern ich Double Buffering einsetze, dann sogar 1k. Das wäre im Falle > des ATmega32 bereits die Hälfte des verfügbaren RAMs. Und ob das Ganze > zeittechnisch hinhaut weiß ich auch nicht. Ich dachte an eine Refresh > Rate von etwa 100 Hz. Mit der o.g. 8 Bit Abstufung wären bereits 25,5 > kHz notwendig. Und dazwischen wollen noch die Bilder berechnet werden. > Insofern gilt hier wohl: Probieren geht über studieren ;). Ja, das ist klar. Versuch macht Kluch... Der Vorteil bei meinem (und natürlich ähnlichen Methoden) ist ja das das ganze sehr schnell geht, da man eben das serialisieren einspart. Und das macht echt einen großen Unterschied. Die eigentliche Ausgabe ist in wenigen Takten erledigt, dann noch ein paar mehr Takte zum vorbereiten der Variablen für den nächsten IRQ durchlauf. Da bleibt dann reichlich Zeit für anderes übrig. Grüße, Chris Edit: Achja, in meinem Beispiel ist Schritt 1-8 das was im Timer-IRQ passiert, plus das vorbereiten der Variablen für die nächste Ebene danach. Denke aber mal das Du das schon so verstanden hast.
Christian Klippel schrieb: > Und keine Angst vor SMD. > SOIC ist wirklich einfach zu handhaben, gerade mal den halben Pinabstand > im Vergleich zu DIP. Habe weniger Angst vor dem Löten (da schon desöfteren gemacht), als vor dem Designen und Anfertigen (lassen) der Platinen. Gerade bei so etwas experimentellen, das vermutlich nicht auf Anhieb funktionieren wird ;). Christian Klippel schrieb: > Man spart halt einiges an Platz. Das geht schon so, hoffentlich. Christian Klippel schrieb: > Naja, 256 Stufen ist ja nicht unbedingt nötig. Bei 16 Stufen reicht die > Hälfte an Daten, man speichert dann halt zwei 4-Bit Werte in einem Byte. Mit wieviel Stufen würde man dann intern arbeiten? Christian Klippel schrieb: > Edit: Achja, in meinem Beispiel ist Schritt 1-8 das was im Timer-IRQ > passiert, plus das vorbereiten der Variablen für die nächste Ebene > danach. Denke aber mal das Du das schon so verstanden hast. Ja, vielen Dank nochmal!
Cube schrieb: > Der aktuelle Plan sieht 10 mA pro LED aus. Das ist ja (fast) nicht mehr wie am Anfang (8mA = 1mA Mittelwert), wozu Du ja schon gesagt hast: Cube schrieb: > bin zu dem > Schluss gekommen, dass 1 mA in der Tat etwas wenig ist Wenn Du da deutlich zulegen willst, stimmt Deine Leistungsberechnung überhaupt nicht mehr. Aber das wolltest Du ja separat lösen. Trenne also einfach die Leistungs-Vcc (LEDs) von der Logik-Vcc. Achte auch auf eine richtige Leiterbahnführung des GND, damit die hohen LED-Ströme, die dazu noch steile Flanken haben, nicht die Logik stört. Und Stützkondensator nicht vergessen. Gruß Dietrich
Christian Klippel schrieb: > der Sinn hinter der von mir gezeigten Schaltung ist halt das man sich > das ganze serialisieren der Daten spart, und somit viel Zeit gewinnt da > man die Bytes direkt ausgeben kann. Ich bin leider erst jetzt dazu gekommen das Ganze im Schaltplan umzusetzen (siehe Anhang). Der Vorschlag gefällt mir richtig gut, und ich weiß ihn erst nach dem Planen richtig zu schätzen. Vielen Dank noch einmal dafür. Allerdings würde ich gerne nach weiterer Kritik bzw. Bewertungen fragen. Seht ihr (grobe) Schnitzer im Layout oder kann ich das so umsetzen? Vielen Dank an all jene, die sich die Zeit nehmen sich das anzusehen!
Cube schrieb: > Seht ihr (grobe) Schnitzer im Layout oder kann ich das so umsetzen? Nach schnellem Blick auf den Schaltplan ist mit nichts negatives aufgefallen: sieht gut aus! (ohne Garantie;-)) Du sprichst von "Layout": da sehe ich noch nichts ;-) Dort solltest Du aber, wie von mir schon erwähnt, auf eine Trennung der GND-Wege der FETs achten. Hilfreich ist hier, für diese GNDs ein anderes Symbol zu nehmen und mit einem 0-Ohm-Widerstand mit dem anderen GND zu brücken. Das erzwingt beim Layout eine Trennung des Pfades der hohen LED-Ströme und der 0-Ohm-Widerstandes sollte dann sehr nahe beim Anschluss CONN_2 sein. Ob der Anschluss der Vs (UDN2981A) am Eingang des 7805 geeignet ist, hängt von der verwendeten Stromversorgung ab. Ich würde empfehlen: - wenn Stromversorgung schon festliegt: durchrechnen - oder einen separaten Anschluss vorsehen. Gruß Dietrich
Cube schrieb: > Ok, du hast natürlich recht. Habe es nochmal angehängt. Diesmal sollte > man zumindest mit ein wenig Zoomen etwas erkennen können. Es bringt überhaupt nichts, dass Bild erst mit Kantenglättung und interpolierte Liniendarstellung als unscharfes Bitmap zu erzeugen und dann zu hoffen, damit eine scharfe und kompakte PNG Datei zu bekommen.
> Ich habe das eben nochmal überdacht bzw. überprüft und bin zu dem > Schluss gekommen, dass 1 mA in der Tat etwas wenig ist. Ach. > Daher habe ich den Schaltplan nochmal ein wenig überarbeitet und > entsprechende Treiber eingebaut. Was haltet ihr nun von dem Ganzen? Der UDN2981 braucht mehr als 5V, wenn er sinnvoll LEDs mit Vorwiderstand betrieben soll. Aber warum ENTWICKELST du so einen Schaltung ? Glaubst du, di bist der erste, der einen LED-Chube baut ? Warum schaust du nicht einfach, wie andere das machen ? Das erspart es, jeden Fehler noch mla persönlich machen zu müssen. Ja, ich weiß, es geistern auch unsäglich viele Schaltungen im Netz rum, die nicht funktionieren, oder zumindest nicht gut, oder mit ungünstigen Bauteilen aufgebaut sind. Aber wenigstens beschränkt sich deine Arbeit dann auf das Herausfinden des guten Bauvorschlags, und ein Beispielprogramm bekommt man meist auch dazu. http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1 Alles in allem fährt man günstiger, wenn man die Spalten mit P-MOSFETs wie IRF7413 nach + schaltet, und die vielen LEDs mit Konstantstromtreibern wie STP16CP05 nach Masse.
Dietrich L. schrieb: > Nach schnellem Blick auf den Schaltplan ist mit nichts negatives > aufgefallen: sieht gut aus! (ohne Garantie;-)) Ok, das hört sich schon einmal gut an. Dietrich L. schrieb: > Du sprichst von "Layout": da sehe ich noch nichts ;-) Ja, da ich meine aber eigentlich konsequent den Schaltplan. Layout gibt es (noch) nicht. Jetzt probiere ich das Ganze erst einmal auf dem Steckbrett aus. Dietrich L. schrieb: > - oder einen separaten Anschluss vorsehen. Heißt das dann etwa 2 Netzteile? Das würde ich gerne vermeiden. Dietrich L. schrieb: > Ob der Anschluss der Vs (UDN2981A) am Eingang des 7805 geeignet ist, > hängt von der verwendeten Stromversorgung ab. Ich würde empfehlen: > - wenn Stromversorgung schon festliegt: durchrechnen Naja, ich hatte das "durchgerechnet" und mich für den 470 µF Kondensator entschieden. Allerdings gehört wohl vor jeden UDN2981 ein eigener 470 µF Kondensator. Ein Gast schrieb: > Es bringt überhaupt nichts, dass Bild erst mit Kantenglättung und > interpolierte Liniendarstellung als unscharfes Bitmap zu erzeugen und > dann zu hoffen, damit eine scharfe und kompakte PNG Datei zu bekommen. Leider habe ich noch nicht herausgefunden, ob und wie KiCAD hier bessere Möglichkeiten für den Bildexport liefert. Tipps sind gerne willkommen. MaWin schrieb: > Der UDN2981 braucht mehr als 5V, wenn er sinnvoll LEDs mit Vorwiderstand > betrieben soll. Naja, das habe ich damit andeuten wollen, dass die UDN2981 mit der Spannung versorgt werden, welche vor dem 7805 anliegt. Das sollen dann 12 Volt sein. MaWin schrieb: > Aber warum ENTWICKELST du so einen Schaltung ? Weil ich es möchte? MaWin schrieb: > Glaubst du, di bist der > erste, der einen LED-Chube baut ? Nein. MaWin schrieb: > Warum schaust du nicht einfach, wie > andere das machen ? Das erspart es, jeden Fehler noch mla persönlich > machen zu müssen. Habe mich da durchaus von anderen Entwürfen inspieren lassen, unter anderem von dem Artikel hier im Wiki. Aber mittlerweile gefällt mir der hier gewählte Ansatz am Besten. Es werden am wenigsten I/O Ports benötigt, und die Ausgabe ist am Einfachsten. Den Ansatz habe ich in der "Wildnis" noch nicht gesehen. MaWin schrieb: > Alles in allem fährt man günstiger, wenn man die Spalten mit P-MOSFETs > wie IRF7413 nach + schaltet, und die vielen LEDs mit > Konstantstromtreibern wie STP16CP05 nach Masse. Leider gibt es Konstantstromquellen (wie auch der/die/das STP16CP05) nicht als DIP, zumindest nicht nach meinem Recherchen. Und darauf wollte ich mich zunächst beschränken. Außerdem haben P-MOSFETs wohl schlechtere Schalteigenschaften. Wenn ich später eventuell noch mit PWM arbeiten möchte, dann kann sich das nach meinen Berechnungen durchaus bemerkbar machen.
Cube schrieb: > Dietrich L. schrieb: >> - oder einen separaten Anschluss vorsehen. > Heißt das dann etwa 2 Netzteile? Das würde ich gerne vermeiden. Der zweite Anschluss war so gemeint: wenn Du bis jetzt Deinen LED-Stromkreis noch nicht durchgerechnet hast und auch das Netzteil noch nicht kennst, dann kann man das extern immer noch hinbasteln, ohne die Leiterplatte aufzukratzen. Aber Du willst 12V verwenden: Cube schrieb: > Naja, das habe ich damit andeuten wollen, dass die UDN2981 mit der > Spannung versorgt werden, welche vor dem 7805 anliegt. Das sollen dann > 12 Volt sein. Bei 12V solltest Du in jedem Fall mal rechnen! Die Werte der Vorwiderstände kannst Du ja immer noch ändern, aber die Verlustleistung könnte unnötig groß werden (und die Widerstände dafür mechanisch zu klein). Lange Rede kurzer Sinn: Die Eingangsspannung muss stimmen: - Nicht zu groß wegen der Verlustleistung der LED-Vorwiderstände; ggf. auch wegen der Verlustleistung des 7805 (Kühlkörper nötig?). - Nicht zu klein, damit der LED-Stromkreis vernünftig dimensionierbar ist (Toleranzen) und der 7805 auch noch funktioniert (eventuell ein anderer Regler?). Das hängt auch davon ab, ob die Eingangsspannung stabilisiert oder unstabilisiert ist. Mein Vorschlag: - LED-Stromkreis dimensionieren; Ergebnis: der erlaubte bzw. sinnvolle Versorgunsspannungsbereich - ist die Spannung groß genug für 7805? Wenn nicht, einen LDO-Spannungsregler verwenden. - geregeltes Netzteil mit oben ermittelter Spannung für LED und 5V-Regler verwenden Gruß Dietrich
Hallo,warum machst du die Sache so kompliziert?. Mein Cube braucht 12 Leitungen um angesteuert zu werden.8 für die Mosfets und 4 für die Schieberegister (8 mal TPIC6B595).Flüssige Animationen sind kein Problem,da der Cube mit 60 Herz läuft.Also wird jede Ebene ca. 0,002 Sekunden angezeigt.In diesen 0,002 Sekunden hast du ca. 32000 Takte Zeit die nächste Ebene einzuschieben.Läuft bei mir tadellos und selbst aufwendige Animationen sind kein Problem. gruss andy
Dietrich L. schrieb: > - Nicht zu groß wegen der Verlustleistung der LED-Vorwiderstände; ggf. > auch wegen der Verlustleistung des 7805 (Kühlkörper nötig?). > - Nicht zu klein, damit der LED-Stromkreis vernünftig dimensionierbar > ist (Toleranzen) und der 7805 auch noch funktioniert (eventuell ein > anderer Regler?). Das hatte ich eigentlich schon alles durchgerechnet. 12 Volt deswegen, weil ich UDN2981 einsetze und der Spannungsabfall "variabel" ist - je nach Belastung. Da ich multiplexe, aber die LEDs vor zu hohen Strömen bewahren möchte, habe ich mich für 150 Ohm Widerstände entschieden. Damit fließt maximal ein Strom von 60 mA pro LED bei einem Dutycycle von 12,5 % und 100 Hz Multiplexfrequenz. Im Durchschnitt sollten das in etwa 7-8 mA sein. Das sollte für 1/4 Widerstände bewältigbar sein. Insgesamt fließen also zum Schaltzeitpunkt fast bis zu 4 Ampere. Daher wollte ich noch jedem UDN2981 ein 470 uF Kondensator gönnen, um die Versorgungsspannung zu entlasten. Für den 7805 sind 12 Volt ja in Ordnung. Ich erwarte hier jetzt auch nicht allzuviel Strom, da damit ja "nur" die Logik versorgt wird. Das sollte irgendwo im Bereich < 100 mA liegen und damit auch noch ohne Kühlung hinhauen. Das Netzteil soll schon geregelt sein (Schaltnetzteil) - irgendwo im Größenbereich von 4 Ampere. Was hälst du davon?
andy schrieb: > 4 für die Schieberegister Die Vorteile "meines" Ansatzes gegenüber dem mit Schieberegistern wurde oben ausgeführt.
Cube schrieb: > Das hatte ich eigentlich schon alles durchgerechnet. Dann ist ja gut ;-) Und die Ergebnisse sehen OK aus. > Für den 7805 sind 12 Volt ja in Ordnung. Ich erwarte hier jetzt auch > nicht allzuviel Strom, da damit ja "nur" die Logik versorgt wird. Das > sollte irgendwo im Bereich < 100 mA liegen und damit auch noch ohne > Kühlung hinhauen. (12V-5V)*100mA=0,7W Da würde ich zur Sicherheit etwas Platz auf der Leiterplatte für einen kleinen Kühlkörper zumindest reservieren. > Das Netzteil soll schon geregelt sein (Schaltnetzteil) - irgendwo im > Größenbereich von 4 Ampere. Was hälst du davon? OK. Wenn geregelt, dann kannst Du aber auch auf z.B. 9V gehen - das ist noch immer weit auf der sicheren Seite und reduziert die Verlustleistung merklich. Gruß Dietrich
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.