|
Re : Problème de PWM avec L298
Bonjour,
il y a deux façons d'utiliser le L298 et ses cousins (L6201, etc.).
1) comme tu as fait : sélectionner le sens et hacher par le Enable
2) laisser le Enable à 1 en permanence, et hacher par In1 et In2 tels que In2 soit toujours le complément de In1.
Dans le mode 1, quand le Enable est à 1, la tension d'alimentation est appliquée au moteur. Quand il est à zéro, le moteur tourne en roue libre. Il a alors à ses bornes une tension proportionnelle à sa vitesse de rotation.
La tension moyenne aux bornes du moteur est donc:
Vmoy = k.Va + (1-k) E
où k est le rapport cyclique (entre 0 et 1), Va la tension d'alimetation et E la force contre-électromotrice du moteur.
La tension moyenne est donc fonction de la FCEM du moteur, donc de sa vitesse. Selon la charge du moteur, il aura donc une vitesse variable pour un même rapport cyclique. Ce qui t'arrive.
Dans le deuxième mode, le moteur est alimenté avec +Va quand In1 est à 1 (et In2 à zéro) et avec -Va dans le cas contraire.
La tension moyenne aux bornes du moteur est donc:
Vmoy = k.Va + (1-k) (-Va) = 2k.Va - Va = (2k-1) Va.
Pour un rapport cyclique entre 0 et 50%, le moteur tourne en arrière ; à 50% il est arrêté, et pour un rapport entre 50% et 100% il tourne en avant.
On voit que la tension moyenne ne dépend pas de la FCEM du moteur.
Ce montage fonctionne donc comme attendu.
Cependant, attention : le moteur est alimenté par un signal rectangulaire de 2 fois la tension d'alimentation crête à crête. L'inductance du moteur va déterminer un courant en triangulaire dans le moteur dont l'amplitude dépend de l'inductance. Si le moteur est sans fer, l'inductance est généralement très faible, d'où une forte ondulation de courant qui fait chauffer le moteur même à l'arrêt (50% de rapport cyclique).
Dans ce cas, il faut ajouter en série dans le moteur une inductance de stockage adéquate pour réduire l'ondulation de courant.
Jean-Marc
|