Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

[PIC] Démarrage progressif pour guirlande de Noël



  1. #1
    carcan

    [PIC] Démarrage progressif pour guirlande de Noël


    ------

    Bonjour à toutes et à tous !

    je viens de réaliser un petit montage autour d'un PIC qui permet un allumage en douceur d'ampoules à incandescence (dans mon cas des tubes de guirlandes de Noël 230V). L'allumage progressif permet de limiter le pic de courant important lorsque les filaments sont froids, donc de prolonger la durée de vie de ces guirlandes.
    Bien entendu, ce montage peut s'adapter à bien d'autres applications !

    Pour le schéma, je me suis basé sur celui de ce site :
    http://www.ivica-novakovic.from.hr/Lightdimmer-eng.htm
    Avec les différences suivantes : pas de récepteur IR ni de poussoir et le triac est commandé par le port GP0.
    J'ai utilisé un PIC 12F675 (ce n'avais que celui là de stock en "petit"). N'importe quel PIC possédant une interruption externe peut convenir, voici mon code source (en CCS) :

    Code:
    #include <12F675.h>
    #FUSES NOWDT, INTRC_IO, NOCPD, NOPROTECT, NOMCLR, PUT, NOBROWNOUT, BANDGAP_HIGH
    #use delay(clock=4000000)
    
    static long int Dim = 9000; 
    
    void FireTRIAC()
    {
       output_high(PIN_A0);   //Fires TRIAC
       delay_us(5);
       output_float(PIN_A0);  //Switch to HiZ Mode
       delay_us(5);
    }
    
    #int_EXT
    void EXT_isr(void) //each zero cross ISR is enabled
    {
       static int1 Edge = 0;
       
       Dim=Dim-10; //decrease Dimming value each 10mS
       
       delay_us(Dim);
       FireTRIAC();
       
       //Change Trigger Mode
       Edge = Edge^1;
       if (Edge) ext_int_edge (0,L_TO_H);
       else      ext_int_edge (0,H_TO_L);
       
    }
    
    void main()
    {
       ext_int_edge (0,H_TO_L);
       delay_ms(500);
       enable_interrupts(INT_EXT);
       enable_interrupts(GLOBAL);
          
       while(TRUE)
       {
          if (Dim==0) //Drives TRIAC in normal mode
          {
           disable_interrupts(INT_EXT);
           FireTRIAC();
          }
       }   
    }
    Si vous désirez typon du circuit imprimé, je l'ai réalisé avec WinTypon 5, demandez le en mp, je vous l'enverrai par e-mail.

    N'hésitez pas à laisser vos commentaires, critiques, ... sur ce petit montage !
    A+
    Laurent

    -----

  2. #2
    carcan

    Lightbulb Re : [PIC] Démarrage progressif pour guirlande de Noël

    Hello !

    Halloween s'approche à grands pas et j'avais besoin de réaliser un éclairage style "maison de l'horreur" ... et bien sur, pas vraiment le temps de faire quelque chose de bien. J'ai donc repris un de ces modules et juste modifié le code :
    Code:
    #include "main12f675.h"
    #include <STDLIB.h>
    
    static long int Dim; 
    
    void FireTRIAC()
    {
       output_high(PIN_A0);   //Fires TRIAC
       delay_us(5);
       output_float(PIN_A0);  //Switch to HiZ Mode
       delay_us(5);
    }
    
    #int_EXT
    void EXT_isr(void) //each zero cross ISR is enabled
    {
       static int1 Edge = 0;
       int RV;
       
       RV = rand();
       Dim = 12 * (long)(RV) + 4000;
       delay_us(Dim);
       FireTRIAC();
       
       //Change Trigger Mode
       Edge = Edge^1;
       if (Edge) ext_int_edge (0,L_TO_H);
       else      ext_int_edge (0,H_TO_L);
       
    }
    
    void main()
    {
       setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
       ext_int_edge (0,H_TO_L);
       delay_ms(500);
       enable_interrupts(INT_EXT);
       enable_interrupts(GLOBAL);
          
       while(TRUE);
       
    }
    Le résultat est très sympa !!!

    Bon amusement !
    Laurent
    Images attachées Images attachées  
    Dernière modification par carcan ; 25/10/2011 à 08h17.

Discussions similaires

  1. guirlande de noel...
    Par luxx70 dans le forum Électronique
    Réponses: 8
    Dernier message: 21/11/2009, 21h22
  2. [HELP] Démarrage progressif
    Par ced83 dans le forum Physique
    Réponses: 5
    Dernier message: 06/02/2009, 17h53
  3. Réponses: 9
    Dernier message: 27/12/2008, 10h58
  4. Problème avec guirlande de Noël extérieures
    Par nomad83 dans le forum Électronique
    Réponses: 0
    Dernier message: 04/12/2008, 18h58
  5. guirlande de noel à piles
    Par Morph_MS dans le forum Électronique
    Réponses: 7
    Dernier message: 23/11/2006, 06h36
Découvrez nos comparatifs produits sur l'informatique et les technologies.