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

Besoin d'aide - problème de code sur piC18f452 !



  1. #1
    Soadnemesis

    Exclamation Besoin d'aide - problème de code sur piC18f452 !


    ------

    Bonjour à tous,

    Je travaille actuellement sur un projet pour lequel je dois configurer un piC18f452. Le but est de faire fonctionner un moteur à courant continu à l'aide d'un joystick.

    Je commence donc par faire l'acquisition des données sur la position du joystick en faisant une convertion analogique numérique.
    Puis j'utilise les valeurs obtenues pour faire varier un signal de pwm qui est mis à l'entrée du moteur en passant par un pont H pour faire varier sa vitesse et son sens.

    Problème ! Impossible d'obtenir un signal de PWM. Je suis novice en CCS alors je solicite votre aide pour savoir quelles erreurs auraient pu se glisser dans mon code :

    Code:
     
    
    #include <18f452.h>
    #fuses HS,NOPROTECT,NOWDT,NOLVP
    #use delay(clock=4000000)
    
    #define sortie_sens_moteur_1 output_bit(PIN_C1,1)
    #define sortie_sens_moteur_0 output_bit(PIN_C1,0)
    
    //----------------------------------------------------------------------------
    // initialisation des bits de configuration matérielle
    
    void main (void);
    
    //----------------------------------------------------------------------------
    // Main routine
    //----------------------------------------------------------------------------
    void main ()
    {
    
    /* 0V ==> 5V codé sur 1023 byte soit un pas de 5mV*/
    
    int16 value;
    int16 pwm_osc;
    
    set_tris_c(0);
    
    //ADC Version CCS
    
     setup_ccp1(CCP_PWM);  // Configure CCP1 comme PWM
     setup_timer_2(T2_DIV_BY_4,0xFF,10); 
    
    setup_adc(ADC_CLOCK_INTERNAL);
     //enables the a/d module 
     //and sets the clock to internal adc clock
    
    setup_adc_ports(AN0_AN1_AN2_AN3_AN4);
     //sets all the adc pins to analog
     
    set_adc_channel(0);
     //the next read_adc call will read channel 0
    delay_us(10);
     // un petit délai est nécessaire après l'activation de la channel
      // et avant de lire
    
    value=read_adc();
     //starts the conversion and reads the result
     //and store it in value
    
    
     setup_ccp1(CCP_PWM);  // Configure CCP1 comme PWM
     setup_timer_2(T2_DIV_BY_4,0x64,10); 
      
          
     if(value> 511){
    			
    pwm_osc=(value2-511)>>1;
    
    set_pwm1_duty(pwm_osc);                								   	
    
    sortie_sens_moteur_0;
    }
    
    else {
    
    	pwm_osc= 100-(value2>>1);
    
    set_pwm1_duty(pwm_osc);									       
          	
    
    sortie_sens_moteur_1;
    }
    
    
    while(1);
    }
    // end main

    Ce forum m'a déjà aidé plusieurs fois et je vous serais vraiment très reconnaissant si vous pouviez m'aider un peu une nouvelle fois.

    Alors d'avance merci à toute personne qui se penchera sur mon problème.


    -----

  2. #2
    Soadnemesis

    Unhappy Re : Besoin d'aide - problème de code sur piC18f452 !

    S'il vous plait personne ?

  3. #3
    invite03481543

    Re : Besoin d'aide - problème de code sur piC18f452 !

    Bonjour,

    difficile de vous répondre comme ça, vu que nous ignorons tout de la fonction qui initialise le PWM...

    C'est tout le problème avec ce genre de fonction "clé en main" opaque et masquant ce qui est fait dedans.

    Je vous conseille de réaliser cette fonction vous même en suivant la procédure de la datasheet qui indique clairement les étapes à respecter.
    Si c'est toujours d'actualité, suivez la discussion concernant "matrice à leds", je vais poster d'ici peu un code clair sur la config d'un PWM, vous n'aurez plus qu'à le transposer à votre besoin.

Discussions similaires

  1. Problème sur "CALCUL VECTORIEL"
    Par near1 dans le forum Mathématiques du collège et du lycée
    Réponses: 6
    Dernier message: 22/11/2009, 11h57
  2. besoin d'aide urgente sur un problème de physique!!!!!
    Par laxie1347 dans le forum Physique
    Réponses: 2
    Dernier message: 16/09/2009, 13h02
  3. Réponses: 0
    Dernier message: 14/10/2008, 19h13
  4. besoin d'aide sur un problème très smple
    Par n@di@ dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 17/12/2006, 21h10
Découvrez nos comparatifs produits sur l'informatique et les technologies.