J'ai un très petit moteur à courant continu (d'un Walkman), je voudrais contrôler la vitesse à partir d'un micro-contrôleur. Pour cela je voudrais connecter un MOSFET en série et appliquer un signal PWM à sa grille afin de changer la vitesse du moteur.
J'ai mesuré le L & R du moteur = 4,7 mH, 11,5 Ohm (Tao 0,41 ms).
En exécutant quelques expériences avec le moteur à l'aide d'une alimentation de banc, je peux voir qu'il fonctionne bien d'une tension de 0,2 V à environ 0,4 V - c'est toute la plage dont j'ai besoin.
L'alimentation que j'ai pour cela est réglée sur 1,8 V (utilisée pour la partie numérique du circuit), ce qui rend l'utilisation des MOSFET standard un peu difficile car je ne peux pas fournir la tension requise pour la saturation de la porte. J'ai acheté quelques MOSFET à canal P comme celui-ci .
Donc, même si j'aurais pensé que cette configuration fonctionnerait (Vcc -> moteur -> FET -> GND), je n'arrive pas à obtenir une bonne résolution sur le contrôle et je n'obtiens pas autant de couple du moteur que j'ai utilisé à obtenir lorsqu'il est exécuté à partir d'une alimentation CC.
Je ne sais pas quelle fréquence. Je devrais utiliser et ne pas être sûr des autres paramètres à vérifier pour que cela fonctionne comme prévu. Toute aide à ce sujet sera appréciée.
* MISE À JOUR * Suite à la réponse d'Olin, j'ai construit le circuit qu'il a suggéré. J'ai utilisé un transistor 2N3904, une résistance de 180 Ohms en parallèle avec un capuchon de 4,7 nF. Ci-joint la tension du collecteur lors de l'exécution à partir du code PWM 100 (sur 256). Vcc est de 1,8 V.
Réponses:
La solution la plus simple serait d'utiliser un commutateur NPN côté bas:
Vous dites que la résistance CC du moteur est de 11,5 Ω, donc le courant maximal qu'il peut tirer est de 1,8 V / 11,5 Ω = 160 mA. En fait, le transistor consommera quelques 100 mV en abaissant le courant maximum possible, c'est donc un maximum sûr à concevoir. Figure le transistor est bon pour un gain de 50 minimum, nous avons donc besoin d'au moins 160 mA / 50 = 3,2 mA de courant de base. 5 mA est alors une bonne cible pour s'assurer que le transistor est solidement saturé lorsqu'il est allumé. Calculez la chute BE à 700 mV, ce qui laisse 1,1 V à travers la résistance lorsqu'elle est allumée. 1,1 V / 5 mA = 220 Ω.
C1 est là pour accélérer l'allumage et l'extinction. (220 Ω) (4,7 nF) = 1 µs, qui est la constante de temps C1-R1.
La fréquence PWM doit être suffisamment rapide pour que le courant traversant le moteur change peu à chaque phase d'activation et de désactivation. L'ondulation provoquée par le PWM est une tension alternative superposée à la tension continue moyenne. Seule la tension continue sert à déplacer le moteur. Le composant AC ne génère aucun couple, uniquement de la chaleur, vous devez donc le maintenir faible par rapport au DC. En général, vous faites fonctionner les moteurs un peu au-dessus de la limite d'audition humaine, qui est également généralement assez rapide pour garder le composant CA petit. À 25 kHz, par exemple, la période PWM est de 40 µs, ce qui devrait vous donner beaucoup de résolution à partir de n'importe quel périphérique PWM raisonnable dans un microcontrôleur.
Ajouté en réponse à la trace de portée du collecteur
La forme de base de la forme d'onde semble bonne, il semble donc que le transistor commute correctement et que la tension soit appliquée correctement sur le moteur.
Les pointes à l'arrêt sont inquiétantes. Ils peuvent éventuellement être des artefacts de portée, mais si votre trace de portée est précise, la diode ne fonctionne pas ou n'est pas connectée correctement. Les pointes ne doivent pas être supérieures à un volt ou plus au-dessus de l'alimentation.
D1 empêche non seulement le transistor de frire, mais il préserve une grande partie du courant du moteur pendant le temps d'arrêt. Le premier est nécessaire et le second augmente l'efficacité.
Ajouté 2
En regardant de plus près votre trace de portée, je vois que la tension du collecteur lorsque le moteur est éteint est de 2,48 V. Vous dites que l'alimentation est de 1,8 V, ce qui rend la tension de coupure 680 mV supérieure à l'alimentation. Cela signifie que vous n'avez pas construit le circuit comme je l'ai dit. Vous avez évidemment utilisé une diode au silicium ordinaire, probablement lente comme un 1N400x. Le temps d'activation lent de la diode explique la pointe de tension et réduit un peu les niveaux globaux du variateur à un rapport cyclique PWM spécifique. Cela provoquera également un effet de coupure pendant un certain temps lorsque le transistor sera à nouveau activé, car la diode est toujours conductrice. Une diode Schottky aura une baisse avant plus faible et une récupération inverse instantanée effective dans le contexte de ce circuit.
Le système devrait toujours fonctionner généralement, mais essayez avec une diode Schottky comme je l'ai spécifié.
la source
Supposons que vous ayez une expérience de base avec les microcontrôleurs et que vous puissiez construire un circuit.
La façon la plus simple de piloter le moteur est d'utiliser un pont en H, une résistance de détection de courant et un PWM. Fondamentalement, le pont en H permettra d'utiliser 3,3 V ou 5 V, selon ce qui est le plus pratique.
En fait, selon l'application, vous pouvez même ignorer le contrôle actuel, vous ne causerez probablement aucun dommage même si le moteur est au point mort.
Au fait, avez-vous besoin d'un contrôle de vitesse ou de position?
la source