frequence PWM

Bonjour,

J'ai un sérieux problème que je n'arrive pas à résoudre ^^

J'utilise une carte arduino micro (Atmega32U4)
Il faut que j'arrive à changer la frequence de mes PWM.
J'utilise les pins 5,6,9,10,11,13.

Par default les pins sont en fréquences audible et il me les faut en fréquences non audible.

Comment je peux faire ?

Vous me sauver d'un gros projet si vous m'aider à trouver la solution

il y a à la minute près un autre sujet "Fréquence PWM"
Peut-être faudrait-il commencer par l'utiliser.

Sinon faire plus vague que ta question est difficile.
La bonne question aurait du être : Je cherche à avoir une fréquence de PWM comprise entre x Hz et y Hz.

Tous les renseignements que tu cherches sont dans la dataseet de l'Atmega 32U4.
Commence par chercher comment faire dans la datasheet et si tu ne comprends pas quelque chose revient avec des questions précises.

Moi j'ai très bien compris sa question : il veut juste des PWM au-dessus de 20KHz. Le souci, c'est que les moteurs à courant continus répondent beaucoup moins bien si la fréquence est trop élevée... 1000Hz, je trouve que c'est un bon compromis.

Si c'est pour des leds, c'est moins gênant, ça marchera à haute fréquence.

Mais ceci ne l'empêche pas de cibler son besoin! :smiley:

Le terme "audible" est utilisé, peut être pour câbler un hp/Buzzer qu'un humain ne puisse entendre

Mon problème est pour des LEDs (6 LEDs)

Et si je mets un poste de radio à coté j'entends les PWMs.

Je ne suis pas très bon en programmation bas niveau et avec la datasheet c'est assez dur pour moi de comprendre comment changer les fréquences.

Je lis des trucs qui disent que c'est très simple. Mais pour moi par exemple le mot registre est un flou artistique.

Perturbation électromagnétique .

Deux façon de voir la protection du poste de radio :

  1. Cacher la poussière sous le tapis en changeant la fréquence. Attention ce n'est pas gagné d'avance il. peut encore se produire de l'intermodualation avec des produits qui"tombent" dans les fréquences audibles.

  2. Respecter les nouvelles directives qui imposent à un matériel de ne pas polluer les autres.
    Je pense là à placer le montage de ton gros projet dans un boîtier métallique.

Et plus probablement faire les deux, l'effet de blindage étant plus efficace à fréquence élevée.

Il y a actuellement sur la zone anglaise une discussion pour une bibliothèque sur ce sujet,
Manque de chance l'auteur ne gérait pas le 32U4 !
Peut-être qu'il y a du nouveau ?

Je suis d'accord que ça revient à camoufler le problème :wink:

Donc après avoir fait plusieurs recherches j'ai presque réussi.

Dans mon setup je place :

TCCR1B=1|0x08;
TCCR3B=1|0x08;
TCCR4B=1;

Correspondant au timer 1 timer 4 et timer3
Le timer 1 est pour les PINs 9 10 et 11
Le timer 3 est pour la PIN 5
Le timer 4 est pour les PINs 13 et 6

à l'osciloscope j'ai réussi à mettre les fréquences au maximum :slight_smile:

Sauf la pin 11 (PB7 sur datasheet atmega32U4)
La pin ne change pas de valeur

Là je ne comprends pas pourquoi est-elle différente?