LED-Weihnachtsdeko mit Micro-Controller blinken lassen

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 01 10 2024  15:41:42      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( 1 | 2 Nächste Seite )      


Autor
LED-Weihnachtsdeko mit Micro-Controller blinken lassen
Suche nach: led (32531) controller (3547)

    







BID = 730609

Danny.K27

Neu hier



Beiträge: 45
Wohnort: Minden
Zur Homepage von Danny.K27
 

  


Hi Leutz,

Alle Jahre wieder...will der Daniel schöne Deko zu Weihnachten bauen !

Also, da ja bald Weihnachten ist, will ich wie immer etwas an Deko bauen, und dachte mir dieses mal, weil ich eh schon immer was mit M-Controller machen wollte, das ich so zwei fliegen mit einer Klappe schlagen könnte:

-Ich könnte mit dem Programieren von M-Controllern anfangen und gleichzeitig...

-Weihnachtsdeko bauen !


Ich wollte einen Holzstern aussägen und Löcher für 20 LED's reinbohren, die ich dann mit M-C. blinken lasse...(natürlich nicht alle einzel, sonder im Verbund über Transistoren geschaltet, sodass ich ca. 6 ?Steuerausgänge? brauche)

Bin nur wie gesagt neu auf dem Gebiet und hab kene Ahnung, was ich nun für einen Controller brauch, und was ich an Hard und Software zum Programmieren besorgen müsste...

Vielleicht weiß ja jmd. weiter


Grüße Danny

[ Diese Nachricht wurde geändert von: Danny.K27 am 30 Nov 2010 16:03 ]

BID = 730612

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

 

  

Hallo Daniel,

Dazu wäre z.B. der ATmega8 von Atmel in der Lage, aber auch zig andere Mikroprofessoren können das, auch z.B. PICs von Microchip.

Für den Atmega benötigt du noch einen Brenner, den man selbstbauen oder fertig kaufen kann. Fürs Kaufen empfehle ich den MyAVR USB Light oder ähnliche.

Welche Sprache möchtest du denn benutzen? Einfaches Blinken kann man auch prima direkt in Assembler programmieren.

_________________

BID = 730627

Danny.K27

Neu hier



Beiträge: 45
Wohnort: Minden
Zur Homepage von Danny.K27

Hi,

@DonComi: Ich will lediglich ein Lichtmuster haben, dass von außen nach innen und wieder zurück läuft...

Was ist gemeint mit Brenner? Ist das so ne art Steckfassung für den IC oder wie darf ich dass verstehen ???

Sprache: am besten Deutsch, geht aber auch Englisch

grüße danny

BID = 730629

Kleinspannung

Urgestein



Beiträge: 13354
Wohnort: Tal der Ahnungslosen


Zitat :
Danny.K27 hat am 30 Nov 2010 17:39 geschrieben :

Ich will lediglich ein Lichtmuster haben, dass von außen nach innen und wieder zurück läuft...

Das geht auch mit Ringzählern oder Schieberegistern

Zitat :

Sprache: am besten Deutsch, geht aber auch Englisch

Der war gut.


_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)

BID = 730642

PhyMaLehrer

Schriftsteller



Beiträge: 908
Wohnort: Leipzig


Zitat :
Kleinspannung hat am 30 Nov 2010 17:42 geschrieben :

Das geht auch mit Ringzählern oder Schieberegistern

Das stimmt natürlich, aber so eine relativ einfache Aufgabe ist eben auch ein guter Einstieg in die Mikrocontroller-Programmierung. (Auch wenn der µP sich unterfordert fühlen und sich etwas langweilen wird... )


Zitat :
Sprache: am besten Deutsch, geht aber auch Englisch

Der war wirklich gut! Gemeint ist, welche Programmiersprache du gern benutzen möchtest. Ich weiß, daß zumindest Kleinspannung es mir nicht übel nimmt, wenn ich BASCOM ins Feld führe, wobei ich große Hochachtung vor Assembler- und C-Programmierern habe. Schau doch beispielsweise mal diese Seite an.

Zum Stichwort Brenner: Das ist eine Schaltung, mit der du dein Programm im nichtflüchtigen Speicher des Mikrocontrollers ablegst, es dort "einbrennst".

BID = 730716

QuirinO

Schreibmaschine



Beiträge: 2205
Wohnort: Behringersdorf
Zur Homepage von QuirinO ICQ Status  

Ich denke auch, dass es durchaus Sinn machen kann, sich einen ICSP-Brenner mit Entwicklungskit fertig zu kaufen. Von Microchip gibts da eine Version die einem wirklich nachgeschmissen wird bei HBE (Direkt-Distributor von Farnell) das Auslaufmodell "Microchip Pic-Kit2"

Dort hab ich mir DAS HIER gekauft. Hat auf Anhieb funktioniert und ich bin zufrieden damit. Dabei muss man sich auch nicht drum kümmern ob der Brenner läuft oder ob die Hardware fehlerfrei ist.
Einstecken und in Assembler losprogrammieren. Denke das könnte für den einstieg ganz gut sein.

BID = 730718

Kleinspannung

Urgestein



Beiträge: 13354
Wohnort: Tal der Ahnungslosen

Das hier wird auch immer wieder gern genommen:
http://www.pollin.de/shop/dt/MTY5OT......html
(ich hab das auch)

_________________
Manche Männer bemühen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitätstheorie.
(Albert Einstein)

BID = 730853

Bartholomew

Inventar



Beiträge: 4681

Ein anderes, treffenderes (aber längeres) Wort für Brenner ist Programmiergerät. Wenn Du noch einen seriellen Port mit +-10V hast, kannst Du dir einen simplen Brenner aus einer IC-Fassung, drei Widerständen, einem Kerko, einer 9pol-Sub-D-Kupplung und einem alten USB-Kabel stricken:
http://s.gullipics.com/image/3/9/j/hq2x3b-e3wje-n0wz/img.png
Passende Brennsoftware:
http://members.aon.at/electronics/pic/picpgm/
Als Entwicklungsumgebung MPLAB von Microchip.

Codeschnipsel als Beispiel und Anregung gibt's bei sprut:
http://www.sprut.de/electronic/pic/programm/sequenc/sequenc.htm
http://www.sprut.de/electronic/pic/......html

Als PIC empfiehlt sich etwa der 16F886, der hat bis zu 24 Output-Pins:
http://www.reichelt.de/?;ACTION=3;L.....86992
Bis zu sechs LEDs dürfen ohne weitere Treiber gleichzeitig eingeschaltet werden (bei je 15mA).
Außerdem hat er noch weitere für Lauflichter interessante Peripherie an Bord wie z.B. einen ADC oder zwei PWM-Module. Ein großer Programmspeicher (kann man die anzuzeigenden Muster notfalls drin abspeichern) ist auch integriert.

Und wenn Du Dich jetzt erschlagen fühlst: Ist normal, muss man durch.
Fang halt erst mal klein mit einer blinkenden LED an, dann geht's Schritt für Schritt weiter.


Gruß, Bartho


P.S.: Der 20ct teurere (und etwas größere) 16F887 hat bis zu 35 Output-Pins:
http://www.reichelt.de/?ACTION=3;GR.....96446
Im Multiplexbetrieb lassen sich damit 17*18=306 LEDs ansteuern.

BID = 730874

Ltof

Inventar



Beiträge: 9323
Wohnort: Hommingberg


Zitat :
Bartholomew hat am  1 Dez 2010 18:07 geschrieben :

...Als PIC empfiehlt sich etwa der 16F886...

Das wäre m.E. mit Kanonen auf Spatzen geschossen und für den Einstieg nicht hilfreich. Ich empfehle zum Einstieg einen einfacheren Typen: PIC16F630. Das reicht für die Aufgabenstellung. Der 16F88x hat viel zuviel Schnickschnack an Bord, der komische Sachen machen kann. Das kann einen Anfänger zur Verzweiflung bringen.

_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)

BID = 730884

Bartholomew

Inventar



Beiträge: 4681

Einspruch stattgegeben.

Wollte selbst gerade was in der Richtung machen, wird bei mir wohl auf den 886 hinauslaufen.

Habe im Netz was schönes fertiges zum Nachbauen gefunden:
http://oldwiki.blinkenarea.org/bin/.....ights
Video:
http://oldwiki.blinkenarea.org/pub/.....x.avi
Dort wird ein 16C54 verwendet, (Quell-)Code ist für den 16C54 und den 16F84 dabei.
Der Code für den 16C54 sollte eigentlich direkt auf dem 16F54 lauffähig sein:
http://www.reichelt.de/?;ACTION=3;L.....86966

Dann hat Danny schon mal lauffähigen Code samt Schaltung, mit dem er experimentieren kann.

@Danny:
PICxxCxxx-Typen besitzen meist einen Speicher, der sich nur duch UV-Licht wieder löschen lässt, und sind daher veraltet. Seit Jahren verwendet man eigentlich ausschließlich die billigeren und wesentlich öfter wiederbeschreibbaren PICxxFxxx-Typen.
Mit kompatiblen Typen macht Microchip die Migration einfach.


Gruß, Bartho

[ Diese Nachricht wurde geändert von: Bartholomew am  1 Dez 2010 19:45 ]

BID = 731116

Bartholomew

Inventar



Beiträge: 4681

Habe mir ein paar Gedanken über ein gemultiplextes LED-Lichtspiel auf 16F886-Basis gemacht.

Ich möchte fünf Zeichen darstellen, dazu brauche ich pro Zeichen maximal 3*8 LEDs, insgesamt läuft es auf ein 12*8-Multiplex hinaus.
Als LEDs kommen Beispielsweise diese in Frage:
http://www.reichelt.de/?ACTION=3;GR.....65134
Nicht stark gerichtet, recht hell und noch erschwinglich. Vertragen bei 1/12 Spieldauer und 1,5ms Periodendauer noch 100mA Pulsstrom.
Als "Zeilentreiber" ließe sich ein ULN2803A verwenden. Dazu eine Frage: Gelten die 500mA für einen Ausgang oder für alle zusammen?
http://www.reichelt.de/?;ACTION=7;L.....4baf1

Als Spaltentreiber ließen sich 12*BC327-40 verwenden:
http://www.reichelt.de/?;ACTION=3;L.....4baf1

Als besonderes Gimmick könnte man noch zwischen Massepin des ULN2803 und Masse einen weiteren Transistor schalten (BC337 wäre eine Möglichkeit, aber auf Kante genäht, muss ja schließlich 800mA aushalten), und diesen von einer der beiden PWM-Module des 16F886 ansteuern lassen. So wäre ein energiesparendes globales Dimmen der gesamten Anzeige möglich, ohne noch große Kunstgriffe im Programm machen zu müssen.
Einlesen der gewünschten Helligkeit via Poti und ADC in einer kleinen Routine. Eine 5-bit-Abstufung (64 Stufen) sollte masse reichen.


Der 886 lässt sich mit einem externen RC-Glied zum oszillieren bringen; wenn man ein Poti verwendet, sollte man den Takt einfach zwischen 40kHz und 4MHz verstellen können. Prima für ein einfaches Einstellen der Lichtspielgeschwindigkeit.


Grundgedanken zum Programmablauf und zur benötigten Frequenz:
Es gibt 12 Achtergruppen, also bekommt jede Gruppe 1/12-tel der Rechenzeit zugestanden. Am Anfang dieses Zwölftels kann jede der 8 LEDs mit 100mA eingeschaltet werden.
Das Zwölftel wird weiter in 64 Teile unterteilt, in denen jeweils geprüft wird, ob alle anfangs eingeschalteten LEDs eingeschaltet bleiben. So lässt sich jede LED einzeln auf einen von 64 Durchschnittshelligkeitswerten einstellen.
Diese 64stel sind jeweils 64 Zyklen/Befehle lang. 64 Befehle sollten ausreichen, um im ersten 64-stel des Zwölftels das jeweils gewünschte Bitmuster zu erzeugen und zu laden. In den anderen 63 64-stel müssen ja dann nur noch je acht Zähler dekrementiert und eventuell LEDs ausgeknipst werden.

Ein Zyklus dauert beim PIC bekanntlich vier Takte. Möchte man nun pro Sekunde 25 verschiedene globale Bitmuster laden, so ergibt sich für die benötigte Taktfrequenz des PIC:
4 * 25 * 12 * 64 * 64 = 4 915 200 .
Das sollte mit dem RC-Oszi noch machbar sein. Ist das fürs Auge zu schnell, kann man ja einfach das Geschwindigkeits-Poti runterdrehen und so den Ablauf bis zum Faktor 100 verlangsamen.
Läuft der Takt ganz langsam mit so 30.000Hz, bedeutet das, dass die einzelnen LED (ohne globale PWM) mit 30.000/4/12Hz=625Hz gepulst werden (Spieldauer=1/12), das sind etwa 1,5ms, und dafür spuckt das oben verlinkte LED-Datenblatt die 100mA zulässigen Pulsstrom aus (für höhere Frequenzen ist bei gleicher Spieldauer ein höherer Pulsstrom erlaubt).
Bei 6V Versorgungsspannung komme ich mit den oben beschriebenen jeweils drei Transistoren pro LEDs auf einen Vorwiderstand von 27 Ohm, der schlimmstenfalls kontinuierlich knapp 300mW verbrät. Also 8 Stück 1W-Metallfilmwiderstände direkt hinter den ULN2803 schalten und gut ist. Oder doch besser 12 Stück an die Spaltentransistoren, könnte der gleichmäßigeren Erwärmung der Widerstände und damit einem gleichmäßigeren LED-Helligkeitsnormal dienen, mal sehen.
Energieversorgung entweder über 4 Mignonzellen (reichen knapp 2 Stunden) oder Netzteil. Vdd des PIC wird mittels Dioden auf ein erträgliches Maß gebracht. Bei den Pufferelkos und Blockkerkos mus ich noch mal schauen, was ich wohl so brauche.

Die 64*64*12-Zyklen-Einteilung sollte sich durch die Überwachung eines Timers leicht realisieren lassen (der 16-bittige Timer1 ist ja noch frei). Muss man ja nur mittels btfss/btfsc jeweils warten, bis das entsprechende Bit umgekippt ist.

Welche Musterfolge jeweils abgespielt werden soll, sollte sich auch via ADC und Poti einlesen lassen (am besten gleich mit Hysterese). Damit gibt es dann am fertigen Lichtspiel insgesamt einen Ein-/Aus-Schalter sowie je ein Poti für Helligkeit, Geschwindigkeit und Muster.


Sieht jemand grobe Fehler im (Hardware-)Konzept? Sonst werde ich wohl demnächst die Teile ordern. An der Software lässt sich ja dann beliebig rumdoktorn.


Gruß, Bartho

BID = 731132

Ltof

Inventar



Beiträge: 9323
Wohnort: Hommingberg

@Bartho

Was soll das werden?

Willst Du einen potenziellen µC-Einsteiger völlig überfordern?

Davon mal abgesehen, dass Danny noch Meilen davon entfernt ist, sich überhaupt für irgendeine µC-Familie entschieden zu haben, würde der Power-Sequencer von Sprut als Basis für die Aufgabenstellung reichen (falls es PICs sein sollten).

_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)

BID = 731165

Bartholomew

Inventar



Beiträge: 4681

Sorry, war ein gemeiner Fall von Thread-Hijacking meinerseits. Soll nicht wieder vorkommen.

Hier noch für Danny das originale Sprut-8LED-Lauflicht mit sehr übersichtlichem Quellcode:
http://www.sprut.de/electronic/pic/.....h.htm


Gruß, Bartho

BID = 731169

QuirinO

Schreibmaschine



Beiträge: 2205
Wohnort: Behringersdorf
Zur Homepage von QuirinO ICQ Status  


Offtopic :
Hijack! Hi!

BID = 731275

Danny.K27

Neu hier



Beiträge: 45
Wohnort: Minden
Zur Homepage von Danny.K27

Tag erstmal...

Also ich denke , dass ich den ATmega8 nehmen werde und mir selbst einen Brenner baue, da ich noch ne serielle Schnittstelle habe.

Jetzt ist nur die Frage, welches Programm ich zum Prorammieren nehmen soll...Kann mir jemand ne kleine auflistung was verständlichkeit, leichtigkeit, Programmiersprache und Programmsprache betrifft geben ?

Wär echt nett!

Grüße Danny


[ Diese Nachricht wurde geändert von: Danny.K27 am  3 Dez 2010  9:29 ]


      Nächste Seite
Gehe zu Seite ( 1 | 2 Nächste Seite )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 18 Beiträge im Durchschnitt pro Tag       heute wurden bisher 12 Beiträge verfasst
© x sparkkelsputz        Besucher : 182106356   Heute : 2845    Gestern : 5799    Online : 705        1.10.2024    15:41
4 Besucher in den letzten 60 Sekunden        alle 15.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0684020519257