Je suis nouveau dans l'univers arduino. Mon problème concerne les pins PWM. Pour résumer, je souhaiterais obtenir une sortie PWM la plus stable et continue possible afin de piloter un potentiomètre... Actuellement et selon le principe de base du PWM, je "vois" mon signal qui varie malheureusement.
Est-il possible d'augmenter la fréquence pour obtenir qquechose de stable?
Erreur courante des débutants abusés par le nom analogWrite totalement idiot fait par les développeurs de l'EDI Wiring puis d'arduino qui a forké Wiring.
La PWM (Pulse With Modulation), en français MLI (Modulation par largeur d'impulsion), ne donne QUE des signaux rectangulaires.
Comme l'a écrit pepe il est possible d'appliquer un filtrage analogique pour obtenir le signal d'amplitude moyenne.
Je te propose une autre solution : abandonner la MLI et utiliser un convertisseur digital/analogique (DAC = Digital Analog Converter)
Dans le microcontrôleur il y a un convertisseur analogique/digital (ADC), celui dont je te parle, le DAC, fait l'opération inverse.
On trouve facilement (vente par correspondance France ou Chine) des modules à base PCF8591 qui se commandent en I2C. Le PCF 8591 a une précision de 8 bits (comme la MLI/PWM du microcontrôleur).
Ma solution n'est ni meilleure ni pire : elle est différente. A toi de choisir.
Merci à vous messieurs pour vos réponses rapides!!
J'ai testé "l'astuce" de pepe qui fonctionne pour ce que je désire faire mais je ne manquerai pas de commander un convertisseur PCF8591 pour tester ta solution également 68tjs!!
Il est vrai que cette dénomination est trompeuse...
Je suis nouveau dans l'univers arduino. Mon problème concerne les pins PWM. Pour résumer, je souhaiterais obtenir une sortie PWM la plus stable et continue possible afin de piloter un potentiomètre... Actuellement et selon le principe de base du PWM, je "vois" mon signal qui varie malheureusement.
Est-il possible d'augmenter la fréquence pour obtenir qquechose de stable?
Merci!!
Bonsoir pepe a bien exposé la solution la plus adequate possible pour intégrer au mieux du PWM
maintenant tu cherche à faire quoi exactement ?
c'est quoi "ce/ton potentiomètre" ?
parce qu'il y a peut etre d'autres solutions pas nécessairement "tres compliquées"
A la base, je souhaite remplacer un potentiomètre de pédale de frein d'un pédalier par un capteur loadcell, ce qui me permettra de freiner en fonction de la force appliquée à la pédale et plus du déplacement (potentiomètre) afin de coller le plus à la réalité.
En résumé, je désire utiliser une loadcell accouplé à un amplificateur HX711 et recueillir le signal de sortie de celui-ci en fonction de la charge appliquée dessus...
Une fois le signal mesuré dans l'arduino, je souhaite le traiter et sortir sur une sortie de celui-ci un signal proportionnel entre 0 et 5V (charge min-charge max). Ce signal doit être le plus stable possible et le fondement même du PWM ne permettait pas d'avoir qquechose de stable. L'astuce de pepe a bien amélioré la tête du signal de sortie.
Pour rappel, je débute en électronique... donc j'ai réussi à écrire le code et après traitement ds l'arduino, à sortir un signal entre 0 et 255 sur une des sortie PWM...
Je compte commander un convertisseur également pour tester.
gegewrc:
A la base, je souhaite remplacer un potentiomètre de pédale de frein d'un pédalier par un capteur loadcell, ce qui me permettra de freiner en fonction de la force appliquée à la pédale et plus du déplacement (potentiomètre) afin de coller le plus à la réalité.
En résumé, je désire utiliser une loadcell accouplé à un amplificateur HX711 et recueillir le signal de sortie de celui-ci en fonction de la charge appliquée dessus...
Une fois le signal mesuré dans l'arduino, je souhaite le traiter et sortir sur une sortie de celui-ci un signal proportionnel entre 0 et 5V (charge min-charge max). Ce signal doit être le plus stable possible et le fondement même du PWM ne permettait pas d'avoir qquechose de stable. L'astuce de pepe a bien amélioré la tête du signal de sortie.
Pour rappel, je débute en électronique... donc j'ai réussi à écrire le code et après traitement ds l'arduino, à sortir un signal entre 0 et 255 sur une des sortie PWM...
Je compte commander un convertisseur également pour tester.
Je ne sais pas si c'est clair...
OK
le HX711 offre en acquisition une résolution de 24 bits
si tu souhaite juste/simplement dériver son acquisition brute vers une sortie evoluant entre 0 et 5V à une résolution sur 8 bits.
Sinon un arduino tel que le Zero contient un petit DAC sur 10 bits sur A0 qui marche avec analogWrite() (et fait duPWM sur les pins 3, 4, 5, 6, 8, 9, 10, 11, 12, 13)
Il faut ajouter qu'une Zero vaut le double d'une UNO/Nano officielle soit 20 à 30 fois le prix d'un clone UNO/Nano made in china (comme déjà une partie des cartes officielles y sont fabriquées -> Seeed studio))
En suplément une Zero est en 3,3V et son microcontroleur Atmel ARM n'accepte pas les signaux 5V comme d'autres ARM le font
68tjs:
Il faut ajouter qu'une Zero vaut le double d'une UNO/Nano officielle soit 20 à 30 fois le prix d'un clone UNO/Nano made in china (comme déjà une partie des cartes officielles y sont fabriquées -> Seeed studio))
En suplément une Zero est en 3,3V et son microcontroleur Atmel ARM n'accepte pas les signaux 5V comme d'autres ARM le font
Tout à fait !
(Et il pédale aussi plus vite qu’un uno et a plus de mémoire)
Réseau R/2R
J'ai fait le choix de ne pas en parler parce que si on veut un minimum de bande passante il faut vraiment chiader le câblage ce qui n'est pas vraiment le point fort de la majorité des membres de ce forum -> c'est juste une constatation.
Surtout que si on veut de la précision il ne faut prendre que des résistances R provenant d'un même lot de fabrication et faire les 2R en en mettant deux en série.
Il me semble bien que les circuits intégrés sont à base de R/2R mais au moins c'est tout fait et un module PCF8591 avec 4 ADC et 1 Dac ne coûte que 1 €
Il y a aussi :
Image Ebay
DAC I2C à base de MCP4725, 12 bits, 1€, Ebay + 4 semaines de délais (livraison par barque à rames)
68tjs:
Réseau R/2R
J'ai fait le choix de ne pas en parler parce que si on veut un minimum de bande passante il faut vraiment chiader le câblage ce qui n'est pas vraiment le point fort de la majorité des membres de ce forum -> c'est juste une constatation.
Surtout que si on veut de la précision il ne faut prendre que des résistances R provenant d'un même lot de fabrication et faire les 2R en en mettant deux en série.
Il me semble bien que les circuits intégrés sont à base de R/2R mais au moins c'est tout fait et un module PCF8591 avec 4 ADC et 1 Dac ne coûte que 1 €
Image Ebay
DAC I2C à base de MCP4725, 12 bits, 1€, Ebay + 4 semaines de délais (livraison par barque à rames)
Ce ne sont pas la solutions qui manquent.
Bonsoir 68tjs
Je vais en profiter pour rebondir sur le sujet lui même
je n’avais pas vu/lu l'edit hier sur l'environnement d'usage (remplacement/substitution d'un potentiometre de captation frein)
Utilisation reelle : vrai véhicule ou simulateur ?
Je vais vite passer sur ce qui serait de faire du bricolage approximatif sur un vehicule en circulation , et des éventuelles conséquences pouvant en découler.
Je recentre sur le principe du pot numerique
J'ai découvert il n'y a pas si longtemps initialement pour faire du retrofit de dispo 0/10V l'existence du MCP41HVX1
utile si c'est pour remplacer physiquement un potentiomètre sur du rail un peu ... HV