Arduino UNO und 6 PWM und IR-Bibliothek

Hallo zusammen

Ich habe folgendes Problem:
Ich möchte alle 6 PWM eines ATMEGA328 unabhängig voneinander nutzen und gleichzeitig die IR-Bibliothek "IRremote by shirriff v2.2.3"
Der ATMEGA328 wird in einem UNO programmiert, soll aber nachher standalone laufen.

Leider scheint es da einen Konflikt mit den vorhandenen Timern zu geben. Sobald die IR-Biblithek genutzt wird funktioniert PWM auf den Ausgängen 3 und 11 nicht mehr.

Das liegt wohl an Timer 2 der von der IR-Bibliothek genutzt wird und für PWM für 3 und 11 benötigt wird.

Sieht irgendjemand eine Möglichkeit wie ich mein Vorhaben so umsetzen kann?

  1. Nur ein Chip (ATMEGA328)
  2. 6 unabhängig regelbare PWM
  3. IR-Empfang (Signal einer Fernbedienung)

Ich Bedanke mich schon mal vorab

So wie es jetzt aussieht, kannst du es nur mit weiterer Hardware lösen.
Entweder einen externen IR-Controller (Atmega328 oder ATtiny85), oder einen externen PWM-Controller.

Edit:
Evtl. funktioniert es auch per Soft-PWM. Da habe ich aber keine Erfahrung.

diwo:
Sieht irgendjemand eine Möglichkeit wie ich mein Vorhaben so umsetzen kann?

Was für PWM (Frequenz, Auflösung) benötigst Du denn? Wenn die Frequenzen nicht so hoch sind, kann man so etwas sehr gut „zu Fuß“ lösen.

Gruß

Gregor

Hallo

schonmal Danke für Eure Antworten.

@HotSystems
Das mit dem ATTINY45 als IR-Empfänger hatte ich auch schon ins Auge gefasst. Hatte gehofft es ginge anders.

Soft-PWM kling interessant. Da müsste ich mich erstmal einlesen.

@gregorss
Ehrlich gesagt kann ich die Frage (Frequenz, Auflösung) nicht beantworten.
Was bedeutet es, das "zu Fuß" zu lösen?
Es sollen 6 LEDs unabhängig voneinander Flackern (Zufallszahl für PWM-Wert und Zufallszahl für Leuchtdauer)

Gruß
Dirk

diwo:
Soft-PWM kling interessant. Da müsste ich mich erstmal einlesen.
.....
Was bedeutet es, das "zu Fuß" zu lösen?

Kommt auf das selbe raus.
Sieh dir mal die Library "MobaTools" an, die macht das.

Moin Moin

so-mal eine kurze Rückmeldung.
Grundsätzlich funktioniert SoftPWM. Danke für den Super Tip.

Aber die Bibliothek "IRremote by shirriff v2.2.3" kollidiert irgendwo mit SoftPWM. Daraufhin habe ich die aktuelle Version "IRremote by shirriff v2.8.1" installiert.
Die kollidiert nicht mehr mit SoftPWM, erkennt leider aber auch die Signale meine Fernbedienung nicht mehr.

Also ich bin noch am basteln. Aber noch guter Hoffnung :wink:

MoBaTools funktioniert leider nicht für mich. Direktes ansteuern der Ausgänge mit MoBaTools geht nur auf dem ESP8266. Auf dem Arduino kann MoBaTools eine LED leider nur Ein und Aus faden.

diwo:
MoBaTools funktioniert leider nicht für mich. Direktes ansteuern der Ausgänge mit MoBaTools geht nur auf dem ESP8266. Auf dem Arduino kann MoBaTools eine LED leider nur Ein und Aus faden.

Verstehe ich nicht.
Was anderes möchtest du mit PWM und Leds denn noch machen ?

HotSystems:
Verstehe ich nicht.
Was anderes möchtest du mit PWM und Leds denn noch machen ?

Also
Die 6 LED werden in zufälligen Intervallen mit Zufälligen PWM-Werten (in bestimmten Grenzen) angesteuert. Damit erscheint es als würden diese flackern.
Das passt dann optisch perfekt zu den Christbaum-Kerzen, die auch so flackern.

diwo:
Also
Die 6 LED werden in zufälligen Intervallen mit Zufälligen PWM-Werten (in bestimmten Grenzen) angesteuert. Damit erscheint es als würden diese flackern.
Das passt dann optisch perfekt zu den Christbaum-Kerzen, die auch so flackern.

Ok, ich selbst habe das noch nicht probiert, sollte aber funktionieren.
Der Autor ist auch hier im Forum aktiv, sollte er sich nicht dazu äußern, evtl. mal per PM hierauf aufmerksam machen und einen Link senden.

In der Tat sind die MobaTools darauf ausgelegt, Led's 'weich' ein- und auszuschalten. Dauerhafte Zwischenzustände sind nur auf dem ESP8266 möglich ( der macht PWM sowieso komplett in Software, der hat gar keine HW dafür ).
Inwieweit man dann durch zufallssgesteuertes schnelles Ein-Ausschalten solche Effekte erzeugen kann, müsste man ausprobieren. Vorgesehen war so etwas nicht.

Sorry, dass ich durch mein "Nichtwissen" zu viel "versprochen" habe. :wink:

Moin zusammen

HotSystems:
Sorry, dass ich durch mein "Nichtwissen" zu viel "versprochen" habe. :wink:

Kein Grund sich zu entschuldigen. Immerhin hätte das ja gut funktionieren könne. Und zudem habt ihr mich hier in dem Forum auf SoftPWM aufmerksam gemacht. Und das ist ja tatsächlich ein vielversprechender Ansatz.

MicroBahner:
Dauerhafte Zwischenzustände sind nur auf dem ESP8266 möglich ( der macht PWM sowieso komplett in Software, der hat gar keine HW dafür ).

Dann hatte ich das doch richtig gelesen ( Puh :cold_sweat: ).

Ich werde hier auf jeden Fall Rückmeldung geben, ob ich die IR-Bibliothek zusammen mit SoftPWM ans Laufen bekommen habe.

Bis hier hin auf jeden Fall schon mal vielen Dank

Gruß
Dirk

diwo:
in dem Forum auf SoftPWM aufmerksam gemacht. Und das ist ja tatsächlich ein vielversprechender Ansatz.

Ist es. Mehrere kHz sind normalerweise kein Problem.

Gruß

Gregor

gregorss:
Mehrere kHz sind normalerweise kein Problem.

Nun ja,.... gehen wir also von 5kHz aus. Das bedeutet eine Periode von 200 µs. Willst Du dann eine Auflösung von 8Bit ( 255 Stufen ) haben, wäre der kürzeste Impuls < 1µs. Und das willst Du auf einem Standard-Arduino (AVR) problemlos in Software realisieren?

Aber glücklicherweise braucht man für die Ansteuerung von Led's ja nicht mehrere kHz :slight_smile: .

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.