ESC + moteur brushless

Bonjour,

Je suis un peux perdu..

J'ai acheter un moteur brushless:

Et un variateur:
http://www.miniplanes.fr/controleur-t-motor-esc-air-20a-2-4s

J'aimerais via l'arduino Uno piloter le variateur pour faire varier la vitesse du moteur.
Cependant je suis perdu entre les timers et autre.

Avec la fonction PWM je peux faire varier la vitesse cependant quelle est la différence entre les fréquence et timers de l'arduino? Pin5 ou Pin9 ..?

Merci d'avance (:

Salut

Un ESC est piloté par un signal de radiocommande (impulsion de 1 à 2ms toutes les 20ms).
Tu vas trouver cette fonction dans la librairie servo, charge l'exemple "knob" qui délivre ce signal en fonction de la position d'un potentiomètre.

claudius

Est-il possible d'avoir un peux plus de détail ? sur comment le piloter avec l'arduino .. ? je suis débutant..

Mercii

Sais-tu comment brancher un potentiomètre sur une entrée analogique ?

claudius

Oui

Le souci c'est que je sais pas comment lui attribuer le valeur pour varier la vitesse du moteur ?
Je dois jouer sur la PWM ou sur le rapport cyclique ? ou sur les 2 ?

Non, regarde l'exemple que je t'ai indiqué

claudius

gui175:
Je dois jouer sur la PWM ou sur le rapport cyclique ? ou sur les 2 ?

En fait, avec la librairie Servo, tu n'as pas à t'en soucier.

Un ESC attend le même signal que pour un servo-moteur. Ce qui semble logique puisque les deux sont issus du modélisme et on en commun les même radio-commande.

Pour revenir à nos moutons, un servo de commande de 0degré a 180degrés, ce qui correspond à une commande de 0% à 100%.

Donc les lignes de code:
Servo.write(0); moteur au mini
Servo.write (90); moteur accéléré à 50%
Servo.write (180); moteur à fond

Tu as l'exemple sweep aussi qui va faire accélérer et décélérer ton moteur.

Bonsoir,

J’ai cherché un peux sur le web, j’ai trouvé un bon de code que j’ai modifié un peux, est-il correct ? varier la vitesse via un potentiomètre ?

Autre question est-il nécessaire de modifier une registre (Exemple registre B) pour avoir une fréquence plus élevé sur une des sortie ?
sachant que le registre A modifie aussi (Delay, … ) donc j’aimerais éviter de toucher celui la

#include <Servo.h>

Servo esc; 


void setup() 
{
 pinMode(8,OUTPUT);
 pinMode(A0,INPUT);
 
 esc.attach(8); //PIN numro 8 
 esc.writeMicroseconds(1000); // Delais
 Serial.begin(9600);
 }

void loop()
{
  
  int moteur; 
  moteur= analogRead(A0);  //PIN pour le potentiomtre
  moteur= map(moteur,0,1023,0,10000); //2 dernieres valeurs = val mini et maxi tour moteur
  esc.writeMicroseconds(moteur);
 
  }

Merciiiii :slight_smile: