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

[Pic 16F690] Signal pwm



  1. #1
    Tripic

    [Pic 16F690] Signal pwm

    Bonjour à tous,

    Je voudrai générer un signal pwm à partir d'un PIC16F690 pour le contrôle d'un servomoteur.
    Etant débutant dans la programmation des PIC, j'ai besoin de votre aide pour la configuration du pic et la mise en oeuvre.

    Merci d'avance pour votre aide.

    -----


  2. Publicité
  3. #2
    Tripic

    Re : [Pic 16F690] Signal pwm

    J'ai oublié de préciser que je programme en pascal (mikroPascal). Mais si vous avez des exemples en C ça ne me dérange pas du moment que c'est bien expliqué.

  4. #3
    maximilien

    Re : [Pic 16F690] Signal pwm

    Bonsoir,
    mon MikroC a une librairie de PWM, il doit en être de même avec MikorPascal, non?

  5. #4
    Tripic

    Re : [Pic 16F690] Signal pwm

    Effectivement il y a une librairie de PWM mais j'aimerai justement des exemples pour l'utiliser.

  6. #5
    maximilien

    Re : [Pic 16F690] Signal pwm

    Ben, toujours sous MikroC à la fin des descriptions des fonctions il y a justement un exemple.

  7. A voir en vidéo sur Futura
  8. #6
    Tripic

    Re : [Pic 16F690] Signal pwm

    Oui, et aucune configuration du pic n'est necessaire ?

  9. Publicité
  10. #7
    maximilien

    Re : [Pic 16F690] Signal pwm

    Je joints le code en C (donner par MikroC)
    Code:
    // microcontroller : P16F877A
    // PWM module is set on RC2.
    
    unsigned short j, oj;
    
    void InitMain() {
      PORTB = 0;              // Set PORTB to 0
      TRISB = 0;              // PORTB is output
    
      ADCON1 = 6;             // All ADC pins to digital I/O
      PORTA = 255;
      TRISA = 255;            // PORTA is input
    
      PORTC = 0xFF;           // Set PORTC to $FF
      TRISC = 0;              // PORTC is output
      Pwm_Init(5000);         // Initialize PWM module
    }//~
    
    void main() {
      InitMain();
      j   = 80;               // Initial value for j
      oj  = 0;                // oj will keep the 'old j' value
      Pwm_Start();            // Start PWM
    
      while (1) {             // Endless loop
        if (Button(&PORTA, 0,1,1))   // button on RA0 pressed
          j++ ;                      //    increment j
        if (Button(&PORTA, 1,1,1))   // button on RA1 pressed
          j-- ;                      //    decrement j
    
        if (oj != j) {        // If change in duty cycle requested,
          Pwm_Change_Duty(j); //   set new duty ratio,
          oj = j;             //   memorize it,
          PORTB = oj;         //   and display on PORTB
        }
        Delay_ms(200);        // Slow down a bit
      }
    }
    Comme on peut le voir il y a les configurations.
    Il n'y a qu'à programmer le PIC avec le .hex fournit puis de voir le résultat.

  11. #8
    Tripic

    Re : [Pic 16F690] Signal pwm

    Merci, effectivement je viens de trouver la même chose dans les exemples de mikroPascal. Je regarde et te tiens au courant.

  12. #9
    maroucha

    Re : [Pic 16F690] Signal pwm

    s'il vous plait donner moi le code d'un servomoteur avec un pic 16F877 en langage micropascal je besoin de ca

Sur le même thème :

Discussions similaires

  1. Generer signal PWM precis avec un PIC
    Par black_is_beautiful dans le forum Électronique
    Réponses: 9
    Dernier message: 06/04/2012, 19h05
  2. Signal pwm langage C PIC16F876A
    Par Tyller dans le forum Électronique
    Réponses: 51
    Dernier message: 06/04/2010, 17h31
  3. Transformation de signal PWM en sinus
    Par student21 dans le forum Électronique
    Réponses: 2
    Dernier message: 13/02/2008, 15h46
  4. Signal pwm
    Par jujuscarface dans le forum Électronique
    Réponses: 5
    Dernier message: 10/08/2007, 08h27
  5. Passer d'un signal analogique à un PWM
    Par ashrak dans le forum Électronique
    Réponses: 5
    Dernier message: 17/04/2006, 10h52