PWM von 50Hz auf 100Hz reduzieren

Gast #3833135
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

@ 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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren