Comment contrôler la vitesse d'un moteur à courant continu avec la arduino

Besoin d'un plus grand contrôle de votre moteur à courant continu? Vous pouvez utiliser le croquis MotorControl pour l'Arduino pour mettre un peu d'entrée dans un moteur à courant continu pour vous donner le plein contrôle du moteur à la volée.

Sommaire

Le croquis MotorControl

Pour prendre le contrôle de la vitesse de votre moteur chaque fois que vous en avez besoin, vous devez ajouter un potentiomètre à votre circuit.

Tu as besoin:

  • Un Arduino Uno

  • Une maquette

  • Transistor

  • Un moteur à courant continu

  • Une diode

  • Une résistance variable 10k ohms

  • Une résistance de 2.2k ohms

  • Fils de saut




Trouver un espace sur votre carte de test pour placer votre potentiomètre. L'axe central du potentiomètre est raccordé retour à la broche 9 en utilisant un fil de saut, et les deux broches restantes sont connectés à 5V sur un côté et GND de l'autre.

image0.jpg

Le 5V et GND peuvent être de chaque côté, mais les allumer inversent la valeur que le potentiomètre envoie à l'Arduino. Bien que le potentiomètre utilise la même puissance et la masse comme le moteur, notez qu'ils sont des circuits séparés que les deux communiquer à travers le Arduino.

image1.jpg

Après avoir construit le circuit, ouvrir une nouvelle esquisse Arduino et l'enregistrer avec un autre nom et inoubliable, comme myMotorControl. Ensuite, tapez le code suivant.

int potPin = A0-int motorPin = 9-int potValue = 0-int motorValue = configuration 0-void () {Serial.begin (9600) -} void loop () {potValue = analogRead(potPin) -motorValue = carte(potValue, 0, 1023, 0, 255) -analogWrite(motorPin, motorValue) -Serial.print ("potentiomètre =") -Serial.print(potValue) -Serial.print (" t moteur =") -Serial.println(motorValue) -retard(2) -}

Une fois que vous avez tapé le croquis, l'enregistrer et cliquez sur le bouton Compile pour mettre en évidence les erreurs de syntaxe. .

Si l'esquisse compile correctement, cliquez sur Télécharger pour télécharger l'esquisse à votre conseil. Lorsque cela est fait le téléchargement, vous devriez être en mesure de contrôler votre moteur à l'aide du potentiomètre. Tourner le potentiomètre dans un sens provoque le moteur pour accélérer amont tournant dans l'autre sens amène à ralentir.

La répartition MotorControl Sketch

Ce croquis est une variation sur le croquis AnalogInOutSerial et fonctionne exactement de la même manière avec quelques changements de noms pour mieux indiquer ce que vous contrôle et de surveillance sur le circuit.

Comme toujours, vous déclarez les différentes variables utilisées dans l'esquisse. Vous utilisez le potPin d'assigner l'axe de potentiomètre et motorPin d'envoyer un signal au moteur. La variable potValue est utilisé pour stocker la valeur brute du potentiomètre et les magasins variables motorValue la valeur convertie que vous voulez à la sortie au transistor de commuter le moteur.

int potPin = A0-int motorPin = 9-int potValue = 0-int motorValue = 0-

Comment modifier l'esquisse MotorControl

Vous trouverez peut-être qu'il ya une vitesse minimale après laquelle le moteur sera juste ronflement. Il le fait parce qu'il n'a pas assez de puissance pour faire tourner. En surveillant les valeurs envoyées au moteur en utilisant l'esquisse MotorControl, vous pouvez trouver la valeur minimale du moteur de tourner et d'optimiser la motorValue à faire tourner le moteur au sein de sa véritable portée.

Pour trouver la gamme de motorValue, Suivez ces étapes:

  1. Avec l'esquisse MotorControl téléchargé, cliquez sur le bouton de série du moniteur en haut à droite de votre fenêtre Arduino.

    La fenêtre du moniteur de série va vous montrer la valeur du potentiomètre suivi de la valeur de sortie qui est envoyé au moteur, de cette façon:

    potentiomètre = 255 = 1023 moteur

    Ces valeurs sont affichées dans une longue liste mise à jour et que vous tournez le potentiomètre. Si vous ne voyez pas la liste défilement vers le bas, assurez-vous que l'option Automatique est sélectionnée.

  2. En partant de votre potentiomètre lecture d'une valeur de 0, tournez votre potentiomètre très lentement jusqu'à ce le bourdonnement arrête et le moteur commence à tourner.

  3. Prenez note de la valeur affichée à ce stade.

  4. Utilisez un si énoncé à dire le moteur pour modifier la vitesse uniquement si la valeur est supérieure à la vitesse minimale nécessaire pour faire tourner le moteur, comme suit:

    (un). Trouvez la partie de votre code qui écrit le motorValue au moteur:

    analogWrite(motorPin, motorValue) -

    (b). Remplacez-le par le morceau de code suivant:

    si(motorValue> yourValue) { analogWrite(motorPin, motorValue) -} autre { digitalWrite(motorPin, LOW) -}
  5. Maintenant remplacer yourValue avec le numéro que vous avez fait une note.

    Si la valeur motorValue est supérieur à ce que le moteur accélère. Si elle est inférieure à ce que la broche est écrit FAIBLE de sorte qu'il est complètement hors tension. Vous pouvez également taper analogWrite (motorPin, 0) pour accomplir la même chose. Petites optimisations comme cela peut aider votre fonction de projet en douceur, sans aucun mouvement ou des valeurs gaspillé.


» » » » Comment contrôler la vitesse d'un moteur à courant continu avec la arduino