calibrage ESC avec Arduino UNO

Bonjour à tous !

je suis tout nouveau sur Arduino et je me demandais comment calibrer mes ESC :(ceux-là).
J'ai essayé de les calibrer avec ce code :

#include <Servo.h>

#define MAX_SIGNAL 2000
#define MIN_SIGNAL 700
#define MOTOR_PIN 9

Servo motor;

void setup()
{
    Serial.begin(9600);
    Serial.println("Program begin...");
    Serial.println("This program will calibrate the ESC.");
    
    motor.attach(MOTOR_PIN);
    
    Serial.println("Now writing maximum output.");
    Serial.println("Turn on power source, then wait 2 seconds and press any key.");
    motor.writeMicroseconds(MAX_SIGNAL);
    
    // Wait for input
    while (!Serial.available());
    Serial.read();
    
    // Send min output
    Serial.println("Sending minimum output");
    motor.writeMicroseconds(MIN_SIGNAL);
}

void loop()
{  

}

ça a eu l'air de fonctionner sur 3 premiers, après calibrage le moteur tourne pour des valeurs entre 58 et 171 (je ne sais pas pourquoi ...).
Mais pour le dernier ESC? lorsque j'essaie de le calibrer il fait tourner le moteur tout de suite lorsque je lui envoi 2000 comme signal, alors que les autres non.
Les autres lorsque je leur envoi le signal 2000 ils font des "bip bip" et lorsque j'entend 4 "bip" j'envois le signal 700, là il me fait un long "bip" et s'arrête. J'en conclu qu'il est calibré et que je peux l'utiliser.

Je me demande donc pourquoi j'ai un ESC qui ne réagit pas comme les autres pour les mêmes valeurs ... ?
Pourquoi les autres font tourner mes moteurs pour des valeurs entre 58 et 171 et pourquoi celui-là fait tourner mes moteurs pour des valeurs entre 1400 et 2300 environs ?

Merci d'avance pour vos réponses ! :smiley:

Si quelqu'un pouvait m'expliquer comment mes petites bêtes fonctionnent svp :frowning:

Si vous avez raté un bip et attendu trop longtemps vous êtes passé en mode programmation de l'ESC. Voir la documentation pour le remettre au niveau des réglages usine

Sinon si ça a pris bcp de temps sur les premiers il se peut que votre batterie - si c'était pas alimenté par le courant - soit déchargée et ça peut jouer

Je n'ai pas pu rater de bip, c'était la première utilisation.
Normalement d'après ce que j'ai vu sur internet, il faut envoyer le signal max (2000) puis attendre les 4 bip et envoyer le signal min (700).
Sauf que là lorsque j'envois le signal max l'esc fait tourner le moteur au lieu de me proposer de le configurer.
Je n'ai pas la documentation de l'esc, la seule chose que j'ai vu le concernant sur internet me dit de le configurer avec une télécommande (que je n'ai pas), il faut que je le configure avec ma Arduino :frowning:

Vous l'alimentez comment?

Avec l'alimentation USB de mon ordinateur
Est-ce l'ESC qui est défectueux ?
Est-ce normal si les autres ESC font tourner mes moteurs entre 58 et 171 ? À quoi cela correspond ?
J'ai beaucoup de questions mais je ne trouve quasiment rien sur internet pour m'aider à comprendre ...

Une photo d'un ESC à proposer?

C'est une photo de Google image, mais elle est mieux prise que ce que je pourrais prendre et c'est plus facile pour l'ébergement :smiley:

Sinon j'avais donné le lien au début du topic : Radio Control Planes, Drones, Cars, FPV, Quadcopters and more - Hobbyking

La question était comment vous alimentez l'ESC

Salut,

J'ai beaucoup de questions mais je ne trouve quasiment rien sur internet pour m'aider à comprendre ...

Pose t'es questions, peux-être que certaine d'entre elles trouverons réponse :wink:
La documentation, si elle est fournis par le site se trouve vers le bas de page du produit...il y as 4 onglet (discussion; reviews; video; files) ainsi tu trouvera la doc dans l'onglet files donc ici
Sinon, j'ai des soucis, enfin des doutes concernant ta procédure de calibration. Normalement ont effectue ce calibrage de manière a donner la pleine échelle des gaz par rapport au potar de la radio et/ou pour mettre cette echelle a l'identique sur tout les esc qui doivent tourner a l'unissons (muti-rotor)...
Pour m'enlever tout doute concernant la procédure, il est dit: d'allumer sa radio et mettre les gaz a fond ->brancher la batterie sur l'esc et d'attendre l’émission de 2 bips court -> remettre les gaz au mini-> fin de procédure... ont là compris de la même façon? Besoin de plus de détail?
En lisant ton code et de ma maigre compréhension de celui-ci, je doute qu'entre ton instruction "motor.writeMicroseconds(MAX...)" et l'instruction "MIN_SIGNAL" tu est le temps d'alimenter ton ESC :disappointed_relieved:
Si je devrai faire la même chose, j'aimerai gérer un peu mieux la procédure de calibration de l'ESC, pkoi pas avec l'aide deux deux BP, un pour simuler les 100% gaz et l'autre BP pour le 0% de gaz..

D'abord merci pour ton aide ! :slight_smile:
J'étais déjà tombé sur cette documentation, elle dit de mettre le "stick" de la télécommande vers le haut (ce qui correspond à envoyer le signal max avec l'Arduino) puis vers le bas.
Mais avec l'Arduino je ne sais pas quelle valeur correspond au MIN et au MAX. :frowning:
J'ai vu sur internet que le MAX était 2000 et le MIN 700, mais je ne sais pas si c'est pour tous les ESC ou juste celui dont il était question lorsque j'ai lu ça.
Ce code est censé réaliser le calibrage, entre "motor.writeMicroseconds(MAX...)" et l'instruction "MIN_SIGNAL" il y a "Serial.read();" qui va attendre que j'envois quelque chose dans la console COM3 avant d'envoyer le signal MIN. C'est donc moi qui décide quand envoyer le signal MIN.
Mais j'envoyais le signal MIN lorsque j'entendais les 4 bip car sur internet j'ai vu qu'il fallait entrer dans le mode "programmation" pour pouvoir programmer avec l'Arduino.

Mon nouveau code est le suivant :

#include <Servo.h>

Servo motor;

void setup()
{
    Serial.begin(9600);
    motor.attach(9);
    motor.writeMicroseconds(700); // 1134 -> 2309
}

void loop()
{
}

Mes questions :
. J'ai réalisé l'étape 2 de la documentation mais après ça l'échelle de valeur de l'ESC pour faire tourner le moteur est 1134 -> 2309, je ne comprend pas pourquoi j'obtiens ça. De plus après avoir sélectionné les 2 bips, je n'arrive plus à revenir sur le "menu" de mon ESC ...

Quelle est la différence entre l'étape 2 et l'étape 4 ?
Quelles sont censées être les valeurs MIN et MAX de l'Arduino ? Peut-on les choisir ou sont elles fixées d'avance ?

Merci d'avance ! :smiley:

Bonsoir,

J'ai vu sur internet que le MAX était 2000 et le MIN 700, mais je ne sais pas si c'est pour tous les ESC ou juste celui dont il était question lorsque j'ai lu ça.

En aéromodélisme, pour les radiocommandes et les servos et esc "basiques" on considère que le signal est un PWM de période environ 20 ms et de durée de niveau haut comprise entre 1 et 2 ms. (Donc entre 1000 et 2000µs)
1 ms correspond généralement au min et 2 ms au Max. 1,5 ms étant la valeur associée au neutre du servo ou du mi-gaz pour un esc.

Mais bien entendu ces valeurs min et max sont réglables sur la radio (trim ... etc)

Cela dit pour certaines radiocommandes (Futaba, je crois) c'est inversé entre min et max. (dans ce cas il faut inverser la voie sur la radio pour programmer la course des gaz)

Serge .D

Merci Serge, je comprend mieux d'où ça vient mtn :smiley: on peut dire qu'avec mon intervalle entre 1134 et 2309 je suis à peu près dans les clous :slight_smile:
Saurais-tu quelle est la différence entre l'option des 2 bips et celle des 4 bips ? La doc dit que les 2 bips sert à le calibrer et les 4 bips à le programmer ... ça veut dire que je dois d'abord le calibrer, puis revenir sur le menu et sélectionner les 4 bips ? :confused:
Merci d'avance ! :smiley:

La doc dit que les 2 bips sert à le calibrer et les 4 bips à le programmer ...

Beaucoup de choses sont programmables sur un esc, pas seulement la course des gaz mais le frein d'hélice, le mode de démarrage, le seuil de coupure basse-tension etc...etc...
Les bips de programmation sont généralement spécifiques au type d'ESC et tout doit être indiqué sur la notice.

Les modes de programmations possible d'un esc sont :

  • Programmation par Bips, pénible et sources de nombreuses erreurs.
  • Programmation par carte (spécifique à la marque d'ESC) beaucoup plus sûre mais nécessite l'achat d'une carte.

Serge .D

Merci, donc j'oublie la programmation des esc pour l'instant alors :stuck_out_tongue:
Merci beaucoup à tous pour votre aide ! :smiley: