Forum: Mikrocontroller und Digitale Elektronik MCU + LEDs + Motor = Propelleruhr


von Kaj-Sören G. (wulf87)


Lesenswert?

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

von Jochen (Gast)


Lesenswert?

LEDs mit Vorwiderstand oder Konstantstromquelle. Ansonsten LED oder 
Controller kaputt.

von Kaj-Sören G. (wulf87)


Lesenswert?

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?

von Jochen (Gast)


Lesenswert?

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?

von Jochen (Gast)


Lesenswert?

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.

von Kaj-Sören G. (wulf87)


Lesenswert?

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? :(

von Jochen (Gast)


Lesenswert?

Ja, aber wenn du dann halt nur die hälfte der Zeit einen Kurzschluss 
hast, hatts dir trotzdem nichts gebracht.

von Kaj-Sören G. (wulf87)


Lesenswert?

Alles klar. ich bedanke mich erstmal für die hilfe. Ich werd schon mal 
die Platine neu planen gehen... -.-

von Jochen (Gast)


Lesenswert?

Na, ist doch besser als wenn dir das fertig gelötete durchbrennt ;)

von Kaj-Sören G. (wulf87)


Lesenswert?

auf jeden fall :D

von Kaj-Sören G. (wulf87)


Lesenswert?

Und nochmal zum verständnis:

PWM bewirkt also das weniger Strom fließt und ich somit eine geringere 
Verlustleistung am Widerstand habe !?

von Jochen (Gast)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

@  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

von Martin (Gast)


Lesenswert?

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.

von Bastler (Gast)


Lesenswert?

>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!

von Kaj-Sören G. (wulf87)


Lesenswert?

Wie wärs mit helfen, statt auslachen?...

von Katzenspielzeug Kitty High tech Catwalk soundchip (Gast)


Lesenswert?

Ich denke das soll ne Abschlussarbeit werden? habt ihr irgendwas gelernt 
im Studium? Wo bleibt da die Eigenleistung?

von Matthias L. (Gast)


Lesenswert?


von Ballermann (Gast)


Lesenswert?

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...

von Peter D. (peda)


Lesenswert?

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

von Kaj-Sören G. (wulf87)


Lesenswert?

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.

von Kaj-Sören G. (wulf87)


Lesenswert?

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...

von Falk B. (falk)


Lesenswert?

@  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

von Ballermann (Gast)


Lesenswert?

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...

von Matthias L. (Gast)


Lesenswert?

>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.

von Falk B. (falk)


Lesenswert?

@  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.

von Floh (Gast)


Lesenswert?

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.
:-)

von Kaj-Sören G. (wulf87)


Lesenswert?

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 :(

von Peter II (Gast)


Lesenswert?

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.

von Kaj-Sören G. (wulf87)


Lesenswert?

@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?

von Peter II (Gast)


Lesenswert?

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.

von Falk B. (falk)


Lesenswert?

>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 . . .

von Matthias L. (Gast)


Lesenswert?

>mit einer Schlitzscheibe..

Tja, ist alles gemacht. Aber da ich ignoriert werde, bin ich raus..

beleidigt

von Ballermann (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.