Pages: [1]   Go Down
Author Topic: Conversion PWM en analogique [Résolu]  (Read 2762 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 39
Ardui-Novice
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous !

Je débute en électronique, vous vous en apercevrez vite smiley-grin

Je souhaite convertir en analogique une sortie pwm. Apres moult recherches sur le net et le forum Arduino, il est apparu que je devais monter un circuit RC entre la sortie PWM et l'entrée analogique. Ce qui fonctionne parfaitement bien. Ma question est la suivante : pourquoi cela fonctionne ? J'ai trouvé les valeurs à employer de façon empirique ...

PWM -------- R1 ( 3.8 K ) ------------ A0
                   |
                  C1 ( 33 µF )
                   |
                   Gnd


Quelle(s) formule(s) dois-je employer pour trouver ces valeurs ?


Je vous remercie de l'aide que vous voudrez bien m'apporter et vous souhaite une tres bonne année ( c'est de saison )
« Last Edit: January 01, 2013, 09:20:16 am by ludobabs » Logged

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4956
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous !

Je débute en électronique, vous vous en apercevrez vite smiley-grin

Je souhaite convertir en analogique une sortie pwm. Apres moult recherches sur le net et le forum Arduino, il est apparu que je devais monter un circuit RC entre la sortie PWM et l'entrée analogique. Ce qui fonctionne parfaitement bien. Ma question est la suivante : pourquoi cela fonctionne ? J'ai trouvé les valeurs à employer de façon empirique ...

PWM -------- R1 ( 3.8 K ) ------------ A0
                   |
                  C1 ( 33 µF )
                   |
                   Gnd

Je vous remercie de l'aide que vous voudrez bien m'apporter et vous souhaite une tres bonne année ( c'est de saison )

bonjour
c'est un integrateur
pour faire simple le condensateur est chargé pendant l'etat haut du pwm et dechargé au travers de la resistance
une tension moyenne apparait donc selon le taux de pwm
« Last Edit: December 29, 2012, 05:21:15 am by Artouste » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 39
Ardui-Novice
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

c'est tres gentil de m'aider. Quelle est la formule à appliquer pour trouver les bonnes valeurs. j'ai fait des dizaines de tests avant de trouver celles que je vous indique ... et pour etre franc je n'aime pas trop la façon "empirique" de mon montage  smiley-fat

Fréquence du pwm : 490 hz la seule chose dont je sois "sûr" lol

Logged

france
Offline Offline
God Member
*****
Karma: 15
Posts: 846
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Le montage intégrateur : http://fr.wikipedia.org/wiki/Circuit_RC
Logged

Christian

France
Offline Offline
God Member
*****
Karma: 4
Posts: 971
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour
Quote
Quelle est la formule à appliquer pour trouver les bonnes valeurs
'La' formule n'existe pas, le choix des composants R et C dépend de deux contraintes (deux inégalités à respecter):
-1) le produit RC doit etre beaucoup plus grand que la période du PWM (voir le lien sur le le 'montage intégrateur' ou rechercher 'filtre passe-bas')
-2) R doit etre inférieur à 10 kOhm (doc technique du Mega328, page 259) pour que le convertisseur Analogique Numérique donne un résultat acceptable.

Le couple 3,8 k et 33 µF remplit ces deux conditions avec un produit R.C 60 fois plus grand que la période du PWM
« Last Edit: December 29, 2012, 07:01:00 am by al1fch » Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Tu travaille en PWM "arduino" ou en PWM bas niveau ?
Si tu travaille en PWM bas niveau utilise le mode "Fast PWM" et un circuit 10K + 10nF, c'est ce que j'utilise et ça marche plutôt bien smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 39
Ardui-Novice
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je fais mes tests avec le PWM Arduino et l'instruction analogWrite(pwmPin, 0 - 255). Je verrai le Fast PWM plus tard  smiley-eek-blue

Voiçi ce que j'ai compris :

freq. PWM Arduino = 490 hZ donc Période = 1/f => P = 2.10-3 sec.

Le produit RC doit être beaucoup plus grand que la période du PWM
R doit être inférieure à 10k

La nouvelle question que je me pose est : Quelles sont les valeurs les plus adaptées à la situation ? Existe-t-il un rapport à respecter entre R et C ?

Je vous remercie
Logged

France S-O
Offline Offline
Edison Member
*
Karma: 41
Posts: 2165
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Derrière ce circuit RC il va y avoir une utilisation. Quelle est la valeur de résistance qui va venir en parallèle sur le condensateur ?

Cela conditionnera la valeur de la résistance série du RC. A ce sujet les 10k max c'est si tu veux pouvoir faire une mesure avec une entrée analogique de l'atmega. Si tu n'en a pas l'intention tu peux monter à des valeurs supérieures, mais il va vite y avoir une limite.

Cette résistance série du RC que je vais appeler "Rs" va former un pont diviseur avec la résistance de charge (Rc).
Donc il faut que Rs soit faible devant Rc.
Oui mais "faible" cela veut dire quoi ?
C'est là toute la difficulté puisque cela dépend de l'environnement que tu va mettre autour.
En général on essaye de prendre Rs <= Rc/10.

Autre point :T= RsC est beaucoup plus grand que la période de la PWM, cela a pour conséquence qu'il faudra attendre plusieurs périodes de PWM pour que le RC se stabilise, autant le savoir.

Sinon il y a la solution convertisseur numérique/analogique à raz les pâquerettes avec un registre à décalage et un réseau R/2R qui donne une résolution de 8 bits par registre à décalage et un résultat plus rapide mais qui ne permet pas excursionner jusqu'à Vcc et 16 résistances à cabler.
http://hackaday.com/2011/02/17/your-first-digital-to-analog-converter-build/
http://www.ikalogic.com/8-bit-digital-to-analog-converter-dac/
A noter l'amplificateur opérationnel  LM358 monté en suiveur pour bénéficier d'une résistance équivalente très faible (nulle en théorie, quelques ohms en pratique) qui peut aussi s'appliquer au réseau RC.


Edit :
A propos de la résistance de la charge j'ai oublié de préciser que si la résistance série du RC n'est pas négligeable devant Rcharge, en plus du pont diviseur qui se forme, cela diminue aussi la constante de temps puisque le calcul montre que les résistances Rs et Rcharge interviennent "comme si" elles étaient en parallèle.
Exemple Rs = 10kohms, si Rcharge = 10 kohms la tension disponible en sortie du filtre sera divisée par 2 et la constante de temps sera elle aussi divisée par 2.
Tous les exemples proposés sur le net sous-entendent que la charge est infinie, c'est recevable si la charge est une entrée de porte CMOS mais ce n'est plus le cas si la charge est un transistor bipolaire câblé en émetteur commun avec l'émetteur directement à la masse (résistance équivalente environ 1kohms).
D'où l'ampli op monté en suiveur de tension que l'on voit fréquement.
« Last Edit: December 29, 2012, 04:58:09 pm by 68tjs » Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Regarde ce lien :
http://www.jlectronique.org/PWM.htm
C'est plutôt bien expliqué et en français.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 39
Ardui-Novice
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
dans un montage de ce type
Code:
PWM -------- R1 ( 3.8 K ) ------------ A0
                                          |
                                  C1 ( 33 µF )
                                          |
                                       Gnd

les couples (2,7k + 47µF)  et (5,7k + 22µF) produiront le même signal en sortie = envoyé sur A0, entrée analogique d'un microcontrolleur Arduino.

la forme du signal ne dépend que du produit R.C, pas du rapport R/C tant que le courant allant dans A0 est infime (négligeable)

Merci à tous de vos éclaircissements ...
Logged

Pages: [1]   Go Up
Jump to: