Commentaires d'un capteur à effet Hall avec vidéo

Capteur à effet Hall

Les capteurs à effet Hall peuvent détecter la présence d'un champ magnétique et produire une tension de sortie quand on en détecte un. Capteurs à effet Hall, lorsqu'ils sont utilisés avecactionneurs linéaires, sont typiquement positionnés à l'intérieur de la boîte de vitesses de l'actionneur avec un disque magnétique. Lorsque l'actionneur linéaire s'étend ou se rétracte, ce disque tourne en passant devant le capteur à effet Hall qui amène le capteur à produire une sortie numérique sous la forme d'une impulsion de tension. Ces impulsions peuvent être comptées et utilisées pour déterminer la distance parcourue par l'actionneur.

Comment lire les commentaires d'un actionneur linéaire

Rétroaction de position d'un capteur à effet Hall

Un inconvénient de l'utilisation d'un capteur à effet Hall pour le retour de position est qu'il ne mesure pas une position absolue. Au lieu de cela, ils produisent des impulsions qui peuvent être comptées pour déterminer la distance parcourue par l'actionneur. Pour utiliser ces impulsions pour le retour de position, vous devez utiliser un micro-contrôleur pour compter les impulsions produites. Pour ce faire, vous devrez utiliser les broches d'interruption externes de votre microcontrôleur pour compter ces impulsions au fur et à mesure qu'elles se produisent. Les interruptions externes sont des broches qui détectent un changement de tension et, dans notre cas, peuvent être utilisées pour détecter l'impulsion de tension du capteur à effet hall. Vous devrez consulter la fiche technique de votre micro-contrôleur pour vérifier quelles broches de votre micro-contrôleur peuvent être utilisées comme broches d'interruption. En utilisant un Arduino Uno par exemple, les broches 2 et 3 peuvent être utilisées pour des interruptions externes. Une fois que vous avez sélectionné une broche d'interruption appropriée, vous pouvez connecter le fil de la sortie du capteur à effet Hall à cette broche ainsi que connecter la tension d'entrée à 5V et la masse à une broche de masse.

Connexion du capteur à effet Hall à Arduino 

L'exemple de code ci-dessous montre comment configurer une interruption dans l'IDE Arduino où l'interruption sera déclenchée sur le front montant de l'impulsion de tension. Vous pouvez configurer votre interruption pour qu'elle se déclenche à différents moments d'un changement de tension et vous devez consulter la fiche technique de votre microcontrôleur pour déterminer les options disponibles. Le dernier aspect que vous devez faire pour configurer votre interruption est d'écrire votre routine de service d'interruption, qui est la fonction que le code exécutera à chaque fois que l'interruption est déclenchée. Cette fonction doit être courte et n'effectuer que des tâches simples comme compter le nombre d'impulsions de notre capteur à effet Hall. La fonction countSteps () dans l'exemple de code ci-dessous est utilisée pour compter le nombre d'impulsions du capteur à effet Hall.

Pour utiliser ces impulsions pour déterminer une valeur de position, vous devez connaître la position précédente de l'actionneur linéaire et la direction dans laquelle l'actionneur linéaire se déplace. Votre microcontrôleur saura déjà dans quelle direction vous conduisez votre actionneur linéaire, vous pouvez donc simplement configurer une variable pour suivre la direction de l'actionneur dans votre code qui sera utilisée pour déterminer si vous ajoutez ou soustrayez les impulsions de votre position précédente. Une fois que vous avez mis à jour votre position, vous devrez remettre à zéro les impulsions comptées. L'exemple de code ci-dessous vous montre une fonction qui met à jour la position en fonction du nombre d'impulsions comptées. Une fois que vous avez une position en termes d'impulsions, vous pouvez convertir en pouces en utilisant la spécification d'impulsion par pouce de votre actionneur linéaire. Dans l'exemple de code ci-dessous, la course d'impulsions par pouce est de 3500.

Repérage de votre actionneur linéaire

Pour utiliser avec précision le retour de position d'un capteur à effet Hall, vous devez toujours connaître la position de départ de votre actionneur linéaire. Bien que lorsque vous allumez votre système pour la première fois, votre microcontrôleur ne sera pas en mesure de dire si l'actionneur est étendu ou non. Cela vous obligera à ramener votre actionneur linéaire à une position connue.Pour loger votre actionneur linéaire, vous devrez le conduire dans une position connue, comme complètement rétracté. Vous pouvez également utiliser interrupteurs de fin de course externes pour définir votre position connue ailleurs que complètement déployée ou rétractée. En utilisant le code Arduino ci-dessous comme exemple, nous voudrons mettre en place une boucle WHILE qui conduira notre actionneur linéaire vers votre position connue, dans ce cas complètement rétracté. Nous savons que vous êtes à notre position connue car l'interruption du capteur à effet Hall ne se déclenchera pas. Dans ce cas, nous vérifions si la variable steps a changé ou non pour déterminer si l'interruption a été déclenchée. Nous devons également nous assurer que suffisamment de temps s'est écoulé pour attendre que l'interruption soit déclenchée, pour cela, nous utilisons la fonction millis () qui affiche le temps en millisecondes depuis le début du code et nous comparons cela à l'horodatage précédent. . Une fois que nous avons déterminé que l'actionneur linéaire est à notre position d'origine, nous arrêtons de piloter l'actionneur, réinitialisons la variable d'étapes et sortons de la boucle WHILE.

Traiter les faux déclencheurs

Bien que les capteurs à effet Hall ne soient pas aussi sensibles au bruit électrique qu'un potentiomètre, le bruit électrique pourrait tout de même avoir un impact sur le signal de sortie. Le rebond des commutateurs peut également être un problème avec les capteurs à effet Hall qui peuvent déclencher le comptage de fausses impulsions, ce qui affecterait la distance que votre microcontrôleur pense que votre actionneur linéaire s'est déplacé. Quelques impulsions supplémentaires n'affecteront pas beaucoup le positionnement car il y a des milliers d'impulsions par pouce, mais avec le temps, cela peut être un problème plus important. Vous pouvez lutter contre ces problèmes en utilisant une minuterie interne pour filtrer les faux déclencheurs. Comme vous pouvez déterminer la fréquence à laquelle vous vous attendez à ce que de nouvelles impulsions soient détectées, vous pouvez filtrer le moment où l'interruption a été déclenchée par du bruit. Dans l'exemple de code ci-dessous, trig-Delay est le délai entre chaque impulsion. Si l'interruption a été déclenchée avant ce délai, l'impulsion ne sera pas comptée.

La durée de ce délai variera en fonction de votre application, mais s'il est trop court, il ne filtrera pas correctement le bruit et s'il est trop long, il manquera les impulsions réelles de l'actionneur linéaire. La vitesse de l'actionneur linéaire aura également un impact sur ce retard et si vous souhaitez ajuster la vitesse, cette variable peut devoir changer pour s'adapter à la nouvelle fréquence des impulsions attendues. Pour déterminer avec précision un délai exact entre chaque impulsion, vous pouvez utiliser un analyseur logique pour visualiser le signal réel du capteur à effet Hall. Bien que cela ne soit pas nécessaire dans la plupart des applications, si vous avez besoin d'un positionnement très précis, vous souhaiterez peut-être déterminer un délai précis.

Une autre façon de lutter contre les faux déclenchements est de corriger la valeur de position chaque fois que l'actionneur atteint une position connue. Comme pour la prise d'origine de l'actionneur linéaire, si vous avez conduit l'actionneur linéaire dans une position complètement rétractée ou étendue ou si vous utilisez interrupteurs de fin de course externes, vous saurez jusqu'où l'actionneur s'est déplacé. Comme vous savez combien de pas le capteur à effet Hall doit envoyer pour atteindre votre position connue, vous pouvez simplement corriger la valeur lorsque nous l'atteignons. Dans l'exemple de code ci-dessous, cela est fait pour les positions entièrement déployées et entièrement rétractées. Comme l'actionneur ne bouge pas une fois qu'il atteint l'une de ces positions, si nous essayons de piloter l'actionneur et que la valeur de position ne change pas, nous savons que nous sommes à la limite. Cette méthode fournit une solution pratique pour garantir que votre valeur de position reste précise, en particulier si vous rétractez ou étendez complètement votre actionneur à un moment donné pendant le fonctionnement. Vous pouvez utiliser cette méthode en conjonction avec la méthode décrite ci-dessus qui devrait aider à maintenir la précision de votre valeur de position.

Sommaire

L'utilisation d'un capteur à effet Hall pour la rétroaction de position offre une résolution beaucoup plus grande que la rétroaction d'un potentiomètre. Comme il peut y avoir des milliers d'impulsions par pouce de mouvement, les capteurs à effet Hall offrent précision et fiabilité dans le positionnement de votre actionneur linéaire. Les capteurs à effet Hall offrent également une plus grande capacité à garantir que plusieurs actionneurs linéaires se déplacent simultanément car les comptages d'impulsions sont plus précis que la tension changeante du potentiomètre. En utilisant notre FA-SYNC-X contrôleur d'actionneurs, vous pouvez même vous assurer que les actionneurs se déplacent à l'unisson quelle que soit la charge. Pour les bricoleurs, vous pouvez vérifier comment vous assurer que vos actionneurs se déplacent à l'unisson à l'aide d'un Arduino Ici.

Vous trouverez ci-dessous l'exemple de code complet utilisé dans ce blog et a été conçu pour contrôler une longueur de trait de 14 pouces Série Bullet 36 Cal. Actionneur linéaire. L'actionneur linéaire est entraîné à l'aide d'un conducteur de moteur, que vous pouvez apprendre à configurer Ici

[1] Monari, G. (juin 2013) Comprendre la résolution des codeurs optiques et magnétiques. Récupéré de: https://www.electronicdesign.com/technologies/components/article/21798142/understanding-resolution-in-optical-and-magnetic-encoders

Share This Article
Tags:

Share this article

Need Help Finding the Right Actuator?

We precision engineer and manufacture our products so you get direct manufacturers pricing. We offer same day shipping and knowledgeable customer support. Try using our Actuator Calculator to get help picking the right actuator for your application.