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

PWM qui ne marche pas sur mon Pic :(



  1. #1
    Imei

    PWM qui ne marche pas sur mon Pic :(


    ------

    Bonsoir,
    J'ai essayé de mettre en place le pwm sur mon 18F4431. Evididement ça parait hyper simple mais ça marche pas
    Au début je n'avais pas mis le port B en sortie donc forcément mais là...
    Je précise que sur ce pic les il y a 6 pwm de (RB0 à RB5), et que le pin qui m'interesse et RB0 ou RB1 ( je ne sais ce que considere la fonction OpenPWM1 comme pin : RB0, RB1 ?)

    Dans ce code je fais donc varier les duty cycle pour faire varier l'intensité de ma led en sortie.

    Merci de votre aide!

    #include <p18F4431.h>
    #include <stdio.h>
    #include <timers.h>
    #include <pwm.h>
    #include <delays.h>

    #pragma config OSC = HS
    #pragma config CP1 = OFF

    void Delay10mS(int x)
    {
    int i;
    for (i=0; i<x; i++) Delay10KTCYx(12);
    }

    void main (void)
    {
    int a;
    TRISB=0;

    OpenTimer2(T2_PS_1_16 & TIMER_INT_OFF);
    OpenPWM1(199);
    SetDCPWM1(640);

    while(1)
    {

    for(a=0;a<640; a=a+16)
    {
    SetDCPWM1(a);
    Delay10mS(4);
    }
    for(a=0;a<640; a=a+16)
    {
    SetDCPWM1(640-a);
    Delay10mS(4);
    }
    }
    }

    -----
    Dernière modification par Imei ; 03/01/2007 à 23h47.

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    RISC

    Re : PWM qui ne marche pas sur mon Pic :(


  5. #3
    Imei

    Re : PWM qui ne marche pas sur mon Pic :(

    Je vais regarder ça tout de suite. Merci !

  6. #4
    RISC

    Re : PWM qui ne marche pas sur mon Pic :(

    diwee,

    Vérifie bien l'initialisation des broches de sortie PWM partagées avec le PORTB.

    http://ww1.microchip.com/downloads/e...Doc/39616b.pdf

    Voir paragraphe 17.11.1 page 205 :
    "All PWM I/O pins are general purpose I/O. When a pair of pins are enabled for PWM output, the PORT and TRIS registers controlling the pin are disabled. Refer to
    Figure 17-23 for details."

    et le paragraphe 17.11.3 page 206 :
    "The PWMPIN configuration bit determines the PWM output pins to be PWM output pins or digital I/O pins, after the device comes out of reset. If the PWMPIN configuration bit is unprogrammed (default),...."

    De meme les paragraphes suivants decrivent le fonctionnement de ces broches durant le mode debug....

  7. A voir en vidéo sur Futura
  8. #5
    Imei

    Re : PWM qui ne marche pas sur mon Pic :(

    Aprés avoir galéré plus de 3h sur le pb j'ai trouvé. Dans le datasheet de 18F4431 il est marqué qu'il y a 6 PWM sur le port B de Rb0 à Rb 5 OK.
    Voyant que ça ne marchait pas j'ai essayé les autre pins et par miracle y'en a un qui marchait le pin CCP1 sur le port C. Je trouve ça pas trop affolant car le CCP1 est un comparateur mais alors pourquoi ils ont flanqué les PWM sur le port B dans le datasheet.

    Bref ça marche. Mais nouveau probléme : ( Je précise que je reçu mon ICD2 aujourd'hui donc je suis un peu Nood néamoins j'ai du métier : Le circuit est alimenté par une pile 9v et quand je débranche l'ICSP plus rien ne vas : exemple : les deux leds clignotent: seulement une led fait varier son intensité lumineurse!
    J'ai bien pris la précaution de faire un reset (enlever remettre la pile mais c'est toujours pareil)

    Merci.

  9. #6
    RISC

    Re : PWM qui ne marche pas sur mon Pic :(

    Bonjour Diwee,

    Peux-tu expliquer pourquoi tu utilises le 18F4431 ?
    Il semble que tu ne pilotes aucun moteur. Que veux-tu piloter avec ton micro ?

    Concernant l'ICD2 peux-tu décrire tes connections et quel type de prototype tu utilises (montage perso ou carte achetée) ?

    exemple :
    PROTO? <---- ICSP---> ICD2 <----- USB ----> PC
    ALIM? ALIM? (non nécessaire si USB)

    As-tu bien suivant la procédure d'installation du driver USB Microchip pour ton ICD2 ? (c'est vital...)

    a+

  10. Publicité
  11. #7
    invite03481543

    Re : PWM qui ne marche pas sur mon Pic :(

    Attention pour l'alim auxiliaire de l'ICD2, elle est indispensable si la cible n'est pas alimenté.
    Je dirai même, il vaut mieux utiliser l'alim auxiliaire de l'ICD2, que l'alim 5V prévue sur la carte.
    Je me suis fait avoir il y a peu, j'alimentais la cible par sa propre alim et je me contentais de brancher uniquement le câble USB sur ICD2, résultat -> une cible bien détectée, la prog se déroule normalement, mais une succession d'erreur détectée au contrôle final.
    Dès que j'ai mis l'alim auxiliaire de l'ICD2 (et donc dans le même temps éteint l'alim normale de la cible), plus de problème du tout.

    @+

  12. #8
    invite03481543

    Re : PWM qui ne marche pas sur mon Pic :(

    C'est vrai qu'un PIC18 pour faire du PWM, c'est du luxe...

  13. #9
    Imei

    Re : PWM qui ne marche pas sur mon Pic :(

    Ok me diriez vous le 4431 c'est du luxe pour les pwm. Mais j'en ai quand même besoins car j'ai une led RGB à commander ce qui me fait 3 pwm (je préfére que mes pwm soient en hardware). Personne n'a d'idée pour ce pb de datasheet; c'est qd meme fou non ?

    Pour mon probléme d'alimentation, le probléme survient quand une retire le fil Vdd ou la masse, gnd de l'icsp. A noter que le programmateur n'est pas alimenté...
    Dernière modification par Imei ; 04/01/2007 à 12h28.

  14. #10
    Imei

    Re : PWM qui ne marche pas sur mon Pic :(

    Voici une correction de mon message précédent (les admin pourront le supprimer car il n'est pas trés clair)

    Ok me diriez vous le 4431 c'est du luxe pour les pwm. Mon projet et un driver Led RGB (avec 3 pwm en hardware). Je n'ai que ce pic sous la main ce qui est deja pas mal.

    Je ne comprend pas pourquoi C18 est aussi tordu. Normalement il y a 6 pwm sur le port B et on utilise deux broches du port C :CC1P et CC2P pour les pwm ! J'ai essayé d'initialisé un troisiéme PWM en faisant un OpenPWM3 mais le compiler donne une erreur.

    Pour mon probléme d'alimentation, le probléme survient quand une retire le fil Vdd ou la masse, gnd de l'icsp. A noter que le programmateur n'est pas alimenté...

  15. #11
    RISC

    Re : PWM qui ne marche pas sur mon Pic :(

    Citation Envoyé par HULK28 Voir le message
    Attention pour l'alim auxiliaire de l'ICD2, elle est indispensable si la cible n'est pas alimenté.
    Entièrement d'accord ;=).
    Malheureusement le formatage de mon message a disparu . Il aurait du etre comme suit :

    exemple :
    PROTO? <---- ICSP---> ICD2 <----- USB ----> PC
    ALIM?________________ALIM? (non nécessaire si USB)

    Citation Envoyé par HULK28 Voir le message
    Je dirai même, il vaut mieux utiliser l'alim auxiliaire de l'ICD2, que l'alim 5V prévue sur la carte.
    C'est seulement vrai si tu ne dépasse pas le courant (relativement faible) pouvant être fourni par l'ICD2 au prototype. Dans tous les autres cas cela ne fonctionne pas...

    La meilleure méthode reste à mon sens la suivante, qui fonctionne dans tous les cas de figures :

    1/ ICD2 autoalimenté par l'USB du PC (alim externe non nécessaire)
    2/ prototype toujours alimenté par sa propre alimentation

    Je n'ai jamais eu aucun PB depuis que j'utilise cette méthode (plusieurs centaines de fois)

  16. #12
    Tartopommes

    Re : PWM qui ne marche pas sur mon Pic :(

    Citation Envoyé par diwee Voir le message
    Je ne comprend pas pourquoi C18 est aussi tordu. Normalement il y a 6 pwm sur le port B et on utilise deux broches du port C :CC1P et CC2P pour les pwm ! J'ai essayé d'initialisé un troisiéme PWM en faisant un OpenPWM3 mais le compiler donne une erreur.
    Hello!

    Le 18F4331 est plus récent que la lib de Microchip. Il peut donc y a voir des problèmes si tu veux utiliser cette librairie. Je te conseil de lire le code de la lib (C:\MCC18\src\traditional\pmc\ PWM) et de comparer avec la datasheet. Tu trouveras peut-être des discordances.

    Bonne chance!
    Dernière modification par HULK28 ; 05/01/2007 à 08h30. Motif: Ajout d'une balise quote pour la lisibilité

  17. Publicité
  18. #13
    RISC

    Re : PWM qui ne marche pas sur mon Pic :(

    Citation Envoyé par diwee Voir le message
    Je ne comprend pas pourquoi C18 est aussi tordu. Normalement il y a 6 pwm sur le port B et on utilise deux broches du port C :CC1P et CC2P pour les pwm ! J'ai essayé d'initialisé un troisiéme PWM en faisant un OpenPWM3 mais le compiler donne une erreur.
    Regarde le post #8 ici :
    http://forum.microchip.com/tm.aspx?m=207385#

    L'explication est je pense la suivante :
    la plupart des PIC18 possèdent le module CCP qui est un module standard. La librairie du C18 utilise donc ce module.
    Par contre les autres canaux PWM ne sont présents que dans les PIC18 dédiés au contrôle moteur (ils sont d'ailleurs beaucoup plus sophistiqués). C'est la raison pour laquelle la librairie standard ne semble pas les utiliser...

    Il semble cependant possible de modifier cette librairie pour pouvoir se servir des autres sorties PWM...ou de vérifier les notes d'applications que j'ai citées plus haut car elles contiennent tout le code nécessaire.

    Bonne chance

  19. #14
    Imei

    Re : PWM qui ne marche pas sur mon Pic :(

    Merci, j'ai d'ailleurs trouvé une page (189) du datasheet qui parle bien de ces PWM spécifiques. Je vais m'y plonger: je posterai les nouvelles.

  20. #15
    RISC

    Re : PWM qui ne marche pas sur mon Pic :(

    diwee,

    Il existe des formation en ligne téléchargeable sur le micro que tu utilises Elles sont à priori dédidées au controle moteur mais peut-être que cela peut t'aider :

    http://techtrain.microchip.com/webse...aspx?Active=42
    http://techtrain.microchip.com/webse...aspx?Active=37

    La liste complète des formation est là :
    http://techtrain.microchip.com/webse...QuickList.aspx

    bon courage

  21. #16
    Imei

    Re : PWM qui ne marche pas sur mon Pic :(

    Bonsoir,

    Voici quelques nouvelles concernant mon projet:
    J'ai réussi à utiliser les PWM qui n'était pas implémenté dans librairies. Ca été un peu pénible à lire la doc mais ça va!

    Mon probléme que je dois utiliser les entrée complémentées pour que ça fonctionne correctement sur l'entrée complémentée Je m'explique vous commander par example la broche PWM0 et vous lui mettez 0x00 (0%) pour le duty cycle. Et bien j'ai 100% sur la broche PW0 et sur la complémenté j'ai PWM1 j'ai mes 0% !
    Je ne comprend pas pourquoi.
    Je me suis encore un peu documenté et j'ai trouvé qu'il existait le mode 'Independent" page 201 du datasheet. Quand je me met dans ce mode j'ai plus rien qui marche

    Voili pour les news!

  22. #17
    RISC

    Re : PWM qui ne marche pas sur mon Pic :(

    Bonjour,

    J'ai trouvé des exemples en assembleur qui utilise les PWM sur un PIC18F2231 (même version que le tien mais le nombre d'E/S est plus faible) pour le controle moteur.

    1/ PICDEM MC LV Development Board
    Ce micro (PIC18F2231) est utilise sur la carte "PICDEM MC LV Development Board" dont les schémas et tout les fichiers sources sont disponibles ici :

    http://www.microchip.com/stellent/id...&part=DM183021

    Décompresse ce fichier ZIP :
    http://www.microchip.com/Microchip.W...part=DM183021#

    Dans la note d'application AN900 à partir de la page 8 la procédure de programmation des PWM est décrite :
    http://ww1.microchip.com/downloads/e...tes/00900a.pdf

    2/ PICDEM MC Development Board
    Une autre carte pour les PIC18Fxx31 qui montre comment utiliser les PWM avec les fichiers sources :
    http://www.microchip.com/stellent/id...&part=DM183011

    3/ Regarde aussi toutes les notes d'application listées à droite de cette page :
    http://www.microchip.com/stellent/id...cName=en010291

Discussions similaires

  1. pwm sur pic
    Par alainav1 dans le forum Électronique
    Réponses: 5
    Dernier message: 07/12/2007, 00h31
  2. pwm sur pic
    Par noisyboxes dans le forum Électronique
    Réponses: 3
    Dernier message: 28/04/2007, 20h07
  3. tv qui marche pas et qui marche!!
    Par bobluc dans le forum Dépannage
    Réponses: 12
    Dernier message: 19/09/2006, 18h12
  4. image qui ne s'affiche pas sur mon site
    Par pere noel dans le forum Internet - Réseau - Sécurité générale
    Réponses: 13
    Dernier message: 22/03/2006, 13h45
  5. mon lecteur marche pas
    Par KonoShiryu dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 14/12/2004, 16h17
Découvrez nos comparatifs produits sur l'informatique et les technologies.