www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kerzensimulator


Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Für eine Tanzaufführung bin ich gebeten worden, eine elektrische Kerze
zu bauen (da offenes Feuer in diesem Raum nicht gestattet ist). Ich
habe folgende Schaltung:

Ein Mega8 als Steuercomputer soll mittels Pseudozufallszahlen die
Helligkeit einer Glühbirne steuern. Momentan hängt an dem Ausgang noch
eine LED, die aber durch Transistor oder Mosfet mit der Lampe (9 V)
später ersetzt wird. Die Helligkeit wird mittels Timer1 PWM über OCA1
gesteuert.

Jetzt habe ich für die Software die Evolution Version von Codevision.
Diese kann ja Pseudozufallszahlen erzeugen. Die Lampe flackert am
Anfang auch kurz, jedoch stellt sich schnell ein sehr stabiler Zustand
ein, so dass die PWM selbst mit dem Oszi nachgemessen immer das selbe
Tastverhältnis behält.

Zur Software: Ich lasse mir zwei Zufallszahlen generieren. Anschließend
setze ich die eine Zufallszahl als Helligkeit und danach warte ich in
einer Schleife die andere Zufallszahl ab (damit sich die Helligkeit
nicht immer gleich schnell ändert).

Der Mega8 läuft mit 1 MHz des internen Taktgenerators.

Hie ein Teil der Software (der selbstverständlich in der
Programmschleife steht):

      // Pseudozufallszahl ereugen
      random = rand();
      // neue Lampehelligkeit festlegen
      brightness = random / 256;
      // neue Wartezeit festlegen (Pseudozufallszahl)
      durance = rand();
      // Helligkeit (PWM) setzen
      OCR1AL=brightness;
      // Durance warten
      for (n; n<=durance; n++)
      {
        for (s; s<=10000; s++)
        {
          #asm("nop");
        }
      }

Hat jemand eine Idee, warum das ganze nach einer Zeit immer stabil
wird? Vielleicht hat jemand einen Vorschlag, wie man das Flackern der
Kerze noch naturgetreuer mit obiger Schaltung nachahmen könnte.

Vielen Dank & viele Grüße
Steffen

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

einfache & fertige Lösung: es gibt fertige Lampen für wenig Geld, die
eine Kerzen/ein Feuer simnulieren sollen. Ich habe sie z.B. schon um
Weihnachten rum in Krippen gesehen. Wenn man nicht zu nahe ran geht,
sieht es gut aus. Einfach mal bei Conrad suchen, die haben sowas glaube
ich.
Wenn natürlich der Basteldrang überwiegt...

/Christian

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich kenne solche Lampen. Bisher habe ich ndie nur für 240V gesehen,
allerdings wird es sie wahrscheinlich auch für 12 V geben.

Ich möchte das aber schon gerne selbst bauen :-)
Sollte ja eigentlich keine sos schwierige Aufgabe sein.

Ich vermute, dass die "Pause" (Schleife) irgendwann einen Wert
annimmt, so dass nach Ablauf der Schleife die Zufallszahl wieder so
groß ist wie vorher. Daher der stabile Zustand der PWM. Aber wie kann
man das ändern?

Viele Grüße
Steffen

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simulier die Software doch mal, dann siehst du welche Zufallswerte
erzeugt werden.

PS: Es gibt keine fertigen Flackerlampen für 120V, da es hierbei um
Glimmlampen handelt, die mindestens 100V benötigen.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
vielleicht solltest du Zählvariablen der Schleifen initialisieren ?
[for(x=0;x<=y;x++){......}] mein ich.
Peter

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt:
Leider kann man mit CodeVision keine Programme simulieren.

@Peter:
Du hast Recht. Das habe ich jetzt gemacht, allerdings bleibt jetzt das
Tastverhältnis sofort von Anfang an konstant. Das ist mir noch
unerklärlicher ...

Viele Grüße
Steffen

Autor: Bitte_Löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Momentan hängt an dem Ausgang noch
eine LED"

Die Frage ist ob später die Glühlampe auch so schön flackert? Denn die
wird sicherlich viel träger reagieren als Deine LED. Solltest Du am
besten schon berücksichtigen. Aber das nur als Tipp :-)
Bei Deinem Programm-Problem kann ich Dir leider nicht weiterhelfen.

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So - es funktioniert jetzt.
Es hing an der Schleife innerhalb der Schleife. Das war wohl doch etwas
zu lang ;-)

Jetzt werd ich es mal mit einer Glühlampe austesten, in der Hoffnung,
dass "Bitte-Löschen's" Zweifel unbegründet sind!
Wenns nicht klappt, kann ich ja dann die Blinkfrequenz noch ändern.

Vielen Dank und viele Grüße
Steffen

Autor: Dennis Brücke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Steffen,

warum Mega8 ? Ist der nicht ein wenig überdimensioniert für so was ?
Ich hatte mal die gleiche aufgabe (120 Kerzen) ;)

Habe dafür einen Tiny11/12 genommen diesen über einen Transistor eine
12Volt/6Watt Glühlampe mit 7,2Volt schalten lassen (weniger Spannung
damit das schummer licht besser rüberkommt)

Ging supi ;)

Gruß Dennis

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dennis!

Keine Frage - aber das ist der einzige Controller, der keine externe
Taktquelle bruacht, den ich grade noch dahabe. Und ich möchte
eigentlich nichts neues bestellen.

Bei der nächsten Bestellung sind ein paar Tinys dabei, klar :-)

Grüße
Steffen

Autor: Dennis Brücke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

komme nie auf die Idee zu sagen... "Schatz schau mal wir brauchen nie
wieder wachs kerzen..." ich sag Dir das gibt nur stress... grins

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar - werde mich dran halten :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.