sortir tension variable mais pas de pwm

Bonjour, je suis tout à fait novice...

j'aimerais "piloter" un driver de led :

avec une carte arduino

mon probleme c'est que lorsque que je fait entrer un signal pwm sur ce composant, j'obtiens une succession d'allumage/extinction de led ( certe on ne le vois pas à loiel nu). mais mon application nécessite d'avoir quelque chose de "lisse".

Je ne sais pas si j'ai été clair, y a t'il une solution pour faire sortir du 0 à 5v mais pas l'habituel PWM ?

merci d'avoir lu

Bonjour

la notice technique du module, proposée sur la page Mouser du produit, évoque la possibilité de pilotage
par PWM OU analogique.
https://www.mouser.fr/datasheet/2/468/RCD-24-958253.pdf

Quelle fréquence de PWM a été testée ?

y a t'il une solution pour faire sortir du 0 à 5v mais pas l'habituel PWM ?

Dans l'éventualité d'une commande analogique 0-5V au moins deux solutions :

-ajouter un Convertisseur Numérique Analogique si la carte Arduino n'en possède pas (on ne connais pas le modèle utilisé Si c'est Due, MKR, Nano33... au moins un CNA(="DAC") est disponible.)

-Produire un PWM avec AnalogWrite() PUIS intégrer le signal avec un réseau RC (résistance et condensateur) à dimensionner :

Une troisieme voie, plus laborieuse, serait de faire un reseau R/2R Resistor ladder - Wikipedia + ampli op suiveur à gain 1 (à reserver au mega2560, qui a tout plein de ports, évitant la génération de tensions biscornues pendant un moment très bref.

Bonjour,
Merci pour votre réponse.

la carte que j'ai utilisé est une Roméo.
pour mon signal pwm de sortie, j'ai testé la sortie moteur et la pin 9.

je n'ai aucune idée sur le fait qu'un convertisseur soit intégré dans la Roméo. je vais chercher.

J'etais intrigué, et Juliette Romeo - a Robot Control Board with Motor Driver (compatible with Arduino) - DFRobot m'a répondu:
"The current version of Romeo is based on Arduino Uno" -> il n'a pas de convertisseur digital / analogique integre (les arms en ont, pas les avr).

En fait ce qu'il faut comprendre c'est que 90 % des informations sont données par la référence du micro-controleur qui équipe la carte.
C'est cette information qu'il faut donner en premier.

La Roméo étant probablement un clone de UNO il n'y a pas beaucoup de chance pour qu'elle intègre un DAC puisque l'atmega328p n'en possède pas.

La solution la plus simple sans ajout de matériel (pour information il existe des DAC I2C) reste la PWM filtrée comme le propose al1fch.
Malheureusement dans ses initialisations Arduino a choisi des fréquences basses pour la PWM ( 500 Hz et 1kHz).
Ces fréquences basses obligent à utiliser des fortes valeurs de condensateur pour obtenir un filtrage efficace.

Heureusement le microcontrôleur peut faire plus en modifiant les réglages Arduino.
Pour celà il faut soit lire la datasheet de l'atmega328p, soit récupérer une bibliothèque qui gère correctement la PWM
Une recherche sur ce forum en utilisant la loupe (en haut à droite de cette fenètre) y donnera accès.

Mise en garde :
La PWM est piloté par un timer
Le 328p a 3 timers (0, 1 et 2), chaque timer pilotant 2 sorties
Le timer 0 est aussi utilisé pour la gestion du temps : millis(), delay() etc. Il est préférable de ne pas modifier ses réglages et de modifier uniquement les timers 1 et 2.

Note importante : de plus en plus d'aidants utilisent téléphones ou tablettes, si les liens sont cliquables (en utilisant l'icone chaine) ils seront visités, s'il ne le sont pas ils seront visités uniquement à partir d'un PC.
Je suis sur tablette et je n'irai pas visiter le lien non cliquable vers la Roméo, c'est très clair.
C'est toi qui vois si tu acceptes de perdre des réponses.

C'est moi qui ai mis le lien (clicquable sur mon PC: quand ce forum aura une interface conviviale, gérant tous les zigouigouis à ecran de la mort qui tue, je verrai ce que je peux faire avec les "smart" "phones" : zont une synthèse vocale pour décrire les liens non clickables, au moins?) vers Romeo, de dfrrobots (un combiné arduino + circuits de commande de moteurs + une prise radio + petit clavier à 7 poussoirs+ prise I2C : il est très bien.. mais .... c'est un avr).

Bonjour,
j'ai pu tester le filtre RC

j'ai fait avec ce que j'avais sous la main:
Condensateur électrolytique, 100 µF, 40 V
resistance 97 ohms

Je ne sais pas du tout s'il s'agit des valeurs adéquat, mais ca marche comme je voulais.
j'ai utilisé le petit programme d'exemple "Fade" en modifiant la pin de sortie, j'ai mis "pin 11"

j'ai filmé 2500 images / secondes les led , et en regardant au ralenti , on ne vois pas de variation ''comme en PWM direct ''

"Je ne sais pas du tout s'il s'agit des valeurs adéquat,"
Votre arduino sort du 5 volts; supposons que la capacité soit complètement déchargée -au démarrage: se comporte comme un court circuit-: vous aurez une consommation transitoire de 50 mA, loin devant les valeurs admises : https://atmega32-avr.com/Download/atmega328_datasheet.pdfpage 313 donne comme consommation maximum absolue , par patte, 40 mA (je veux bien admettre qu'atmel donne des valeurs conservatrices, mais là, c'est un peu gênant).

Pour la santé et la longévité de votre carte (qui est très belle), je changerais pour une résistance 10 ou 100 fois plus grande, et un condensateur 10 ou 100 fois plus faible (on trouve des condensateurs non electrochimiques de 1uF -le fait qu'ils soient non electrochimiques augmente leur durée de vie- ).
PS(post scriptum; sans contre façon): comment faites vous pour filmer 2500 images par seconde?

@luctpa
Cela fonctionne avec la très grosse valeur de condensateur que tu as pris.
Avec cette valeur de 100µF la fréquence de coupure du filtre est de 16 Hz (Fc= 1/(2PIRC)
Avec une fréquence max de PWM (62,5 kHz pour un atmega328p) la fréquence de coupure qui donnerait le même résultat serait 62,5k/1000 = 62,5 fois plus élevée pour les timers 0 et 2 et 124 fois plus pour le timer 1.

Pour ton appli actuelle il n'y a rien à changer.
Si un jour tu as besoin d'avoir des composants plus petits ou avoir une tension continue avec des variations "plus agiles" tu pourra te rappeler que c'est possible en augmentant la fréquence de PWM.

@dbrion06

Les photos dans le texte c'est le bazar mais c'est faisable.

Les liens cliquables fonctionnent parfaitement et simplement.
Il suffit juste que le demandeur survole une fois les différentes icônes pour connaître leur utilisation.
Quand on arrive sur un forum c'est la moindre des choses à faire ainsi qu'en lire les règles.

"Les photos dans le texte c'est le bazar mais c'est faisable."

Comme les pieds au mur et le triple salto. Infliger ça à quelqu'un déjà embêté par la recherche de sa panne relève de l' abus de pouvoir caractérisé.

"Les liens cliquables fonctionnent parfaitement et simplement."
Les liens que je donne sont parfaitemet et simplement clickables à partir d'un PC (technologie d'il y a 10 ans).

Si les "smart" "phones" ne sont pas assez malins pour cliquer sur un lien qu'une technologie obsoléte supporte, c'est un problème entre le vendeur de "smart" "phone" et l'acheteur.... , en bonne logique (pas la "logique" de l'abus de pouvoir mesquin).

"Il suffit juste que le demandeur survole une fois les différentes icônes pour connaître leur utilisation."

A moins d'être un ange, un papillon ou un oiseau, comment peut il faire?

Il n'y a rien à ajouter les écrits sont édifiants et n'engagent que leur auteur.

Et je n'ajouterai rien.

J'ajouterai simplement qu'une resistance de 100 R et un condensateur de 100 uF
a) mènent à des pointes de courant au delà des spécifs de l'arduino.

b) n'a pas la même fiabilité/durée de vie qu'un condensateur non polarisé (1uF céramique).

Une résistance de 10Kohm et un condensateur de 1uF auraient exactement la même constante de temps, sans ces deux inconvénients....

bonsoir, je prend bonne note de tout ce qui a été dit. Merci à tous
j'espere que vous aller vous réconcilier :slight_smile:

Pour les 2500 fps c'est une camera de mon travail, on n'est pas sur des résolutions de 1024x... c'est plutot du 200x300 à cette vitesse. voila, ça nous sert à faire du trouble-shooting. c'est a dire capter en vidéo un évèvement rapide et le relire au ralenti pour déceler facilement un dysfonctionnement. par exemple pour les usine d'embouteillage, ça va a des cadences folles.

je me suis toujours demandé pourquoi tant de sorte de condensateur...
et j'ai encore du mal à cerner ses fonctions( dans mon esprit c'est faire un ptit stockage d'ectricité )

Et à vrai dire, je ne comprend pas la fonction de la résistance dans cet ensemble.

Merci beaucoup pour l'explication (j'ai au moins appris quelque chose sur l'existence de caméras rapides en milieu industriel; je pensais auxx battements d'ailes de libellules ....)

Pour les reseaux RC:

la resistance R sert à limiter le courant de charge/décharge du condensateur (c'est pour ça que je la trouve un peu faiblarde pour la santé à long terme de votre carte, qui est très bien choisie).

le condensateur sert à stocker/destocker des charges électriques, comme vous l'avez dit.
Ensuite, le principe exact d'un integrateur est assez difficile à établir Circuit RC — Wikipédia (mais la solution est simple : le temps de stabimlisation est proportionnel au produit de la resistance par la capacite).

Pour la fiabilité des condensateurs electrochimiques, voir Les condensateurs électrolytiques ou électrochimiques : leur fiabilité est sensible à la température , et ils durent 50 000 heures (ca 2 ans); les autres condensateurs sont à peu près eternels.. Autant prendre un autre type.

C'est pour ça que je vous conseillais, en respectant le produit RC -qui gouverne le temps de charge: vous avez trouvé un temps de stabilisation qui vous convient, autant le garder-, de prendre une resistance 100 fois plus grande et un condensateur non chimique 100 fois plus petit....
(et ceci, si je ne me trompe pas, est plus interessant -surtout de découvrir wikipedia- que les ergotages sur les sacro saintes règles, servant plutôt à ennuyer des gens qui cherchent des réponses: je ne changerai pas d'avis sur ce qu'est un abus de pouvoir mesquin).

Pour la valeur de la résistance série on ne peut rien dire tant que l'on ne connaît pas le circuit sur lequel est connecté la sortie du filtre.
Si c'est un circuit intégré avec une entrée à haute impédance il n'y a pas de problème, si c'est une base (ou une grille) de transistor, ou un montage inconnu, il faut faire attention a ne pas créer un pont diviseur involontaire avec une résistance de 10 k (ou 100k) .
Je ne dis pas qu'il va y avoir problème, je signale le risque potentiel. Au moins, si par malchance, tu remarques des comportements bizarres tu aura une piste pour regarder de près.

Pour le courant max d'une charge RC les gens ignorent toujours l'inductance parasite de la filasse de connexion et celle du condensateur. En réalité ce n'est pas un circuit RC mais un circuit RLC.
Sur le front de l'impulsion le courant dans un circuit RC théorique suit une tangente verticale et le courant est effectivement I = U/R.
Dans un circuit RLC la tangente est oblique et la valeur max du courant n'est pas obtenue au moment du front mais un peu plus tard et comme le condensateur a déjà commencé à se charger le courant max est plus faible.

Il y a aussi une grosse différence entre un courant statique de 50 mA (létal pour les avr) et un courant pulsé de 50 mA. Ce qui tue un transistor c'est l'échauffement. En statique l'échauffement est maximal et le silicium fond, en pulsé compte tenu des constantes de temps thermiques à l'intérieur du silicium la température du transistor de sortie du micro ne pourra pas monter aussi haut.

De nombreux ponts en H (ou des Mosfet de grosse puissance) fonctionnent selon ce principe : la valeur du courant max envoyé en statique est plus faible que la valeur max du courant pulsé.

Grâce au lien, parfaitement exploitable avec un PC, vers la fiche technique, on peut voir que le circuit est commandable avec un potentiomètre de 50Kohm, en serie avec une resistance de ca 60KO; cette information indirecte, j'en conviens, permet d'écarter des impedances d'entrée de l'ordre de 10 K (la commande serait alors très bizarre)
Ignorer l'impedance parasite liée aux fils (et éventuellement à la nature bobinée des condensateurs electro chimiques) est parfaitement légitime pour un filtre passe bas coupant à 16HZ.

C'est encore plus légitime si on se débarrasse d'un composant ayant une inductance parasite notoire (en plus, un condensateur chimique est susceptible de vieillir et prend de la place).

Même si on peut envisager de parier-ça reste du domaine du pari- que le dépassement d'intensité est suffisamment bref (sans durée fixée) pour ne pas faire de dégâts, en condition normales; dans le pire des cas (pwm à 100%; court circuit franc aux bornes du condensateur:ça peut arriver dans un environnement hostile ) le microcontrôleur qui est soudé sera détruit sans possibilité de le remplacer (la carte au un 328 soudé en surface, et a 8 entrées analogiques). Je préfère me placer dans le pire des cas.... ce d'autant plus que la combinaison 1uF (non electrolytique) 10Koh est moins chère (quelques centimes) et plus durable qu'une solution basée sur un condensateur electrochimique.