MotorCell utilise le contrôleur triphasé contre-électromotrice BD67173NUX avec un système d'entraînement sans capteur, permettant le contrôle de la vitesse via un rapport cyclique du signal d'entrée PWM. La broche IN est par défaut à l'état bas, ce qui fait tourner le moteur à pleine vitesse lorsqu'elle est tirée à l'état haut (2,5 V–5 V). Vous pouvez régler la vitesse par paliers de 1 000 tr/min via le rapport cyclique ou utiliser directement les fonctions de la bibliothèque MotorCell.
Pour commencer, installez la bibliothèque MotorCell à partir du gestionnaire de bibliothèque Arduino :
La bibliothèque comprend des exemples pour vous aider à démarrer rapidement avec le contrôle MotorCell.
Nous allons commencer par contrôler la vitesse à l'aide de la fonction Spin. Cette fonction ajuste la vitesse du moteur au pourcentage souhaité de sa capacité maximale et renvoie la valeur actuelle du régime. Cette valeur est également automatiquement affichée sur le moniteur série, pour faciliter le débogage. Si le moteur cale, il tente automatiquement de redémarrer.
#include <MotorCell.h>
#define IN_pin1 2
#define OUT_pin2 3
#define FR_pin2 1
MotorCell myMotorCell(IN_pin1, OUT_pin2, FR_pin2); /* Configure the MotorCell pins */
void setup() {
Serial.begin(115200); /* Set up serial - Ensure Tools/USB_CDC_On_Boot is enabled */
myMotorCell.Init(); /* Initialize the MotorCell */
}
void loop() {
uint16_t MotorRPM = myMotorCell.Spin(25); /* Définir la vitesse à 25 % de la vitesse maximale */
}
⚠ Remarque : Pour cette fonction, nous recommandons d'utiliser un périphérique ESP32 comme le CodeCell pour éviter les retards lors de la lecture du RPM
L'exemple suivant montre comment inverser le sens de rotation du moteur toutes les 5 secondes à pleine vitesse. La fonction MaxSpin règle le moteur à sa vitesse maximale, tandis que la fonction ReverseSpin modifie son sens de rotation. Cette fonction alterne entre rotation horaire et antihoraire avec un délai de 5 secondes entre chaque changement de sens.
#include <MotorCell.h>
#define IN_pin1 2
#define OUT_pin2 3
#define FR_pin2 1
MotorCell myMotorCell(IN_pin1, OUT_pin2, FR_pin2); /* Configure the MotorCell pins */
void setup() {
Serial.begin(115200); /* Set up serial - Ensure Tools/USB_CDC_On_Boot is enabled */
myMotorCell.Init(); /* Initialiser la MotorCell */
}
boucle vide() {
myMotorCell.MaxSpin(); /* Régler le moteur à la vitesse maximale */
myMotorCell.ReverseSpin(); /* Inverse le sens de rotation du moteur */
delay(5000); /* Attendre 5 secondes */
myMotorCell.MaxSpin(); /* Maintenir la vitesse maximale */
myMotorCell.ReverseSpin(); /* Inverser à nouveau la direction */
delay(5000); /* Attendez encore 5 secondes */
}
Ce dernier exemple implémente un contrôleur PID pour réguler la vitesse du moteur à la vitesse souhaitée grâce à la fonction SpinPID. Le contrôleur PID compense dynamiquement les perturbations et les variations de charge, assurant ainsi un fonctionnement fluide. Si le moteur cale, la fonction le redémarre automatiquement et vous avertit si la vitesse cible ne peut être atteinte. Ces informations sont également automatiquement affichées sur le moniteur série, facilitant ainsi le débogage.
#include <MotorCell.h>
#define IN_pin1 2
#define OUT_pin2 3
#define FR_pin2 1
MotorCell myMotorCell(IN_pin1, OUT_pin2, FR_pin2); /* Configurer les broches MotorCell */
void setup() {
Serial.begin(115200); /* Configurer le port série - S'assurer que Tools/USB_CDC_On_Boot est activé */
myMotorCell.Init(); /* Initialiser la MotorCell */
}
boucle vide() {
uint16_t MotorRPM = myMotorCell.SpinPID(15000); /* Définir le régime cible à 15 000 à l'aide du PID */
}
⚠ Remarque : la fonction SpinPID ()
utilise un Minuterie PWM haute vitesse, la rendant compatible uniquement avec les appareils basés sur CodeCell et ESP32.
Avec la bibliothèque MotorCell installée, vous pouvez facilement contrôler la vitesse, la direction et surveiller son régime !
Prêt à expérimenter ? Procurez-vous un MotorCell dès aujourd'hui et consultez le dépôt GitHub MotorCell pour plus d'exemples de code et de documentation technique !
Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !
© 2025 Microbots.