Electronique > Réalisations > Convertisseurs > Convertisseur PWM / Tension 001

Dernière mise à jour : 10/09/2023

Présentation

Cette réalisation permet de convertir un signal PWM (MLI) en une tension continue dont la valeur est proportionnelle au rapport cyclique du signal PWM, sur une plage de 0 à 10 V. Si le signal PWM présente un rapport cyclique de 1%, la tension continue produite est de 0,1 V. Si le signal PWM présente un rapport cyclique de 99%, la tension continue produite est de 9,9 V. Il s'agit donc d'un montage qui produit l'effet inverse de mon gradateur de lumière 005, qui pour sa part produit un signal PWM dont le rapport cyclique dépend d'une tension continue. La linéarité de ce convertisseur PWM / Tension est relativement bonne, un signal PWM de rapport cyclique 35% produit une tension continue de l'ordre de 3,5 V, et un signal PWM de rapport cyclique 75% produit une tension continue de l'ordre de 7,5 V. La fréquence (fixe) du signal PWM peut être comprise entre 200 Hz et 20 kHz. Trois schémas sont proposés :
- Schéma 001(a) - Schéma de base sortie 0 - 10 V
- Schéma 001b - Schéma amélioré avec filtre de sortie supplémentaire
- Schéma 001ab - Schéma avec sortie de puissance 2 A

Schéma 001(a)

J'ai bien peur que ce schéma soit trop simple pour certains, qui vont donc considérer qu'il ne peut pas offrir des résultats satisfaisants. J'ai bien peur de ne pas pouvoir me joindre à 100% à ces personnes, car après tout, flute, ça fonctionne assez bien pour tenter sa réalisation.

Convertisseur PWM / Tension 001

Un simple filtrage passe-bas...
Pour être franc, ce système peut même paraître surdimensionné, les deux seuls composants vraiments nécessaires étant la résistance R1 et le condensateur C1, qui à eux deux forment un petit filtre passe-bas. Supprimez tout le reste, et vous avez déjà votre convertisseur PWM / Tension. Vous ne me croyez pas ? Essayez, et vous verrez bien. Alors pourquoi d'autres composants ? Et bien tout simplement pour "parfaire" le résultat. L'idéal en effet est de minimiser la charge du filtre passe-bas, c'est à dire de se faire le plus discret possible en sortie du filtre (point de raccordement R1 / C1) pour ne pas perturber son fonctionnement. Dans le cas qui nous concerne, se faire le plus discret possible signifie brancher la sortie du filtre sur un circuit dont l'entrée est à haute impédance. Quoi donc de plus naturel donc que de s'orienter vers un petit amplificateur opérationnel, qui répond justement à cet impératif, et qui de surcroit présente une sortie basse impédance capable de piloter facilement ce qu'on veut par la suite ? L'AOP en question est contenu dans un boitier à 8 pattes (DIL8), qui en comporte deux identiques (un des deux AOP du boitier reste donc inutilisé).

Gain (amplification)
Et tant qu'on y est, mettons à profit ce petit AOP pour pouvoir calibrer la tension continue de sortie. Comme vous l'avez peut-être lu (sur ce site ou ailleurs), un AOP peut être monté en amplificateur, et le gain (amplification) qu'il peut apporter peut être fixé par le choix de deux résistances, dont l'une peut être rendue variable. C'est ce qui est fait ici. Le signal issus du filtre passe-bas R1 / C1 est raccordé à l'entrée positive (non-inverseuse) de l'AOP, nous avons donc affaire à un amplificateur non-inverseur. Et c'est tant mieux, car si nous avions cablé notre AOP en amplificateur inverseur, nous n'aurions pas grand chose à nous mettre sur la dent en sortie du montage, ce dernier étant alimenté avec une alimentation simple (unique) et non symétrique (double). Traduction : la sortie serait toujours à zéro volt. Follement amusant les premiers temps, mais au bout d'un moment on s'en lasse (c'est comme avec sa compagne : au début on se regarde dans les yeux en souriant, et au bout d'un moment on s'enlace). Nous disions donc amplificateur non-inverseur, dont le gain est défini par la formule suivante :
Gain = (RV1 / R3) + 1
Si on donne à RV1 la même valeur que R3, la tension de sortie est le double de celle appliquée à l'entrée : pour une tension d'entrée de +5V, la tension délivrée en sortie est de +10V. Cela est bien pratique pour travailler sur une plage de tension de sortie de 0V à 10V avec une tension d'entrée comprise entre 0V et +5V.
"Tension d'entrée entre 0V et +5V ? Mais je croyais que le signal PWM était numérique et qu'il ne pouvait prendre que les deux valeurs 0V ou +5V ?"
Oui, avant le filtre R1 / C1, il s'agit bien d'un signal numérique (je me permet de vous rappeler en passant, qu'un signal numérique est une forme de signal analogique). Mais après le filtre R1 / C1, il s'agit d'un signal analogique qui peut varier entre 0V et +5V. C'est fou ce dont est capable d'assurer comme rôle un simple couple RC.

Choix d'une autre plage de tension de sortie
Pour obtenir une tension de sortie maximale de valeur égale à l'amplitude du signal PWM d'entrée, remplacer le potentiomètre RV1 de 2k2 par un potentiomètre de 22 ohms. En théorie, il suffit de relier directement la sortie de l'AOP avec son entrée inverseuse, on se retrouve dans ce cas avec un montage "suiveur" classique qui n'apporte aucun gain. Mais en pratique, une résistance ajustable de faible valeur dans la boucle de contre réaction permet d'ajuster précisement la tension de sortie à la valeur désirée (tension de 3,3V en sortie pour un signal PWM de 3,3V et de rapport cyclique 99% en entrée, par exemple).

Ajout d'un filtre passe-bas en sortie nécessaire ?

Il n'est pas obligatoire d'ajouter un second filtre passe-bas, R2 et C2 sont optionnels. J'ai ajouté cette cellule pour lisser davantage le signal de sortie qui souffrait d'une ondulation un peu exagérée à des fréquences basses du signal PWM. En toute rigueur, il faudrait déjà ajuster les valeurs de R1 et de C1 en fonction de la fréquence du signal PWM. Mais quelles valeurs choisir pour R1/C1 et pour R2/C2 en fonction de la fréquence du signal PWM, pour obtenir les meilleurs résultats ? Et si je vous laissais faire quelques tests pour vous permettre de vous rendre compte par vous même ? Ce n'est pas si dur que ça, après tout. Commencez avec les valeurs de composants du schéma, aux fréquences extrêmes de 100 Hz et 20 KHz. Si vous avez un oscilloscope, c'est super, vous comprendrez très vite. Sinon, contentez-vous d'un multimètre... et de votre perspicacité.

Après un message très sympathique de George S. (que je remercie au passage), je me suis senti obligé d'ajouter les quelques lignes qui suivent pour faciliter le travail de recherche et d'adaptation des lecteurs ;) 

La fréquence de coupure Fc du filtre R1/C1 doit être au moins dix fois inférieure à celle du signal PWM. Ainsi, si votre signal PWM possède une fréquence de 100 Hz, la fréquence de coupure Fc du filtre doit être égale ou inférieure à 10 Hz. Rappelons au besoin que

Fc = 1 / (2 * Pi * R1 * C1)

Avec R1 = 10k (10000 ohms) et C1 = 1 uF (0.000001 farad), la fréquence de coupure vaut :

Fc = 1 / (2 * 3.14 * 10000 * 0.000001) = 16 Hz

Cette fréquence Fc de 16 Hz convient à un signal PWM de fréquence 200 Hz, mais est insuffisante pour un signal PWM de 100 Hz. Solution pour PWM 100 Hz : augmenter la constante de temps du filtre R1/C1 pour diminuer sa fréquence de coupure. Un condensateur de 4,7 uF ou de 10 uF en remplacement du 1 uF fait l'affaire (Fc = 1,6 Hz avec C = 10 uF). Juste pour info, voici des graphiques qui mettent en évidence deux points essentiels étroitement liés : la qualité du filtrage et le temps de réponse (un filtrage plus efficace augmente le temps de réaction).
   
conv_pwm_tension_001_graph_001a
(clic pour agrandissement graphes)

Le schéma ci-devant montre ce qu'on obtient avec un signal PWM de 100 Hz et trois types de filtre :
L'énorme ondulation résiduelle qu'on observe sur Vout1 est liée au mauvais dimensionnement du filtre R1/C1 (pour F = 100 Hz).
A vous de trouver le compromis qui vous convient, entre niveau d'ondulation résiduel et temps de réactivité.

   

Schéma 001b - Filtre passe-bas additionnel en sortie

On ne s'en lasse pas... Le montage présenté ci-avant fonctionne bien, mais on peut trouver une ondulation de la tension de sortie un peu trop importante pour les fréquences basses. Si cela n'est pas trop gênant quand la tension de sortie attaque un galvanomètre à aiguille sensible (parce que l'aiguille, qui possède une certaine inertie mécanique, ne peut suivre l'ondulation), il n'en est pas forcement de même si on utilise un affichage numérique, qui risque alors d'afficher une valeur instable. Une solution consiste à améliorer un peu le filtre de sortie, selon le schéma présenté ci-après.

conv_pwm_tension_001b

Avec un peu de chance, et moyennant une petite adaptation des valeurs de composants (même pas sûr que ce soit nécessaire, à vous de réfléchir), on pourrait peut-être l'utiliser pour le gradateur de lumière 014/014b.

Schéma 001ab - Sortie de puissance

Les deux montages présentés ci-avant ne sont pas capables de délivrer une forte intensité de courant, ils ne sont d'ailleurs pas fait pour ça. Pour une tension de sortie variable capable d'attaquer une charge de faible impédance, il faut ajouter un étage de sortie capable de supporter un fort courant. Un exemple est donné avec le schéma suivant.

conv_pwm_tension_001ab

Le transistor TIP122 est un darlington de puissance capable de débiter 5 A. Ce composant doit impérativement être doté d'un dissipateur thermique (radiateur) pour son refroidissement. On retrouve dans la première moitié gauche du montage le schéma de base vue tout au début. La moitié droite du schéma a été ajoutée pour permettre une sortie en courant élevée, jusqu'à 2 A. Le transistor TIP122 est monté en suiveur de tension et répercute donc sur son émetteur la tension présente sur sa base, normalement amputée de la tension base - émetteur qui est ici d'un peu plus de 1 V (ce transistor est un darlington). Pour éviter que cette perte de tension nous embête et que pour un signal PWM de rapport cyclique inférieur à 10% on ait toujours 0 V en sortie finale, on ferme la boucle de contre-réaction du second AOP U1:B non pas sur la sortie de l'AOP lui-même, mais sur l'émetteur de Q1. En procédant ainsi on élimine la tension de déchet base - émetteur de Q1. La procédure d'ajustage se fait maintenant en deux étapes.
1 - Mettre les deux potentiomètres ajustables RV1 et RV2 en position centrale et brancher une résistance de 100 ohms / 1 W en sortie du montage (entre émetteur de Q1 et masse).
2 - Appliquer un signal PWM de 1 kHz / rapport cyclique de 90% en entrée du montage.
3 - Ajuster RV1 pour obtenir 9,0 V aux bornes de C2.
4 - Ajuster RV2 pour obtenir 9,0 V entre l'émetteur de Q1 et la masse.
Remarque : vous pouvez adapter de la même façon le schéma 001b. Dans ce cas l'entrée non-inverseuse de U1:B doit être reliée sur le point commun R5 / C4.
Avertissement : je n'ai pas testé cette adaptation de sortie forte puissance !

Retours utilisateurs (prototypes)

Stéphane B., concepteur lumière, a utilisé ce montage pour un gradateur de lumière automatique piloté par Arduino.

conv_pwm_tension_001_proto_sb_001a

Le signal de sortie PWM de l'Arduino est transformé en une tension continue variant de 0 à 10 V, et cette tension continue attaque ensuite un gradateur de lumière disposant d'une entrée de commande analogique 0-10 V.

Historique

10/09/2023
- Ajout commentaires concernant la fréquence de coupure du filtre passe-bas requis pour la conversion PWM=>tension. Merci à Georges S. pour ses suggestions.

23/01/2011
- Première mise à disposition