Hallo Ihr Lieben :) Im Zuge eines Studienabschlussprojektes, möchten wir eine Propelleruhr bauen. Natürlich ist eine Propelleruhr nichts neues, dennoch möchten wir nichts fertiges nehmen, sondern etwas (halbwegs) eigenes Entwickeln. Die Idee wurde eingereicht, die Dozenten finden die Idee gut und haben grünes Licht gegeben. :D Obwohl die Idee der Propelleruhr nicht neu ist, sind die Informationen, die man zu bestimmten Punkten findet, eher schlecht bis sch****. Wenn ich einmal an einem Problem hänge, werde ich hier nach und nach das Problem schilder und hoffe das Ihr den ein oder anderen guten Denkansatzt habt. Über brauchbare Informationen bin ich Euch in jedemfalle sehr dankbar. :-) So, fangen wir mal an... Zur Ausführung der Platine: Nach Möglichkeit wollen wir SMD-Lötarbeit vermeiden, da wir darin keine erfahrunbg haben. Somit planen wir, soweit möglich, ICs mit DIL-Gehäuse zu verwenden, da wir dort einfache IC-Sockel nehmen können. Dies bringt natürlich einige einschränkungen mit sich, wie z.B. die verfügbaren Pins am Controller. Und damit sind wir schon beim 1. Thema, wo ich ein paar verständnis Fragen habe: Der Mikrocontroller Als Mikrocontroller wollen wir einen Atmel nehmen, welchen genau ist noch nicht klar. Als Beispiel nehmen wir hier mal den: ATmega644P (PDIP) Der Controller hat 40 Pins. Soweit ich das Datenblatt verstehe, hat er 32 Pins(PortA0...7, PortB0...7, PortC0...7, PortD0...7) die ich frei als In- oder Output definieren kann, richtig? Um auf der Platine Platz zu sparen wollten wir die passende Spannung für die LEDs per PWM vom Controller bereitstellen, somit brauchen wir keine vorwiderstände. Könnten wir jetzt über jeden der 32 Pins, vom Controller, ein PWM Signal rausschiken, oder ist die PWM-Funktion auf einzelne Pins beschränkt? Das solls erstmal gewesen sein für den Anfang. Falls etwas unverständlich ist, einfach nachfragen. Ich werde euch auch über ergebnisse auf dem Laufenden halten. Brauchbare Hilfe ist immer gern gesehen. :-) Bis dann, und freundliche Grüße
Könntest du das vielleicht etwas weiter ausführen? Aus deiner knappen aussage schließe ich mal, das die Reduzierung der Spannung, durch PWM, auf die LED Betriebsspannung, nicht ganz ausreicht... Was für Ungewollte nebeneffekte hat das? Ist der Strom, den die LEDs ziehen, zu hoch?
Wie stellst du dir das denn vor? Wenn du ne LED ohne alles an einen AVR Port hängst hast du praktisch nen Kurzschluss. Klar, irgendwas bei 2.5 V fallen an der LED ab, und der Rest?
Außerdem reduziert man durch PWM keine Spannung. PWM ist eine Methode um den effektiven Stromfluss ( also ein Zeit Integral) durch ein Bauelement zu steuern.
ja, ok... der einwand ist berechtigt. Aber nochmal zum verständnis bitte: Soweit ich PWM verstanden habe, wird aus einer gleichspannung eine Rechteckspannung gemacht. Und aus dem Verhältnis von "Eingeschalteter Spannung" zu "Ausgeschalteter Spannung" ergibt sich dann der neue mittelwert der Spannung. Das heist für mich, das an der LED nur noch der neue Mittelwert der spannung anliegt (ich würds jetzt mal mit einer Sinusspannung vergleichen, wo ja auch nur der effektiv Wert zählt.) ... oder bin ich jetzt voll auf dem Holzdampfer? :(
Ja, aber wenn du dann halt nur die hälfte der Zeit einen Kurzschluss hast, hatts dir trotzdem nichts gebracht.
Alles klar. ich bedanke mich erstmal für die hilfe. Ich werd schon mal die Platine neu planen gehen... -.-
Na, ist doch besser als wenn dir das fertig gelötete durchbrennt ;)
Und nochmal zum verständnis: PWM bewirkt also das weniger Strom fließt und ich somit eine geringere Verlustleistung am Widerstand habe !?
Ne, du spartst mit PWM kein Strom. Du kannst damit die Helligkeit deiner LED steuern. Die blinkt dann so schnell, dass deine Augen und dein Hirn das als gleichmäßiges leuchten wahrnehmen. Und wie du oben schon richtig beschrieben hast, veränderst du jetzt die Anteile von An und Aus.(Rechtecksignal) Wenn du die LED jetzt nur die hälfte der Zeit anlässt, verbrauchst du auch nur die Hälfte an Energie. Den gleichen Effekt kannst du aber auch mit einem größeren Vorwiderstand erzielen. Der Vorteil von PWM ist halt, dass es vom Controller gesteuert wird und du die Helligkeit in der Software beeinflussen kannst.
@ Kaj-Sören G. (wulf87) >Obwohl die Idee der Propelleruhr nicht neu ist, sind die Informationen, >die man zu bestimmten Punkten findet, eher schlecht bis sch****. Kaum. Ihr sein nur zu faul oder zu dämlich zum suchen. >Als Beispiel nehmen wir hier mal den: ATmega644P (PDIP) Kann man nehmen. >Der Controller hat 40 Pins. Soweit ich das Datenblatt verstehe, hat er >32 Pins(PortA0...7, PortB0...7, PortC0...7, PortD0...7) die ich frei als >In- oder Output definieren kann, richtig? Ja. >Um auf der Platine Platz zu sparen wollten wir die passende Spannung für >die LEDs per PWM vom Controller bereitstellen, somit brauchen wir keine >vorwiderstände. Falsch. Siehe LED. >Könnten wir jetzt über jeden der 32 Pins, vom Controller, ein PWM Signal >rausschiken, Jain. Die Frequenz ist dabei eher begrenzt, unbrauchbar für eine Propelleruhr, siehe Soft-PWM. > oder ist die PWM-Funktion auf einzelne Pins beschränkt? Das ist Hardware-PWM. MFG Falk
Kaj-Sören G. schrieb: > Soweit ich PWM verstanden habe, wird aus einer gleichspannung eine > Rechteckspannung gemacht. Und aus dem Verhältnis von "Eingeschalteter > Spannung" zu "Ausgeschalteter Spannung" ergibt sich dann der neue > mittelwert der Spannung. Das heist für mich, das an der LED nur noch der > neue Mittelwert der spannung anliegt Wenn dein Verbraucher ein träges ding währe, wie z.B. eine Glühlampe oder eine Heizung kanns du das so in der Art sehen. Dein Verbraucher ist aber eine ganz flinke LED, die blinkt dann quasi im PWM Rythmus. Such dir mal ein Datenblatt zu einer LED raus. Da findest du im allgemeinen den maximalen Strom und eine Angabe zum Strom für eine bestimmte Zeit. z.B. Imax = 20mA Imax = 100mA für 10ms Darüberhinaus geht deine LED kaput. Und selbst wenn deine LED eine träge Lampe währe, fließt im eingeschalteten Zustand der maximale Strom durch den Controller, der diesen dann zerschießt.
>Um auf der Platine Platz zu sparen wollten wir die passende Spannung für >die LEDs per PWM vom Controller bereitstellen, somit brauchen wir keine >vorwiderstände. You made my day!
Ich denke das soll ne Abschlussarbeit werden? habt ihr irgendwas gelernt im Studium? Wo bleibt da die Eigenleistung?
Damals (ja lange ists her) war ich noch nicht angemeldet: Beitrag "Re: Auftragsarbeit - RGB-LED-Lauflicht" Beitrag "Re: Propeller Uhr und schwebender Trafo" http://avrs-at-leipzig.de/dokuwiki/projekte/propelleruhr
Wieviel LEDs sollen es überhaupt werden? Dementsprechend müsst ihr über Multiplexing oder Portexpander evtl. erweitern. Bei Multiplexing müsst ihr zusätzlich noch die Einschaltdauer berücksichtigen (nicht mit der geplanten PWM verwechseln). Da durch das Multiplexing der verschiedenen LEDs/Segmente (bei gleichem Strom wie ohne Multiplexing) natürlich die LEDs/Segmente dunkler werden. Wie schon oben erwähnt, LED nie ohne Vorwiderstand. Es sei den man begrenzt den Strom durch die LED anderst (Stichwort: Konstantstromquelle). Grüße Ballermann P.S: Das ihr nichts dazu findet, absolut unmöglich. Das Thema gibt es hier im Forum (neben den LED-Cubes) mindestens 1x im Monat. Also hier im Forum suchen (LED-Cube ist hier auch interessant wegen Multiplexing) oder mal über Tante Gockel. Selbst bei UTube findet sich dazu einiges...
Kaj-Sören G. schrieb: > Obwohl die Idee der Propelleruhr nicht neu ist, sind die Informationen, > die man zu bestimmten Punkten findet, eher schlecht bis sch****. Och, die sind schon ganz gut. Ist natürlich kein Anfängerprojekt. Man muß mechanisch, elektrisch und softwarisch schon was auf dem Kasten haben. Kaj-Sören G. schrieb: > Nach Möglichkeit wollen wir SMD-Lötarbeit vermeiden, da wir darin keine > erfahrunbg haben. > Somit planen wir, soweit möglich, ICs mit DIL-Gehäuse zu verwenden, da > wir dort einfache IC-Sockel nehmen können. Ich würd mal sagen, SMD ist Pflicht und Sockel sind total out. Je größer das Gewicht, umso größer die Unwucht und die Fliehkräfte. Die Fliehkräfte werden Dir die ICs aus den Fassungen reißen. Peter
Ich hab auch nicht gesagt das wir gar nichts finden, sondern das es zu einigen Punkte nur seeehr wenig "brauchbare" informationen finden lassen. ;) An LEDs planen wir zur Zeit 20 (langweilige) einfarbige LEDs, da ich mir die ansteuerung von 20 rgb leds noch nicht ganz vorstellen kann. Die Ansteuerung war so gedacht, das wir die LEDs über "Adressen" ansprechen. Wir geben vom controller einen Binärcode auf einen DeMux, welcher dann 4-fach rs-fliflops ansteuert. Über einen DeMux können wir 15 LEDs einschalten, da die 16te (binärcode: 0000) nicht zu gebrauchen ist. Dann würde beim 1. DeMux noch mind. eine stelle wegfallen wegen der kaskadierung. Diese Steuerung würde bedeuten das wir die LEDs nicht gleichzeitig, sondern nur nacheinander einschalten können. Wir wissen noch nicht, ob das Zeitlich hinhaut, aber es ist immerhin eine erste idee. Bei rgb-leds wäre es, nach meinem verständnis, so, dass ich (imaginär) 60 LEDs ansteuern müsste, bzw. das eine rgb-led 8 zustände haben kann!? Und da blockiert mein Verstand so´n bisschen, da ich (noch) nicht weiß wo ich dann die ganzen ic´s unterbringen soll. Oder is das ne blöde idee mit dem DeMux und den RS-FlipFlops? Es soll halt so sein, das ich jede led einzeln ansprechen kann, d.h. Ich will die erste Led sinchalten können, sowie die letze, oder vielleicht auch nur eine in der mitte, oder alle, oder gar keine.
Zum Motor: Wir wollen einen verhältnismäßig langsamen motor nehmen (1800U/min), also 30U/sec. und wenn man die ICs nah an der welle platziert, sollten die Fliehkräfte nicht das Problem sein. Bitte korrigiert mich, wenn ich mich irre. Wir werden wohl smd nehmen müssen, weil der platz sonst nicht ausreicht...
@ Peter Dannegger (peda) >Man muß mechanisch, elektrisch und softwarisch schon was auf dem Kasten >haben. Ein wenig. Man muss ja nicht immer gleich mit einem RGB Farbglobus anfangen. Eine einfache Propelleruhr mit 8 einfarbigen LEDs tut es. >Ich würd mal sagen, SMD ist Pflicht und Sockel sind total out. Nö, das ist nebensächlich. >Je größer das Gewicht, umso größer die Unwucht und die Fliehkräfte. Unwichten kann und muss man auswuchten. Das geht auch bei 10t. >Die Fliehkräfte werden Dir die ICs aus den Fassungen reißen. Soviele ICs braucht man doch nicht. Bestenfalls einen AVR. Und eh es DEN aus einer (Präzisions)fassung reißt, muss schon einiges passieren. Eine Propelleruhr ist keine Turbine, auch wenn manche so klingen. MFG Falk
Bei 20 LEDs müsste das ja sogar noch mit einem einzelnen großen AVR funktionieren. Ansonsten könnte man auch noch mit Schieberegistern erweitern und das ganze über SPI rausclocken. Dann würde auch ein kleinerer AVR reichen. Vernünftige Treiber würden dann evtl. noch dazukommen...
>Wir geben vom controller einen Binärcode auf einen DeMux, welcher dann >4-fach rs-fliflops ansteuert. Dafür das ihr "Platz sparen wollt auf der Platine" ist das ganz schöner Unsinn. Sieh dir die Links oben an. >Bitte korrigiert mich, wenn ich mich irre. Machen wir gerade.
@ Kaj-Sören G. (wulf87) >mittelwert der Spannung. Das heist für mich, das an der LED nur noch der >neue Mittelwert der spannung anliegt (ich würds jetzt mal mit einer >Sinusspannung vergleichen, wo ja auch nur der effektiv Wert zählt.) ... >oder bin ich jetzt voll auf dem Holzdampfer? :( Du bist auf der Titanic.
Kaj-Sören G. schrieb: > Oder is das ne blöde idee mit dem DeMux und den RS-FlipFlops? Bei 20 LEDs würd ich die direkt (mit Vorwiderstand) an die Controllerpins hängen (max Strom durch Vcc und Gnd beachten). Dann einfach mit Schlitzscheibe und Lichtschranke soundsooft pro Umdrehung einen Interrupt auslösen, um die LEDs weiterzuschalten. Zur Spannungsversorgung um die drehende Welle eignet sich z.B. ein Royer-Converter, als Datenübertragung ist möglicherweise codiertes Infrarot brauchbar. :-)
Ja, das mit dem DeMux und den FlipFlops is daraus entstanden das wir mit rgb leds anfangen wollten, wobei wir sehr schnell gemerkt haben das wir dann sehr viele pins bräuchten. Das es bei 20 Leds noch ohne das ganze geht is mir auch jetzt erst aufgefallen :(
Kaj-Sören G. schrieb: > Wir geben vom controller einen Binärcode auf einen DeMux, welcher dann > 4-fach rs-fliflops ansteuert. > Über einen DeMux können wir 15 LEDs einschalten, da die 16te (binärcode: > 0000) nicht zu gebrauchen ist. Dann würde beim 1. DeMux noch mind. eine > stelle wegfallen wegen der kaskadierung. das würde ich auf jeden Fall nicht so machem, viel zu viel Hardware und Verkabelungsaufwand. Ausserdem wird es am ende vom Timing sehr schwer die LED in einer gescheiten Helligkeit leuchten zu lassen. Dann lieber gleich einen IC mehr mehr IOs verwenden.
@Floh: Zur Spannungsübertragung auf die Platine haben wir uns schon was schönes gebastelt, aber trotzdem danke :) Zu erst wollten wir nur mit einer Lichtschranke arbeiten, um den "Nullpunkt" zu bestimmen, aber unser betreuender Dozent meinte auch wir sollen Schlitzscheiben nehmen. Kann ich denn mit einer Schlitzscheibe auch einen "Nullpunkt" bestimmen? Bei einer Lichtschranke, mit nur einem Interrupt pro umdrehung war es so gedacht, das wenn der Interrupt kommt, der controller weiß, "So jetzt ist der Zeiger oben (12 uhr), ab hier kann ich rechnen"! Irgendwie muss ich dem controller ja sagen wo oben und unten ist, damit die uhr nicht auf dem kopfsteht, oder nicht? oO geht das über eine Schlitzscheibe?
Kaj-Sören G. schrieb: > geht das über eine Schlitzscheibe? ja man kann eine Schlitz "zu" lassen, diese kann man dann erkennen unter der vorraussetzung das der Motor gleichmäßig läuft.
>Kann ich denn mit einer Schlitzscheibe auch einen "Nullpunkt" bestimmen? >Bei einer Lichtschranke, mit nur einem Interrupt pro umdrehung war es so >gedacht, das wenn der Interrupt kommt, der controller weiß, "So jetzt >ist der Zeiger oben (12 uhr), ab hier kann ich rechnen"! >Irgendwie muss ich dem controller ja sagen wo oben und unten ist, damit >die uhr nicht auf dem kopfsteht, oder nicht? oO geht das über eine >Schlitzscheibe? Und DAS sollen Studenten am Ende ihres Studiums sein . . .? Ohje! Naja, sichert meinen Arbeitsplatz . . .
>mit einer Schlitzscheibe..
Tja, ist alles gemacht. Aber da ich ignoriert werde, bin ich raus..
beleidigt
Du brauchst irgendeinen Impuls, sei es über eine Lichtschranke, einen mechanischen Kontakt oder einen Hallsensor um den Controller zu Synchronisieren. Dann könntest Du theoretisch die Geschwindigkeit des Motors genau ausmessen (Zeit zwischen 2 Interrupts), dann von mir aus noch etwas Mitteln um evtl. Schwankungen auszugleichen(braucht man vllt. nicht). Wenn Du dann die Zeit für eine Umdrehung weisst, dann wird diese Zeit durch einen Timer in einzelne Ticks aufgeteilt und bei jedem Tick wird eine neue Reihe deiner Uhrzei ausgegeben. (So könnte ich mir das zumindest vorstellen, ohne es jetzt selbst schon mal gemacht zu haben). Grüße
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.