Calibrage des ESC d'un drone avec Arduino Uno

Bonjour,

Je suis en train de réaliser un drone maison à base d'Arduino. Pour le moment pas de problème majeur, j'ai simplement une question concernant le calibrage des ESC : doit-on les calibrer à chaque allumage ?

En effet, j'effectue le calibrage avec ce code :

void initialize_motor()
{
    Serial.print("Arming the motor! \n");
    delay(3000);
    Serial.print("Setting low speed! \n");

    motA.write(5);
    motB.write(5);
    motC.write(5);
    motD.write(5);
    delay(4000);
    
    Serial.print("Setting high speed! \n");
    motA.write(180);
    motB.write(180);
    motC.write(180);
    motD.write(180);
    delay(4000);
        
    motA.write(10);
    motB.write(10);
    motC.write(10);
    motD.write(10);
    Serial.print("MOTOR IS READY! \n");
    delay(2000);
}

Lorsque je déconnecte électriquement mes ESC et que je les rebranches, si je balance directement une commande de gaz, les moteurs ne tournent pas, je suis alors obligé de repasser par la phase de calibrage.

C'est pas que c'est contraignant, ça prend 10 secondes de manière automatique, mais je me demande si je procède de la bonne manière.

Qu'en pensez-vous ?

Bonne journée.

Aucune idée pour la calibration , j'ai cependant une question: Pourquoi des delays "si long"?

Ton ESC n'attend pas à chaque allumage que tu calibre le MAX et le MIN, mais il attends juste que tu lui envoi la valeur MIN.

Le calibrage MAX/MIN n'est à faire qu'une seule fois (soit la première fois, soit si tu veux le refaire plus tard il doit exister une manip spéciale...)

Pourquoi ton ESC attend la valeur MIN lorsqu'il s'allume :
Ca évite que ton appareil décolle tout seul à l'allumage si ton manche des gaz n'est pas à 0.

Les ESC que j'utilise mettent aussi un temps de boot de quelques secondes au démarrage.
Je ne pense pas qu'on puisse l'éliminer.

UniseV:
Ton ESC n'attend pas à chaque allumage que tu calibre le MAX et le MIN, mais il attends juste que tu lui envoi la valeur MIN.

Le calibrage MAX/MIN n'est à faire qu'une seule fois (soit la première fois, soit si tu veux le refaire plus tard il doit exister une manip spéciale...)

Pourquoi ton ESC attend la valeur MIN lorsqu'il s'allume :
Ca évite que ton appareil décolle tout seul à l'allumage si ton manche des gaz n'est pas à 0.

OK ! Merci pour cette explication claire. Je comprends mieux maintenant. Mes ESC étant maintenant calibrés, je n'ai plus qu'à envoyer le signal MIN dans la routine d'allumage :slight_smile:

[EDIT] Bon finalement j'ai écrit un article sur le sujet: [DIY] Calibrer ses ESC avec un Arduino - drone ch. 3

Merci !