PWM et tension de sortie


10

alors que le concours 555 est révolu depuis longtemps, je suis toujours en train de déboguer mon appareil, où j'ai déjà abandonné le 555 lui-même :-)

En ce moment, je conduis un ventilateur PC à partir d'un signal PWM (30 kHz) de atmel uC.

J'alimente le P-MOSFET avec un simple "pilote" de transistor 1-BJT. La sortie est filtrée avec une inductance 22uH + un capuchon 330uF. J'ai sûrement une diode de recul en place.

Le problème que j'ai est alors que j'ai 256 "niveaux" de PWM, j'obtiens la plupart des différences de sortie quelque part dans la gamme 1-20. Il semble que même des impulsions courtes aient la "puissance" pour faire tourner le ventilateur à pleine puissance.

1) Comment puis-je le rendre "moins" puissant? Aurai-je alors des fans plus puissants sous-alimentés?

2) Sur le drain du mosfet, je vois des sonneries de 1 à 3 MHz avec une amplitude de 5 V, et bien que tout fonctionne, je ne l'aime pas (pas de sonnerie sur la source ou la porte). Qu'est-ce qui la cause et comment dois-je la combattre?

Mise à jour: R1 - 1kOhm R2 - MOSFET 47Ohm - est un PMOSFET de la carte mère Diode est une Schottky de taille moyenne, avec une chute de 0,2 V.

entrez la description de l'image ici

Réponses:


10

Je pense que vous êtes mordu par la physique du ventilateur.

La puissance dans un flux d'air en mouvement est proportionnelle au cube de la vitesse de l'air, et la vitesse de rotation d'une hélice à pas fixe (c.-à-d. Un ventilateur) est directement proportionnelle à la vitesse de l'air. Cela signifie que pour doubler la vitesse de l'air de votre ventilateur (ou son taux de rotation), vous devez mettre huit fois plus de puissance. Ou inversement, pour réduire la vitesse de moitié, vous n'avez besoin que d'un huitième de la puissance. Si vous appelez la vitesse de l'air que vous obtenez à 100% du rapport cyclique «pleine vitesse», alors la «demi-vitesse» se produira au 1/8 du niveau de puissance; à 12,5% de rapport cyclique. Encore plus dramatique, la vitesse du quart serait au 1 / 8e de cela , à seulement 1,5625% de rapport cyclique. En d'autres termes, quelle que soit la vitesse que vous obtenez aux cycles d'utilisation les plus bas, c'est presque tout ce que vous obtiendrez, car la puissance dans l'air en mouvement est tellement non linéaire.


1

Modifié sur la base du schéma:

Vous avez essentiellement un convertisseur buck là-bas. Le canal P agit en quelque sorte comme le canal N côté haut que vous avez habituellement dans un mâle. Je doute que le FET s'allume aussi solidement qu'un canal N avec un entraînement côté haut, mais il agit toujours de façon négative.

Si vous n'avez pas un bon contrôle de la vitesse, vous avez probablement un ventilateur qui ne fonctionne que sur une plage d'entrée CC limitée (10-12 V), ou le canal P côté haut dissipe une partie de la tension d'entrée, limitant le courant CC maximal que le ventilateur peut voir.

Ou, réorganisez le buck de sorte que le FET soit dans le côté bas et utilisez un canal N là.

Si vous avez une sonnerie HF sur le MOSFET, vous pouvez essayer de ralentir la commutation en augmentant la résistance de grille série, ou ajouter un circuit d'amortissement RC haute fréquence à travers la source de grille pour supprimer les anneaux.


Pas de dissipation de puissance sur mosfet, il s'ouvre complètement. Je ne peux pas utiliser de N-MOSFET côté bas car j'ai besoin de détecter la vitesse de rotation. J'ai quelques sonneries mais ce n'est pas mon principal problème pour le moment.
BarsMonster

1

Il y a quelque temps, j'ai fait un circuit similaire, essentiellement un PWM avec un filtre LC sur la sortie. Il s'agit, en substance, d'un convertisseur DC / DC à commutation de buck. Je vais aller droit au but: cela n'a pas fonctionné.

Le principal problème est que le capuchon se chargeait complètement lorsque le PWM était allumé et ne se déchargeait pas complètement lorsque le PWM était éteint - alimentant ainsi le ventilateur à 100% du temps. Gardez également à l'esprit que la plupart des ventilateurs 12 V tourneront lorsqu'ils ne seront alimentés qu'en 4 V.

Ma suggestion est de supprimer le filtre LC et de voir si cela améliore les choses (cela devrait). Si vous n'essayez pas de passer les tests FCC, vous avez terminé. Si vous essayez de passer des tests, il suffit de simplement ajouter un petit capuchon (1 uF ou moins). À part les émissions EMI, il n'y a pas beaucoup de raisons de filtrer les choses sur un ventilateur.

Alternativement, si vous laissez le filtre LC là-dedans, ce que vous faites réellement n'est pas de PWMer le ventilateur, mais de contrôler la vitesse en faisant varier la tension. Pour que cela fonctionne, vous devez soit augmenter la taille de l'inductance et / ou augmenter la fréquence PWM. Fondamentalement, vous voulez que ce convertisseur DC / DC à commutation de commutation fonctionne correctement.


Mon âme ne me permet pas de laisser cela non filtré. De plus, je "chante" alors :-) Cela fonctionnera dans mon cas, est-ce que uC pourra fonctionner même dans la plage 1-20, il suffit de changer la valeur PWM trop souvent ...
BarsMonster

@BarsMonster Je ne sais pas trop ce que vous entendez par "je chante" alors ". Si vous voulez dire "le ventilateur fait une note", alors la réponse simple est de changer la fréquence PWM pour qu'elle ne le fasse plus. De plus, j'ai modifié ma réponse ci-dessus pour couvrir le cas où vous n'avez qu'à garder le filtre LC.

Oui, une tension variable est ce que j'essaie de réaliser. Je sais qu'il ne devrait pas chanter à 30 kHz, mais pour une raison quelconque, il le fait un peu sans filtrage. L'augmentation de l'horloge peut être problématique car j'aurais besoin d'ajouter une horloge externe (c'est attiny13, seulement 8Mhz est disponible sur le RC interne, et aucun moyen d'attacher le cristal)
BarsMonster

0

La variation du cycle de service PWM dans le but d'obtenir une sortie de tension linéaire (ou quasi-linéaire) fonctionne lorsque vous lissez la charge et la décharge d'une "sortie" qui génère et absorbe le courant au même taux. Typiquement, vous verriez cela avec une sortie bipolaire (j'entends par là les deux polarité, pas BJT) alimentant un filtre R / C.

Au lieu de cela, vous avez construit un circuit d'injection de charge à cycle de service variable (une sorte de convertisseur abaisseur) - vous ne contrôlez pas la tension parce que le taux de décharge de votre filtre est contrôlé par la charge, pas par le circuit PWM. Vous opérez en boucle ouverte ici - et donc au-delà d'une petite fenêtre, vous n'aurez pas assez de courant et la tension ira à zéro, ou vous aurez trop de courant et vous obtiendrez la pleine tension.

Je suppose qu'un hack rapide pour obtenir le résultat souhaité est d'avoir un totem-poteau FET qui tirerait le côté gauche de L1 à la terre. Je ne suis pas sûr que votre alimentation 12V vous en remercie.


J'avais le sentiment qu'avec un capuchon suffisamment grand, je devrais obtenir une tension entre 0 et 12, et avec 10'000uF, j'obtiens un peu cela. Le seul problème est que le graphique PWM-> Voltage est très très non linéaire, il est donc difficile de contrôler en dessous de 10V. C'est la question - comment ralentir la «montée en puissance», disons sur un cycle de service de 50%.
BarsMonster

0

"Mordu par la physique du ventilateur" semble probable.

Vous pouvez recalculer votre échelle selon la loi du carré inverse p / 4πr ^ 2. Mais vous aurez besoin de plus de 8 bits de résolution PWM pour que cela fonctionne.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.