PWM von 50Hz auf 100Hz reduzieren

Gast #3833135
Hallo,

ich bin auf der Suche mit einer Hardware die PWM Frequenz von 500Hz auf 
100Hz zu reduzieren. Die PWM wird durch einen Arduino erzeugt und wenn 
ich diese dort reduziere, hat das großen Einfluss auf weitere 
Funktionen.

Vielen Dank für Eure Hilfe.

Gruß

Alexander
#3833155
Einen 2. Arduino und den dann entsprechend programmieren.
Oder doch im 1. Arduino machen.

Alexander schrieb:
> und wenn
> ich diese dort reduziere, hat das großen Einfluss auf weitere
> Funktionen.

Warum? Dann die Funktionen besser entkoppeln.
Mit zusätzlicher Hardware schlechte Programmierung zu übertünchen ist 
selten eine gute Idee. Das nächste Problem im Spagetticode kommt 
bestimmt.
#3834682
Hallo Alexander,

ich spekuliere mal frech, dass in Deinem Arduino die PWM nicht per 
PWM-Funktionsblock sondern per Zähl-Schleife erzeugt wurde. Zur Zeit 
dauert das Ding 2 ms (500 Hz). Wenn Du die Zählschleife auf 100 Hz 
verlangsamst, dann schläft der ganze Arduino ein. Nutzung des PWM-FB 
geht nicht, weil "ungünstiges Portrouting" oder "nicht eingearbeitet" 
oder "anderweitig belegt".

Ist meine Spekulation halbwegs korrekt? Wenn "ja", dann hast Du ein 
Problem. Entweder die Software-Struktur umstellen (das geht in ein paar 
Minuten) oder die üblichen hardcore Wege.

Man könnte die PWM integrieren und dann die analoge Spannung mit einem 
extra PWM-Modulator in die gewünschte PWM wandeln. Aufwand: 1 Doppel-OPV 
und 4 "Hühnerfutter", 1 Stunde und Oszi.

Oder man kann über fünf Zyklen die high-Zeiten und gesondert die 
low-Zeiten addieren und daraus dann direkt die neue PWM erzeugen. 
Aufwand: 1 Conroller, 2 Stunden.

Oder... oder... oder...

VG

Fred
#3834703
@ pwm (Gast)

>Die "Arduino-PWM" hat 490 Hz bzw. 980 Hz, der TE schreibt von 500 Hz,
>was die Vermutung untermauert Software-PWM...

Klar. Weil der OP GAAANZ sicher GAAAANZ genau gemessen hat. Ich würde 
eher sagen, die 500Hz sind real 490 Hz und damit Hardware-PWM.
#3834736
pwm schrieb:
> Die "Arduino-PWM" hat 490 Hz bzw. 980 Hz, der TE schreibt von 500 Hz,
> was die Vermutung untermauert Software-PWM...

das vermute ich auch, habe die Funktion PWM auch zum erstan mal am 
Arduino aktiviert und wunderte mich, kein Port vorgegeben ? keine 
Einstellmöglichkeiten ?
Vorteiler Counter OCRA OCRB alles egal ?
Das muss Software PWM sein :-)

OK für meine Hintergrundbeleuchtung LED dimmen reicht es ja, will ich 
besseres würde ich die Arduino Umgehen und die richtigen Ports richtig 
hardware mäßig initialisieren.
Gast #3834750
Joachim B. schrieb:
> das vermute ich auch, habe die Funktion PWM auch zum erstan mal am
> Arduino aktiviert und wunderte mich, kein Port vorgegeben ? keine
> Einstellmöglichkeiten ?
> Vorteiler Counter OCRA OCRB alles egal ?

Schon mal auf die Idee gekommen, dass das alles im pinMode() und 
analogWrite() erledigt wird?
#3834752
Ich kenn den Arduino nicht. Aber wenn der nur 500Hz kann (was ich 
allerdings nicht glauben mag, weil da doch auch irgendein Atmel verbaut 
ist), dann wird der TE vermutlich genau da sein Problem haben. Denn er 
müsste ja den gesamten Takt auf 1/5 runterdrehen, um 100Hz PWM zu 
erzeugen.

Ich bin gespannt, ob sich der Alexander nochmal meldet....

VG

Fred
#3834779
Werner schrieb:
> Schon mal auf die Idee gekommen, dass das alles im pinMode() und
> analogWrite() erledigt wird?

ja ! bin ich und nun ?

wie hilft das weiter ?

und nein ich habe keine Lust momentan die ArduinoLIB zu analysieren,

ich zitiere mal "bei einer hübschen Frau fragt man sich auch nicht wie 
sie es macht, man geniesst das Ergebnis"

aus Unternehmen Petticoat ?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.