.
Ce code est destiné à contrôler un moteur pas à pas avec un Arduino, en utilisant un driver TB6600. Le code contrôle trois aspects du moteur : l’activation, la direction et la vitesse.
Le contrôle du moteur est réalisé via les broches ENA (Enable), PULS (Pulse) et DIR (Direction). ENA sert à activer ou désactiver le moteur, PULS contrôle le mouvement du moteur en générant des impulsions, et DIR contrôle la direction du mouvement.
L’état d’activation du moteur est contrôlé par l’état d’un bouton physique connecté à la broche Bouton_depart_cycle. Lorsque ce bouton est relâché, le moteur est activé et commence à se déplacer.
Le code utilise aussi une rampe d’accélération, qui est une façon d’augmenter progressivement la vitesse du moteur au démarrage. Lorsqu’elle est active, la rampe d’accélération modifie le délai entre les impulsions envoyées à la broche PULS, ce qui fait accélérer le moteur progressivement. L’activation de la rampe d’accélération est contrôlée par un autre bouton connecté à la broche Bouton_choix_rampe. L’état de la rampe d’accélération est aussi indiqué par une LED
Information complementaire :
Dans ce code, nous utilisons une broche dédiée (oscilloscope) pour surveiller et analyser les impulsions du moteur dans le temps. La ligne digitalWrite(oscilloscope, !digitalRead(oscilloscope)); est responsable de cette opération.
Chaque fois que nous envoyons une impulsion au moteur pour faire avancer d’un pas (qui est gérée par la broche PULS_PIN), nous inversons également l’état de la broche de l’oscilloscope. Cela signifie que l’état de la broche oscilloscope est une réplique du signal de la broche PULS_PIN, elle change donc chaque fois que nous envoyons une impulsion au moteur.
En connectant cette broche à un oscilloscope, nous pouvons visualiser la fréquence et le timing des impulsions du moteur. C’est particulièrement utile lorsque nous utilisons une rampe d’accélération pour contrôler le moteur, car nous pouvons voir comment la vitesse du moteur change en fonction du temps.
L’oscilloscope nous donne une image visuelle de ces variations, ce qui nous permet d’analyser en détail comment notre moteur réagit aux commandes que nous lui donnons. C’est un outil précieux pour le débogage et l’optimisation de notre contrôle moteur.