Comment utiliser un capteur à effet Hall avec le Raspberry Pi

Comment utiliser un capteur à effet Hall avec le Raspberry Pi

Le mois dernier, je me suis acheté une imprimante 3D. Il utilise des micro-interrupteurs standards pour enregistrer la position des pièces mobiles. Je voulais les remplacer par quelque chose de moins mécanique et quelqu’un sur le forum d’assistance a mentionné l’utilisation d’un capteur à effet Hall à la place.

Un capteur à effet Hall peut détecter la présence d’un champ magnétique et est souvent utilisé pour positionner des objets ou mesurer la rotation. Par exemple, vous pouvez en utiliser un pour mesurer la vitesse d’une roue de vélo en attachant un aimant à l’un des rayons.

Afin de tester l’idée et de vérifier la distance à laquelle le capteur se déclencherait, j’ai décidé d’utiliser un Raspberry Pi et un peu de Python.

Capteur à effet Hall A1120Capteur à effet Hall

Le capteur que j’ai choisi était un capteur à effet Hall Allegro A1120EUA-T. Il a coûté environ 1 £ du CPC. Pour tous les anciens, non, ce n’est pas un de ceux-là.

Voici l’affectation des broches :

Brochage du capteur à effet Hall A1120

Aimant

AimantJe voulais un aimant compact et pas cher que je pourrais facilement monter sur l’imprimante alors j’en ai commandé d’Amazon. Il n’y avait pas vraiment de science à cela et impliquait un peu de conjecture. J’ai opté pour des aimants «N48 Grade Rare Earth Neodymium» qui étaient de petits cylindres mesurant 5 x 10 mm. Ils coûtent 4 £ pour 50 aimants.

Circuit

Capteur à effet Hall et aimant

Sur la photo ci-dessus, le fil rouge est Vcc (3.3V), le fil marron est à la masse et le fil orange est Vout.

Voici le schéma du circuit :

Circuit du capteur à effet Hall

Vcc est connecté à l’alimentation 3,3 V sur l’en-tête du Pi (broche 1). GND est connecté à la broche 6. Vout est connecté à la broche 11 (GPIO17) bien que vous puissiez utiliser n’importe laquelle des broches GPIO de rechange. Une résistance de 10K (ou similaire) tire la sortie vers le haut. Le fabricant recommande de mettre un condensateur de 0,1 uF entre Vcc et GND pour réduire le bruit, mais j’ai trouvé que cela fonctionnait bien sans.

En-tête Pi A1120
3.3V (broche 1) Broche 1
Gnd (broche 6) Broche 2
GPIO17 (broche 11) Broche 3

Plutôt que d’utiliser une résistance de rappel externe, j’ai utilisé les résistances internes disponibles sur les broches GPIO du Pi.

Exemple de code Python

Le script Python que j’ai écrit a simplement configuré la broche GPIO en tant qu’entrée, l’a élevée et configuré une fonction de rappel. Chaque fois que l’état du capteur changeait, il déclenchait la fonction de rappel et imprimait du texte. GPIO17 est devenu « bas » lorsqu’un aimant était près du capteur et est revenu à « haut » lorsque l’aimant a été retiré.

Ce n’est pas très compliqué et peut être téléchargé directement sur votre Pi en utilisant :

wget https://bitbucket.org/MattHawkinsUK/rpispy-misc/raw/master/python/hall.py

Le script peut être exécuté en Python 2 en utilisant :

python hall.py

ou si vous êtes en Python 3 en utilisant :

python3 hall.py

Distance de déclenchement

J’ai rapidement découvert que la distance de déclenchement était d’environ 15 mm. Cela a rendu la configuration parfaite pour mon application. Cela suppose que l’extrémité du cylindre est alignée avec la face plate du capteur à effet Hall. D’autres aimants entraîneraient presque certainement une distance de déclenchement différente, vous devrez donc peut-être expérimenter avec d’autres aimants si votre application nécessite une distance différente.

  • AZDelivery 5 x KY-035 Capteur magnétique à Effet Hall analogique Compatible avec Arduino et Raspberry Pi y Compris Un eBook
    ✅ Module capteur avec capteur Hall analogique. ✅ Tension de service: 3.3 V - 5 V. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.
  • AZDelivery 3 x KY-024 Capteur Hall Magnétique Linéaire Compatible avec Arduino et Raspberry Pi y Compris Un eBook
    ✅ Module capteur Hall universel. ✅ Réglable avec LM393 et potentiomètre. ✅ Tension de service: 3,3 V - 5 V. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.
  • AZDelivery KY-035 Capteur magnétique à Effet Hall analogique Compatible avec Arduino et Raspberry Pi y Compris Un eBook
    ✅ Module capteur avec capteur Hall analogique. ✅ Tension de service: 3.3 V - 5 V. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.