Comment générer 3 PWM indépendants ?
Répondre à la discussion
Affichage des résultats 1 à 24 sur 24

Comment générer 3 PWM indépendants ?



  1. #1
    Gérard

    Comment générer 3 PWM indépendants ?


    ------

    Bonjour,

    Je souhaite me faire une horloge à tube VFD (http://www.ebay.fr/itm/IV-11-Russian...item4cf4980546)

    Sous chacun des 4 tubes, je voudrais mettre une LED RGB. Chaque LED devant être pilotée par 3 PWM indépendants.
    J'en viens à ma question : comment générer ces 3 signaux de manière indépendante pour que les couleurs changent (presque) aléatoirement.

    Merci d'avance pour vos idées.

    -----

  2. #2
    jiherve

    Re : Comment générer 3 PWM indépendants ?

    Bonjour,
    il suffit d'utiliser un µc offrant cette possibilité, cela existe chez Atmel et sans doute chez Microchip.
    Bon bien sur il faudra programmer la bête.
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    A peine posé ma question que déjà j'ai une réponse. Ca va bien vite.
    Est ce que cette petite bête peut faire ça ? http://ww1.microchip.com/downloads/e.../40001723C.pdf

  4. #4
    arsene de gallium

    Re : Comment générer 3 PWM indépendants ?

    Ce ne sont pas des tubes Nixies mais des afficheurs 7 segments dans un tube.
    Tube Nixies:
    http://fr.wikipedia.org/wiki/Tube_Nixie
    Ces afficheurs ont une couleur fixe, rouge normalement, et ça ne peut être changé.
    Les leds ajoutées ne changeront que l'éclairage d'ambiance du tube, pas celle des chiffres.
    De plus, le rouge de l'affichage va se mélanger avec la couleur des leds et donner quelque chose d'intermédiaire à dominante rouge.
    Je précise ça car le résultat risque d'être loin de ce que tu cherches: un essai est à faire sur un tube avant de partir sur un circuit relativement complexe.
    Si ça te convient, il est comme indiqué par jiherve, préférable de partir sur un micro-controleur surtout pour le coté aléatoire mais il faut programmer celui-ci.

  5. A voir en vidéo sur Futura
  6. #5
    jiherve

    Re : Comment générer 3 PWM indépendants ?

    Re
    Je ne suis pas sur que le pic sache faire çà mais un Attiny45 (DIL 8) le peut ainsi que beaucoup de ses frères.
    JR
    l'électronique c'est pas du vaudou!

  7. #6
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Citation Envoyé par arsene de gallium Voir le message
    Ce ne sont pas des tubes Nixies mais des afficheurs 7 segments dans un tube.
    Tube Nixies:
    http://fr.wikipedia.org/wiki/Tube_Nixie
    Ces afficheurs ont une couleur fixe, rouge normalement, et ça ne peut être changé.
    Les leds ajoutées ne changeront que l'éclairage d'ambiance du tube, pas celle des chiffres.
    De plus, le rouge de l'affichage va se mélanger avec la couleur des leds et donner quelque chose d'intermédiaire à dominante rouge.
    Je précise ça car le résultat risque d'être loin de ce que tu cherches: un essai est à faire sur un tube avant de partir sur un circuit relativement complexe.
    Si ça te convient, il est comme indiqué par jiherve, préférable de partir sur un micro-controleur surtout pour le coté aléatoire mais il faut programmer celui-ci.
    Je ne parlais pas de Nixie mais de tube VFD. Les segments sont verts.

    Citation Envoyé par jiherve Voir le message
    Re
    Je ne suis pas sur que le pic sache faire çà mais un Attiny45 (DIL 8) le peut ainsi que beaucoup de ses frères.
    JR
    J'ai regardé vite fait la doc du Attiny45, il n'a pas de module PWM, de plus je n'ai pas d'outils pour programmer cette marque de µC.

  8. #7
    kevin8z

    Re : Comment générer 3 PWM indépendants ?

    J'avais fait une horloge avec 6 tubes nixie, avec une led RGB en dessous chaque. Regarde sur mon site, j'y est mis le programme est dedans tu trouvera tout ce qui faut pour faire le mode fondu ainsi que le paramétrage des registres pour 9 PWMs.

    PS: utilise la MAPS sur le site de microchip, ça te permettra de trouver le PIC à ton "gout"

  9. #8
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Dans le fichier Couleur.c, je vois PWM (&R,&G,&B)
    que fait cette instruction ?

    Je suis une bille en c ...

  10. #9
    kevin8z

    Re : Comment générer 3 PWM indépendants ?

    Dans la fonction alea(); je fait tout les calculs me permettant de modifier chaque couleur pour le mode fondu. Ensuite j'envoie ces 3 couleurs via la fonction PWM(&R,&G,&B); Et dans cette fonction PWM je met a jour les 3 registres des 3 différents PWM, pour modifier leurs temps ton.
    J'espère avoir était assez clair

  11. #10
    jiherve

    Re : Comment générer 3 PWM indépendants ?

    Bonsoir,
    Il y a plusieurs modules PWM sur l'Attiny 45, deux par timer, qui sont aussi 2, et je les utilise couramment.
    Bien sur si tu n'a pas les outils cela rend ma proposition caduque.
    JR
    l'électronique c'est pas du vaudou!

  12. #11
    RISC

    Re : Comment générer 3 PWM indépendants ?

    Salut Gérard,

    Celui que tu as trouvé convient parfaitement (3 PWM x 16 bits). Dans un 8 broches c'est un régal pour les leds RGB ;=)
    J'ai un collègue qui a récemment utilisé un PIC16F1xxx et qui a réalisé le pilotage de 3 led RGB en combinant les PWM et le PPS ce qui lui permet d'avoir l'équivalent de 9 x PWM.
    J'utilise souvent cette brochure pour avoir une meilleure vision des périphériques dans la famille PIC16F1xxx qui comporte déjà beaucoup plus de modèles que l'ancienne famille PIC16Fxxx.

    Cela va être chaud avec l'ICSP mais avec le PPS tu devrait être capable de faire sortir les signaux digitaux sur les broches que tu veux ;=)

    Si tu veux un peu plus de broches, tu peux monter sur les PIC16F176x et PIC16F177x

    a+
    Dernière modification par RISC ; 30/10/2014 à 18h42.

  13. #12
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Citation Envoyé par jiherve Voir le message
    Bonsoir,
    Il y a plusieurs modules PWM sur l'Attiny 45, deux par timer, qui sont aussi 2, et je les utilise couramment.
    Bien sur si tu n'a pas les outils cela rend ma proposition caduque.
    JR
    Merci de ta proposition mais je vais rester chez Microchip.

  14. #13
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Citation Envoyé par RISC Voir le message
    Salut Gérard,

    ...

    Cela va être chaud avec l'ICSP mais avec le PPS tu devrait être capable de faire sortir les signaux digitaux sur les broches que tu veux ;=)

    ...

    a+
    Je ne comprends pas cette phrase.

    En fait, l'idée est de piloter chaque RGB par un PIC, ça fait 3 sorties, 3 entrées pour que le PIC sache ce qu'il doit mettre en sortie (soit une couleur, soit PWM ...), avec 3 entrées, ça fait 8 possibilités.

    Donc le 12F1572 devrait faire l'affaire.

  15. #14
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Citation Envoyé par kevin8z Voir le message
    Dans la fonction alea(); je fait tout les calculs me permettant de modifier chaque couleur pour le mode fondu. Ensuite j'envoie ces 3 couleurs via la fonction PWM(&R,&G,&B); Et dans cette fonction PWM je met a jour les 3 registres des 3 différents PWM, pour modifier leurs temps ton.
    J'espère avoir était assez clair
    Je vais me replonger dans tes fichiers source.

  16. #15
    RISC

    Re : Comment générer 3 PWM indépendants ?

    Gerard,

    Je voulais simplement dire que l'ICSP prend 2/3 broches, c'est chaud si tu veux deboguer avec 8 broches ;=)
    Les PWM ont été bien placés puisque qu'il existe une config alternate qui positionne les PWM sur d'autres broches que celles du debug.

    Je suppose que si tu as besoin de 3 sorties et 3 entrées tu ne vas pas déboguer...;=)

    Le PIC12F1572 ne possède apparemment pas le PPS comme ses grands frères. Le PPS permet de choisir par soft les broches associées au périphériques.
    Cela retire le PB classique des broches multiplexées qui ont plusieurs signaux...dont on a besoin en même temps.

    a+
    Dernière modification par RISC ; 30/10/2014 à 22h37.

  17. #16
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Je ferait des essais avec un seul PWM pour pouvoir garder les pattes pour le PICKit3.
    Dès que ce sera opérationnel, j'utiliserai les 3 PWM.

  18. #17
    RISC

    Re : Comment générer 3 PWM indépendants ?

    Salut Gérard,

    Si tes 3 PWM font la même chose c'est effectivement une solution de développer sur un canal et de répliquer pour pouvoir garder les broches de debug.

    Il y a une nouvelle note d'application toute chaude (1/10/14) sur le high resolution RGB LED color mixing pour le PIC12F1572 et ses grands frères (PIC16F157x) : AN1562.

    Tu trouveras aussi pas mal d'infos (schéma / code source) sur cette page.

    a+

  19. #18
    arsene de gallium

    Re : Comment générer 3 PWM indépendants ?

    @Gerard
    Oui en effet c'est le lien sur la baie qui m'a induit en erreur.

  20. #19
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Citation Envoyé par arsene de gallium Voir le message
    @Gerard
    Oui en effet c'est le lien sur la baie qui m'a induit en erreur.
    Pas grave du tout.
    Je suis tombé un jour par hasard sur ces tubes et j'en ai acheté en Ukraine. Je les trouve beaux.

  21. #20
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Je viens de voir dans le fichier 12F1572.ppi :

    MSSP=0 ; 0 = None, 1 = Single MSSP, 2 = Dual MSSP, 3 = SSP Only
    HPWM=0 ; Amount of standard PWM channels

    Que faut-il en penser alors que la doc dit qu'il y a 3 modules PWM ?

  22. #21
    RISC

    Re : Comment générer 3 PWM indépendants ?

    Salut Gérard,

    Qu'est-ce que c'est le fichier 12F1572.ppi ?

    a+

  23. #22
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    C'est le fichier de déclaration qui est installé avec mon compilateur.

  24. #23
    RISC

    Re : Comment générer 3 PWM indépendants ?

    Salut,
    J'ai vérifié le fichier header p12F1572.h du compilateur XC8 pour le PIC12F1572 et il y a bien 3 PWM (extrait) :

    Code:
    // bitfield definitions
    typedef union {
        struct {
            unsigned                        :4;
            unsigned PWM1IF                 :1;
            unsigned PWM2IF                 :1;
            unsigned PWM3IF                 :1;
        };
    } PIR3bits_t;
    extern volatile PIR3bits_t PIR3bits @ 0x013;
    // bitfield macros
    #define _PIR3_PWM1IF_POSN                                   0x4
    #define _PIR3_PWM1IF_POSITION                               0x4
    #define _PIR3_PWM1IF_SIZE                                   0x1
    #define _PIR3_PWM1IF_LENGTH                                 0x1
    #define _PIR3_PWM1IF_MASK                                   0x10
    #define _PIR3_PWM2IF_POSN                                   0x5
    #define _PIR3_PWM2IF_POSITION                               0x5
    #define _PIR3_PWM2IF_SIZE                                   0x1
    #define _PIR3_PWM2IF_LENGTH                                 0x1
    #define _PIR3_PWM2IF_MASK                                   0x20
    #define _PIR3_PWM3IF_POSN                                   0x6
    #define _PIR3_PWM3IF_POSITION                               0x6
    #define _PIR3_PWM3IF_SIZE                                   0x1
    #define _PIR3_PWM3IF_LENGTH                                 0x1
    #define _PIR3_PWM3IF_MASK                                   0x40
    Je joins les fichiers headers pour le C et l'assembleur tels qu'ils sont dans le compilateur XC8 v1.33

    Vérifie avec le fabricant de ton compilateur..ils ont du faire un oubli

    a+
    Fichiers attachés Fichiers attachés

  25. #24
    Gérard

    Re : Comment générer 3 PWM indépendants ?

    Je fréquente aussi un forum traitant du compilateur mais je n'ai pas encore eu de réponse satisfaisante.
    Merci pour ton aide.

Discussions similaires

  1. Sonar : comment générer des ultrasons ?
    Par LaboSW dans le forum Électronique
    Réponses: 6
    Dernier message: 20/02/2012, 20h20
  2. Comment générer des impulsions cc hf
    Par invite47f2b9c8 dans le forum Électronique
    Réponses: 28
    Dernier message: 17/11/2011, 11h41
  3. comment générer de l'electricité statique
    Par invitecc90a329 dans le forum Électronique
    Réponses: 6
    Dernier message: 20/12/2010, 09h07
  4. comment générer une tension aléatoire?
    Par invite3dff7c63 dans le forum Électronique
    Réponses: 6
    Dernier message: 26/03/2008, 12h46
  5. comment générer la vapeur d'eau?
    Par invite49c60130 dans le forum Chimie
    Réponses: 3
    Dernier message: 19/05/2006, 15h13
Découvrez nos comparatifs produits sur l'informatique et les technologies.