Hallo zusammen,
ich Arbeite jetzt schon seit geraumer Zeit an einer art "rotary clock"
dabei werden viele rgb LEDS über schieberegister angesteuert. (immer 3
Register in reihe) Die register sollen mit 60 Mhz getaktet werden, damit
auch PWM möglich ist. Nun mach ich mir sorgen , ob ich bei den Hohen
Frequenzen nicht Probleme bekomme. Um induktive einsteuungungen zu
vermeiden, habe ich Links und rechts von jeder Datenleitung eine
Masseleitung gesetzt( am oberen und unteren Platinenrand) Ist das So
günstig ? oder wäre es Besser die Signale nebeneinander zu legen, und
die Masse auf die rückseite der Platine (als breite masse Fläche )? Oder
muss ich mich mit "impendanzkontrollierten Design" beschäftigen ?
Michael Sauron
Hallo,
mal so ganz grob über den Daumen: Standardtechnik (LS-TTL, HCMOS, GAL)
funktioniert bis etwa 20-30 MHz zuverlässig, darüber muss man schon sehr
genau rechnen oder auf entsprechende Technologien ausweichen (z.B.
F-TTL). Die Leiterbahnenführung ist dabei noch nicht das Problem, wenn
sie nicht gerade grottenschlecht ist. Auf
geschirmte/impedanzkontrollierte Leiterbahnen muss man erst jenseits 100
MHz zurückgreifen.
Insofern sind deine 60 MHz grenzwertig. Aber über die Technologie kann
man ja nichts entnehmen.
Da die Taktleitung nicht nur die längste ist, sondern auch an viele Pins
angeschlossen, wird da das erste Problem auftauchen; möglicherweise
braucht man mehrere parallele Taktsignale.
Gruss Reinhard
Haste denn einen funktionierenden Laboraufbau oder realisierste
gleich die Leiterplatte weil das etwas überschaubarer ist?
Sieht ohnehin so aus als wenn das ganze ein IC-Grab wird.
Ein FPGA wäre da sinnvoller. Den Zusammenhang zwischen einer
rotary clock, der hohen Taktfrequenz und PWM will mir
nicht einleuchten, aber du wirst schon wissen was du tust.
60MHz sind zwar noch nicht soooo viel, aber wenn die Strippen auf der
Leiterplatte längere Ausdehnungen haben, und das ganze ist im Timing
schon etwas knapp, dann könnten durchaus sich schon Signallaufzeiten
bemerkbar machen. So reichlich 4ns/m, wenn ich mich nicht irre, 60MHz
haben bereits nur 13ns Periode.
60MHz Rechteck enthält auch reichlich Oberwellen, für die die
Leitungslängen auf deiner LP (schätze mal an die 20cm) evtl. schon
relevant werden, was zu Spikes/Dellen an den Signalflanken führen
kann/wird.
Wie Reinhard Kern schon meinte - die Platine könnte für 60MHz schon
grenzwertig werden aufgrund ihrer Ausdehnung).
Das Problem wird der Clock sein. denn 60MHz als Bus werde Probleme
machen. Allenfalls koennte man auf Bus-LVDS gehen, oder alle paar chips
einen UC04 Inverter zum Regenerieren des clocks. Eine GND Plane ist ein
Muss, sonst hat man einen Antenne. Ich wuerd die 60MHz auch als
grenzwertig betrachten. Besser mehrere CPLD, zB EPM3064 im TQFP44
gehaeuse, oder EPM240 im TQFP100, das erstere hat 64 Flipflops, das
Zweite deren 240.
@reinhardt
> mal so ganz grob über den Daumen: Standardtechnik (LS-TTL, HCMOS, GAL)> funktioniert bis etwa 20-30 MHz zuverlässig
Die von mir verwendeten Schieberegister können 90 Mhz Takt.
> möglicherweise> braucht man mehrere parallele Taktsignale.
Die obere Reihe und die untere Reihe sind voneinander unaghängig von der
Ansteuerung. Also gibt es 2 Taktsignale. Ein Takt versorgt 12 ICs
@schwups
> Ein FPGA wäre da sinnvoller
Ein FPGA hängt an der anderen seite der Steckverbinder.
> Den Zusammenhang zwischen einer> rotary clock, der hohen Taktfrequenz und PWM will mir> nicht einleuchten
Du hast nur eine kurze zeitspanne für jeden winkel, deshalb muss die PWM
sehr schnell sein.
> Allenfalls koennte man auf Bus-LVDS
Ich kenne keine Schieberegister mit LVDS , gibt es sowas überhaupt ?
> Eine GND Plane ist ein> Muss, sonst hat man einen Antenne
genau aus dem grund hatte ich ja vor zu jeder Hochfrequenten Leitung je
links und rechts eine Masse Leitung zu Ziehen. Ist Statdessen eine
grosse Massefläche auf der Rückseite Vorteilhafter ?
> einen UC04 Inverter zum Regenerieren des clocks
Ich denke damit werde ich es nur schlimmer machen da sich der Skew
erhöht.
Im Grossen und Ganzen stellen sich mir 2 Fragen :
1) Soll ich lieber eine grosse Groundplane einführen , anstelle meiner
einzelnen Masse Leitungen ? Ich denke das wäre die Sinnvollste Änderung
Jedoch will ich aus kostengründen kein Multilayer einsetzen.
2) Ich denke ich muss auch mit refektionen rechnen, wo sind
terminierungswiederstände evtl sinnvol ?
Michael Sauren
Hab bei den oberen ICs mal eine groundplane hinzugefügt, habt ich euch
das so vorgestellt ? Nun liegen alle Hochfrequenten Signale über einer
Massefläche
@ Michael Sauron (Gast)
>Register in reihe) Die register sollen mit 60 Mhz getaktet werden, damit>auch PWM möglich ist. Nun mach ich mir sorgen , ob ich bei den Hohen>Frequenzen nicht Probleme bekomme.
Das ist wahrscheinlich.
>vermeiden, habe ich Links und rechts von jeder Datenleitung eine>Masseleitung gesetzt( am oberen und unteren Platinenrand) Ist das So>günstig ?
Nur dann, wenn die Masse auch dann ordentlich an die ICs angebunden
wird.
> oder wäre es Besser die Signale nebeneinander zu legen, und>die Masse auf die rückseite der Platine (als breite masse Fläche )?
Ich würde diese Variante bevorzugen.
> Oder>muss ich mich mit "impendanzkontrollierten Design" beschäftigen ?
Ja. Siehe Wellenwiderstand.
>Ansteuerung. Also gibt es 2 Taktsignale. Ein Takt versorgt 12 ICs
Das ist schon ordentlich. Da gilt das im Artikel Wellenwiderstand
Gesagte umso mehr.
>Du hast nur eine kurze zeitspanne für jeden winkel, deshalb muss die PWM>sehr schnell sein.
Naja, sagen wir mal bei 50 U/s und 256 Punkten/U hat man 12,8kHz
Pixeltakt. Wenn man in dieser Zeit sagen wir vier PWM-Zyklen durchfahren
will (was schon hoch gegriffen ist), sind das 51,2kHz. Und bei 8 Bit
Auflösung sind wir bei 13,1 MHz PWM-Takt. Aber selbst mit 60 MHz taktet
man keine 10 8-Bit Schieberegister in der Zeit voll.
Irgendwas stimmt an deinem Konzept nicht.
>Ich kenne keine Schieberegister mit LVDS , gibt es sowas überhaupt ?
AFAIK nein, sind hier auch fehl am Platz. Die brauchen erst recht ein
solides HF-Layout.
>links und rechts eine Masse Leitung zu Ziehen. Ist Statdessen eine>grosse Massefläche auf der Rückseite Vorteilhafter ?
Meistens ja.
>> einen UC04 Inverter zum Regenerieren des clocks>Ich denke damit werde ich es nur schlimmer machen da sich der Skew>erhöht.
Richtig!
>1) Soll ich lieber eine grosse Groundplane einführen , anstelle meiner>einzelnen Masse Leitungen ?
Ja.
>2) Ich denke ich muss auch mit refektionen rechnen,
Definitiv.
> wo sind>terminierungswiederstände evtl sinnvol ?
In den Taktleitungen, aber auch in den Datenleitungen schaden sie nicht.
MFG
Falk
Hallo,
A. K. schrieb:
> Schwups... schrieb:>>> Haste denn einen funktionierenden Laboraufbau>> 60MHz Laboraufbau? Wohl mit 74AC auf dem Steckbrett...
Naja, ein 80MHz Quarzoszillator an einem 74HC4040 spielt jedenfalls ohne
Probleme auf einem normalen Steckbrett.
Gruß aus Berlin
Michael
Michael Sauon schrieb:
>> einen UC04 Inverter zum Regenerieren des clocks>> Ich denke damit werde ich es nur schlimmer machen da sich der Skew> erhöht.
Nicht wenn mans richtig macht: sternförmig auf z.B. n/4 Inverter, alle
Leitungen gleich lang(!), dann ist an den Clock Pins nur der Skew eines
Inverters wirksam, und davon abgesehen treffen alle Clockpulse
gleichzeitig ein.
NATÜRLICH darf man die Inverter nicht hintereinander schalten!
Gruss Reinhard
Reinhard Kern schrieb:
> Nicht wenn mans richtig macht: sternförmig auf z.B. n/4 Inverter, alle> Leitungen gleich lang(!)
Weshalb man auf PC Mainboards der 60MHz-Bustakt Ära allerlei recht
dekorative Serpentinen bewundern konnte.
Langsam sollte Michael auch mal einen Schaltplan hier einstellen.
Allein über die paar Detailfakten beim Layout sich ein Gesamturteil
zu bilden scheint mir etwas töricht. Da können noch etliche Sachen
eine Rolle spielen(z.B. Fan-In fällt mir dazu ein).
Michael Sauon schrieb:
>> Den Zusammenhang zwischen einer>> rotary clock, der hohen Taktfrequenz und PWM will mir>> nicht einleuchten>> Du hast nur eine kurze zeitspanne für jeden winkel, deshalb muss die PWM> sehr schnell sein.
Also da hast du glaube ich was falsch verstanden. Mach das Dimmen doch
einfach durch Auslassen von bestimmten Umdrehungen. So wie bei einem
Display. Dabei musst du dann nur eine hohe Umdrehungszahl nehmen. Für
50% DC machst du die LED dann nur bei jedem zweiten Takt an. 33% bei
jedem dritten und so weiter.
@ Simon K. (simon) Benutzerseite
>Also da hast du glaube ich was falsch verstanden.
Oder du vielleicht.
> Mach das Dimmen doch>einfach durch Auslassen von bestimmten Umdrehungen.
Das wäre PWM mit einer Frequenz KLEINER als die Bildwiederholfrequenz.
Das blinkt sichtbar, aber nix von wegen Helligkeitsanpassung.
MFG
Falk
Falk Brunner schrieb:
> @ Simon K. (simon) Benutzerseite>>>Also da hast du glaube ich was falsch verstanden.>> Oder du vielleicht.
Vielleicht. Vielleicht ist aber auch beides möglich.
>> Mach das Dimmen doch>>einfach durch Auslassen von bestimmten Umdrehungen.>> Das wäre PWM mit einer Frequenz KLEINER als die Bildwiederholfrequenz.> Das blinkt sichtbar, aber nix von wegen Helligkeitsanpassung.
Dein TFT blinkt sichtbar? Cool! Natürlich braucht man dann hohe
Umdrehungszahlen, habe ich aber auch schon geschrieben oben.
@ Falk
> Aber selbst mit 60 MHz taktet> man keine 10 8-Bit Schieberegister in der Zeit voll
Es sind nur 3 Register, keine 10.
Jeweils 3 Register steuern 8 rgb leds an.
> Nicht wenn mans richtig macht: sternförmig auf z.B. n/4 Inverter, alle> Leitungen gleich lang(!), dann ist an den Clock Pins nur der Skew eines> Inverters wirksam, und davon abgesehen treffen alle Clockpulse> gleichzeitig ein.
Also inverter werde ich nicht verbauen, meinst du wirklich 12 ICs sind
zu viel ? Ein FPGA Ausgang hat relativ viel Power. Alternativ kann ich
aber auch noch einen weiteren Port verwenden, dann wären es 8 ICs pro
Port
Frank schrieb:
> Also inverter werde ich nicht verbauen, meinst du wirklich 12 ICs sind> zu viel ? Ein FPGA Ausgang hat relativ viel Power. Alternativ kann ich> aber auch noch einen weiteren Port verwenden, dann wären es 8 ICs pro> Port
Ich würde daoviel wie du kannst parrallel ausführen das entzerrt das
Timing schon ungemein, und du kannst gf nochmal höhere PWM Raten fahren
falls du nicht zufrieden bist.
@ Simon K. (simon) Benutzerseite
>Vielleicht. Vielleicht ist aber auch beides möglich.
Und wa sist wahrscheinlicher . . .?
>> Das wäre PWM mit einer Frequenz KLEINER als die Bildwiederholfrequenz.>> Das blinkt sichtbar, aber nix von wegen Helligkeitsanpassung.>Dein TFT blinkt sichtbar? Cool! Natürlich braucht man dann hohe>Umdrehungszahlen, habe ich aber auch schon geschrieben oben.
Du erzählst Unsinn. Und vor allem eine Propelleruhr hat eher
Drehzahlgrenzen als ein TFT. Und die laufen zu Grossteil mit 60 Hz.
http://de.wikipedia.org/wiki/TFT-Bildschirm#Aktiv-Matrix-Displays
Nix mit PWM oder Pixel mal hell und dunkel. Old School Analoge Steuerung
mit Spannung bzw. Ladungsmenge.
@ Frank (Gast)
>Es sind nur 3 Register, keine 10.>Jeweils 3 Register steuern 8 rgb leds an.
Und was machen dan die vielen ICs auf der Platine?
>Also inverter werde ich nicht verbauen, meinst du wirklich 12 ICs sind>zu viel ?
Viel, aber machbar.
> Ein FPGA Ausgang hat relativ viel Power.
Eben.
MFG
Falk
Frank schrieb:
> Also inverter werde ich nicht verbauen, meinst du wirklich 12 ICs sind> zu viel ? Ein FPGA Ausgang hat relativ viel Power. Alternativ kann ich> aber auch noch einen weiteren Port verwenden, dann wären es 8 ICs pro> Port
Hallo,
das musst du aus den Datenblättern entnehmen - was die Leitungen angeht,
bei serieller Verlegung des Clocks musst du mit 2 ns Unterschied
rechnen, das müsste bei sauberem 60 MHz Clock gehen, aber
vernachlässigbar ist es nicht. Daher mein Vorschlag der möglichst
gleichen Leiterbahnlängen.
Gruss Reinhard
>>Es sind nur 3 Register, keine 10.>>Jeweils 3 Register steuern 8 rgb leds an.>Und was machen dan die vielen ICs auf der Platine?
Es sind ja nicht 8 Leds auf der Platine sondern 64, macht also 3*8 IC's
> bei serieller Verlegung des Clocks musst du mit 2 ns Unterschied> rechnen, das müsste bei sauberem 60 MHz Clock gehen, aber> vernachlässigbar ist es nicht.
meinst du den Laufzeitunterschied ? Die Datenleitung und Taktleitung ist
zum jeweiligen schieberegister gleich lang, und somit kommen Takt und
Daten zwar etwas später , aber gleichzeitig an. Das die angeschlossenen
LEDs dann x ns später angehen, stellt kein problem dar.
Michael Sauon schrieb:
> meinst du den Laufzeitunterschied ? Die Datenleitung und Taktleitung ist> zum jeweiligen schieberegister gleich lang, und somit kommen Takt und> Daten zwar etwas später , aber gleichzeitig an.
Den Unterschied über die geschätzte Länge der Platine. Das mit Takt und
Daten ist auch eine Lösung, wenn die Daten nur in eine Richtung
fliessen.
Gruss Reinhard
So ich hab das Layout noch mal gründlich überarbeitet. Die verbindungen
zu den LEDs habe ich wech gelassen, damit es übersichtlicher ist. Ein
paar der Terminierungswiderstände (6 stück) sind auf der Rückseite und
deshalb schwer zu sehen.
Sieht noch irgend jemand etwas , was nicht in ordnung ist ?
kann leider keine Hardcopy vom Schaltplan machen, da der zu gross ist.
Aber wenn den jemand sehen will, kann ich ihn als eagle file hier
einstellen.
Michael
> Schon mal überlegt wie du sowas auswuchten willst?
Na klar 2, mit 3 weiteren Platinen als gegengewicht, je 90 grad versetzt
>Warum nicht 8 Schieberegister a 24 bit parallel und mit 7.5MHz>auskommen, wenn du die extra dafür entwickelten Chips nicht verwenden>willst
Hä ???
Die von dir angegebenen Chips sind einfach zu langsam. und deutlich
teurer als ein 74er logigbaustein.
> Die von dir angegebenen Chips sind einfach zu langsam.
So wie ich das sehe kann man sie mit 30MHz takten. Die 192 bit also
156000 mal pro Sekunde reinschieben, oder 39000 wenn man 4
hintereinander schaltet, für 156000 bzw. 39000 Farbwechsel pro Sekunde.
Bei deinen TTL hingegen musst du PWM selbst machen. Wenn du auch nur 8
bit PWM machen willst (also 256 Helligkeitsstufen) dann kommst du mit
deinen TTLs selbst bei 60MHz nicht über 1220 Farbwechsel pro Sekunde.
> und deutlich teurer als ein 74er logigbaustein.
Achso, der Geiz ist es.
> So wie ich das sehe kann man sie mit 30MHz takten. Die 192 bit also> 156000 mal pro Sekunde reinschieben, oder 39000 wenn man 4> hintereinander schaltet, für 156000 bzw. 39000 Farbwechsel pro Sekunde.
welchen Chip meinst du denn Jetzt ?
> Achso, der Geiz ist es.
Also bei der Menge an leds würdest du auch auf den Preis schauen. Ein
Schnäppchen wird das Projekt auf keinen Fall, dafür sorgt schon der FPGA
> welchen Chip meinst du denn Jetzt ?
z.B. TLC5940> dafür sorgt schon der FPGA
Es wird immer mysteriöser.
Wie Falk schon sagt: Irgendwas stimmt an deinem Konzept nicht.
@mawin
> z.B. TLC5940
der TLC5940 ist zwar fix , braucht aber 4096 Takte für einen PWM Cycle.
Eine Umdrehung Dauert 60000 Takte Also bleiben nur 146 PWM Cycles in
einer Umdrehung übrig... also zu langsam
Ich muss aber nochmal das Datenblatt genauer Studieren, wenn es mir
gelingt, die PWM Auflösung zu verringern, dann wäre der Chip geeignet.
Der vorteil wäre eine Höhere Auflösung , und keine vorwiderstände an den
leds
> Es wird immer mysteriöser.> Wie Falk schon sagt: Irgendwas stimmt an deinem Konzept nicht.
mein Konzept habe ich hier ja gar nicht vollständig erklärt, das wäre zu
offtopic
Michael
> sagt dem armen kerl mal einer, dass er treiber braucht.
Na gut, hab ich nun auch eingesehen, und nun gehts mit dem TLC5940
voran.
Ich habe ein neues Design entwickelt. Nun brauche ich nur noch 30 Mhz,
das macht das Bord hoffentlich weniger Grenzwertig. Besondere Mühe habe
ich mir bei der Busverbindung der Treiberbausteine gegeben. Alle Signale
liegen möglichst gut über einem Ground Layer. Ein komplettes "Zeile"
braucht 65 us,
so schaffe ich noch 307 "Zeilen" pro Umdrehung bei 3000 U/min.
Weitere Details zum Projekt gibt es hier:
http://www.das-labor.org/wiki/Borg_Ventilator
Noch Anregungen, kritik, Fehler gefunden ?
oder kann ich das Bord so zur Fertigung geben ?
Michael Sauron
3000 U/min das sind 50 U/sek. Wie zum teufeln willst du verhindern dass
dir das um die Ohren fliegt? Bei den Geschwindigkeiten musst du auf
jedes gramm achten, dass Unwucht erzeugen kann.
Na gut, bei mehreren Flügeln geht das. Auch wenn man wirklich genau
arbeiten muss.
> Noch Anregungen, kritik, Fehler gefunden ?> oder kann ich das Bord so zur Fertigung geben ?
Naja, von der Mechanik (Unwucht, etc.) mal abgesehen - ohne Schaltplan
wird Dir vermutlich niemand sagen können, ob Du Fehler in der
Verschaltung hast oder nicht.
Das Layout sieht allerdings.. hmm.. eher nach einem sehr chaotisch
arbeitendem Autorouter aus als nach mühevoller Fleißarbeit. Irgendwas
sträubt sich in mir, und ich glaube nicht, daß das Board im jetzigen
Zustand mit 30MHz zuverlässig arbeiten wird.
Eine saubere und durchdachte Leitungsführung wäre IMHO der erste Schritt
zum funktionierenden Layout. Bei Dir sehe ich einen Haufen Vias, welche
offensichtlich rein zufällig ihre jetzige Position gefunden haben.
Einige wären bei einer besseren Leitungsführung schlicht und einfach
überflüssig. Desweiteren sehe ich Leitungen, welche irgendwelchen
nichtexistierenden Hindernissen auszuweichen scheinen und somit
vermutlich übrflüssige Knicks in ihrem Verlauf aufweisen. Wie weit sich
bei den Frequenzen nebeneinanderliegende Leitungen negativ beeinflußen,
vermag ich leider aus dem Stehgreif nicht zu beurteilen. Die Massefläche
unter den Signalleitungen zu unterbrechen und dann oben kurz zu
verbinden ist irgendwie auch nicht die feine englische Art.
Kann es sein, daß Du noch nie mit Platinenlayout höheren Frequenzen zu
tun hattest? Vielleicht schaust Du mal auf ältere Computer-Mainboards
(bis 486er oder Pentium). Dort hat man mit Busfrequenzen um 16-33MHz
(i486) und 66-100Mhz (Pentium) gearbeitet...
> ohne Schaltplan> wird Dir vermutlich niemand sagen können, ob Du Fehler in der> Verschaltung hast oder nicht.
Anbei der Schaltplan
> chaotisch arbeitendem Autorouter
Alle Datenleitungen Habe ich händisch geroutet, (das sind die äusseren)
Die Verbindungen von den Leds zu den Led Treibern habe ich dem
Autorouter überlassen, ich halte das für unkritisch. Dabei durfte der
Autorouter nicht über meine Datenleitungen routen.
Das hier noch vieles optimiert werden könnte ist mir klar, aber kann ich
hier ausser einer schöneren Optik noch etwas verbessern ?
> Die Massefläche> unter den Signalleitungen zu unterbrechen und dann oben kurz zu> verbinden ist irgendwie auch nicht die feine englische Art
Hier habe ich auch lange überlegt, schliesslich liegen hier die Abgriffe
für die Led treiber. Da ich aber nur 2 Lagig arbeite ist mir nichts
besseres eingefallen, hast du dazu noch eine Idee ?
> Kann es sein, daß Du noch nie mit Platinenlayout höheren Frequenzen zu> tun hattest?
Ja. Bisher habe ich immer alles auf Lochraster aufgebaut, nun wird es
mal zeit für etwas anspruchsvolleres.
Ich habe das Autorouter Chaos möglichst gut Aufgeräumt, anbei das
Aktuelle Bord. Kommentare sind herzlich willkommen.
Das bisher niemand etwas zum Schaltplan gesagt hat, werte ich mal als
gutes Zeichen.
> Anbei der Schaltplan
Naja, das ist ja nur ein kleiner Teil davon...
> Alle Datenleitungen Habe ich händisch geroutet, (das sind die äusseren)> Die Verbindungen von den Leds zu den Led Treibern habe ich dem> Autorouter überlassen, ich halte das für unkritisch. Dabei durfte der> Autorouter nicht über meine Datenleitungen routen.> Das hier noch vieles optimiert werden könnte ist mir klar, aber kann ich> hier ausser einer schöneren Optik noch etwas verbessern ?
Die Optik ist Deine Visitenkarte... So ähnlich, wie "Kleider machen
Leute" :-)
Unabhängig davon: Warum sollen die LED-Zuleitungen unkritisch sein? Oder
die Sache andersrum aufgerollt: Du weißt, welche parasitären
Eigenschaften die Leiterbahnen und Bauelemente haben und wie sie sich
bei höheren Frequenzen verhalten? Es mag sein, daß heutige
Mikrocontroller mit einigen MHz in Freiluftverdrahtung und/oder
Lochraster problemlos klarkommen (was vor wenigen Jahren noch undenkbar
war), doch nach oben wird die Luft schnell dünn (und/oder teuer).
Pauschal läßt sich sagen, daß jeder Knick in der Leitung, jedes Via und
jeder Kontakt schon mal negative Auswirkungen auf die Signalqualität
haben (können). Leitungen beeinflußen sich gegenseitig - je näher sie
beianander liegen, desto stärker der Effekt. Schlecht geroutete oder in
Schleifen verlegte Leiterbahnen können das Signal unnötig verzögern oder
dank Reflexionen beträchlich stören. Schließlich wirkt im
Hochfrequenzbereich jede Leitung wie eine Antenne...
Es sieht für mich so aus, als ob Du einfach losgelegt hast, ohne sich
großartig Gedanken über das Design zu machen.
Alleine schon das Vorhaben, die Taktsignale über einen Pfostenstecker
heranzuführen, wird eine Herausforderung für sich. Und da ich zwei
Pfostenstecker mit z.T. gleichen Signalen sehe: sag' bitte nicht, daß Du
vorhast, diese Signale auf der anderen Seite der Pfostenstecker einfach
zu Splitten. O_O Bei 30MHz ?
Aber selbst mit den absoluten Basics scheinst Du nicht vertraut zu sein.
Hast Du Dir Gedanken über den Stromverbrauch gemacht? Meinst Du, die
LEDs verbrauchen so wenig Energie, daß Du ohne Stützkondensatoren
auskommst? Wenn Du den LEDs so eine dicke Zuleitung gönnst, warum
verbindest Du die eigentlichen Pads nur so dünn? Und warum nur so eine
dünne Masseverbindung bei den Treibern? Du fährst doch auch lieber auf
der Autobahn als auf einem kurvenreichen Feldweg, oder? Warum gönnst Du
den Leiterbahnen nur den minimalen Abstand? Platz ist ja reichlich
vorhanden.
Was mir noch aufgefallen ist - im Layout scheinst Du das PWP-Package des
Treiberbausteins zu verwenden. Das hat unten ein Thermal Pad zum
Auflöten, ergo kannst Du die Leitungen unter dem Chip vergessen. Wie
willst Du das überhaupt löten? Abgesehen davon würde ich diese Version
des Treibers um 90 Grad gegen den Uhrzeigersinn drehen. Dann kannst Du
Dir einen Haufen dieser gruseligen Zuleitungen zunden LEDs sparen, denn
der Baustein ist so ausgelegt, daß die Outputs die LEDs jeweils direkt
erreichen können...
Warum splittest Du R, G und B auf? - Plus zu den LEDs von oben, Pin 3
der LEDs könnte dann zwischen den Pins 1 und 4 nach unten durchgeroutet
werden, alle Treiber unten anordnen und die Outputs in direkter Abfolge
zu den LEDs führen. Die Ansteuerung wäre dann zwar RGBRGBRGB...RGBRGB
anstatt RRR...RRRGGG...GGGBBB...BBB, was aber in Software kein Problem
darstellen sollte. Der Vorteil liegt auf der Hand: keine Vias, keine
wilden Knicks und unten eine große Massefläche. Auch der "Datenbus"
dürfte dann sauberer werden.
Womit willst Du eigentlich den Datenbus füttern? Was auch immer es ist,
es muß bei den von Dir veranschlagten 30MHz die zwölf Treiberbausteine
an seinen Leitungen ertragen...
> Hier habe ich auch lange überlegt, schliesslich liegen hier die Abgriffe> für die Led treiber. Da ich aber nur 2 Lagig arbeite ist mir nichts> besseres eingefallen, hast du dazu noch eine Idee ?
Du hattest bei denen ersten Designs eine durchgängige Massefläche... Das
wäre ein Ansatzpunkt...
> Ja. Bisher habe ich immer alles auf Lochraster aufgebaut, nun wird es> mal zeit für etwas anspruchsvolleres.
Nichts für ungut - hier will Dir niemand das Projekt ausreden, aber man
sollte mit den Aufgaben wachsen. Man besteigt den Mount Everest ja auch
nicht in Turnschuhen und kurzer Hose... Sonst fällt es in die Rubrik
"Lehrgeld". Mich wurmt bis heute ein von mir aufgrund meiner
Ahnungslosigkeit geschrotteter Chip, der mich seinerzeit knapp 100DM
gekostet hat. Das waren einige Monate Taschengeld...
> Die Optik ist Deine Visitenkarte... So ähnlich, wie "Kleider machen> Leute" :-)
Das ganze wird ein Hobby projekt, das muss nicht perfekt schön werden.
> Warum sollen die LED-Zuleitungen unkritisch sein ?
Weil hier nur noch frequenzen um 117 kHz anliegen.
> Es sieht für mich so aus, als ob Du einfach losgelegt hast, ohne sich> großartig Gedanken über das Design zu machen.
immer noch besser als gar nicht erst anfangen :-)
> sag' bitte nicht, daß Du> vorhast, diese Signale auf der anderen Seite der Pfostenstecker einfach> zu Splitten.
nein, die kommen auf seperate ports, damit nicht zu viele Treiber an
einem Port hängen.
> Meinst Du, die> LEDs verbrauchen so wenig Energie, daß Du ohne Stützkondensatoren> auskommst?
Die sind gross und schwer, und wollen durch die Fliehkraft gerne ihren
eigenen Weg gehen. Deshalb gehören sie nicht auf den Flügel...aber ich
kann dich beruhigen, es wird welche geben
> warum> verbindest Du die eigentlichen Pads nur so dünn?
weil es reicht....naturlich schadet mehr auch nicht...
> Das hat unten ein Thermal Pad zum> Auflöten, ergo kannst Du die Leitungen unter dem Chip vergessen.
Das werde ich nicht verlöten, weil ich den Platz brauche, deshalb sind
auch alle vias mit Lötstop-Lack bedeckt. Laut Datenblatt sollte das
Funktionieren
> Treibers um 90 Grad gegen den Uhrzeigersinn drehen
Darurch wird Die Platine noch Höher.
> Warum splittest Du R, G und B auf?
Die Schieberegister müssen in 65 us voll sein, Das schaff ich nicht ohne
eine aufsplittung, eine aufteilung nach Farben erschien mir da das
Logischte.
> Der Vorteil liegt auf der Hand: keine Vias, keine> wilden Knicks und unten eine große Massefläche
Ich soll also die Software so optimieren, das ein einfacheres layout
möglich ist ?
Habe ich dann die wahl zwischen unordnung in der software und unordnung
im Layout ?
> Auch der "Datenbus"> dürfte dann sauberer werden.
Nein, nicht wesentlich, leider. Das ändert ja nichts an:
blank dcprog gsclk xlat und sclk
> Womit willst Du eigentlich den Datenbus füttern?
Hiermit:
http://www.trenz-electronic.de/de/produkte/fpga-boards/trenz-electronic/standard-module.html> Und warum nur so eine> dünne Masseverbindung bei den Treibern?
Die ist wirklich zu dünn....wird korrigiert
> man sollte mit den Aufgaben wachsen, Sonst fällt es in die Rubrik> "Lehrgeld"
selbst wenn es schief gehen sollte, habe ich die letzten Monate sehr
viel gelernt, ich kann also gar nicht verlieren.
Und was gib es für alternativen ? meine freizeit mit einer
Spielekonsole verbringen ? Glotze an und berieseln lassen.....ne Danke
Vielen Dank für deine ausführliche Antwort
Michael Sauron
Michael Sauron schrieb:
>> Warum sollen die LED-Zuleitungen unkritisch sein ?> Weil hier nur noch frequenzen um 117 kHz anliegen.
Bisschen blauäugig. Eine schmale Leiterbahn hat eine höhere Induktivität
als eine kleinere Leiterbahn. Dadurch erhöht sich auch die Impedanz. Bei
entsprechendem Strom/Frequenz wirst du da Probleme bekommen.
>> Es sieht für mich so aus, als ob Du einfach losgelegt hast, ohne sich>> großartig Gedanken über das Design zu machen.> immer noch besser als gar nicht erst anfangen :-)
Naja, das ist die Frage.
>> Meinst Du, die>> LEDs verbrauchen so wenig Energie, daß Du ohne Stützkondensatoren>> auskommst?> Die sind gross und schwer, und wollen durch die Fliehkraft gerne ihren> eigenen Weg gehen. Deshalb gehören sie nicht auf den Flügel...aber ich> kann dich beruhigen, es wird welche geben
Stützkondensatoren bringen nichts, wenn zwischen Verbraucher und
Kondensator erst noch ein großes Stück Leiterbahn kommt.
Stützkondensatoren gehören IMMER direkt an den Verbraucher. Ich schlage
vor pro LED mindestens einen 10µF Keramik Kondensator (1206 Package) zu
nehmen, die sollten nicht schwer sein.
>> warum>> verbindest Du die eigentlichen Pads nur so dünn?> weil es reicht....naturlich schadet mehr auch nicht...
Das ist keine gute Einstellung.
>> Das hat unten ein Thermal Pad zum>> Auflöten, ergo kannst Du die Leitungen unter dem Chip vergessen.> Das werde ich nicht verlöten, weil ich den Platz brauche, deshalb sind> auch alle vias mit Lötstop-Lack bedeckt. Laut Datenblatt sollte das> Funktionieren
Son Quatsch, die Vias kann man auch nach außen irgendwie verlegen.
Exposed Pads müssen immer angelötet werden. Schon alleine wegen der
physischen Stabilität.
>> Treibers um 90 Grad gegen den Uhrzeigersinn drehen> Darurch wird Die Platine noch Höher.
Glaube ich nicht.
>> Warum splittest Du R, G und B auf?> Die Schieberegister müssen in 65 us voll sein, Das schaff ich nicht ohne> eine aufsplittung, eine aufteilung nach Farben erschien mir da das> Logischte.
Warum logisch? Das logischste wäre die LEDs so zu verdrahten, dass
möglichst kurze Leiterbahnen erzielt werden. Alles andere ist doch reine
Software.
>> Der Vorteil liegt auf der Hand: keine Vias, keine>> wilden Knicks und unten eine große Massefläche> Ich soll also die Software so optimieren, das ein einfacheres layout> möglich ist ?> Habe ich dann die wahl zwischen unordnung in der software und unordnung> im Layout ?
Oh mann, was hat das mit Unordnung in der Software zu tun? Hilfe!
>> Auch der "Datenbus">> dürfte dann sauberer werden.> Nein, nicht wesentlich, leider. Das ändert ja nichts an:> blank dcprog gsclk xlat und sclk
Genau, hauptsache nen paar Wortfetzen benutzen, wo keiner weiß was du
damit meinst.
>> man sollte mit den Aufgaben wachsen, Sonst fällt es in die Rubrik>> "Lehrgeld">> selbst wenn es schief gehen sollte, habe ich die letzten Monate sehr> viel gelernt, ich kann also gar nicht verlieren.
Du verlierst aber noch weniger, wenn du mal ein paar Tipps von Leuten
annimmst, die (zumindest vorgeben) Ahnung (zu) haben. (Wozu ich jetzt
nicht gerade gehöre, habe zum Glück noch nichts mit HF gemacht/machen
müssen).
> Und was gib es für alternativen ? meine freizeit mit einer> Spielekonsole verbringen ? Glotze an und berieseln lassen.....ne Danke
Du hast essen vergessen ;)
Teilweise hast du übrigens extrem kleine Abstände zwischen VIAs und
Leiterbahnen/Pads. Hast du mal einen DRC gemacht? Wenn ja mit welchen
Einstellungen?
> Eine schmale Leiterbahn hat eine höhere Induktivität> als eine kleinere Leiterbahn
???
> Bei entsprechendem Strom/Frequenz wirst du da Probleme bekommen.
Wir reden hier von den LEDs , die mit 117 kHz angesteuert werden, und
mögkichst weit von kritischen Signalen weg liegen, welche probleme
siehst du da genau ?
> Ich schlage vor pro LED mindestens einen 10µF Keramik Kondensator> (1206 Package) zu nehmen
ein paar Kondensatoren kann ich ja setzen, oben zwischen den treibern
hab ich ja noch platz, alles andere passt nicht mehr, denn 2 Seitige
bestückung scheidet aus.
> Exposed Pads müssen immer angelötet werden
Laut Datenblatt erst ab 2 Watt Leistung, da bleibe ich drunter.
http://focus.ti.com/lit/ds/symlink/tlc5940.pdf
Ausserdem habe ich eine sehr effektive Luft kühlung ;-)
> Warum logisch? Das logischste wäre die LEDs so zu verdrahten, dass> möglichst kurze Leiterbahnen erzielt werden
Aus sicht des Layouters hast du recht, nur dummerweise habe ich mit der
Software angefangen, und erstelle jetzt zu der Software die Passende
Hardware. Das ist wohl ein Punkt, den ich mir für das nächste Projekt
merken werde.
> Genau, hauptsache nen paar Wortfetzen benutzen, wo keiner weiß was du> damit meinst.
Das sind die Steuersignale des Treibers, diese Bezeichnungen findest du
in meinem Schaltplan, als auch im Datenblatt,
> Teilweise hast du übrigens extrem kleine Abstände zwischen VIAs und> Leiterbahnen/Pads. Hast du mal einen DRC gemacht? Wenn ja mit welchen> Einstellungen?
DRC und ERC sind ok, die Einstellungen für drc habe ich von meinem
Fertiger (Leiton). mindestabstand sind 6 mil. Es geht auch noch weniger,
aber dann wird es teurer.
> Du hast essen vergessen
jetzt krieg ich hunger
Das Platinendesign liesse sich in der Tat wesentlich vereinfachen, wenn
ich zweiseitig Bestücken würde, aber irgendwo muss ich halt kompromisse
eingehen.
Michael Sauron schrieb:
> DRC und ERC sind ok, die Einstellungen für drc habe ich von meinem> Fertiger (Leiton). mindestabstand sind 6 mil. Es geht auch noch weniger,> aber dann wird es teurer.
Hallo,
da hast du was falsch verstanden. Das ist der Mindestabstand und den
sollte man nur dort verwenden wo es nicht anders geht. Ich route
normalerweise mit einem oder 2 Rasterschritten (ca 3 mil) mehr als
zulässig, je nach Platz.
Engstellen sind im übrigen durchaus ein statistisches Problem: es ist
für die Fertigung sehr wohl ein Unterschied ob die erlaubten 6 mil an 5
Stellen oder an ein paar hundert auftreten, nur lässt sich das in einer
Vorauskalkulation unmöglich erfassen (oder kannst du angeben, an wieviel
Stellen in deinem Layout der Abstand 6 mil beträgt?). Der Hersteller
macht da also Klassen draus und zwar so, dass er mit der Fehlerquote auf
der sicheren Seite bleibt.
Gruss Reinhard
@ ichbinnsofrei
ist nun mit im Plan
@ Reinhardt
klingt Logisch, habe danach gerade mal die Leiton Page durchsucht aber
nichts dergleichen gefunden.
Von Leiton gibt es eine Konfigurations-Datei für den DRC Check, die
verwende ich, und habe keine DRC Fehler.
Ich werde die Platine mit E-Check bestellen, so das die Fehlerfrei bei
mir ankommt, die von dir angesprochene Problematik ist also ein Problem
des Herstellers. Und der wiederum bietet Platinen bis 4 mil an.
Ich habe nochmal eine Leicht überarbeitete Version hochgeladen, neu ist
nun ein leichter Bogen am rechten Aussenrand, kann das beim Fertiger
vielleicht Probleme verursachen ?
Hi!
> Das ganze wird ein Hobby projekt, das muss nicht perfekt schön werden.
Niemand verlangt Perfektion, dennoch gibt es einen Unterschied zwischen
"schnell hingepfuscht" und "überlegt aufgebaut". Zumindest ich kenne es
so, daß man Hobby-Projekte gerne Anderen zeigt... Naja, offensichtlich
gibt man sich heutzutage mit dem Mittelmaß zufrieden...
> Weil hier nur noch frequenzen um 117 kHz anliegen.
Das ist der falsche Ansatz - schon mal auf einem Oszilloskop eine
(gestörte) Leitung betrachtet? Ansonsten verweise ich auf meine
Vorredner...
>> warum>> verbindest Du die eigentlichen Pads nur so dünn?> weil es reicht....naturlich schadet mehr auch nicht...
Und wie kommst Du darauf, daß es reicht? Du hast doch selbst zugegeben,
bisher nur mit Lochraster gearbeitet zu haben. Dir ist schon klar, daß
eine Leiterbahn ein ohmscher Widerstand, eine Induktivität und eine
Kapazität in einem ist? (Komplexer Widerstand). Wie bereits gesagt,
jeder Knick, jeses Via, die Leiterlänge, die Leiterbreite und die
Abstände zu anderen Leitern, all das hängt zusammen und beeinflußt sich.
Die LEDs brauchen Strom, da wäre es doch naheliegend sie an ein großes
"Stromrohr" anzuschließen, oder?
>> Es sieht für mich so aus, als ob Du einfach losgelegt hast, ohne sich>> großartig Gedanken über das Design zu machen.> immer noch besser als gar nicht erst anfangen :-)
Darum geht es nicht. Oder ist es normal für Dich, daß Dich Leute an der
Bushaltestelle komisch angucken und Du dann feststellst, daß Du keine
Hose an hast, weil Du schlicht nicht daran gedacht hast, eine
anzuziehen? ;-)
Am Anfang steht die Idee, dann sollte man sich überlegen, ob die Idee
überhaupt umsetzbar ist und dann, wie man sie gut umsetzen könnte. Du
bist IMHO über diesen Punkt noch nicht hinaus, bastelst schon aber am
Layout, wo der Schaltplan noch nicht mal wirklich steht... Nein, der
steht wirklich nicht - Du hast Dich z.B. nicht um die Stromversorgung
gekümmert, wie die Sache mit den Stützkondensatoren zeigt.
> nein, die kommen auf seperate ports, damit nicht zu viele Treiber an> einem Port hängen.
Immerhin - doch bist Du wirklich sicher, daß der Pfostenstecker Deine
30MHz auch wirklich übertragen kann? Im Endeffekt wäre auch die Frage
interessanter, was die kürzeste von Dir zu übertragende Pulsdauer ist.
Und es würde mich nicht überraschen, wenn sie unter der Pulsbreite bei
30MHz liegen würde. Du kannst zwar davon ausgehen, daß das am
Portausgang noch Ahnlichkeit mit einem Rechteck haben dürfte, aber ein
paar Zentimeter später könnte es schon ganz anders aussehen. Hast Du
auch ausgerechnet, wieviele Treiberbausteine so ein Port überhaupt
treiben kann?
> Die sind gross und schwer, und wollen durch die Fliehkraft gerne ihren> eigenen Weg gehen. Deshalb gehören sie nicht auf den Flügel...aber ich> kann dich beruhigen, es wird welche geben
Ich fürchte, jeder Hobby-Elektroniker ist einmal in seinem Leben
verdammt, die Konsequenzen einer schlechten Stromversorgung am eigenen
Leibe.. ähm, am eigenen Design... zu erleben. ;-)
> Das werde ich nicht verlöten, weil ich den Platz brauche, deshalb sind> auch alle vias mit Lötstop-Lack bedeckt. Laut Datenblatt sollte das> Funktionieren
Oh warte mal... Eine große Masse, die nicht wirklich befestigt ist? Habe
ich nicht eben was von Fliehkraft gelesen? Du, der Hersteller ist ja
nicht dumm und hat sich was bei dem Feature gedacht. Wenn Du es eh nicht
nutzen willst, warum nimmst Du dann unbedingt dieses Package?
>> Treibers um 90 Grad gegen den Uhrzeigersinn drehen> Darurch wird Die Platine noch Höher.
Einer von uns beiden kann wohl nicht rechnen... Siehe meine angehängte
Kritzelei... Man könnte natürlich das andere Package nehmen und schauen,
ob man die Treiber (bei vernünftiger Leiterbahnverlegung) enger
zusammenrücken lassen kann. Vielleicht passen dann die zwölf Treiber
auch auf einer Seite in der momentanen Orientierung nebeneinander? Meine
Motivation und mein Zeitlimit für solche Malen-nach-Zahlen-Experimente
sind jetzt leider abgelaufen... ;-)
>> Warum splittest Du R, G und B auf?> Die Schieberegister müssen in 65 us voll sein, Das schaff ich nicht ohne> eine aufsplittung, eine aufteilung nach Farben erschien mir da das> Logischte.
Man kann auch anders splitten: z.B. drei "Bänke" - links, Mitte,
rechts...
> Ich soll also die Software so optimieren, das ein einfacheres layout> möglich ist ?> Habe ich dann die wahl zwischen unordnung in der software und unordnung> im Layout ?
Bingo! :-)
Betrachte das mal von der anderen Seite... Was ist für Dich
Hobby-Elektroniker schwerer/kostenintensiver/komlizierter: ein
verpfuschtes/nichtfunktionierendes/kompliziertertes Design zu
korrigieren oder einem funktionierenden einfachen Design eine
komplizierte Software zu verpassen?
Der Punkt ist, daß Du bei Hardware mehr oder weniger nur einen "Schuß"
hast. Entweder es funktioniert mit höchstens kleineren Modifikationen
oder Du darfst zurück zu Los, bekommst keine 400 Mark und fängst mit
einer neuen Platine und (hoffentlich) verbessertem Design an. Die
Software wird sicherlich auch nicht auf Anhieb laufen. Doch eine neue
Firmwareversion nagt bei Dir zwar am Zeitkonto aber nicht am
Geldbeutel... ;-)
>> Auch der "Datenbus">> dürfte dann sauberer werden.> Nein, nicht wesentlich, leider. Das ändert ja nichts an:> blank dcprog gsclk xlat und sclk
Natürlich bleiben die Bussignale unverändert, aber die Treiberbausteine
lägen dann besser. Auch hier gilt - der Hersteller hat sich beim Pinout
der Chips Gedanken gemacht. Warum Du die Orientierung zwangsweise
vergewaltigst erschließt sich mir nicht - zumal es ja noch das andere
Package ohne das Thermal Pad gibt, wo das Pinout für die parallele
Anordnung zum LED-Streifen perfekt paßt... Erst denken/Datenblatt
studieren, dann handeln/layouten... ;-)
> selbst wenn es schief gehen sollte, habe ich die letzten Monate sehr> viel gelernt, ich kann also gar nicht verlieren.
Richtig, aber dem Ego tut es wesentlich besser, wenn man trotzdem Erfolg
hat. ;-)
--- anderer Beitrag
> DRC und ERC sind ok, die Einstellungen für drc habe ich von meinem> Fertiger (Leiton). mindestabstand sind 6 mil. Es geht auch noch weniger,> aber dann wird es teurer.
Schon mal was von Redundanz und Reserve gehört? Oder gehörst Du zu der
Sorte von Leuten, die im Auto den Motor immer schön im roten Bereich
fahren, "weil er's abhaben kann/muß"? Es gibt so etwas wie
Fertigungstoleranzen... Oh - klar: der Hersteller garantiert es, also
darf er es im Falle des Falles ausbaden, richtig? kopfschüttel Muß man
es dem Partner (ja, der Platinenfertiger ist in diesem Fall Dein
Partner!) wirklich so schwer machen?
> Hast Du> auch ausgerechnet, wieviele Treiberbausteine so ein Port überhaupt> treiben kann?
nein, dadrauf habe ich verzichtet, als ich gelesen habe das ein Treiber
mal gerade 1 uA aufnimmt(pro Leitung).
> Einer von uns beiden kann wohl nicht rechnen... Siehe meine angehängte> Kritzelei... Man könnte natürlich das andere Package nehmen und schauen,> ob man die Treiber (bei vernünftiger Leiterbahnverlegung) enger> zusammenrücken lassen kann. Vielleicht passen dann die zwölf Treiber> auch auf einer Seite in der momentanen Orientierung nebeneinander?
Passen würde das, die Idee ist natürlich naheliegend, hat aber einen
entscheidenen Haken: Die Leds liegen nicht mehr Mittig, sondern am
oberen Platinenrand.
> Der Punkt ist, daß Du bei Hardware mehr oder weniger nur einen "Schuß"> hast. Entweder es funktioniert mit höchstens kleineren Modifikationen> oder Du darfst zurück zu Los, bekommst keine 400 Mark und fängst mit> einer neuen Platine und (hoffentlich) verbessertem Design an. Die> Software wird sicherlich auch nicht auf Anhieb laufen. Doch eine neue> Firmwareversion nagt bei Dir zwar am Zeitkonto aber nicht am> Geldbeutel... ;-)
Treffer - versenkt
> Warum Du die Orientierung zwangsweise> vergewaltigst erschließt sich mir nicht
Weil die Leds mittig liegen müssen.
> zumal es ja noch das andere> Package ohne das Thermal Pad gibt
Das ist aber dann nur ein DIL gehäuse, also nix smd
> gehörst Du zu der> Sorte von Leuten, die im Auto den Motor immer schön im roten Bereich> fahren, "weil er's abhaben kann/muß"?
Das wird jetzt etwas offtopic:
Betrieb im roten Bereich muss kein Motor überleben, auch nicht
kurzfristig. Kannst du aber erst ausprobieren, wenn du den
Drehzahlbegrenzer überlistest.
Ich werd mich nochmal an einem neuen Design versuchen, indem ich das
hier gesagte umsetze.
Michael Sauron schrieb:
>> Hast Du>> auch ausgerechnet, wieviele Treiberbausteine so ein Port überhaupt>> treiben kann?>> nein, dadrauf habe ich verzichtet, als ich gelesen habe das ein Treiber> mal gerade 1 uA aufnimmt(pro Leitung).
Ganz ehrlich, ist das jetzt ein Scherz? Kollege Bratwurst, du hast hier
60MHz vor! Da kann so ein IC Eingang eine mächtige Impedanz haben.
Sprich: Du hast im Prinzip ein FET-Gate als Eingang an dem Chip.
Ein dicker Leistungsfet braucht sicherlich auch nur 1uA am Eingang
(nämlich Leckstrom). Zum umladen braucht man für gängige Frequenzen wie
10-50kHz bei einer Motor-Steuerungsanwendung aber RICHTIG dicke Treibe
(je nach FET), die teilweise mehr als 1A Spitze durch die FET Leitungen
jagen.
Du hast hier zwar keine Leistungs-FETs aber du hast 60MHz. Da brauchst
du schon einiges an Strom um den Eingang anzusteuern.
>> Warum Du die Orientierung zwangsweise>> vergewaltigst erschließt sich mir nicht> Weil die Leds mittig liegen müssen.
Müssen die eigentlich mittig liegen? Soweit ich das verstanden habe,
kommen die Dinger nachher auf irgendwelche Propeller drauf. Ist es nicht
egal. wenn die nicht genau auf den Drehpunkt fluchten? Ich meine, selbst
wenn du mehrere verwendest hast du ja immer noch eine symmetrische
Anordnung.
>> zumal es ja noch das andere>> Package ohne das Thermal Pad gibt> Das ist aber dann nur ein DIL gehäuse, also nix smd
Ist doch perfekt! Da hast du dann gleichzeitig wieder deine mechanische
Stabilität. Mal ernsthaft drüber nachgedacht DIL für die Treiber zu
benutzen?
Ich stimme Simon zu, möchte jedoch die Problematik ein klein wenig und
möglichst einfach erläutern - es soll ja noch einen Lerneffekt geben...
;-)
Michael, bei höheren Frequenzen verhält sich die Schaltung anders. Wie
schon mehrfach erwähnt, treten dann Effekte auf, die man bei
"Gleichstrom" nicht hat. Das Problem bei den getakteten Signalen ist
nicht der Stromverbrauch sondern ihr dynamisches Verhalten. Wenn Du am
Anfang einer Leitung, welche auf Massepotential lag, eine Spannung
"legst", dann dauert es eine gewisse Zeit, bis diese Änderung am anderen
Ende auch ankommt. Und dank des komplexen Widerstands der Leitung sowie
der Art der angeschlossenen Verbraucher können Signalflanken verwischen,
Du bekommst u.U. plötzlich Reflexionen, die Dein Signal schlimmstenfalls
an bestimmten Stellen der Leitung (fast) auslöschen (=Interferenz).
Dabei ist es primär egal ob Du mit 60 oder 30 MHz hantierst. Mit jeder
steigenden Signalflanke werden die Gates der Eingangstransistoren
aufgeladen, mit jeder fallenden entladen. Das ist so, als ob man
klitzekleine Kondensatoren an die Leitung anschließt. Nun hat die
Leitung aber auch ihre Kapazität und auch einen spezifischen Widerstand.
Das beeinflußt das Zeitverhalten und summiert sich zu einer bestimmten
Stromstärke zusammen, mit welcher der treibende Schaltkreis klarkommen
muß, sprich: bei jedem Pegelwechsel entweder die Leitung laden oder
entladen. Das Problem dabei ist nicht, daß ein überlasteter
Ausgangstreiber einfach abraucht (obwohl das bei massiver Fehlanpassung
sicherlich auch möglich ist), es wird einfach nicht schnell genug die
gewünschten Potentiale auf die Leitung drücken können. Was man dabei
beobachtet sind abgeflachte Signalflanken, mit welchen die getriebenen
Chips klarkommen müssen. Dies wäre an sich möglicherweise noch halb so
wild, aber Du hast mehrere Signale, welche ein bestimmtes Timing
einhalten müssen. Laut Datenblatt ist der kritische Pfad sicherlich die
Korrelation zwischen SIN und SCLK - dort hast Du Zeitfenster von gerade
mal 3ns (Hold) und 5ns (Setup), was im ersten Fall sogar weniger als 10%
Deiner Periodendauer sind. Und genau deshalb finde ich es mehr als
abenteuerlich, die Signale mit 30MHz über Pfostenstecker zu leiten und
sich trotzdem so zu verhalten, als ob man mit Gleichstrom hantieren
würde.
In dem Zusammenhang stellt sich für mich die Frage, ob Du überhaupt
abgeschätzt hast, ob Dein gewünschter FPGA das Timing auch schafft?
Einen Pin mit 30MHz wackeln zu lassen (Takt) ist nämlich etwas anderes
als einen kompetten Bus und sein Timing abzubilden...
Zu den asymmetrisch liegenden LEDs: Wo liegt dabei das Problem? Und
selbst wenn: Du kannst die Flügel dann trotzdem so montieren, daß die
darauf montierten LEDs eine Linie bilden. Das Problem, dies vernünftig
auszuwuchten, bleibt exakt gleiche.
Zu den DIL-Fassungen: OK, beim Überfliegen des Datenblatts sah das auf
den ersten Block wie eine SMD-Fassung - mea culpa. Trotzdem könnte man
ausmessen, ob man die nicht nebeneinander quetschen kann. DIL ist zwar
größer und vermutlich schwerer als das SMD-Package, wird aber wesentlich
stabiler verlötet. Und wo wir schon dabei sind: wie dimensionierst Du
eigentlich den Antrieb? Der Motor muß ja schon einiges an Masse rotieren
lassen...
Hallo Tom,
soweit ich das verstanden habe, kommt die Platine auf den Flügel eines
Deckenventilators -> sollte also eigentlich von der Motorleistung her
kein Problem darstellen.
Viele Grüße
Michael
Michael schrieb:
> soweit ich das verstanden habe, kommt die Platine auf den Flügel eines> Deckenventilators -> sollte also eigentlich von der Motorleistung her> kein Problem darstellen.
Hmmm, das überrascht mich jetzt ein wenig, denn in einem der Beiträge
hier stand Folgendes:
> Ein komplettes "Zeile" braucht 65 us,> so schaffe ich noch 307 "Zeilen" pro Umdrehung bei 3000 U/min.
Demnach müßte der Deckenventilator mit 50 U/s drehen... o_O
Mir ist schon klar, das die Leitungskapazitäten eine entscheidende rolle
spielen, nur leider verrät eagle mir nichts über die impendance oder
induktivität/kapazität. Auch im Datenblatt des Treibers steht nichts
über die Eingangsparameter(Ind. Kapa. Imp.) , ausser den erwähnten 1 uA.
Noch nicht einmal Angaben, unter welchen Bedingungen wie viele Treiber
Kaskadierbar sind, finden sich im Datenblatt. So bleibt nur ein
möglichst gutes Bus design zu erstellen, und zu hoffen....Der FPGA
selbst kann 24 mA Treiben, und muss wohl hauptsächlich gegen die
Impendance und Kapazität der Leitung "kämpfen" die paar uA der Treiber
spielen da eigentlich keine Rolle mehr.
> Da brauchst du schon einiges an Strom um den Eingang anzusteuern.
Ist mir durchaus bewusst, nur weiss ich nicht, wie ich den Benötigten
Strombedarf berechnen kann.
> Ist es nicht egal. wenn die nicht genau auf den Drehpunkt fluchten?
Nein. Das gibt Starke Verzerrungen. Vielleicht wird dir das hier
deutlich:
http://www.youtube.com/watch?v=vhsH37fDi48> Mal ernsthaft drüber nachgedacht DIL für die Treiber zu> benutzen?
Ich werde keine Misch-bestückung Machen
> dort hast Du Zeitfenster von gerade> mal 3ns (Hold) und 5ns (Setup), was im ersten Fall sogar weniger als 10%> Deiner Periodendauer sind.
Warum sollten denn kurze Setup und Hold Zeiten kritisch sein ?
Geplant sind 16 ns Setup und etwa 30 ns Hold, somit habe ich bei Setup
noch 11 ns luft und bei Hold ebenfalls 11 ns .
> In dem Zusammenhang stellt sich für mich die Frage, ob Du überhaupt> abgeschätzt hast, ob Dein gewünschter FPGA das Timing auch schafft?
aber natürlich habe ich das, der FPGA schafft das absolut locker, da
würde noch wesentlich mehr gehen.
wie dimensionierst Du eigentlich den Antrieb?
Das ganze kommt auf einen STAND Ventilator, der Hat auf alle Fälle genug
Power.
>> so schaffe ich noch 307 "Zeilen" pro Umdrehung bei 3000 U/min.
Die 3000 U/min sind "worst case" wodrauf ich Hard und Software auslegen
werde, (konnte bisher noch nicht nachmessen , wie schnell er wirklich
dreht), optimale Drehzahl ist ca 1000-1500 U/min.
Deckenventilatoren sind um einiges Langsamer als Stand-Ventilatoren
Du könntest zur Berechnung zum Beispiel die Kapazität eines Input Pins
hinzuziehen. Die Impedanz ist übrigens mit 1/(jwC) abhängig von der
Frequenz. Und da kannst du dir ja vorstellen was bei 60 000 000 Hz (!)
passiert.
Simon K. schrieb:
> Du könntest zur Berechnung zum Beispiel die Kapazität eines Input Pins> hinzuziehen. Die Impedanz ist übrigens mit 1/(jwC) abhängig von der> Frequenz. Und da kannst du dir ja vorstellen was bei 60 000 000 Hz (!)> passiert.
was ist ein jwC ?
Im Datenblatt ist keine Kapazität angegeben.
Nochmal zum Pfostenstecker , kennt den jemand Alternativen ?
Hauptsächlich will ich ihn zum Stapeln von Platinen verwenden, notfalls
kann man da aber auch ein Flachbandkabel anlöten , oder einen
Pfostenstecker anstecken.
@Simon: mittlerweile ist Michael bei "nur" 30MHz angekommen. Immer noch
viel, aber (hoffentlich) mit mehr Erfolgspotential als bei 60MHz... ;-)
@Michael Sauron:
Zuerst: Was die Setup- & Hold-Zeiten angeht - sorry, da bin ich
gedanklich von "MIN" auf "MAX" gerutscht. Vergiß also meine Ausführungen
von oben.
Was die Eingangsimpedanz betrifft, ist das Datenblatt in der Tat etwas
dürftig. :-( Immerhin scheint der ohmsche Anteil bei ca. 400Ohm zu
liegen.
Allerdings bringt eine kurze Recherche so einige interessante Themen:
Da hat jemand neun von den TLCs kaskadiert:
Beitrag "Msp430F169 mit TLC5940 SPI problem"
Hier hat jemand 64 RGB-LEDs in einem Tisch verbaut:
Beitrag "LED Kennlinie Falsch? (Konstantstromquelle - TLC5940)"
Die Leute scheinen allerdings wesentlich geringere Freuenzen zu benutzen
und trotzdem ihre Probleme mit der Kaskadierung zu haben...
Dann habe ich gesehen, daß es von TI ein Eval-Board für die TLCs gibt,
welches drei von den TLCs verbaut hat:
http://focus.ti.com/docs/prod/folders/print/tlc5940.html#applicationnotes
In dem Dokument ist der Schaltplan abgedruckt, und überraschend stellte
ich fest, daß sie eigentlich genau das anwenden, was ich Dir eigentlich
als mögliche Lösung des Zuleitungsproblems vorschlagen wollte - dort
wird ein 74AVC16244 (16-bit buffer/line driver; 3-state) quasi als
Puffer verwendet, der die einzelnen BUS-Signale jeweils verdreifacht.
OK, in meinem Vorschlag hätte ich das Signale nach dem Puffer nicht
weiter vervielfacht, aber wenn der Hersteller das hier schon
vorschlägt... hmmm...
Also im Endeffekt geht es darum, daß Dein FPGA "nur" einen Buffer/Latch
treiben müßte und keine sechs/zwölf TLCs. (Du wolltest ja eh
splitten...) Auch wenn der Aufwand scheinbar steigt, vereinfacht das
Szenario die Situation um Einiges. Auf deiner Platine hättest Du einen
"Bus" mit kalkulierbarer Länge, (hoffentlich) sauberem Layout und keinen
Pfostensteckern. Abgesehen davon "regeneriert" der Pufferbaustein
eventuell abgeflachte Signalflanken. Andererseits verkürzt sich der Bus
aus Sicht des FPGAs auf die Länge von den Portpins zum Puffereingang.
Dieses Szenario halte auch bei 30MHz für umsetzbar - incl. der
Pfostenstecker. Wenn man sich z.B. die IDE-Schnittstelle anschaut, dann
sieht es dort ja auch nicht anders aus, und auf (denke ich) fast jeder
Festplatte findet man in direkter Nachbarschaft des Pfostensteckers
entsprechende Puffer/Latches... (Eine Diskussion zum Thema
Abschlußwiderstände an Flachbandkabeln gab es z.B. hier:
Beitrag "Abschlusswiderstand Flachbandkabel")
Auf Deiner Wiki-Seite schreibst Du, daß Du sowohl den Datentransfer als
auch die Energieversorgung induktiv lösen willst. Die Idee mit dem
recycelten Videorekorder-Kopf finde ich pfiffig und drücke Dir die
Daumen, daß es auch bei Rotation funktioniert. Bei der Energieversorgung
solltest Du im Hinterkopf behalten, daß Du keine Ströme auf Leiterbahnen
induzierst, wo sie nicht erwünscht sind (also eigentlich alle außer der
Einspeisespule). ;-)
-------------------
> was ist ein jwC ?
j -> das ist die imaginäre Einheit aus der komplexen Rechnung.
Eigentlich wäre das richtige Symbol das kleine "i", jedoch hat sich in
den Naturwissenschaften irgendwie das kleine "j" durchgesetzt, weil es
im Textfluß (vor allem auf der Tafel und in eigenen handschriftlichen
Notizen) besser ablesbar ist...
> 16 Bits sind zu viel, weisst du zufällig den namen der 8 Bit Variante ?
Ach komm...
http://lmgtfy.com/?q=buffer+line+driver
;-)
Man könnte auf den Gedanken kommen, daß die "16" in dem Chipnamen
irgendwas mit der Bitanzahl zu tun hat... Die kann man weglassen...
>Schau dir mal den MBI6030 von Macroblock an
Die Entscheidung für den TLC5940 ist bereits gefallen.
Aussserdem ist der MBI6030 ungeeignet und schwer zu bekommen
>j -> das ist die imaginäre Einheit aus der komplexen Rechnung.>Eigentlich wäre das richtige Symbol das kleine "i", jedoch hat sich in>den Naturwissenschaften irgendwie das kleine "j" durchgesetzt, weil es>im Textfluß (vor allem auf der Tafel und in eigenen handschriftlichen>Notizen) besser ablesbar ist...
Was für ne geile Erklärung warum wie E-Techniker ein j verwenden und
kein i...und ich dachte immer es wäre weil bei uns in der E-Technik das
i durch den Strom belegt ist und wir das Risiko der Verwechslung
minimieren wollen...
@ Michael Sauron (laborsauron)
Wie sit denn der Stand des Projekts? Oder liegt es auf Eis, passend zur
Jahreszeit? ;-)
>Die 3000 U/min sind "worst case" wodrauf ich Hard und Software auslegen>werde, (konnte bisher noch nicht nachmessen , wie schnell er wirklich>dreht), optimale Drehzahl ist ca 1000-1500 U/min.>Deckenventilatoren sind um einiges Langsamer als Stand-Ventilatoren
Also gefühlt würde ich sagen, dass normale Deckenventilatoren
bestenfalls 5U/s machen, sprich 300 U/min. Ist Faktor 10 langsamer als
dein Worst case.
Ohne es jetzt exakt nachgemessen zu haben, scheinen mir die Packages
deiner TLC5940 zu schmal.
Ausserdem würde ich für diese Sache nicht diese ICs nutzen, die PWM ist
ggf. zu langsam bzw. kann nicht so leicht synchronisiert werden. Besser
wäre ein TLC5922, der arbeitet mit direkt angesteuerten Stromquellen,
also wie ein DAC. Damit kann man sehr leicht und sehr schnell die LEDs
ansteuern.
MfG
Falk
Hallo Falk
> Wie sit denn der Stand des Projekts? Oder liegt es auf Eis, passend zur> Jahreszeit? ;-)
nein daran Bastel ich noch Heftig. Die Platine habe ich noch einmal
komplett überarbeitet. Ich kann nun jede der 244 Leds problemlos
Ansteuern. Takt und PWM Arbeiten mit 30 Mhz. Wenn alles Leuchtet ist
eine Luftkühlung unbedingt Notwendig. Angesteuert werden die Leds von
einem FPGA, der unter der Platine sitzt.
hier mal ein kleines Video vom Stand der Dinge:
http://www.youtube.com/watch?v=7luXyyBkFPQ
hab noch ein Paar Fotos angehängt.
> Ausserdem würde ich für diese Sache nicht diese ICs nutzen, die PWM ist> ggf. zu langsam bzw. kann nicht so leicht synchronisiert werden. Besser> wäre ein TLC5922, der arbeitet mit direkt angesteuerten Stromquellen,> also wie ein DAC. Damit kann man sehr leicht und sehr schnell die LEDs> ansteuern.
Die TLC5940 sind schon sehr gut geeignet für die Aufgabe.
@ Michael Sauron (laborsauron)
> vorderseite.jpg> 117,3 KB, 22 Downloads> rueckseite.jpg> 130,6 KB, 20 Downloads> fluegel.jpg> 320,4 KB, 18 DownloadsBildformate!!!
Nee, kleiner Scherz ;-)
>nein daran Bastel ich noch Heftig. Die Platine habe ich noch einmal>komplett überarbeitet.
Hey, das sieht richtig gut aus! Respekt!
Der Qualität der Lötung nach zu urteilen hast du das professionell
bestücken lassen, oder? Vor allem die LEDs sauber auszurichten ist nicht
ganz einfach, oder?
Aber dreht sich da schon was? Hast du schon eine Energieübertragung für
deinen Propeller? Du weist ja, ich bin der Royer Converter Fan ;-)
>Ansteuern. Takt und PWM Arbeiten mit 30 Mhz. Wenn alles Leuchtet ist>eine Luftkühlung unbedingt Notwendig.
Na dann lass es drehen!
> Angesteuert werden die Leds von einem FPGA, der unter der Platine sitzt.
Was für ein FPGA?
>hier mal ein kleines Video vom Stand der Dinge:>http://www.youtube.com/watch?v=7luXyyBkFPQ
Schön!
>Die TLC5940 sind schon sehr gut geeignet für die Aufgabe.
Dreht es schon? Wir sind gespannt!
MfG
Falk
> Hey, das sieht richtig gut aus! Respekt!
Danke
> Der Qualität der Lötung nach zu urteilen hast du das professionell> bestücken lassen, oder?
Nein habe ich alles Selbst gemacht, mit Lötpaste und Heissluft
> Vor allem die LEDs sauber auszurichten ist nicht> ganz einfach, oder?
Die schwimmen auf der Lötpaste auf, und richten sich von ganz allein
aus.
> Aber dreht sich da schon was?
Bisher noch nicht.
> Hast du schon eine Energieübertragung für> deinen Propeller?
Das wird über Schleifringe geschehen (Ist in Arbeit)
> Was für ein FPGA?
Ein Spartan3 von Xilinx
Im Augenblick habe ich noch einige Probleme mit der Kommunikation über
den Videokopf. Bevor das nicht gelöst ist, wird sich nix drehen.
@ Michael Sauron (laborsauron)
>Nein habe ich alles Selbst gemacht, mit Lötpaste und Heissluft
Nicht schlecht!
>Die schwimmen auf der Lötpaste auf, und richten sich von ganz allein>aus.
Klar. Aber so ein grosse Platine und dann so viele, wahrscheinlich doch
etwas empfindlichere LEDs mit der Heissluftpistole löten stelle ich mir
nicht soo einfach vor. Oder ist das mit dem Pizzaofen gelötet?
>Das wird über Schleifringe geschehen (Ist in Arbeit)
Wie uncool ;-)
244 LEDs a 3 Farben a 20mA = 14,A, = 73W bei 5V
Hoppla!
Da ist Musike drin!
Allerdings wäre das schon eine Herausforderung für die [[Royer
Converter]] Fraktion ;-)
Mal sehen wie ich Zeit habe.
>> Was für ein FPGA?>Ein Spartan3 von Xilinx
Welcher Typ? (alles aus der Nase zieh)
Und warum ist der abgefackelt?
>Im Augenblick habe ich noch einige Probleme mit der Kommunikation über>den Videokopf. Bevor das nicht gelöst ist, wird sich nix drehen.
Warum hast du nicht gleich FastEthernet genommen? Das ist fertig und
auch schon passend kodiert.
MfG
Falk
> Klar. Aber so ein grosse Platine und dann so viele, wahrscheinlich doch> etwas empfindlichere LEDs mit der Heissluftpistole löten stelle ich mir> nicht soo einfach vor. Oder ist das mit dem Pizzaofen gelötet?
Ich habe das hiermit gelötet:
http://www.aoyue.de/de/Aoyue_852_Heissluftstation_SMD_Rework_Heissluftloeten.htm
Die Leds sind in der tat etwas empfindlich. Ich löte verbleit und das
ist ja nicht ganz so heiss. Zuerst hatte ich billige China Leds
verlötet, die sehen nach dem Löten aber schon ein wenig angekokelt aus
und haben eine hohe ausfallrate. Jetzt kommen nur noch gute Marken Leds
aufs Board. Der Aufpreiss lohnt sich.
> 244 LEDs a 3 Farben a 20mA = 14,A, = 73W bei 5V> Da ist Musike drin!
Wie ich oben schon schrieb, luftkühlung ist ein MUSS !
Damit die Zuschauer jedoch nicht Blind werden und die Leds länger leben
ist der Strom je Led auf 14 mA begrenzt. Macht also 50 Watt
> Allerdings wäre das schon eine Herausforderung für die [[Royer> Converter]] Fraktion ;-)> Mal sehen wie ich Zeit habe.
Willst mir dabei Helfen ?
Das mit den Schleifringen gefällt mir auch nicht so wirklich
> Welcher Typ? (alles aus der Nase zieh)
Hinter der Platine verteckt sich dieser kleine Freund:
http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_50&products_id=109&osCsid=9455ef094b9c7019d34695018619a9c8> Und warum ist der abgefackelt?
Da liest jemand das Labor wiki :-)
Das Netzteil hat auf den zu hohen Einschaltstrom böse reagiert.
demnächst gibt es ein paar Supressordioden und ein paar SMD Sicherungen.
> Warum hast du nicht gleich FastEthernet genommen? Das ist fertig und> auch schon passend kodiert.
Ich kenn den genauen Aufbau von FastEthernet nicht , aber es erschien
mir logisch da was eigenes zu Entwickeln.
@ Michael Sauron (laborsauron)
>> Allerdings wäre das schon eine Herausforderung für die [[Royer>> Converter]] Fraktion ;-)>> Mal sehen wie ich Zeit habe.>Willst mir dabei Helfen ?
Klar, warum nicht?
Das mit den Schleifringen gefällt mir auch nicht so wirklich
>Hinter der Platine verteckt sich dieser kleine Freund:>http://shop.trenz-electronic.de/catalog/product_in...
Nett. Macht das FPGA alles? Also VGA digitalisieren und dann von
karthesischen auf polare Koordinaten transformieren? Sind ja 64MB RAM
drauf, das sollte reichen.
>Das Netzteil hat auf den zu hohen Einschaltstrom böse reagiert.
Welcher Einschaltstrom? Bei Einschalten sind die LEDs doch aus? Oder
hast du ein billiges PC-Netzteil benutzt, das vielleicht eine Grundlast
braucht? Denn dann kann es böse Einschaltschwinger etc. geben, vor allem
wenn die Grundlast fehlt.
>demnächst gibt es ein paar Supressordioden und ein paar SMD Sicherungen.
Kann nicht schaden.
>> Warum hast du nicht gleich FastEthernet genommen? Das ist fertig und>> auch schon passend kodiert.>Ich kenn den genauen Aufbau von FastEthernet nicht , aber es erschien>mir logisch da was eigenes zu Entwickeln.
Hä? Das nenn ich mal unlogisch. Sollte man nicht erstmal schauen ob es
für ein Problem eine fertige Lösung gibt? Und erst wenn man nix
passendes findet was selber bauen? Du feilst deine Transistoren doch
auch nicht selber, oder?
MFG
Falk
> Nett. Macht das FPGA alles? Also VGA digitalisieren und dann von> karthesischen auf polare Koordinaten transformieren?
Nein, er nimmt nur die Daten vom Videokopf entgegen und steuert die
LED's an. Dafür muss er logischerweise mitrotieren.
Den Rest macht dieses Board:
http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_114_119&products_id=569
hier gibt es eine Animation der Koordinaten-umrechnung:
http://www.youtube.com/watch?v=vhsH37fDi48
Ist entstanden, als ich rausgefunden habe, das man mit einer Testbench
auch BMP Bilder generieren kann.
> Sind ja 64MB RAM> drauf, das sollte reichen.
UPSA vertan, dieses Bord ist es:
http://shop.trenz-electronic.de/catalog/product_info.php?cPath=1_50&products_id=63&osCsid=f71d5dfc98f23de6c8ddf41e90bb1c56
hat keinen Ram aber dafür mehr i/o
> Welcher Einschaltstrom? Bei Einschalten sind die LEDs doch aus?
Leider nicht. Der TLC5940 startet die Leds mit zufälligen werten, was
einen zufälligen Einschaltstrom bedeutet. Und der FPGA braucht gut 0,2
Sek bis er konfiguriert ist, und was dagegen unternehmen kann. Dann
braucht es nur noch ein zu schwaches Steckernetzteil und eine
Nasenklammer gegen den Gestank :-) Ich hab aber schon ein neues FPGA> Hä? Das nenn ich mal unlogisch. Sollte man nicht erstmal schauen ob es> für ein Problem eine fertige Lösung gibt? Und erst wenn man nix> passendes findet was selber bauen? Du feilst deine Transistoren doch> auch nicht selber, oder?
Das Übertragungsprotokoll ist recht simpel, es erscheint mir unlogisch
da mit einem riesen IP Core Draufzudreschen. Aber wie heisst es so
schön: Frage 2 Ätzte und du bekommst 3 Meinungen.
>>Willst mir dabei Helfen ?>> Klar, warum nicht?
du hast Post.
@ Michael Sauron (laborsauron)
>> Welcher Einschaltstrom? Bei Einschalten sind die LEDs doch aus?>Leider nicht. Der TLC5940 startet die Leds mit zufälligen werten, was>einen zufälligen Einschaltstrom bedeutet.
Versuch's mal mit einem Pull-Up am BLANK Eingang ;-)
MfG
Flk
Sehr schön das ganze!
Habe vor 4-5 Jahren mal was ähnliches gebastelt.
Rotoblinken hatte ich es getauft, mit Anlehnung an Blinkenlights ;-)
Bei der Energieübertragung über den rotierenden Transformator bin ich
aber gescheitert. Es lief , aber leider ist der Oszillator der
Primärseite mal stehen geblieben und mir ist die Wicklung des Trafos
durchgebrannt. Danach habe ich Schleifringe nachgerüstet.
Die Datenübertragung läuft auch über den Trafo , aber wesentlich
einfacher wie Deine 8b/10b Kodierung. Ich schalte einfach einen 10MHz
Oszillator Ein udn Aus (OOK nennt sich das glaube ich). 1Mbit sind damit
gut erreichbar.
Bei den LED Treibern habe ich auch eine weile gesucht , guterletzt habe
ich die MAX6957 Konstantstrom Treiber gefunden. Laufen mit SPI mit bis
zu 24Mbit.
Konstantstrom hat den Vorteil das es keine Interferenzen mit PWM
Frequenz / Umdrehungsgeschwindigkeit gibt.
Als "Workhorse" ist ein LPC2106 verbaut , über den Trafo kann ich mit
dem UART des uCs kommunizieren.
Leider ist das ganze inzwischen nicht mehr Funktionsfähig , aber
vielleicht werde ich es nochmal neu Aufbauen. Das mit dem Royer
Konverter klingt echt gut :-)
> Versuch's mal mit einem Pull-Up am BLANK Eingang ;-)
Die idee kam mir auch schon, sollte eigentlich gehen
@claude
das sieht auch sehr ordentlich aus, gibts davon auch ein video ?
Sieht so aus als hättest du keine Synchronisation. Und die Leds sind
erstaunlich dunkel. Trotzdem ein geiles Projekt, so weit muss ich ja
erst mal kommen.
Ja, da hast Du recht. Zu dem Zeitpunkt war das noch "Free Running" und
die LEDs liefen nicht mit 100% Helligkeit. Viele Stunden/Zeilen Code
später stand das Bild sogar und ich konnte Texte auf den Propeller über
USB übertragen. Aber leider nicht dokumentiert...
Nachdem mir dann der Schleifkontakt aus der Spur gelaufen ist und 12V
auf den Rotor gebruzelt hat wollte der LPC2106 auch nicht mehr Leben.
Seitdem verstaubt das gute Teil auf dem Regal.
Aber wie gesagt , wenn Falk und Michael den Royer Konverter bei Michaels
Propeller Clock ääähh Bildschirm hinbekommen bin ich vielleicht
motiviert das ganze neu aufzubauen.
Hallo,
habe auch so etwas ähnliches in einfacher gebaut, mit 32 einfarbigen
LED´s.
Die Stromübertragung habe ich auch mit schleifringen gelöst. Als Kohlen
habe ich 3mm Bleistiftminen verwendet. Diese Stecken zusammen mit einer
Feder in Röhrchen, die etwas größer sind und hinten geschlossen. Dies
funktioniert auch sehr gut, allerdings ist ein Royer Konverter viel
schöner. War auch ursprünglich geplant, aus Zeitmangel allerdings wieder
verworfen. Da der Pflichtteil nun funktioniert, geht es jetzt mit der
Kür weiter.
Hier sind ein paar bilder usw:
http://gudewie.gu.funpic.de/technik/Propelleruhr/propclock.htm