Programmation Dspic33f
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Programmation Dspic33f



  1. #1
    didou1982

    Programmation Dspic33f


    ------

    Bonjour,
    Depuis quelque temps je fait de la programmation sur dspic et j'ai un problème au niveau des Output compare.
    j'ai recopié l exemple n° 13.5 de Microchip DS70209A. j'ai pris la fréquence interne de 7.3 MHz et j ai calcule les valeurs pour avoir en sortie un pic de largeur variable entre 1 et 3 ms avec un rafraîchissement de 6ms.
    problème quelque soit la valeur de Per2 le pic de sortie a bien la bonne période mais celle de T2 reste invariable autour de 21 µs .
    de fait la largeur du pic ne varie que de quelques µs autour de 15µs.

    Je met le programme en fichier joint, merci d'avance pour votre aide.

    -----
    Fichiers attachés Fichiers attachés

  2. #2
    RISC

    Re : Programmation Dspic33f

    Salut,

    J'ai jeté un oeil à ton code et j'ai noté plusieurs choses :

    1/ Routine d'interruption du TIMER2
    a/ if(IFS0bits.T2IF)
    Tu testes dans ton interruption TIMER2 le flag de l'interruption du timer2 (comme on le fait pour les PIC18). Ceci n'est pas du tout utile puisque chaque périphérique a sa propre interruption dans les DSPI33.
    b/ Tu oublies de nettoyer le flag d'interruption avant de sortir !! : IFS0bits.T2IF = 0;

    2/ RPOR6bits.RP12R= 0b10101 ;//mise de compare4 sur la pin RB12
    Tu programmes la broche au milieu de ton code (il vaut mieux faire cela au tout début, après les bits de configuration) et en plus je pense que la procédure est fausse. Il faut sans doute faire unlock et lock pour pouvoir assigner les fonctions à des broches (voir les exemples de code)

    Mon conseil est de t'inspirer des exemples de codes pour les dsPIC33 que tu trouveras ici : http://www.microchip.com/codeexamples qui te permettront de trouver le code pour le PWM, le PPS et les interruptions.

    Je suppose que tu n'as pas besoin de vitesse dans ton appli puisque tu n'actives pas la PLL dans les bits de configurations (tu pourrais faire x4, x8 ou x16)

    a+

  3. #3
    didou1982

    Re : Programmation Dspic33f

    merci de m avoir répondu, comme vous l avez vu je débute
    j ai rectifié la remise a zéro du flag et tout a marché.
    pour l instant la routine d interruption ne me sert qu'a visualiser et faire quelques mesures en simulation
    le but de ce petit programme est de commander un moteur brushless et son ESC pour quelques essais de variation de vitesse. je n ai donc pas pour l'instant besoin de performance sur la rapidité du microprocesseur.
    je m attaquerait plus tard a la communication UART , la je testerait la vitesse, mais pour l instant, j'y vais tout doucement!
    merci encore

  4. #4
    RISC

    Re : Programmation Dspic33f

    Salut,

    Si tu souhaites piloter ton moteur brushless avec un dsPIC33, profites des nombreuses notes d'application et des webseminars dédiés à ce sujet :

    * http://www.microchip.com/DSCmotor
    * http://www.microchip.com/webseminars

    Si c'est un moteur brushless sans capteur, je te suggère de regarder l'algorithme à vote majoritaire qui est très robuste, y compris à basse vitesse.

    a+

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

    Re : Programmation Dspic33f

    Bonjour,
    Merci pour ta réponse RISC.
    Je connaissez déjà ces liens (je regarderai quand même de plus près) mais il me semble qu'ils concernent le pilotage des moteurs brushless sans ESC du commerce.
    Mais arriver à faire l'equivalent d'un ESC du commerce avec des moteurs consommant plus 10A comme c'est mon cas, ça demande de trouver des transistors assez rapide et ça devient assez encombrant et coûteux.
    La solution de l'ESC du commerce est plus facile non?

    Par contre ça demande de créer un signal ppm d'avoir un pic de largeur variable entre 1 et 3 ms avec un rafraîchissement de 6ms, d’après ce que j'ai compris.

    Je ne connait pas vraiment l'avantage de sortir directement en pwm triphasé.

    Le but à terme (dans un moment vu mon niveau), c'est de faire un quadrirotor ( un hélicoptère à 4 rotors) plus ou moins autonome.

    Merci encore pour tes réponses. A bientot.

Discussions similaires

  1. Pic 24f ou DsPic33f ?
    Par invite624dc4b7 dans le forum Électronique
    Réponses: 15
    Dernier message: 13/01/2011, 16h10
  2. dspic33f PortB inactif pour les pin 8 à 15
    Par invite1a38bb70 dans le forum Électronique
    Réponses: 9
    Dernier message: 17/08/2010, 01h09
  3. dsPic33F et bus CAN
    Par invitebd0c1fdf dans le forum Électronique
    Réponses: 1
    Dernier message: 11/06/2010, 00h58
  4. Programmateur DSPIC33F
    Par didou1982 dans le forum Électronique
    Réponses: 4
    Dernier message: 10/12/2009, 13h07
  5. dspic33f/ LCD explorer16=> pas d'affichage
    Par invite4b02e839 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/06/2009, 08h41
Découvrez nos comparatifs produits sur l'informatique et les technologies.