Arduino brushless motor control code

Arduino brushless motor control code

Code arduino pour moteur sans balais

Maintenant vient la partie curieuse (je ne sais pas pourquoi). Le fameux bip que doit entendre l’ESC pour vérifier la connexion est obtenu avec myservo.write(20). Il pourrait être de 10 mais il ne l’est pas. C’est 20. (Puis le même délai).

Mon exemple de code (pour contrôler mon quadcopter j’utilise la manette de la PS3 et pour ces tests cela fonctionne très bien car il n’y a pas de fils entre les deux. L’important est donc de voir la structure du moteur et ses valeurs) :

speed = map (PS3.getAnalogHat(LeftHatY), 118 , 0, 40, 90) ; //Avec ceci je contrôle le moteur : je fais un mapping qui consiste en 118-(valeur avec laquelle je commence) 0-(valeur du gaz au maximum) 40-(VALEUR MINIMALE QUE LE MOTEUR DOIT MOUVER) 90-(valeur maximale que je laisse tourner le moteur).

Si vous l’appréciez bien vous pouvez voir que la première fois que vous appuyez sur triangle il ne se passe rien (vitesse=10) et rapidement je le redonne et il fait la connexion (vitesse=20) puis je le redonne et il démarre (vitesse=30) mais il est instable et ensuite je le redonne rapidement (vitesse=40) et le moteur est stable.

Contrôle de la rotation d’un moteur à courant continu avec arduino

Mais il y a un problème avec ces moteurs : il ne suffit pas de les connecter à une source de tension pour qu’ils se mettent à tourner. Pour faire tourner un moteur sans balai, vous avez besoin d’un contrôleur, et c’est là que l’Arduino intervient. J’ai l’intention d’expliquer comment faire fonctionner un moteur Brushless avec l’Arduino.

  Control rc helicopter with arduino

Ce qui est montré dans l’image est la configuration des enroulements du moteur. En fait, chaque enroulement crée un champ électromagnétique qui attire les aimants. Si nous changeons continuellement le sens et la configuration du courant qui passe dans les enroulements, nous pourrons faire tourner notre moteur. La vitesse de rotation est donnée par la fréquence à laquelle nous effectuons ce changement de configuration.

Pour faire fonctionner le moteur, nous avons besoin d’un matériel qui permet au courant de circuler dans un sens comme dans l’autre, afin de définir l’enroulement qui sera alimenté à tout moment. Pour ce faire, j’utilise ce que l’on appelle un pont en H :

Esc arduino

Pour la série de projets “Getting Started with Arduino”, nous utilisons ce kit. Vous pourrez disposer de tous les éléments nécessaires à toutes les pratiques de cette série si vous achetez le kit. Sinon, vous pourrez faire les pratiques avec les matériaux de la liste ci-dessous :

NOTE : Comme l’entrée analogique de l’Arduino est de 10 bits, la gamme est de 0 à 1023.  D’autre part, les sorties de l’Arduino sont de 8 bits, c’est-à-dire qu’elles vont de 0 à 255. Pour cette raison, nous mappons la valeur en utilisant les deux plages.

Programmation arduino pour moteur sans balais

Un moteur à courant continu (également appelé moteur DC) est une machine qui convertit l’énergie électrique en énergie mécanique, en provoquant un mouvement de rotation, grâce à l’action d’un champ magnétique.

Un moteur à courant continu se compose principalement de deux parties : le stator (enveloppe extérieure) crée un champ magnétique. Le rotor est la partie intérieure qui tourne, alimentée en courant continu par le gaz, qui est en contact alternatif avec des balais fixes.

  Arduino i2c servo controller

Cette page est consacrée au contrôle des moteurs avec Arduino. Spécifiquement les moteurs DC standard. Il existe des moteurs CC spéciaux, tels que les moteurs pas à pas ou sans balais, qui ne seront pas abordés ici. Une grande partie des informations sera utile pour d’autres plateformes telles que Raspberry Pi, mais en général, les bibliothèques de programmation et les schémas seront exclusivement consacrés à l’Arduino.

Le circuit de base qui permet les deux fonctions que nous avons mentionnées est un pont en H. Un moteur à courant continu change de sens de rotation lorsque nous inversons les pôles positifs et négatifs sur ses bornes, et ce circuit joue avec une série d’interrupteurs pour faire changer cette polarité. Nous pouvons construire un pont en H avec quatre interrupteurs, mais ce que nous allons utiliser est un circuit intégré qui possède ces interrupteurs – ou portes – et qui les ouvrira et les fermera selon les instructions de l’Arduino.