Nouvelles:

Bienvenue au Forum de discussion Électro-Bidouilleur! Inscrivez-vous pour participer aux discussions!: 
https://forum.bidouilleur.ca/index.php?action=signup Les demandes d'inscription sont révisées quotidiennement.

Menu principal

[Résolu] Filtre passe-bas sur PWM arduino

Démarré par Faranight, Avril 06, 2020, 07:13:09 AM

« précédent - suivant »

Faranight

Bonjour à  tous,

Purement débutant en électronique, j'essais depuis plusieurs jours de réaliser un filtre passe-bas sur les sortie analogie PWM d'une arduino Nano (copie chinoise) afin d'obtenir un courant DC 0-5V propre.
N'ayant pas d'oscilloscope, j'utilise LTspice pour simuler mes montages. J'ai essayé des filtre passe-bas du 1er ordre (résistance + condensateur) avec les couples de valeurs : 10k Ohm/47µF; 470 Ohm/470µF
Aussi un montage Sallen-Key avec un LM393N et des valeurs de dipole calculé grace à  http://sim.okawa-denshi.jp/en/OPseikiLowkeisan.htm
Mais aucun de ces montages ne m'a permis d'obtenir un courant DC. En mesurant la sortie avec mon multimètre, je n'obtient pas de tension dès que je passe sous un rapport cyclique de 51%. Au dessus de 51% la tension est de l'ordre de 4.6V soit la tension d'alimentation USB de l'arduino.

Donc je ne comprend pas pourquoi rien ne fonctionne. Y a t-il un problème dans mes montages théorique, dans le PWM de l'arduino ?

Yffig

Bonjour Faranight

Il manque une donnée essentielle à  ta demande: à  quelle fréquence ton PWM ?

Ce n'est pas un courant DC que tu dois obtenir mais une tension DC avec une ondulation résiduelle plus ou moins importante.

Yffig

Faranight

Oui absolument, une tension 0-5V.
La fréquence PWM de l'arduino est de 490 Hz.

Yffig

#3
Re,

Voilà  une simulation LT-Spice à  50% facile à  modifier au niveau du Duty Cycle (la valeur 1ms relativement à  2ms<=> 500 Hz).
Tu vois qu'il faut un peu de temps (~ 5* la constante de temps RC) pour que la tension filtrée se stabilise à  sa valeur moyenne.
Sinon aucun pb, ça fait le job: à  DC=50%, tu lis 2.5V en valeur moyenne, etc.
Pour ton filtre passe bas Sallen- Key tu peux simuler ton filtrage avec un ampli op de LT-Spice (prends par ex le LT1057 alimenté en + 12v et -12v) puisque le LM393 n'est pas en standard dans LT-Spice.

Amuse toi bien

Yffig

Faranight

Oui tous ça je l'ai fait : simulation sur LTs puis test réel
Je me suis retourné vers le forum justement parce que via ce montage ça ne fonctionne quand même pas.
Impossible d'obtenir une tension variable selon le rapport-cyclique mesuré par voltmètre.
J'ai bien fait attention au temps de croissance de la tension.

Yffig

Re,
Donc, hypothèse très probable, c'est "forcément" ta génération de PWM côté Arduino qui merdoie....
Fournis plus d'infos sur comment tu fais avec ton Arduino (code, schéma, branchements, etc.), il y a sur le forum des membres qui pourront alors te conseiller utilement (pas moi... car je n'utilise que très peu ces cartes, je suis utilisateur d'ASM et de C sur PICs 8 bits).
Bonne suite.
Yffig

Yffig

reRe,
Sinon, pour tes besoins... 500Hz, un scope DSO138 pourrait quand même t'être utile. C'est pas du scope HiEnd  ;) mais ça te rendrait service pour moins de 20 €.
Yffig

loulou31

Bonjour,
Est ce que tu as mesuré avec ton multimétre : la fréquence, puis le rapport cyclique en fonction de la tension programmée? Après tu peux aussi mesurer ta tension en AC avec une capa de 100nF en série avec rapport cyclique 50% tu devrais avoir 2 à  2.5V. Est ce que ça ne serait pas un problème de pull up sur ta sortie qui fait qu'elle en peut débiter du courant? pas besoin d'ampli op une simple résistance série de 100k et 1uF ca devrait déja fonctionner et donner uen tension continue mesurable avec ton voltmètre....Au fait si c'est du 500Hz avec un haut parleur en série avec une capa tu devrais entendre la fréquence.
Après oui ça serait bien de te trouver un oscillo, moi je prendrais un viel analogique à  50€, attention aux numériques bas de gamme on ne sait jamais trop ce que ça affiche.

Jean-Louis



papyblue

Bonjour Faranight,

Quelle broche de la carte Nano utilises-tu en sortie ?

Yffig

#9
Bonsoir Faranight,

Juste comme ça, ... si tu disposes d'un PC, si tu ne veux pas dépenser une seule thune, un scope à  2 voies, une résolution de 16 bits, une bande passante de 20 kHz, en couplage AC seulement, ça devrait te suffire pour voir ce qui sort de ton Arduino , non ?  Il y a sans doute une carte son sur ta machine avec des entrées stéréo micro et ligne. Une recherche de "oscilloscope carte son" ou "sound card oscilloscope " devrait te conduire sur des softs gratos plus ou moins bien faits (et parfois plus ou moins vérolés par des pubs ou pire).
Faudra alors faire attention aux niveaux d'entrée: pour 5V crête en entrée ligne...=> à  atténuer par un diviseur résistif genre 1/50°

Bonne soirée

Yffig

Faranight

Super idée le  DSO138, je vais m'en procurer un.
J'ai essayé les pins A3 et A5. Leur fréquence PWM est différente, 980Hz pour A5 et 490 pour A3.
Aucune différence entre les deux pins.
Je vais aussi essayer la mesure par  Mic-In audio depuis mon pc.

Yffig

Bonjour Faranight,

L'idée de Jean Louis est bonne aussi: 2 voies, 20 MHz, tu peux trouver ça en bon état sur eBay vers 50€ (sans le port).
Mais pour ce que tu veux faire, un DSO138 (avec son boitier plexiglas si possible) te suffira bien pour pas cher.
(Adolescent, j'aurais rêvé d'en avoir un..., j'en ai eu un il y a qq temps entre les mains acheté par un petit neveu, et j'ai trouvé que c'était bien utile pour un bidouilleur pas fortuné, l'écran couleur est bien et ça marche, pas eu de pb de synchro, les indications de mesure sur l'écran étaient suffisamment correctes)
Si tu n'as pas déjà  consulté ces 2 liens, je te les transmets ici:
- un petit banc d'essai rapide par Elektor https://www.elektormagazine.fr/news/banc-d-essai-mini-oscilloscopes/16100
- la vidéo du YouTuber "Deus ex Silicium": https://www.youtube.com/watch?v=dCEC4mOfpt4 très critique sur un modèle plus cher mais regardes les commentaires de ceux qui ont le même besoin que toi.
Bien sûr c'est l'achat direct from China qui sera le moins cher.
Bonne journée

Yffig

papyblue

Bonjour Faranight,

Selon les informations que j'ai trouvées, seules les broches D3, D5, D6, D9, D10 et D11 d'une Nano savent faire du PWM. Peut-être essayer avec une de celles là  ?

PB

Faranight

Oh !! Mais oui c'est ça !
Je me suis laissé tromper par la commande  analogWrite() qui m'a fait penser que ça sortait par les pins de lecture analogique.
Du coup c'est bon ça fonctionne MERCI (l'erreur conne)