La sortie PWM de la puce dsPIC ne parvient pas à entraîner le moteur avec un circuit en pont en H

Po-Jen Lai

La sortie PWM de la puce dsPIC ne parvient pas à entraîner le moteur avec un circuit en pont en H


Je simule un dsPIC33FJ32MC202 dans Proteus pour contrôler un moteur.

entrez la description de l'image ici

J’ai utilisé un pont en H pour laisser tourner le moteur, mais le moteur ne tourne pas après le début de la simulation.

entrez la description de l'image ici

Vous pouvez voir la sortie de l’oscilloscope connectée aux broches IO du dsPIC. La sortie idéale devrait être de 3,3 V à -3,3 V, je ne comprends pas très bien pourquoi elle est de 2,3 V à -2,3 V, mais cela semble OK.

entrez la description de l'image ici

Et aussi la sortie de l’oscilloscope connectée aux lignes entre Q3-R1 et Q1-R3. La sortie a l’air bizarre et je ne connais pas la cause de ce phénomène.

entrez la description de l'image ici

PS Vous pouvez télécharger le fichier de conception Proteus et mes fichiers de programme (fichiers .c et .hex) ici .

Connor Wolf

N’ai-je pas expliqué exactement pourquoi cela ne fonctionnait pas pour vous hier ?

Po-Jen Lai

Vous avez fait ~ désolé, je ne suis pas assez familier pour résoudre ce problème, j’ai essayé de m’ajuster à la valeur des résistances, mais je n’arrive pas à obtenir les bons comportements. J’aurais dû essayer d’utiliser le pilote IC.

Réponses


 Connor Wolf

Vous ne pouvez pas le résoudre en modifiant les valeurs des résistances. Vous avez besoin de plus de gain .

Fondamentalement, les transistors bipolaires sont des dispositifs à gain de courant . Cela signifie que pour une certaine quantité de courant qui circule dans la base, un courant correspondant plus important circule dans le collecteur.
Le rapport entre ces deux courants est le gain du transistor, communément appelé

H F e

dans la plupart des fiches techniques des transistors.

Les transistors ont généralement un

H F e

dans la gamme de 5-500, avec de gros transistors de puissance tendant vers la gamme 10-100.

Maintenant, si vous avez un transistor avec un

H F e

de 25, et vous voulez tirer un ampli à travers le collecteur, vous avez besoin

1 UNE 25 = 40 m UNE

de courant circulant dans la base. De toute évidence, votre PIC ne peut pas l’approvisionner. Même si vous avez un

H F e

sur 100:

1 UNE 100 = dix m UNE

, tu n’auras toujours pas de chance.

Je dirais que, puisque cela semble être plus un projet d’apprentissage que n’importe quoi d’autre pour vous, vous devriez envisager de jouer avec les transistors Darlington . Un darlington est deux transistors câblés de manière à avoir un

H F e

. Cependant, la chute de tension à travers le transistor est doublée (à 1,2 V), ils sont donc rarement utilisés dans les applications d’alimentation. Cependant, si vous remplaciez les transistors de votre circuit par des transistors Darlington, je pense que cela fonctionnerait probablement, du moins dans la simulation.

(Vous devrez toujours faire face à la question de ne pas désactiver le transistor PNP, voir la section inférieure de cette réponse)


Un autre problème que vous aurez avec la topologie telle que vous l’avez dessinée est ce que l’on appelle familièrement « shoot-through ». Fondamentalement, lorsque votre micropuce a décidé de changer l’état d’une moitié du pont en H, elle commencera à entraîner la tension sur la broche IO vers l’autre état. Comme il y a une capacité sur la connexion et que la ligne MCU IO ne peut pas générer ou absorber un courant infini, la tension va osciller d’un extrême à l’autre. En tant que tel, il y aura une période de temps où la tension sur la broche IO sera comprise entre 0 et Vcc.

Maintenant, regardez votre circuit. Que se passera-t-il lorsque la tension sur les bases des transistors supérieur et inférieur se situe quelque part au milieu de 0-Vcc?

Les deux transistors seront allumés et un courant important peut traverser directement les deux transistors, ignorant complètement le moteur.


Il y a un autre problème avec votre conception.

Pour désactiver complètement le transistor supérieur (le transistor PNP), vous devez conduire sa tension de base à moins de -0,6 V de son émetteur. Étant donné que l’émetteur est lié à 5 V et que votre microprocesseur PIC ne peut piloter que ses lignes d’E / S à 3,3 V, vous ne pouvez jamais désactiver le transistor supérieur . En tant que tel, lorsque vous essayez d’activer le transistor inférieur, tout ce que vous faites est de shunter le courant à travers la masse des deux transistors, ignorant complètement le moteur.


 Adam Lawrence

Ces pièces ne peuvent fournir de manière fiable qu’environ 2 mA de courant (maximum absolu 4 mA) sur leurs lignes d’E / S. Utilisez un circuit intégré de pilote pour mettre en mémoire tampon les signaux de commande de porte avant de les appliquer aux BJT d’alimentation. La tension de sortie inférieure que la simulation montre pourrait être due au courant excessif consommé par le circuit.

3.3 V 0,6 V 470 Ω = 5.7 m UNE

(Vous voudrez probablement conduire votre pont en H de manière beaucoup plus rigide qu’avec 5.7mA.)

Po-Jen Lai

Je ne sais pas quel pilote IC dois-je utiliser. J’en ai essayé dans Proteus et ça n’a pas marché. Peux tu me dire? Merci ~

Adam Lawrence

Quiconque peut trouver un ampli ou plus devrait mieux fonctionner. Vous en aurez besoin d’un avec une commande côté haut (bootstrap) pour contrôler correctement le transistor supérieur, car il n’est pas référencé à la masse.

Jiminion

vous pouvez également utiliser une paire de transistors pour piloter le gain. Un NPN et un PNP dans une configuration push-pull.

 

#à, #de, #en, #la, #pas, avec, Circuit, dsPIC, entraîner, H, Le, moteur, ne, parvient, pont, puce, PWM, sortie, un

 

google

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *