5V LED mit Sinuskurve pulsieren lassen?

OP #7837220
Lesenswert?
• ▲
▼

Hi, ich habe hier eine kleine Deko-Lampe die über USB angeschlossen ist. Ich habe sie geöffnet und festgestellt das dort einfach die 2 Drähte von der 5V Spannungsversorgung genommen wurden um eine kleine, superhelle, LED zu versorgen.

Ich würde sie gerne kontinuierlich und langsam pulsieren lassen. Einer Sinus-Kurve folgend. Mit einem kleinen Drehpoti in der Schaltung um die Frequenz einzustellen.

Aber Elektrotechnisch habe ich nur Grundkenntnisse und die ganzen Anleitungen sind meinem Eindruck nach viel zu professionell und komplex, damit sie perfekte Signale erzeugen, also das Gegenteil von dem was ich brauche. Oder nehmen gleich einen riesigen Arduino!

Wahrscheinlich ist mein Google-Fu nur zu schlecht? Ich denke das ist auf einem so niedrigen Anfänger-Level, es gibt da eine Anleitung für. Hat jemand einen Link?

#7837237
Lesenswert?
• ▲
▼

Codierer schrieb:

Ich würde sie gerne kontinuierlich und langsam pulsieren lassen. Einer Sinus-Kurve folgend.

Es oszilliert sogar mit 1 Transistor, zumindest wird die LED heller und dunkler. (siehe http://www.dieelektronikerseite.de/ Weichblinker, je höher Betriebsspannung, je weicher blinkt er)

1
          LED
2
   +----+-|>|-+                                        LED
3
   |    |     |                +--------------------+--|>|--+
4
   |   470k  470R              |                    |       |
5
   |    |     |  +  -          |                   470k    470R
6
   |    |     +--22uF--+       |                    |       |
7
 + |    |     |        |     + |    +--22u----------(-------+
8
 9-12V  +----|< BC547  |  =  9-12V  |               |       |
9
 - |    | +   |E       |     - |    +--22u--+--10u--+------|< BC547
10
   |   10uF   |        |       |    |       |               |E
11
   |    | -   |  +  -  |       |   2k2     2k2              |
12
   |    +-----(--22uF--+       |    |       |               |
13
   |    |     |        |       +----+-------+---------------+
14
   |   2k2    |       2k2
15
   |    |     |        |
16
   +----+-----+--------+

Die nur 5V können ein Problem werden.

Es gibt Kerzenflacker-LED und Farbwechsel-LED, die nutzen neben den LED einen kleinen Chip, im Prinzip ein Mikroconroller wie Attiny5 oder PMS160.

Vielleicht kannst du aus einer RGB Farbwechsel-LED die blaue und grüne LED gezielt zerstören.

#7837250
Lesenswert?
• ▲
▼

Michael B. schrieb:

Es oszilliert sogar mit 1 Transistor, zumindest wird die LED heller und dunkler.

Für eine korrekt schöne Lösung "mit Sinuskurve pulsieren" müsste man den Strom natürlich nur oberhalb der minimalen Flußspannung variieren.

Aber so .. Codierer schrieb im Beitrag #7837220:

Aber Elektrotechnisch habe ich nur Grundkenntnisse und die ganzen Anleitungen sind meinem Eindruck nach viel zu professionell und komplex,

schlechte Karten, das wird komplex.

Moderator (Firma: Titel) Persönliche Seite #7837259
Lesenswert?
• ▲
▼

Wer übrigens meint, dass es ausreicht, die LED mit einem Sinusstrom oder einer Sinus-PWM anzusteuern, der hat die Rechnung ohne das logarithmische Helligkeitsempfinden des Auges gemacht.

Oder andersrum: wenn das Auge einen sinusförmigen Helligkeitsverlauf sehen soll, dann sieht die Ansteuerung bzw. der Stromverlauf sicher nicht sinusförmig aus.

#7837268
Lesenswert?
• ▲
▼

Codierer schrieb:

Aber Elektrotechnisch habe ich nur Grundkenntnisse

So eine ähnliche Transistor-Schaltung wurde oben schon genannt:

https://www.elektronik-kompendium.de/sites/praxis/bausatz_blinker.htm

oder

https://www.google.com/search?client=firefox-b-d&q=led+sine+oscillator

gleich das erste Video: https://www.instructables.com/Sinusoidal-LED-Fader-Using-Twin-T-Oscillator/

darüber scheint es viel Material zu geben.

mfg

#7837285
Lesenswert?
• ▲
▼

Roland E. schrieb:

Such dir einen (beliebigen) MuC, der einen ADC hat.

Einer mit einem Komparatoreingang und ein Kondensator wäre auch eine Möglichkeit.

Codierer schrieb:

Oder nehmen gleich einen riesigen Arduino!

Du könntest genauso gut einen kleinen Pro Mini nehmen (braucht aber z.b. einen anderen Arduino als Programmiergerät) https://de.aliexpress.com/item/1005006035246840.html

#7837301
Lesenswert?
• ▲
▼

Codierer schrieb:

Wahrscheinlich ist mein Google-Fu nur zu schlecht? Ich denke das ist auf einem so niedrigen Anfänger-Level, es gibt da eine Anleitung für. Hat jemand einen Link?

Meinst du die Antworten hier werden einfacher als deine Google-Ergebnisse? Frage lieber "Wer kann mir so etwas bauen?".

Lothar M. schrieb:

Wer übrigens meint, dass es ausreicht, die LED mit einem Sinusstrom oder einer Sinus-PWM anzusteuern, der hat die Rechnung ohne das logarithmische Helligkeitsempfinden des Auges gemacht.

Könnte aber Softwaremäßig ausgeglichen werden. Wie wichtig ist dem TO aber die Einhaltung einer Sinuskurve.

Norbert schrieb:

Cosinus-Kurve. Vielleicht könnte man ja mit einem Phasenschieber…

LOL ;-)

#7837377
Lesenswert?
• ▲
▼

Ich hatte sowas in der Art mal für einen ATTiny10 aus Spaß an der Freude gemacht:

1
#include <avr/io.h>
2
#include <util/delay.h>
3
#ifndef F_CPU
4
#define F_CPU 1000000UL
5
#endif
6

7
volatile byte sinepos = 0;
8

9
byte sine[] = { 1, 1, 2, 3, 5, 8, 11, 15, 20, 25, 30, 36, 43, 49, 56, 64, 72, 80, 88, 97, 105, 114, 123, 132, 141, 150, 158, 167, 175, 183, 191, 199, 206, 212, 219, 225, 230, 235, 240, 244, 247, 250, 252, 253, 254, 255, 254, 253, 252, 250, 247, 244, 240, 235, 230, 225, 219, 212, 206, 199, 191, 183, 175, 167, 158, 150, 141, 132, 123, 114, 105, 97, 88, 80, 72, 64, 56, 49, 43, 36, 30, 25, 20, 15, 11, 8, 5, 3, 2, 1, 0 };
10

11
void main() {
12
  DDRB = 1 << DDB0;
13

14
  //Timer0 for PWM
15
  // PWM, Phase Correct, 8bit
16
  TCCR0A = (1 << COM0A1) | (0 << COM0A0) | (1 << COM0B1) | (0 << COM0B0) | (0 << WGM01) | (1 << WGM00);
17
  TCCR0B = (0 << ICNC0) | (0 << ICES0) | (0 << WGM03) | (1 << WGM02) | (0 << CS02) | (0 << CS01) | (1 << CS00);
18

19
  // Initialize ADC
20
  // No clock divider, MUX set to ADC2 -> PB2
21
  ADMUX = (1 << MUX1) | (0 << MUX0);
22
  ADCSRA = (1 << ADEN) | (0 << ADPS2) | (0 << ADPS1) | (0 << ADPS0);
23

24
  // LED Pins are outputs
25
  DDRB = (1 << DDB0) | (1 << DDB1);
26

27
  // Loop
28
  while (1) {
29
    unsigned char delayval;
30

31
    // Start conversion
32
    ADCSRA |= (1 << ADSC);
33

34
    // Wait for conversion to complete
35
    while (ADCSRA & (1 << ADSC))
36
      ;
37

38
    delayval = (unsigned char)ADCL;
39

40
    OCR0A = sine[sinepos];
41
    OCR0B = 255 - sine[sinepos];
42

43
    sinepos++;
44

45
    if (sinepos >= sizeof(sine)) {
46
      sinepos = 0;
47
    }
48

49
    _delay_ms(delayval);
50
  }
51
}

Die Periodendauer ist erstmal nicht groß umgerechnet, wenn man andere Werte haben möchte, müsste man das vielleicht noch entsprechend skalieren

OP #7838221
Lesenswert?
• ▲
▼

Erstmal vielen Dank für die Antworten.

Und: Christian S. schrieb im Beitrag #7837268:

https://www.google.com/search?client=firefox-b-d&q=led+sine+oscillator

gleich das erste Video: https://www.instructables.com/Sinusoidal-LED-Fader-Using-Twin-T-Oscillator/

Danke! Das ist es. Genau sowas habe ich gesucht. Ich habe einfach nur ständig die falschen Keywords benutzt und bin immer wieder bei denselben Ergebnissen gelandet. Danke auch für die Google Keywords, dann kann ich selber die Suche erweitern. :-)

Ich dachte mir doch das es nicht so kompliziert sein kann. Das waren alles Anleitungen für Leute die auf saubere Sinuswellen angewiesen sind oder sogar "rechteckige" Sinuswellen wollten. Brauch ich ja nicht.

Die 12V Quelle auf 5V umzubauen traue ich mir schon zu. Und einen der Widerstände durch einen Poti ersetzen, das werde ich ja wohl noch hinbekommen :-D.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.