PIC18F1220 : génération des PWM par le module ECCP
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

PIC18F1220 : génération des PWM par le module ECCP



  1. #1
    invite6cb8b74b

    Question PIC18F1220 : génération des PWM par le module ECCP


    ------

    Bonjour et bonne année à tous !
    Je suis sur un nouveau projet d'alim. à découpage full-bridge (ou pont en H) à base d'un PIC18F1220 (Je viens de finir un boost à base d'un PIC16F876A avec régul en courant).
    Je me posais une question concernant le fonctionnement du module ECCP du P18F1220. En effet qd on consulte le datasheet on peut y lire que qd on programme le module ECCP en half-bridge, on récupère sur les sorties P1A et P1B les 2 signaux de commande des MOSFET mais avec les caractéristiques (pour moi contraintes) suivantes : P1A et P1B sont complémentaires => ceci signifie que si par ex. le rapport cyclique vaut 10 %, alors P1A sera à 1 et P1B à 0 pendant 10% de la periode du PWM puis P1A passe à 0 et P1B à 1 sur les 90% du temps restant.
    Quelqu'un aurait-il une explication sur ce mode de fonctionnement ?
    Pourquoi ne pas avoir plutot fait (tjrs dans l'exemple avec un RC à 10%) P1A à 1 et P1B à 0 pendant 10% du cycle, puis cycle suivant P1B à 1 et P1A à 0 pendant 10% du cycle ?
    Avec leur fonctionnement j'ai l'impression que les ponts (full-brifge/Half-brigde) vont être déséquilibrés ? j'ai raté qque chose ?
    Merci pur votre aide
    JC
    PS: J'espère que ma question est claire, sinon n'hésitez pas à me le faire savoir.

    -----

  2. #2
    invite03481543

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Bonjour,

    je comprends tes interrogations j'ai utilisé le PIC18F8722 dans ce type de config et le moins que l'on puisse dire est que la datasheet est vraiment nulle sur ce point.
    On voit de suite que celui qui a rédigé cette partie est un "pousseur de bits".

    En fait il faut expérimenter pour arriver à bien comprendre, tout le secret réside dans l'usage du mode étendu en utilisant les bons timers, car certains sont bridés ou inactifs dans certains modes.
    Certains sont utilisables en timer mais pas en PWM , d'autres désactivés si l'un est actif, etc.
    Cette partie est la plus opaque, mais une fois que tu as compris ça va beaucoup mieux.
    En utilisant les bons timers et les modules CCPx associés tu arriveras à tes fins, je sais qu'il y a également un registre à configurer pour assurer la bonne config de tout ça.
    Au besoin je pourrais rechercher si tu veux.

    Il faut bien reconnaitre que la gestion des timers chez Microchip est une aberration pour un électronicien, une usine à gaz pour rien.
    C'est pour cela que j'ai migré sur les PIC24F et autres dsPIC pour des applications d'alim à découpage et moteurs, c'est de suite plus souple.
    Bon courage.

    @+

  3. #3
    DavidDB

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Salut,

    Faut tester avec les composants dédiés à la gestion PWM...

    Du style 18Fxx31, cela fonctionne très bien, et il n'est pas nécessaire de migrer vers les 24F ou dsPICs.

    C'est disponible en Samples, mais vu l'abus de l'Europe vis à vis des Samples, il y a maintenant des frais pour le transport...

    David.

  4. #4
    invite03481543

    Re : PIC18F1220 : génération des PWM par le module ECCP

    David, ce que je voulais dire c'est que la gestion des timers avec la famille 18F est assez indigeste, 4 timers disponibles mais pas en même temps et avec des limitations selon les modes c'est un peu navrant quand même.
    Par exemple faire un double push-pull est impossible avec un 18Fxxxx, alors que pourtant on a 4 sorties en mode étendu disponibles, mais pas gérables simultanément pour ce mode.
    @+

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

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Par exemple faire un double push-pull est impossible avec un 18Fxxxx, alors que pourtant on a 4 sorties en mode étendu disponibles, mais pas gérables simultanément pour ce mode.
    Sauf erreur de ma part, c'est possible sans se torurer l'esprit, avec la ref que j'ai cité(ex:18F4331) dans la série 18F.

    David.

  7. #6
    invite6cb8b74b

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Merci à vous deux pour ces réponses !
    Pour David : En fait je me suis orienté vers un 18F1220 car en parcourant le datasheet les schémas présentés dans la partie ECCP §PWM semblaient tout indiquer ce pic pour une alim de type full ou half-bridge. Maintenant a y regarder de plus près je ne comprend vraiment pas cette idée d'avoir des sorties qui fonctionnent en complémentaires => Intérêt ? Si j'avais approfondi le datasheet avant l'achat du PIC je ne l'aurais doute pas retenu. Maintenant il faut bien que je fasse avec ;-(

    Pour Hulk : Je ne vois pas trop ou tu veux en venir avec la gestion des timers. le module ECCP en mode PWM fonctionne avec le timer 2. C'est donc ce timer, le contenu de PR2 (qui définit la période du PWM) et enfin CCPR1L (+2 bits de CCP1CON qui définit le RC) qui définissent les signaux qui seront générés sur les sorties P1A/P1B/P1C et P1D (en fct du mode PWM configuré). Suggères-tu de mettre en service un autre timer pour venir modifier "à la main" les sorties de mon PWM ? Si oui je ne vois pas trop comment faire le lien entre le calcul de mon rapport cyclique (RC) qui me servira a garnir CCP1RL et les mise à jour permanentes sur la valeur de cet autre timer ? Je m'égare ?
    Merci
    JC

  8. #7
    invite03481543

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Citation Envoyé par JC22 Voir le message
    Pour Hulk : Je ne vois pas trop ou tu veux en venir avec la gestion des timers. le module ECCP en mode PWM fonctionne avec le timer 2. C'est donc ce timer, le contenu de PR2 (qui définit la période du PWM) et enfin CCPR1L (+2 bits de CCP1CON qui définit le RC) qui définissent les signaux qui seront générés sur les sorties P1A/P1B/P1C et P1D (en fct du mode PWM configuré). Suggères-tu de mettre en service un autre timer pour venir modifier "à la main" les sorties de mon PWM ? Si oui je ne vois pas trop comment faire le lien entre le calcul de mon rapport cyclique (RC) qui me servira a garnir CCP1RL et les mise à jour permanentes sur la valeur de cet autre timer ? Je m'égare ?
    Merci
    JC
    Le mieux comme je te le disais est de te faire la main avec le mode étendu, tu te rendra vite compte que ce n'est pas si évident que ça.

    Utiliser 2 timers conjointement avec les CCPx (en mode compare par exemple) pour obtenir une complémentarité parfaite est simplement impossible avec un PIC18.

    Dans un push-pull par exemple on ne peut accepter de n'avoir qu'une complémentarité approximative sous peine de faire saturer rapidemment le transfo.

    C'est tout ce que je peux te dire, fais des essais en grandeur réelle tu comprendras où je veux en venir.
    C'est pour cela que j'utilise des drivers push-pull comme l'UC3525A parfaitement adapté à ce genre d'appli, pas un PIC.
    @+

  9. #8
    invite6cb8b74b

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Bonjour,
    C'est bon j'ai trouvé comment faire : en fait en mode PWM full-bridge, a chaque fois que TMR2 déborde la valeur contenu dans PR2, il y a possibilité de générer une interruption.
    j'exploite d'ailleurs déjà cette interruption pour le calcul de mon PID.
    Pour avoir un signal PWM de commande d'un full-bridge (un truc qui tienne la route ), il suffit juste d'inverser a chaque interruption le sens du full-bridge en positionnant le bit 7 du registre CCP1CON.
    Et c'est gagné on obtient bien un signal équivalent à ce que génèrerait un SG3525 par ex.
    Sinon Hulk, j'avais bien commencé mon full-bridge avec un SG3525, mais le problème est que je n'arrivais pas à agir correctement sur ma patte de compensation (pin 9 de mémoire).
    En effet, j'ai pas mal de contraintes extérieures (régulation en courant en fonction de la tension d'entrée du full-bridge...) qui m'obligeaient a avoir pas mal de composants analogiques (dont AOP à alimenter en négatif ;-() ce qui fait que j'ai préféré repartir sur du numérique (je suis bien plus à l'aise en programmation qu'en électronique analogique...)
    On va voir ce que ca donne.
    Merci de votre aide.
    JC

  10. #9
    invite03481543

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Tiens nous au courant de tes expérimentations.
    Bon courage.
    @+

  11. #10
    invite6cb8b74b

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Bonjour a tous.
    Quelques nouvelles sur mon avancement.
    La modulation PWM de mon full-bridge semble bien fonctionner = inversion du bit 7 OK dans la routine d'interruption
    => Attention à faire en sorte que toutes les routines d'interruption soient le plus court possible sinon, si on en rate une
    et que l'inversion ne peut se faire on va avoir des problèmes sur l'alim au secondaire.
    Par contre je suis pas trop content de mes signaux Vds (tension drain source observée sur mes mosfets),
    ni de la tension prise aux bornes du primaire de ma self. Visiblement il y a un problème d'évacuation de l'energie emmagazinée dans le primaire mais je comprends pourquoi.
    En effet mes mosfets qui sont des IRFZ20 (pour les premiers essais après je basculerai sur des IRFP460) contiennent des diodes de roue libre intégrées.
    Qqu'un pourrait-il m'expliquer les courbes observées à l'oscillo ? NB : mes signaux de commandes (Vgs) sont nickels (cf. photos), j'utilise des IR2110 en driver.
    J'ai bien pensé à un snubber sur ma self (10 ohm en serie avec 4n7 en // sur le primaire) car en simulation sous PSCIPE ca à l'air pas mal,
    mais j'aimerai comprendre ce que je fais et comme je tire ces valeurs (10ohm,4n7) d'une autre alim que j'ai récupérée, elles ne sont donc pas forcément adaptées à
    l'alim que je cherche à faire.
    Pour résumé :
    J'ai un full-bridge alimenté pour le moment en 12V composé de 4 IRFZ20, piloté via 2 IR2110 commandé par un PIC18F1220.
    L'alim. du pont est découplée avec un 330u (pas assez pour absorber le courant de la self ?)
    Merci
    JC
    Images attachées Images attachées

  12. #11
    invite03481543

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Bonjour,

    pour pouvoir répondre à tes questions il me faut plus d'infos:

    1/ quelles sont les caractéristiques de ton transfo (type de ferrite, dimension du noyau magnétique, nombre de spires primaires et secondaire, self de fuite, capa de fuite), fréquence de travail.
    2/Ou sinon les caractéristiques entrée/sortie de l'alim.
    3/Avec quelle charge as-tu fait ces essais?

    Et en complément:

    -> as-tu fais un circuit imprimé?
    Si oui peux-tu le montrer pour évaluer la qualité du routage?

    -> Quel rapport cyclique as-tu adopté?

    Les diodes intrinsèques des Mos n'ont pas de réelle influence sur l'allure des signaux, en tout cas ici ce n'est pas le cas.

    En première approche, les oscillations que l'on observe semblent dues à un câblage excessif ou inapproprié entre Drain et transfo et/ou source et masse (self importante), et également un soucis de qualité du bobinage (la géométrie de bobinage d'un push-pull est très importante), la self de fuite et la capa de fuite sont directement liées à la qualité du bobinage.
    On observe d'ailleurs une dissymétrie entre les 2 phases de commutation, ce qui est très préjudiciable pour un push-pull.

    @+
    Dernière modification par HULK28 ; 21/01/2009 à 09h35.

  13. #12
    invite6cb8b74b

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Merci pour ta réponse Hulk,
    Malheureusement je viens juste de faire un nouveau post .
    Je te réponds qd même de suite

  14. #13
    invite6cb8b74b

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Citation Envoyé par HULK28 Voir le message
    Bonjour,

    pour pouvoir répondre à tes questions il me faut plus d'infos:

    1/ quelles sont les caractéristiques de ton transfo (type de ferrite, dimension du noyau magnétique, nombre de spires primaires et secondaire, self de fuite, capa de fuite), fréquence de travail.
    JC : type de ferrite = ? (c'est de la récup d'une autre alim.),
    le noyau est torique environ 3cm ext. 2cm int, largeur 1,2cm (noyau expérimetal, mon noyau cible est bien plus gros)
    nombres de spires 18 sur primaire, 14 sur secondaire
    Self de fuite ?, capa de fuite ? => comment puis-je les connaitre ?
    Fréquence de travail = 50 khz (25 khz sur chaque phase déphasée à 180 °)
    Citation Envoyé par HULK28 Voir le message

    2/Ou sinon les caractéristiques entrée/sortie de l'alim.
    JC : => pour l'instant c'est du 12v en entrée 6v en sortie (c'est pas la cible, car je tente pour le moment de valider le soft de mon PIC)
    A la cible ce sera Vin compris entre 20 et 250 VDC et Vout à 56 V mais avec un bien plus gros noyau et des IRFP 460)
    Mais je commence petit pour résoudre les pbs au fur et à mesure qu'ils se présentent.

    Citation Envoyé par HULK28 Voir le message

    3/Avec quelle charge as-tu fait ces essais?
    JC : Sur la photo, il n'y avait quasi aucune charge (810 ohm sous 6V) mais avec une 18 ohm la courbe est quasi identique (j'ai une photo avec 18 ohm si tu veux)

    Citation Envoyé par HULK28 Voir le message

    Et en complément:

    -> as-tu fais un circuit imprimé?
    JC: Plaque à trou, bridge + driver soudé ("propre"), pas de commande qui passe sur les pistes de "puissance" (je ne sais pas si on peut parler de puissance à 6 V et qque milli... )

    Citation Envoyé par HULK28 Voir le message

    Si oui peux-tu le montrer pour évaluer la qualité du routage?
    JC : Je pourrais faire une photo du montage si besoin oui.

    Citation Envoyé par HULK28 Voir le message

    -> Quel rapport cyclique as-tu adopté?
    JC : Il s'adapte en fct de la charge (regul par rapport à l'opto sur le secondaire) mais sur la photo on doit être à environ 10 %, 15% max.

    Citation Envoyé par HULK28 Voir le message

    Les diodes intrinsèques des Mos n'ont pas de réelle influence sur l'allure des signaux, en tout cas ici ce n'est pas le cas.

    En première approche, les oscillations que l'on observe semblent dues à un câblage excessif ou inapproprié entre Drain et transfo et/ou source et masse (self importante), et également un soucis de qualité du bobinage (la géométrie de bobinage d'un push-pull est très importante), la self de fuite et la capa de fuite sont directement liées à la qualité du bobinage.
    JC : Le bobinage est industriel ici => c'est une self de récup d'une alim à découpage. Un point important cependant, c'est qu'elle n'a pas de point milieu au secondaire => du coup j'ai un pont redresseur au secondaire => j'ai vu cette topologie sur le site Dr Heinz-Schmidt qui est pas mal pour le calcul du type de ferrite + nombre de spires.

    Citation Envoyé par HULK28 Voir le message

    On observe d'ailleurs une dissymétrie entre les 2 phases de commutation, ce qui est très préjudiciable pour un push-pull.

    @+
    JC : Je ne vois pas la dissymétrie dont tu parles ? (par ex. si on regarde la tension aux bornes de la self on a bien un signal complètement symtrique, pas complètement centré sur l'axe des X car j'ai une dérive de l'axe des X dans le temps avec mon oscillo mais parfaitement symétrique)

  15. #14
    invite03481543

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Bonsoir,

    le signal est curieux, bien qu'à vide il soit souvent déformé là on n'y retrouve pas trop ses petits.

    On devrait observer un plateau avec des raisonances amorties au moment du blocage et une saturation ferme, or ici on voit nettement un blocage en fin du premier demi-cycle (en haut en bleu) qui survient juste avant le blocage de l'autre commutateur.
    En rouge le Mos devrait conduire or il hésite entre la saturation et le blocage.

    Je te déconseille de mettre de la puissance là-dessus, tu va tout péter.

    En effet la dissymétrie n'est pas si accentuée que je l'avais vu au premier abord, j'avais pris la pointe entourée du cercle bleu pour une anomalie de commutation (ça demeure vrai) mais elle apparait sur les 2 cycles.

    Je vais regarder ce que ça donne coté induction avec ce que tu m'as donné comme info.

    Peux-tu poster ta commande de Mos?
    Il faudrait ajouter 2 choses, sans voir ton schéma je m'avance un peu mais il faudrait:

    1/ mettre une 22 ohms sur les sorties du driver et les grilles de chaque Mos.
    2/mettre un RC sur chaque demi primaire pour amortir cette vilaine raisonance -> 220 Ohms/2W en série avec 10nF/63V

    Ta fréquence c'est donc 50KHz au niveau de l'attaque ce qui fait 25KHz sur le transfo, est-ce bien conforme avec mes graphes?

    Une dernière chose, pour les câblages je parlais des liaisons filaires entre Drains et bobinages primaires, et sources et masse, il doivent être les plus courts possibles pour minimiser les inductances parasites.
    @+
    Images attachées Images attachées

  16. #15
    invite03481543

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Question subsidiaire, quel est ton driver pour attaquer les Mos?
    Pas le PIC en direct j'espère.
    @+

  17. #16
    invite03481543

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Je viens de voir l'autre discussion, je suis parti sur un push-pull...

    En fait c'est un pont en H, donc j'ai répondu à coté de la plaque, surement parceque je bosse sur un push-pull en ce moment.

    Je vais continuer sur l'autre topic.
    @+

  18. #17
    invite2d414ef1

    Re : PIC18F1220 : génération des PWM par le module ECCP

    Bonjour tout le monde,

    En fait je bosse en ce moment sur un ampli classe D et j'ai une question :

    normalement le classe d est basé sur la modulation PWM, ma frèquece de porteuse est 300KHz(siganl triangulaire), et mon signal d'entré a une frèquence de 100Hz, avant d'attaqué les mosfet j'ai essayé de mettre un filtre passe bas pour récuperer mon signal d'entré mais ça marche pas, et pourtant ça doit marché normalement?

    j'attend votre réponse.

    cordialement

Discussions similaires

  1. [PIC18F] Module PWM - Language C
    Par jorg1n dans le forum Électronique
    Réponses: 7
    Dernier message: 21/10/2008, 14h40
  2. generation de signaux par ordinateur
    Par tiboter dans le forum Électronique
    Réponses: 15
    Dernier message: 17/06/2008, 13h25
  3. commande chauffe par PWM
    Par invite48a7b274 dans le forum Électronique
    Réponses: 2
    Dernier message: 10/02/2008, 16h24
  4. Module PWM integré PIC16F88
    Par AntiPaniK dans le forum Électronique
    Réponses: 3
    Dernier message: 22/01/2008, 18h27
Découvrez nos comparatifs produits sur l'informatique et les technologies.