Étape 6: Autres pensées...
Ce capteur ne donne que deux événements mesurables par tour, donc si vous avez une faible démultiplication c’est peut-être pas un capteur idéal pour vous. Dans mon cas, la boîte de vitesses de forage est une réduction assez élevée pour une faible résolution sur l’arbre du moteur donne toujours une résolution équitable sur la sortie. Vous pouvez envisager d’ajouter un décalage du capteur hall supplémentaire de 90 degrés. Je n’ai pas encore testé, mais je suppose que cela vous donnerait une sortie en quadrature, d'où vous pourriez obtenir une résolution supplémentaire ainsi que pouvoir lire le sens de rotation. Il signifie davantage de traitement sur votre microcontrôleur mais pourrait donner de meilleurs résultats.En ce qui concerne le code, il y a plusieurs façons de faire une boucle de rétroaction de la vitesse du moteur. La que je teste est une boucle de correction d’erreur simple qui détermine la différence entre la vitesse réelle (mesurée en Hz) et la vitesse désirée. L’erreur est multipliée par une valeur scalaire (0,05, choisi pour une réponse plus lente, moins agressive) et ajoute une valeur à virgule flottante de vitesse qui est ensuite convertie en un type uint8 et mises en OCR0A/OCR0B sur minuterie d’AVR pour ajuster la sortie PWM. Cela fonctionne comme prévu. Prenez l’arbre moteur et poignée fermement à appliquer une charge et la vitesse va diminuer, mais va rapidement augmenter leurs pouvoir d’y remédier. Lâcher prise, et il va tourner brièvement au-dessus de la vitesse car il diminue la puissance jusqu'à ce que la vitesse s’installe dos au niveau souhaité. Déconnecter le capteur et l’erreur s’accumule en permanence, montée en puissance jusqu'à la limite où il restera jusqu'à ce qu’un signal de vitesse est reconnecté. J’utilise timer/compteur 1 en mode de capture d’entrée pour mesurer la vitesse du moteur avec des taux de mise à jour rapide. C’est mieux que comptage d’impulsions par seconde, car il vous donne une résolution beaucoup plus fine et mises à jour beaucoup plus rapides. Expérimentez avec différents filtres mathématiques si vous voulez une valeur moyenne de RPM prise en charge certains laps de temps défini.