Bonjour à tous!
Je suis actuellement sur un projet qui consiste à réguler une alim à découpage à l'aide d'un PIC (DSPI33FJ16GS502).
J'utilise MPLABX en association avec XC16.
VOici les principales caractéristiques de mon montage:
- Montage Half-bridge multi-sortie - commande des MOS complémentaire, conduction continue
- Entré 12V / Sortie +5V, -5V, 8V
- Controle en mode tension
- Le sensing en tension se fait à l'aide d'un pont diviseur qui me ramene la tension d'entré de l'ADC (AN0) à 3.3V
- J'utilise un correcteur PID classique
- Les sortie PWM1H, PWM1L sont utilisé pour commander les MOS
Mon programme consiste à faire l'acquisition de la tension de sortie (ramené à 3.3V pour comparer avec une reference interne au PIC).
La fonction PIDControl se charge ensuite de calculer l'erreur et de calculer le nouveau rapport cyclique à injecter.
Pour résumer le résultat de l'acquisition est stocké dans ma variable ADC_RSLT0 et la nouvelle valeur du rapport cyclique est stocké dans PDC1.
Enfin c'est comme ca que cela devrait fonctionner, le probleme c'est que apres compilation et programmation je n'ai aucune activitée sur les sorties PWM... et je ne vois pas d'ou pourrait venir l'erreur.
Aussi je laisse mon code en pièce jointesi jamais quelqu'un à une idée sur le sujet...
Merci d'avance !
poste FS.txt
-----