Comment modifier la vitesse d'un moteur à courant continu avec l'Arduino

Parfois, vous avez besoin d'avoir plus de contrôle sur la vitesse de votre moteur, qui l'Arduino vous permet de faire avec l'esquisse MotorSpeed. Ce qui suit vous montre comment contrôler la vitesse de votre moteur avec le même circuit.

Sommaire

Le croquis MotorSpeed

Ouvrez une nouvelle esquisse Arduino, l'enregistrer avec un nom mémorable, comme myMotorSpeed, puis tapez le code suivant.

int motorPin = configuration 9-void () {pinMode(motorPin, SORTIE) -} void loop () {pour(int motorValue = 0 - motorValue lt; = 255- motorValue + = 5) {analogWrite(motorPin, motorValue) -retard(30) -}pour(int motorValue = 255 - motorValue> = 0- motorValue - = 5) {analogWrite(motorPin, motorValue) -retard(30) -}}

Une fois que vous avez tapé le croquis, le sauvegarder et appuyez sur le bouton de compilation pour vérifier votre code. L'Arduino Environnement devrait mettre en évidence les erreurs grammaticales dans la zone message si ils sont découverts.




Si l'esquisse compile correctement, cliquez sur Télécharger pour télécharger l'esquisse à votre conseil. Lorsque le téléchargement est terminé, vous devriez avoir un moteur qui tourne très lentement pour commencer, accélère à son tour le plus rapide, tourne vers le bas à un arrêt, puis répète. Il peut être difficile de voir cela, de sorte que vous devrait fixer quelque chose de plus visible, tel qu'un adhésif mastic, pour vous montrer ce qui se passe.

Vous pouvez constater que le plus lent à son point, le moteur ronronne juste. Si oui, ce ne est pas une de problèmes cela signifie simplement que l'électro n'a pas assez de tension pour faire tourner la Motor-il besoin de plus de tension pour générer le magnétisme et prendre de l'élan.

La répartition croquis MotorSpeed

La broche que vous utilisez pour contrôler le circuit du moteur, broche numérique 9, est déclarée.

int motorPin = 9-

Parce qu'il est une sortie, vous définissez dans la configuration.

void setup () {pinMode(motorPin, SORTIE) -}

Dans la boucle principale, vous utilisez analogWrite d'envoyer une valeur PWM à la broche 9. Ce principe est le même que dans l'esquisse Fade, utilisé pour estomper une LED. La première pour boucle envoie une valeur augmentant graduellement à la broche 9 jusqu'à ce qu'il atteigne la valeur maximale de PWM 255. Le deuxième pour boucle revient progressivement cette valeur à 0- puis le cycle se répète

void loop () {pour(int motorValue = 0 - motorValue lt; = 255- motorValue + = 5) {analogWrite(motorPin, motorValue) -retard(30) -}pour(int motorValue = 255 - motorValue> = 0- motorValue - = 5) {analogWrite(motorPin, motorValue) -retard(30) -}}

Ce processus pourrait être comparé à emballe un moteur de voiture. Si vous poussez la pédale vers le bas, vous accélérez à pleine vitesse. Si vous appuyez sur la pédale d'accélérateur, le moteur accélère puis ralentit. Si vous appuyez dessus à une vitesse constante avant qu'il ralentit, vous maintiendrez partie de l'élan du moteur de filature et d'atteindre une moyenne (si peu saccadée) vitesse.

Voici ce que le transistor est en train de faire, mais très rapidement. Les intervalles entre sur et en dehors et l'élan du moteur vous permettent d'atteindre un comportement analogique d'un signal numérique.


» » » » Comment modifier la vitesse d'un moteur à courant continu avec l'Arduino