Menu
Microbots
0
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • ProtoBot
    • Wavelit Display
    • Modules Maker
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Connexion
  • français
  • Votre panier est vide
Microbots
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • ProtoBot
    • Wavelit Display
    • Modules Maker
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Langue

  • 0 0

MotorCell - Contrôle du régime moteur à grande vitesse

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.

Remarques importantes et informations de sécurité

  • Charge : MotorCell est conçu pour entraîner de faibles charges. La vitesse diminue à mesure que la charge/traînée augmente. La charge maximale en rotation est de 12 g pour un rayon de 18 mm. Pour un rayon supérieur, consultez les spécifications pour le graphique complet du couple en fonction de la vitesse.
  • Attention à grande vitesse : gardez les mains éloignées des pièces mobiles et portez des lunettes de protection.
  • Résistance de rappel de la broche OUT : La bibliothèque MotorCell active automatiquement une résistance de rappel interne sur la broche OUT pour la mesure de la vitesse. Si vous utilisez un logiciel personnalisé, assurez-vous que la résistance de rappel reste activée ou ajoutez-en une externe.
  • Détection de calage : si le moteur est forcé à s'arrêter, il entre en mode de protection de verrouillage pendant 5 secondes. Ce blocage peut être réinitialisé en réglant l'entrée PWM à 0 %, puis en la réactivant. Ce processus est géré automatiquement par la fonction Spin de la bibliothèque MotorCell.

Configuration de votre MotorCell


Connexion de votre MotorCell

  • DANS: Entrée PWM 10 kHz-50 kHz pour le contrôle de la vitesse (ou connexion au VDD pour la pleine vitesse)
  • DEHORS: Rétroaction de fréquence de vitesse (nécessite une résistance de rappel si elle n'est pas implémentée via un logiciel)
  • FR: Contrôle de direction optionnel (connexion à VDD, GND ou contrôle avec GPIO)
  • GND : Connexion à la terre
  • VDD : Entrée d'alimentation (2,5 V–5 V)

Installation de la bibliothèque MotorCell

Pour commencer, installez la bibliothèque MotorCell à partir du gestionnaire de bibliothèque Arduino :

  1. Ouvrez l' IDE Arduino .
  2. Accédez à Sketch > Inclure la bibliothèque > Gérer les bibliothèques .
  3. Recherchez « MotorCell » et installez-le.

La bibliothèque comprend des exemples pour vous aider à démarrer rapidement avec le contrôle MotorCell.

Exemple de contrôle de vitesse

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

Exemple d'inversion du sens du moteur

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 */
 }

Exemple de contrôle de vitesse PID

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.

Conclusion

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 !

  • Partager:

Partage

Github

  • À propos
  • Logiciel
  • Éducation
  • Contact
  • FAQ
  • Termes
  • Politique de remboursement
  • politique de confidentialité

Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !

© 2026 Microbots.

★ Reviews

Let customers speak for us

85 reviews
Write a review
87%
(74)
5%
(4)
2%
(2)
2%
(2)
4%
(3)
79
21
F
ProtoBot
Francis van Uyten

Really love this robot. I like that is simple to assemble and I like that you guys prepares it easy to start programming with examples and libraries. My opinion on what to improve is more like a add-on, can you guys develop a localisation sensor or function so it will know where the bot is. Expecting only great things coming from you guys. Succes

G
Experiment in Progress Mug
Gerald Kendrick

I am enjoying my Experiment in Progress coffee mug. It fits in well in the lab.

K
12-in-1 Screwdriver (Pen-Size)
Klaas

Very useful fun little screwdriver for the all tiny stuff

f
ProtoBot
frederic marty

I don't have much time right now to test the micro bot, but it looks good.

f
MotorCell
frederic marty

I don't have much time right now to test it but it looks good.

123