Faire son filtre passe-bas

Portrait de zenvice

Bonjour à tous !

J'ai eu récemment à créer un filtre passe bas afin de lisser la sortie PWM d'un arduino, cette sortie est cadencée à 976.56Hz.
Je suis parvenu à trouver le calibrage de la resistance et du condensateur afin de filtrer correctement ce signal, en visualisant
la sortie et l'entrée sur mon oscilloscope, et en procédant donc par élimination de mes résistances et condos sur une breadboard.

Resistance : 47KOhms
Condensateur : 1mF

Bon et alors pourquoi il vient nous casser les pieds ?

Car je ne parviens pas, malgré mes recherches, à trouver ce résultat de manière théorique. Et dieu sait que ça pourrait me permettre de gagner un temps précieux à l'avenir. J'ai tenté la formule Fc* = 1/(2 x pi x RC) avec Fc ma fréquence de 976.56Hz/10 car c'est un premier ordre, voir j'ai tenté de tricher avec les calculatrices pour trouver le calibrage de son circuit RC sur internet, rien de pertinent non plus...

L'explication avant de me donner une formule toute faite serait la cerise sur le gâteau du savoir.

Fc* : Fréquence de coupure.

Qui pourrait me donner un coup de main ?

Merci par avance !

Portrait de Walter

Bonjour,
Je ne suis pas expert, donc je vais peut être dire des bêtises.
Tu es sûre de ce que tu vois sur ton oscillo ?
Je ne comprend pas pourquoi tu veux laisser passer les fréquences en dessous de ~97Hz
Du coup tu ne veux pas ton PWM?
 

Portrait de hercule124

Bonjour,

pour répondre a ta question la fréquence de coupure pour un filre passe bas rc   avec r=470k et c=1mf la frequence de coupure est de 338.628 µhz mais attention si c'est un condo de 1µf c'est pas la meme chose fc = 338,628 mhz apres je comprends pas l'interet de lisser une sortie pwm de l'arduino mais bon tu as peut être une bonne raison.

Portrait de hercule124

oups c'est 47k pas 470k donc un condo de 1mf fc = 3.386mhz et un condo de 1µf fc= 3.386 hz

Portrait de zenvice

Spy, tout depend des sorties pwm de l'arduino, certaines sont par défaut à 490Hz en effet, alors que d'autres sont comme la 5 et la 6 à 976.56Hz, j'ai mesuré à l'oscillo avant de faire tout ça. Je veux un signal continue alors que mon pwm perturbe le moteur de la pompe que je commande et la rende instable.

Portrait de hercule124

je suis pas un expert  mais je pense que pour faire varier la vitesse de ta pompe soit un moteur synchrone ou asynchrone , il faut faire varier sa fréquence et sa tension

Portrait de Walter

tu veux en fait moyenner ton PWM, pour avoir sont équivalent en voltage continue?
Tu pilote ton moteur via un driver ou un MOSFET?
as tu essayé de changer le prescaler de la fréquence de l'arduino, pour augmenter la fréquence du PWM?

Portrait de zenvice

Pour être exact c'est une moyenne du signal pwm que je veux, en continue, et pas de signal carré, d'ou le besoin de filtre passe-bas.

Portrait de zenvice

Le changement de fréquence atténue un peu mais ça ne fait pas encore ce que je cherche

Portrait de Walter

ok, du coup qu'obtient tu lorsque tu utilise la formule Fc = 1/(2 x pi x RC) pour déterminer la valeur du couple RC et une fréquence de coupure de 97Hz?

Un truc sympa que j'ai trouvé
http://ressources.univ-lemans.fr/AccesLibre/UM/Pedago/physique/02/electr...

Portrait de Jetfuzz

hello.
Généralement pour lisser un PWM, je m'embete pas, 10k et 1µF.
avec un arduino ca passe, avec un suiveur derrière c'est encore mieux.

Cordialement

Jetfuzz

Portrait de zenvice
Portrait de zenvice

Un peu d'humour! Mais un filtre RC n'est il pas par défaut un filtre passe bas justement (ou passe haut selon la disposition) ? Si non, pourquoi ?

Portrait de Jetfuzz

Tu peux pas t'en empêcher !!!
tu te braques a chaque fois que l'on te remet en question.
un peux d'humour

Portrait de Jetfuzz

a partir du moment ou tu agresses les personnes sur ce forum, alors oui, c'est mon probleme.

Portrait de Walter

Il ne critique pas ta solution, il te demande en quoi un filtre passe bas ne répond pas à ça demande.
Car comme tu le dis très bien dans ta vulgarisation d'un condensateur, en dimensionnant un condensateur correctement cela a donner une moyenne. en supposant bien sûre que le condensateur puisse ce décharger dans une résistance, donc pourquoi pas un filtre RC simple.
Si tu trace la tension au borne du condensateur d'un filtre passe bas correctement dimensionné, n'aura tu pas justement la moyen du signal PWM ?
Par contre cela ne veut pas dire que si tu veux une tension constante, il ne faudra pas passer par un filtre lisseur comme ceux à décade, mais à t-il réellement besoin d'un lissage aussi précis ?

Je comprend son raisonnement, si tu prend la courbe en tension au borne du condensateur sur une période du PWM.
Et que tu dimensionne le filtre pour rester dans la partie relativement linéaire de la courbe, tu va avoir une droite ascendante suivi de la même descendante.
Normalement tu va avoir une courbe speudo triangulaire autour d'une valeur moyenne.

Je ne dis pas que mon raisonnement est bon, mais j'aimerais savoir en quoi il est faux.

zenvice, sur le simulateur j'ai une bonne courbe à 1/10 de ta fréquence 1000Hz, donc 50% du rapport cyclique. La courbe est encore meilleur à 1/30.
Ce qui me donne un RC, 4700Ohm, 1µF
Donc pas loin des valeurs utilisées par Jetfuzz .

Portrait de zenvice

Désolé de t'avoir chiffonné spy et merci pour ton temps, j'admet ne pas être super fort en analogique et traitement du signal mais je me soigne. Je pense me remettre sur matlab simulink prochainement pour ça,

Walter quel simulateur utilises tu pour vérifier ça ?

Portrait de Walter

J'ai utilisé partsim avec un filtre RC et un générateur carré.
http://www.partsim.com/simulator

Portrait de zenvice

Walter pourrait tu partager ton fichier avec moi pour simuler mon signal pwm, car j'essaye avec ltspice qui est un peu le meme principe que partsim, mais j'ai du mal à parametrer le signal pulse (si c'est bien ça que tu fais).

Portrait de Walter

Désolé d'avoir était si long, mais mes enfantillage avec Spy, sur un autre post, m'on fait zapper de te répondre.
Je ne crois pas que l'on puisse partager le fichier, ou alors il faut peut être ce "logger".
J'ai pris l'exemple RC, http://www.partsim.com/simulator/#78470
Ou j'ai modifié le générateur effectivement en pulse (pulsed val: 5V, pulsed width: 0.5ms, period: 1ms)
lors du Run, je sélectionne "Transient Response" sur 20ms

Cela marche pour toi?

Portrait de zenvice

Super pour moi la prise en main du simulateur walter. Ce qui est bisarre pour moi c'est qu'en pratique, un filtre en 47k et 1mF fonctionne bien... Pour mon prochain projet je commence par la simulation. Spy, qu'appelle tu une impédance d'entrée, et comment la mesurée à la sortie en sortie de pwm ?

Portrait de Walter

Oui ce petit logiciel est bien pratique, oui c'est ce que j'avais cru comprendre pour ton couple déterminé par test.
Je suppose que la différence vient de ce dont parle Spy et la nécessité de faire une adaptation d'impédance entre la sortie de ton circuit PWM et l'entrée de ton objet qui reçoit le PWM.
As tu essayé le montage de Spy, qui si j'ai bien compris va faire l'adaptation d'impédance entre les deux(effet sur l'intensité?) et va ne va pas touché à ta tension (tension entré = sortie pour le RC).

Oups j'avais pas vu ta réponse Spi, bizarre presque une heure après to post!!!

Portrait de zenvice

Rectification je me suis trompé en lecture de mon multimètre, c'est bien 1 microfaradet pas mili... Je vous reponds plus tard quand j'ai plus de temps, en attendant vais tester ton circuit Spy.

Portrait de Walter

plus lieu d'être :)