Etape 4: étalonnage
Il y a quelques modifications que vous pouvez faire pour rendre ce code plus adapté à votre application.
La première chose à faire est située à la limite de courant max. Pour savoir quelle valeur vous souhaitez établissent à, vous devez faire des essais. Le moyen le plus simple est d’utiliser le code d’exemple Arduino « AnalogReadSerial » et regardez le serial monitor pour voir quelle est la réaction du moteur. Une fois que vous connaissez la valeur que vous souhaitez arrêter à, vous pouvez le définir dans la routine void setup(), en changeant la valeur maxAmps.
Une autre option est de faire la limite réglable. Si vous attachez un potentiomètre à l’Arduino sur une des broches analogiques, vous pouvez varier les ampères max en faisant varier le potentiomètre. Pour ce faire, tout ce que vous devez ajouter est une déclaration au début pour définir l’axe du potentiomètre, comme suit :
Une fois que c’est là, vous devez mettre « pinMode (entrée, Pot); » dans la routine void setup(). Une fois que c’est là, vous pouvez utiliser le analogRead() pour définir la limite. Chaque fois que le code effectue une boucle, l’ampérage max sera actualisé. Il ressemblerait à ceci :
Un autre paramètre, que vous pouvez modifier est les temporisateurs debounce, de rendre les boutons plus ou moins sensible. La valeur à modifier est debounceTime, au début du programme. Si vous faites la valeur plus élevée, le bouton peut être pressé plus lent, sans lui être enregistrée deux fois. Si la valeur est trop élevée, vous devez attendre longtemps avant qu’il enregistrera l’Appuyez sur le bouton nouveau. Si la valeur est trop faible et que vous appuyez sur la touche lentement, il peut s’inscrire deux fois et démarrer/arrêter le moteur immédiatement. Conserver la valeur entre 300 et 1000 est une bonne gamme.
La dernière chose à changer est la variable hitLimitsmax. Cette variable est utilisée pour dire quand le vérin est à la position entièrement rétractée ou complètement sortie. Lorsque l’actionneur est un de ces postes, le moniteur actuel liront 0 ampères. En réglant la variable hitLimitsmax, vous pouvez définir combien de temps il faut pour l’actionneur à réaliser que c’est à la limite.
Idéalement, la limite serait en mesure d’avoir la valeur 1. Dès que la rétroaction est 0, l’actionneur s’arrête. Si vous avez un actionneur de faible intensité (~ 1 a), en raison des fluctuations dans la lecture courante, le courant peut être lu comme 0 même lorsque l’actionneur est en mouvement. Cela provoquerait l’actionneur d’arrêter au hasard. Pour résoudre ce problème, la valeur hitLimitsmax est définie afin que le capteur doit lire 0 ampères X quantité de fois avant elle s’arrête. Si vous avez un courant plus élevé (> 5 ampères) actionneur, cette valeur peut être inférieure. Je l’ai fixé à 10, pour que l’actionneur aura 0,5 secondes pour arrêter une fois qu’il frappe les limites. Il faudra 0,5 secondes car la feedbacktimedelay est de 50 millisecondes et bouclez 10 fois.