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. Publicité
  3. #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+
    Ma marotte ? les microcontrôleurs ;=)

  4. #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

  5. #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+
    Ma marotte ? les microcontrôleurs ;=)

  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.

  7. A voir en vidéo sur Futura

Sur le même thème :

Discussions similaires

  1. Pic 24f ou DsPic33f ?
    Par tim_world dans le forum Électronique
    Réponses: 15
    Dernier message: 13/01/2011, 15h10
  2. dspic33f PortB inactif pour les pin 8 à 15
    Par Sanby dans le forum Électronique
    Réponses: 9
    Dernier message: 17/08/2010, 00h09
  3. dsPic33F et bus CAN
    Par frouby13 dans le forum Électronique
    Réponses: 1
    Dernier message: 10/06/2010, 23h58
  4. Programmateur DSPIC33F
    Par didou1982 dans le forum Électronique
    Réponses: 4
    Dernier message: 10/12/2009, 12h07
  5. dspic33f/ LCD explorer16=> pas d'affichage
    Par invite762542 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/06/2009, 07h41