Forum: Mikrocontroller und Digitale Elektronik Rotorblatt Beleuchtung die 2te


von TobyTetzi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo mal wieder.

Nun bin ich so weit, das ich mit einem Mega8 maximal 20 Led's
ansteuern kann.
Mit dem ursprünglich gedachtem 2313 war ich schnell am Ende,
da ich statt 120 Segmente nun 360 Segmente habe.
Desweiteren steuere ich die 20 Leds über 3 Ports.
PortB macht 8 Leds,
PortC macht 6 Leds, da PC6 der Reset ist,
PortD macht 6 Leds, da ich PD2 für den INT0 brauche.

Auf dem Bild sind aber nur 16 Led's, da ich nur PD0 und PD1 nutze.

Nun wollte ich aber doch viel, sehr viel mehr Led's ansteuern.
Und das auch noch jede einzeln!

Da dachte ich, einen Mega16 zu nehmen, er hat pauschal schon
32 I/O Pins, davon fällt einer für den Int0 weg, einer für Int1
(für ein evtl. später geplantes Steuersignal).
Das macht schon mal 30 Led's am Mega16 !

Nun reicht mir das aber immer noch nicht!

Wer kann mir weiterhelfen?
Wie bekomm ich mehr als 20 (Mega8) / 30 (Mega16) Led's einzeln
angesteuert?

Das ganze System läuft so mit ca. 1000 - 2000 U/min.
Je nach Led Größe dachte ich so um die 64 Led's.
64, weil ich dachte, mit dem Mega16, eine Matrix mit 16x4 zu
steuern. 16(PortA und B), 4 (PortC).
Ich dachte an "nur" 4 Zeilen, da die Led's sonst zu dunkel werden
könnten.

Hmmm, hoffentlich versteht jemand mein Problem, und kann mir helfen.

Wie sieht es übrigens mit diesen LED Treiber ICs aus?
Welche gibt es, und wie steuert man diese?
Siend diese schnell genug für meine Anwendung?

Gruß Toby

von TobyTetzi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo nochmal,
hier nochmal ein Bild mit Blitz fotografiert.
Und auch noch etwas größer.

Gruß Toby

von Sebastian Amthor (Gast)


Lesenswert?

hi.
weiß zwar auch nicht genau wo von ich rede aber es gibt glaube ich i2c
port erweiterungen. bei 8 i2c geräten am bus, würdest du also 7 Ports
dazumachen können... also 7 x 8 über i2c macht 56 LED´s + die am
controller selbst sollten dir dann doch reichen oder??

von Sebastian Amthor (Gast)


Lesenswert?

hab mal eben in buch geguck... hier ist es ein teil namens "CD4094"
vielleicht hilf dir das ja schon weiter

von Danny (Gast)


Lesenswert?

Servus Toby,

das würde mich auch interessieren, da ich nebenher ebenfalls an einer
Rotorblatt belechtung bastel. Allerdings mit RGB-Leds. Funktioniert
soweit ganz gut, Farbverlauf, stehender Text, Rotordrehzahlanzeige....
Ich verwende den Mega16 und "dimme" die Ports manuell, wenn ich jede
einzeln haben möchte. Bastle aber auch gerade an einer variante die
Farben einzeln über die PWM-Ausgänge zu dimmen. Was mich noch
interessieren würde: woher nimmst du die Spannung für die LEDs und wo
sitzt bei dir der Proz? Ich werde alles komplett im Rotorblatt
einbauen.

Gruß Danny

von TobyTetzi (Gast)


Lesenswert?

Hallo Danny,

mit der Stromversorgung ist es so eine Sache.

Ich wollte 4 Kan Zellen nehmen, und ins Blatt einlaminieren.

Hast Du vielleich ein paar Tips oder Codes für mich übrig?

Vorallem die Drehzahlanzeige intressiert mich sehr,
da es mein erstes Elektronik Projekt ist.

Wie machst Du das alles mit der Drehzahlmessung und der nachfolgenden
ansteuertung der LEDs ?

Würde ich sehr freuen, von Dir zu hören.

Gruß Toby

von Danny (Gast)


Lesenswert?

Also das mit der Drehzahl ist einfach:
ich messe die Zeit jeder Umdrehung und rechne diese in die Drehzahl um.
Dazu habe ich eine Lichtschranke (Prototyp ist aus einer Maus) als
Start und Referenzpunkt für Drehzahlerfassung und Startimpuls für Text.
Stromversorgung ist eigentlich kein Problem. Einfach 2 LiPo-Zellen mit
ins Blatt einharzen, die sind sehr leicht und haben eine große
Kapazität. Codes habe ich momentan nicht hier, die sind auf arbeit auf
dem Laptop.

von thkais (Gast)


Lesenswert?

Ich habe 32 LEDs an einem 2313 dranhängen. Serieller Bus / I²C fällt aus
wegen der Geschwindigkeit, deshalb habe ich einen stinknormalen 8-Bit
Parallelbus mit Latches (74374 oder 74574) aufgebaut. Ist auch von der
Ansteuerung sehr einfach. Mit einem Multiplexer (74138) lassen sich
problemlos 64 LEDs an einen 2313 anschließen und es sind noch Ports
frei...
Akku-Packs in den Rotorblättern - interessanter Ansatz. Ich habe die
Welle meiner Propeller-Clock als Minuspol genutzt, der Pluspol wird
über einen Schleifring übertragen. Dürfte bei einem Heli schwierig
werden, die Taumelscheibe ist im Weg... Wobei: Kann man die
Taumelscheibe elektrisch von der Welle/Gehäuse entkoppeln und evtl. so
den anderen Pol übertragen? Bei meinem ECO-8 könnte das gehen
(Taumelscheibe aus Kunststoff)

von Danny (Gast)


Lesenswert?

Auch sehr interessant: "Wobei: Kann man die
Taumelscheibe elektrisch von der Welle/Gehäuse entkoppeln und evtl. so
den anderen Pol übertragen? Bei meinem ECO-8 könnte das gehen
(Taumelscheibe aus Kunststoff)"
Stimmt, aber ich denke in die umgedrehte Richtung: Akku im Rotorbaltt
und die Akkuspannung des Flugakkus auf dem Rotorblatt anzeigen, bevor
man den guten und teuren Heli im Acker zerschrotet.

von michael wiese (Gast)


Lesenswert?

mich würde mal interessieren welche drehzahl so ein heli hat.
wie ist das dann mit der unwucht?
wird aber bestimmt klasse aussehen :)
vorallen in der halle wo es dunkler ist

von Stefan (Gast)


Lesenswert?

Hallo,

in der elektor 06/2004 ist eine mc schaltung (pocket pong)

dort wird mit einen 74hc4514
aus 4port-pins(hex) > 16 leitungen(dez)
gemacht

nur so als anregung
16 x 8(ports) = 128


stefan

von TobyTetzi (Gast)


Lesenswert?

Hallo ,

Dany:
ich nutze einen Hall Geber, welcher einen Interrupt auslöst.
Da es bei meinem Drehzahlregler von Futaba auch so gemacht wird.

Mit Lipo Zellen bin ich noch etwas vorsichtig, denn die Accupflege
ich doch enorm, im Gegensatz zu den Kan Zellen.
Meine haben 350 mAh. das sollte einige Zeit reichen.

thkais:
Hmm, nun habe ich mir extra eine Alu Taumelscheibe, wegen des besserem
Flugverhaltens gekauft! :-)

Kannst du mir mal so einen Schaltplam mailen?
Wäre sehr intressant.

Michael:
So ein heli hat zwischen 1000 und 2000 U/min.
Ich wollte das System eigentlich NUR bei Nacht verwenden!

Stefan:
Könntest Du mir vielleicht mal den Schaltplan zukommen lassen?
Habe keine Elektor, hört sich aber sehr intressant an.

Bitte weiter so, und dankle für euere Antworten!

So weit....Gruß Toby

von TobyTetzi (Gast)


Lesenswert?

Hallo,

ist nicht bei einem 4514/15 das Problem, das ich zwar alle LEDs einzeln
ansteuern kann,
aber von den 16 LEDs nie mehr als eine Gleichzeitig steuern kann?

Was gäbe es noch für möglichkeiten?

Gruß Toby

von Stefan (Gast)


Lesenswert?

Hallo,

wie gleichzeitig (zeitlich gesehn) sollen die leds den an und
ausgemacht werden ?? oder solls ein muster ergeben ??
und wie viele leds sollens den werden??

und ja bei dem ic ist nur immer ein ausgang der 16 ein!

kommt immer drauf an was es genau machen soll und auch zu welcher zeit
um die ports zu erweitern

Gruß und gute Nacht :-))

Stefan

von TobyTetzi (Gast)


Lesenswert?

Hi,

ich wollte gerne mehrere Leds zur gleichen zeit an haben.

Nun ergibt sich die Frage, wie ich zwei oder mehr Megas
einsetzen kann?!

Ich dachte einen Proz mit dem Hauptprogramm (Drehzahlberechnung)
dieser gibt ein Signal an die anderen, welche dann jeder für sich ein
Muster ausgeben.

Ich dachte nun erstmal an zwei Mega8, mit jeweils 15 LEDs.
Jeder Slave Proz greift auf eine 360 Grad Tabelle zu, und gibt sein
Bitmuster aus.

Wie lässt sich denn wohl sowas verwirklichen?

Und wie sieht es mit dem Gleichlauf mehrerer Prozessoren aus?


Gruß Toby

von Nik Bamert (Gast)


Lesenswert?

hi,

man könnte ja auch schieberegister mit integrierten latches verwenden.
Dann brächtest du 1 clock 1 Data 1 Enable und vielleicht noch eine
Reset Leitung. also nur 3 oder 4 leitungen für (fast) unendlich viele
Led's. Ich kann dir leider keinen typen nennen, ich hab so ein
Schieberegister einfach mal in einem Schaltplan gesehen, leider weiss
ich nicht mehr wo das war. Aber ich bin sicher, dass es irgendein
74xxxxxx gewesen ist. Dabei könnte man dann ja auch die LED's alle
gleichzeitig einschalten...

Gruss Nik

von Juergen (Gast)


Lesenswert?

Hi,

wie waere es mit einem oder mehreren 8255 Port I/O Bausteinem (3 x 8Bit
I/O).

http://www.pci-card.com/upd8255.html

Gruss
Juergen

von schneidertobi (Gast)


Lesenswert?

Hi,
ein 8255 duerfte ja wohl der totale overkill sein. BEsser geeignet
waeren wohl einfache CD4094. Die hab ich fuer mein BlinkenLED
genommen(mit AT89S8252). Die brauchen halt nen clock,strobe und daten
pin. die kann man im grunde beliebig hintereinander kaskadieren. Zwei
sind garantiert kein problem. Wenn du dann je zwei kaskadierst und
davon 4 einheiten nimmst, kommst du mit 6 portpins auf deine 64 I/O's.
Der vorteil liegt darin, dass du die teile frei im rotor nahe an den
LED's  platzieren kannst.
D.h. in jedes rotorblatt gehen 1xStrobe + 1xClock + 2xDaten. In dem
Blatt sitzen dann hintereinander 4 CD4094, die je 8 LED's ansteuern.
Clock und Strobe von beiden Seiten kannst du verbinden und so kommt man
dann auf 6 I/O's, die 64 LED's ansteuern koennen. Bei meinem
BlinkenLED habe ich die CD4094 bei 5V betrieben und direkt mit
low-current leds verbunden. Das funktioniert bestens. Auf
blinkenleds.de bekommst du ein paar Infos zum Thema. Einen c-code fuer
mein blinkenled kann ich dir auch geben.

Gruß Tobias

rechtschreibfehler duerft ihr gerne behalten

von TobyTetzi (Gast)


Lesenswert?

Hallo, ich wollte nur den netten Beitrag nochmal nach oben bringen.
Vielleicht hat noch wer eine Idee?!

Gruß Toby

von TMX (Gast)


Lesenswert?

Hi

was sprichte gegen Stromversorgung via Induktion?
Der Rotor dreht sich doch....

von Uwe Nagel (Gast)


Lesenswert?

Rechnen wir mall mit 1200Upm=20 pro Sekunde oder 50ms pro Umdrehung.
Bei 1 Grad Schrittweite bleiben 138us um eine Zeile auszugeben. Ist
doch viel Zeit für einen megaAVR...
Wie wäre es mit Schieberegistern 4094 oder 74HC4094. Eine beliebig
lange Kette davon braucht nur 3 Portleitungen vom Prozessor, jedes IC
steuert 8 LEDs. Man muss halt alle 138us die ganze Zeile seriell
reintakten, deshalb die Zeitbetrachtung.
Drehzahlmessung ist einfach, sicher hast Du irgendwie eine Nullmarke an
deinem Rotor um ein stehendes Bild zu ermöglichen. Lass einen Timer den
Prozessortakt zählen und leg das Nullsignal auf einen Capture-Eingang.
Lese aufeinanderfolgende Capture-Werte aus und errechne daraus die
Drehzahl.

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.