PWM Frequnenz

redtop

Member
Die beiden Pin's pinMotorLeftPWM 4 und pinMotorRightPWM 3 verwenden unterschiedliche Timer.

Siehe hier http://letsmakerobots.com/node/40136

In dem Link ist auch die Auswirkung der Frequenz auf die Drehzahl in den Drehmoment sehr gut erklärt.

Was zur Steuerung von zwei Antriebsmotoren eher ungünstig ist. Günstiger währe es zwei Pins die die den gleichen Timer mit dem gleichen Timer angesteuert werden zu verwenden. Also z.B.
#define pinMotorLeftPWM 6
#define pinMotorRightPWM 7

Die PWM Frequenz kann man hiermit einstellen:
/---------------------------------------------- Set PWM frequency for D6, D7 & D8 ---------------------------

//TCCR4B = TCCR4B & B11111000 | B00000001; // set timer 4 divisor to 1 for PWM frequency of 31372.55 Hz
//TCCR4B = TCCR4B & B11111000 | B00000010; // set timer 4 divisor to 8 for PWM frequency of 3921.16 Hz
TCCR4B = TCCR4B & B11111000 | B00000011; // set timer 4 divisor to 64 for PWM frequency of 490.20 Hz
//TCCR4B = TCCR4B & B11111000 | B00000100; // set timer 4 divisor to 256 for PWM frequency of 122.55 Hz
//TCCR4B = TCCR4B & B11111000 | B00000101; // set timer 4 divisor to 1024 for PWM frequency of 30.64 Hz



Gruss Stefan
 
Besser als Pin 6 & 7 ist wohl Pin 3 & 5 wie in der Developer Version zu verwenden. Dann muss nicht alles umgebaut werden.

Wobei die Pins 2, 3 & 5 zum Timer 3 gehören. Dieser verwendet allerdings keine festen Teiler sonder verendet aktuell gemessene Werte ? Was auch immer das bedeute.


Sollte jemand damit Probleme haben, könnte es Sinn machen, die Pins 9 & 10 verenden. Diese Benutzen den Timer 2, was den Vorteil hat das 980 KHz einstellbar ist. Das Problem ist das Pin 10 für remote control speed verwendet wird.

Diese könnte man allerdings auch tauschen.

Ist vielleicht eine Idee für die 1.0 Version ?

Stefan
 
Hi Zusammen,

ich wecke mal diesen Thread nochmal auf, weil es genau hierhin passt :eek:hmy:

Wir benutzen ja nun die Pins 2,3 und 5 für die Motoren.
Für diese Pins gibt es im Mega diese Möglichkeiten:

prescaler = 1 ---> PWM frequency is 62000 Hz
prescaler = 2 ---> PWM frequency is 7800 Hz
prescaler = 3 ---> PWM frequency is 980 Hz (default value)
prescaler = 4 ---> PWM frequency is 250 Hz
prescaler = 5 ---> PWM frequency is 60 Hz
prescaler = 6 ---> PWM frequency is
 
Hallo Aiko,

wir haben verschiedene Tests gemacht... je höher die Frequenz, umso heißer wurden die MC-Motortreiber. Bei der tiefsten Frequenz blieben sie lauwarm. Soweit ich mich erinnern kann, hatte die Frequenz für die Motoren keinen Einfluß auf den Schleifenempfang.

Gruss,
Alexander
 
Danke Dir für die schnelle Info, Alexander!
Prima, das hört sich doch gut an. Da ich die MC's bei meinen 3-Phasen BLDC Motoren nicht benötige, kann ich das machen.
Im Testbetrieb sind meine L6235-Käfer nicht mal lauwarm geworden. Ich teste das mal mit Last...
 
Oben