IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Contrôle de la luminosité, par logiciel, d'une Led externe sans utiliser la PWM


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 13
    Par défaut Contrôle de la luminosité, par logiciel, d'une Led externe sans utiliser la PWM
    Bonjour,
    Je souhaite contrôler de la luminosité, par logiciel, d'une Led externe sans utiliser la PWM. Ceci dit, je n'ai que peu d'expérience avec les microcontrôleurs. Si quelqu'un a une idée je lui en saurais gré d'avoir l'amabilité de m'en faire part. merci et bon week-end

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    Quel type de LED?

    pour une LED classique type 5mm:
    - faire un PWM 'logiciel' (blink) suffisamment rapide
    - plusieurs pins en sorties avec chacune une résistance de valeur différente et agréger les courants dans la LED (ou usage des pullup)
    - usage d'un DAC externe (ou interne si l'arduino en a un) pour piloter la tension en restant au dessus de la tension de seuil
    - ampli op + transistor (piloter le courant disponible)
    - usage d'un potentiomètre numérique (piloter le courant disponible)
    - connecter la pin sur le Tx du port série avec une résistance de limitation de courant et 'écrire' des valeurs bien choisies pour balancer des séquences de 1 et de 0 à un débit (bauds) bien choisi

    je suis sûr qu'il y a d'autres façons plus ou moins compliquées... mais le PWM reste une bonne façon, simple et utilsant simplement le hardware disponible..

    On peut savoir quel est le besoin réel?

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 13
    Par défaut Réponse
    Merci pour la réponse...Etant donné que je débute, j'essaye de gérer les Leds de beaucoup de façons.

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    OK c'est bien d'explorer

  5. #5
    Membre chevronné Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 999
    Par défaut
    Bonjour,

    Tu débutes en microcontroleur, en électronique analogique ou bien dans les deux domaines ?

    La luminosité d'une LED se contrôle en contrôlant le courant qui la traverse, et pas sa tension (en fait la tension aux bornes d'une LED est quasi constante lorsqu'elle est traversée par un courant)

    En pratique :
    - on alimente la led avec une source de courant (peu utilisé car plus compliqué d'un point de vue électronique)
    - on met en série une résistance avec la LED, et on fait varier la tension aux bornes de l'ensemble [résistance + led en série]
    - on met en série une résistance avec la LED correspondant au courant maximum de la led pour la tension d'alimentation, puis on envoi un signal PWM

    La dernière solution, PWM, est celle qui permet d'avoir le meilleur rendement et en même temps la meilleure linéarité (c'est à dire variation de luminosité proportionnelle à la commande)

    En effet, la solution n°2 ou on fait varier la tension aux bornes d'une led avec résistance en série donne une linéarité moins bonne :
    - aucune lumière tant que la tension est inférieure à la tension de seuil de la led
    - une augmentation importante de luminosité en fonction de la tension dès que celle-ci dépasse un peu la tension de seuil de la led
    - une augmentation plus raisonnable de luminosité en fonction de la tension ensuite.

    Si la fréquence PWM est élevée (plus de 25 Hz) l’œil humain n'arrive pas à faire la différence entre du PWM et une alimentation "normale"
    Mais un capteur optique verra que la led clignote. C'est d'ailleurs utilisée par les télécommandes infrarouge pour filtrer les signaux.

    La solution "parfaite" c'est la source de courant. Mais c'est pas nécessaire en pratique.

    A bientôt

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 13
    Par défaut
    Bonjour,
    relativement aux microcontrôleurs je suis un débutant...en ce qui concerne l'analogique j'ai 40 ans d'expérience...ce qui m'intéresse dans le cas de la Led, c'est fabriquer un signal PWM et de l'appliquer une pin où il n'y a pas de PWM à disposition.

  7. #7
    Membre chevronné Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2007
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 999
    Par défaut
    C'est possible, mais c'est dommage, car cela va occuper le CPU

    Les Arduino les plus basiques ne peuvent pas faire de multitâche

    C'est pour ça qu'avec les microcontrôleurs, il faut utiliser les fonctions du hardware quand elles sont disponibles plutôt que de tout programmer.

    A bientôt

  8. #8
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    Bonjour,
    Citation Envoyé par Biowave Voir le message
    ce qui m'intéresse dans le cas de la Led, c'est fabriquer un signal PWM et de l'appliquer une pin où il n'y a pas de PWM à disposition.
    Pourquoi une telle contrainte ?

  9. #9
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    Bonjour,

    pas sûr qu'avec un programme tu arrives à obtenir un signal PWM avec un rapport cyclique et une fréquence constants.

    Mais, peut-être en utilisant les fonctions d'interruptions de l'Arduino ? Voici un exemple de "blink" avec des interruptions :
    https://www.arduino.cc/reference/en/...tachinterrupt/

    La fonction pulseInLOng() est sans doute la réponse à la question :
    https://www.arduino.cc/reference/en/...o/pulseinlong/

  10. #10
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 899
    Par défaut
    il y a même des bibliothèques qui le propose (par exemple SoftPWM)

    Pour résumer la recommandation c'est:
    1/ changez de broche et passez sur une broche PWM. Autant utiliser le hard qui est fait pour cela
    2/ toute autre solution a des conséquences donc il faudrait un cahier des charges / des besoins pour répondre à la question d'un PWM 'logiciel'. Il n'y a pas de réponse dans l'absolu.

Discussions similaires

  1. [WD16] Piloter une application externe sans bouger la souris
    Par WDKyle dans le forum WinDev
    Réponses: 3
    Dernier message: 17/07/2013, 09h51
  2. [SP-2010] Supprimer les Actions par défaut sur une liste externe
    Par mrkinfo dans le forum SharePoint
    Réponses: 2
    Dernier message: 21/03/2013, 15h36
  3. Réponses: 1
    Dernier message: 23/12/2010, 11h43
  4. Réponses: 4
    Dernier message: 24/07/2009, 14h56
  5. Comment avoir des div sur une même ligne sans utiliser float ?
    Par Sergejack dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 13/10/2007, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo