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

  • 0 0

Cellule de conduite

Using DriveCell to Control Buzzing

Utilisation de DriveCell pour contrôler le bourdonnement

DriveCell ne se limite pas à piloter des moteurs et des actionneurs : il peut également les faire générer des sons et des vibrations. En envoyant un signal sur la gamme de fréquences audibles, DriveCell peut créer différentes tonalités pouvant être diffusées sur des appareils tels que des buzzers piézoélectriques, des CoilPads, des FlatFlaps et même des moteurs. Il est ainsi utile pour les systèmes d'alerte ou les réponses interactives. Dans ce guide, nous explorerons comment DriveCell peut générer des bourdonnements, comment le câbler et comment l'utiliser pour diverses applications, des buzzers piézoélectriques aux CoilPads et aux vibrations de moteurs.

Comment fonctionne Buzzing avec DriveCell

Le bourdonnement est obtenu en envoyant des impulsions électriques rapides à un appareil, le faisant osciller dans la plage de fréquences audibles (~20 Hz–20 kHz). DriveCell permet de contrôler ces impulsions grâce à la modulation de largeur d'impulsion (PWM), ce qui permet de générer des tonalités, des alertes et des vibrations.

Câblage d'un buzzer ou d'un actionneur sur DriveCell

Connexion de base pour un buzzer ou un actionneur

Voici comment câbler un buzzer, un CoilPad ou un FlatFlap à DriveCell :

  1. Connectez les broches de sortie DriveCell à l'appareil :
    • OUT1 → Positif de l'appareil (+)
    • OUT2 → Appareil négatif (-)
  2. Connectez les broches d'entrée DriveCell au microcontrôleur :
    • IN1 → N'importe quelle broche numérique
    • IN2 → Une autre broche numérique
  3. Connexions électriques :
    • VCC → 5 V maximum
    • GND → Masse commune avec le microcontrôleur

Contrôle du bourdonnement avec la bibliothèque DriveCell

Pour générer des bourdonnements, DriveCell fournit Fonctions compatibles Arduino pour les tonalités de bourdonnement.

1. Installation de la bibliothèque

  1. Ouvrir l'IDE Arduino
  2. Accéder au gestionnaire de bibliothèque
  3. Recherchez DriveCell et installez-le

2. Exemple de code pour générer un buzz

L'exemple suivant fait vibrer un buzzer, un CoilPad ou un FlatFlap à l'aide de la fonction intégrée de la bibliothèque DriveCell :

 #include <DriveCell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3

 DriveCell myDriveCell(IN1_pin1, IN1_pin2);

 void setup() {
 myDriveCell.Init(); /* Initialize DriveCell */
 }

 void loop() { 
myDriveCell.Buzz(100); /* Buzz à 100 microsecondes */
 délai(500);
 myDriveCell.Tone(); /* Jouer une tonalité fixe avec des fréquences variables */
 délai(500);
 }

3. Comprendre les fonctions

  • Buzz(duration) → Génère un effet de bourdonnement :
    • duration → Fréquence du ton en microsecondes (ajuster pour changer l'intensité)
  • Tone() → Joue une tonalité fixe intégrée à la bibliothèque

⚠ Remarque : certains sons peuvent également être émis sur des moteurs à courant continu, mais vérifiez la fiche technique et évitez d'exécuter en continu des bourdonnements à haute fréquence sur des moteurs à balais, car cela peut provoquer une usure excessive.

Conclusion

Le petit module DriveCell simplifie le buzz ! Consultez le dépôt GitHub DriveCell pour plus d'exemples de code et de documentation technique !

Voir l'article entier

Using DriveCell to Control High-Power LEDs

Utilisation de DriveCell pour contrôler les LED haute puissance

Les LED haute puissance sont largement utilisées dans les projets d'éclairage, des lampes de poche aux bandes lumineuses en passant par les indicateurs de signalisation. Généralement, un seul transistor permet de commuter ou de faire varier l'intensité des LED haute puissance, mais DriveCell, un minuscule module en pont en H intégré au plus petit module, offre une alternative tout en supportant jusqu'à 1,8 A de courant continu.

Dans ce guide, nous explorerons comment DriveCell peut être utilisé pour contrôler des LED haute puissance ou des bandes LED monochromes, discuterons des configurations de câblage et démontrerons un effet de fondu à l'aide de sa bibliothèque.

Pourquoi utiliser DriveCell pour les LED haute puissance ?

DriveCell est construit autour du pont en H DRV8837, doté de quatre transistors en forme de « H » permettant un courant bidirectionnel. Un seul transistor suffit pour atténuer la luminosité des LED haute puissance. Si vous recherchez une solution compacte, DriveCell peut gérer jusqu'à 1,8 A de courant continu et s'intègre facilement aux microcontrôleurs.

Spécifications DriveCell pour le contrôle des LED haute puissance

Avant de connecter votre LED, il est essentiel de comprendre les limitations électriques de DriveCell :

  • Tension de fonctionnement : 1,8 V à 5 V (convient aux applications LED)
  • Courant continu maximal : 1,8 A (suffisant pour la plupart des LED haute puissance ou des petites bandes LED)
  • Protections intégrées : surintensité, verrouillage en cas de sous-tension et arrêt thermique

Remarque : en matière d’éclairage, DriveCell est uniquement idéal pour contrôler la luminosité des bandes LED monochromes ou des LED haute puissance individuelles.

Câblage d'une LED haute puissance sur DriveCell

Connexion de base pour une LED

Voici comment câbler une seule LED ou une bande LED à DriveCell :

  1. Connectez les broches de sortie DriveCell à la LED :
    • LED positive (+) → OUT1
    • LED Négatif (-) → Connectez-le à la terre ou à OUT2 (tout en le forçant à la terre avec la broche d'entrée)
  2. Connectez les broches d'entrée DriveCell au microcontrôleur :
    • IN1 → Connectez-vous à votre microcontrôleur (n'importe quelle broche numérique compatible PWM)
    • IN2 → Connectez-vous à votre microcontrôleur (n'importe quelle broche numérique compatible PWM)
  3. Connexions électriques :
    • VCC → Tension LED (par exemple 5 V)
    • GND → Masse commune avec le microcontrôleur

Contrôle de la luminosité des LED avec DriveCell

Pour ajuster dynamiquement la luminosité des LED, DriveCell propose une bibliothèque logicielle. Voici un exemple d'effet de fondu.

1. Installation de la bibliothèque

  1. Ouvrir IDE Arduino
  2. Accéder au gestionnaire de bibliothèque
  3. Recherchez DriveCell et installez-le

2. Exemple de code pour le contrôle de la luminosité des LED

L'exemple suivant montre comment faire apparaître et disparaître progressivement une LED à l'aide de DriveCell :

 #include <DriveCell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3

 DriveCell LED(IN1_pin1, IN1_pin2); /* Pin2 will output the PWM signal, and Pin3 will be connected to 0V */

 uint16_t led_brightness = 0;
 bool led_brightness_flag = 1;

 void setup() {
 LED.Init(); /* Initialize the LED */
 }

 void loop() { 
delay(10); /* Ajustez ce délai pour modifier la vitesse de fondu */

 si (led_brightness_flag == 1) {
 si (luminosité_led < 100U) {
 led_brightness++;
 } autre {
 led_brightness_flag = 0;
 }
 } autre {
 si (luminosité_led > 1U) {
 led_brightness--;
 } autre {
 led_brightness_flag = 1;
 }
 }

 LED.Drive(0, led_brightness); /* Affiche le nouveau niveau de luminosité */
 }

3. Comprendre le code

  • Init() → Initialise DriveCell et configure les broches d'entrée
  • Drive(direction, brightness) → Contrôle la luminosité des LED :
    • direction → 0 (polarité fixe pour les LED)
    • brightness → Niveau de gradation (0 à 100 %)

Ce code augmente et diminue progressivement la luminosité de la LED, créant un effet de décoloration douce.

⚠ Remarque : la fonction Drive() est uniquement compatible avec ESP32 et CodeCell, car elle utilise un minuteur PWM haute vitesse.

Vous trouverez ci-dessous un autre exemple qui peut être utilisé avec d’autres microcontrôleurs comme l’Arduino Uno :

 #include <DriveCell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3

 DriveCell myLED(IN1_pin1, IN1_pin2);

 void setup() {
 myLED.Init();
 }

 void loop() {
 myLED.Run(1000); // Blink LED on and off every 1 second
 }

Cet exemple est tout simplement allume et éteint la LED toutes les secondes.

Conclusion

Le petit module DriveCell simplifie et accélère le contrôle des LED haute puissance ! Consultez le dépôt GitHub DriveCell pour plus d'exemples de code et de documentation technique !

Voir l'article entier

Using DriveCell to Control Magnetic Actuators

Utilisation de DriveCell pour contrôler les actionneurs magnétiques

Les actionneurs magnétiques, comme le CoilPad et le FlatFlap , utilisent des bobines PCB planes pour générer un faible champ magnétique interagissant avec les aimants, convertissant ainsi l'énergie électrique en énergie mécanique. DriveCell est idéal pour piloter ces actionneurs grâce à sa petite taille et à sa bibliothèque intuitive.

Comprendre les actionneurs magnétiques et pourquoi ils ont besoin de DriveCell

Que sont les actionneurs magnétiques ?

Les actionneurs magnétiques fonctionnent en faisant passer un courant dans une bobine, ce qui crée un champ magnétique qui interagit avec les aimants proches. Cela leur permet de vibrer ou d'osciller.

Contrairement aux moteurs à courant continu traditionnels, les actionneurs magnétiques nécessitent une commutation de polarité rapide et un contrôle précis pour fonctionner efficacement, c'est pourquoi des pilotes de pont en H comme DriveCell sont nécessaires.

Pourquoi utiliser un pilote de pont en H comme DriveCell ?

Les actionneurs magnétiques s'appuyant sur des courants alternatifs, un circuit à transistor standard ne suffit pas. Le pont en H DRV8837 de DriveCell permet au courant de circuler dans les deux sens, offrant ainsi un contrôle total de la polarité et de l'intensité du champ magnétique.

Spécifications DriveCell pour actionneurs magnétiques

Avant de connecter vos actionneurs, il est essentiel de comprendre les limitations électriques de DriveCell :

  • Tension de fonctionnement : 1,8 V à 5 V
  • Courant continu maximal : 1,8 A
  • Puce H-Bridge : DRV8837, permettant la commutation de polarité et le contrôle PWM
  • Protections intégrées : surintensité, verrouillage en cas de sous-tension et arrêt thermique

Remarque : le CoilPad et le FlatFlap consomment environ 200 mA, ce qui signifie que vous pouvez connecter jusqu'à 8 actionneurs en parallèle et les piloter à l'aide d'un seul DriveCell.

Câblage d'un actionneur magnétique à DriveCell

Connexion de base pour un actionneur

Voici comment souder/câbler un seul actionneur CoilPad ou FlatFlap à DriveCell :

  1. Connectez les broches de sortie DriveCell à l'actionneur :
    • OUT1 → Borne 1 de l'actionneur
    • OUT2 → Borne 2 de l'actionneur
  2. Connectez les broches d'entrée DriveCell au microcontrôleur :
    • IN1 → Toute broche numérique compatible PWM
    • IN2 → Une autre broche numérique compatible PWM
  3. Connexions électriques :
    • VCC → 5 V (ou jusqu'à 11 V en fonction des besoins de votre actionneur)
    • GND → Masse commune avec le microcontrôleur

Connexion parallèle pour plusieurs actionneurs

Vous pouvez connecter plusieurs actionneurs en parallèle :

  • OUT1 → Bornes 1 des actionneurs 1 et 2
  • OUT2 → Bornes 2 des actionneurs 1 et 2

Cette configuration pilotera les deux actionneurs de manière synchronisée, les faisant s'activer simultanément.

Contrôle des actionneurs magnétiques avec la bibliothèque DriveCell

Pour simplifier le contrôle des actionneurs, DriveCell propose une bibliothèque logicielle. Voici les principales fonctionnalités dont vous aurez besoin :

1. Installation de la bibliothèque

  1. Ouvrir l'IDE Arduino
  2. Accéder au gestionnaire de bibliothèque
  3. Recherchez DriveCell et installez-le

2. Exemple de code

L'exemple suivant montre comment contrôler deux actionneurs avec des intensités différentes :

 #include <DriveCell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3
 #define IN2_pin1 5
 #define IN2_pin2 6

 DriveCell Actuator1(IN1_pin1, IN1_pin2);
 DriveCell Actuator2(IN2_pin1, IN2_pin2);

 void setup() {
 Actuator1.Init();
 Actuator2.Init();
 }

 void loop() {
 delay(3000);
 Actuator1.Drive(1, 40); // Activate Actuator1 North-Polarity at 40% power 
Actuator2.Drive(1, 80); // Activer la polarité nord de l'actionneur 2 à 80 % de puissance
 délai(3000);
 Actuator1.Drive(0, 50); // Activer la polarité sud de l'actionneur 1 à 50 % de puissance
 Actuator2.Drive(1, 50); // Activer la polarité nord de l'actionneur 2 à 50 % de puissance
 délai(3000);
 Actuator1.Drive(0, 0); // Désactiver Actuator1
 Actuator2.Drive(0, 100); // Activer la polarité sud de l'actionneur 2 à 100 % de puissance
 }

Comprendre les fonctions :

  • Init() → Initialise DriveCell et configure les broches d'entrée
  • Drive(direction, power) → Actionneur de commande :
    • direction → 1 (nord) / 0 (sud)
    • power → Intensité du champ magnétique (0 à 100 %)

Voici un autre exemple où nous configurons deux FlatFlaps et les faisons voleter à des vitesses différentes :

# include <DriveCell.h>

 # define IN1_pin1 2
 # define IN1_pin2 3
 # define IN2_pin1 5 
# définir IN2_pin2 6

 DriveCell FlatFlap1 ( IN1_pin1 , IN1_pin2 ) ;
 DriveCell FlatFlap2 ( IN2_pin1 , IN2_pin2 ) ;

 uint16_t flap_counter = 0 ;
 
configuration vide ( ) {
 FlatFlap1 .Init ( ) ;
 FlatFlap2 .Init ( ) ;

 FlatFlap1 . Tone ( ) ; 
FlatFlap2 . Tone ( ) ;
 }

 boucle vide ( ) {
 retard ( 1 ) ;
 compteur_volet ++ ;
 si ( compteur_flap < 2000U ) { 
FlatFlap1 . Exécuter ( 0 , 100 , 100 ) ;
 FlatFlap2 . Exécuter ( 0 , 100 , 100 ) ;
 } 
sinon si ( flap_counter < 8000U ) {
 FlatFlap1 . Exécuter ( 1 , 100 , 1000 ) ; 
FlatFlap2 . Exécuter ( 1 , 100 , 1000 ) ;
 } autre {
 compteur_flap = 0U ;
 FlatFlap1 . Drive ( 0 , 100 ) ; 
FlatFlap2 . Lecteur ( 1 , 100 ) ;
 retard ( 500 ) ;
 FlatFlap1 . Lecteur ( 1 , 100 ) ; 
FlatFlap2 . Lecteur ( 1 , 100 ) ;
 retard ( 500 ) ;
 FlatFlap1 . Lecteur ( 1 , 100 ) ; 
FlatFlap2 . Lecteur ( 0 , 100 ) ;
 retard ( 500 ) ;
 FlatFlap1 . Lecteur ( 1 , 100 ) ; 
FlatFlap2 . Lecteur ( 1 , 100 ) ;
 retard ( 500 ) ;
 FlatFlap1 . Lecteur ( 0 , 100 ) ; 
FlatFlap2 . Lecteur ( 0 , 100 ) ;
 retard ( 500 ) ;
 FlatFlap1 . Lecteur ( 1 , 100 ) ; 
FlatFlap2 . Lecteur ( 1 , 100 ) ;
 retard ( 500 ) ;
 FlatFlap1 . Tone ( ) ;
 FlatFlap2 . Tone ( ) ;
 } 
}

Comprendre les fonctions :

  • Run(smooth, power, speed_ms) → Osciller le FlatFlap soit dans une onde carrée, soit dans une onde PWM plus douce.
    • smooth → 1 (onde pwm) / 0 (onde carrée)
    • power → Intensité du champ magnétique (0 à 100 %)
    • power → Vitesse de retournement en millisecondes

⚠ Remarque : la fonction Run() & Drive() utilise un Minuterie PWM haute vitesse, la rendant compatible uniquement avec les appareils basés sur CodeCell et ESP32.

Vous trouverez ci-dessous un autre exemple qui peut être utilisé avec d’autres microcontrôleurs comme l’Arduino Uno :

#include <DriveCell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3

 DriveCell myActuator(IN1_pin1, IN1_pin2);

 void setup() {
 myActuator.Init();
 }

 void loop() {
 myActuator.Run(1000); // Activate actuator for 1 second, then reverse
 }

Cet exemple active l'actionneur en polarité nord pendant 1 seconde avant d'inverser la polarité, créant un mouvement d'onde carrée oscillante.

Conclusion

Le petit module DriveCell simplifie et accélère le contrôle des actionneurs magnétiques ! Consultez le dépôt GitHub DriveCell pour plus d'exemples de code et de documentation technique !

Voir l'article entier

Using DriveCell to Control DC Motors

Utilisation de DriveCell pour contrôler les moteurs à courant continu

Lors de l'utilisation de moteurs CC à balais, le contrôle de leur vitesse et de leur direction est essentiel à la création de robots fonctionnels, de systèmes d'automatisation et de projets interactifs. DriveCell, un pilote de moteur compact basé sur le pont en H DRV8837, simplifie ce processus grâce à une bibliothèque intuitive. Dans ce guide, nous explorerons le fonctionnement de DriveCell, comment contrôler un moteur CC et comment connecter efficacement plusieurs moteurs.

Comprendre les moteurs à courant continu à balais et pourquoi ils nécessitent une cellule de transmission

Un moteur à courant continu à balais est un type de moteur électrique simple dans lequel le courant circule à travers un ensemble de balais et un collecteur pour créer un mouvement de rotation. Son fonctionnement repose sur le principe de l'induction électromagnétique, qui génère un champ magnétique à l'intérieur du moteur, le propulsant en rotation continue.

Contrairement aux servomoteurs ou aux moteurs pas à pas, les moteurs à courant continu à balais nécessitent deux signaux d'entrée pour contrôler leur mouvement :

  • Contrôle de direction par inversion du flux de courant
  • Contrôle de la vitesse via PWM (modulation de largeur d'impulsion)

C'est là qu'interviennent les pilotes de pont en H comme le DRV8837 de DriveCell. Le circuit de pont en H permet au courant de circuler dans les deux sens, permettant ainsi un contrôle bidirectionnel du moteur avec seulement deux broches d'entrée.

Spécifications DriveCell

Avant de connecter vos moteurs, il est essentiel de comprendre les limitations électriques du DriveCell :

  • Tension de fonctionnement : 1,8 V à 5 V (convient aux petits moteurs)
  • Courant continu maximal : 1,8 A
  • Puce de pont en H : DRV8837, gérant la direction et la vitesse du moteur
  • Protections intégrées : surintensité, verrouillage en cas de sous-tension et arrêt thermique

Si votre moteur nécessite moins de 0,5 A, vous pouvez également connecter deux moteurs en parallèle et les piloter à l'aide d'un seul DriveCell.

Câblage d'un moteur à courant continu sur DriveCell

Connexion de base pour un moteur

Voici comment câbler un seul moteur à courant continu à DriveCell :

  1. Connectez les broches de sortie DriveCell au moteur :
    • OUT1 → Borne moteur 1
    • OUT2 → Borne moteur 2
  2. Connectez les broches d'entrée DriveCell au microcontrôleur :
    • IN1 → Toute broche numérique compatible PWM
    • IN2 → Une autre broche numérique compatible PWM
  3. Connexions électriques :
    • VCC → 5 V ou moins
    • GND → Masse commune avec le microcontrôleur

Connexion parallèle pour deux moteurs

Si vos moteurs consomment moins de 500 mA chacun, vous pouvez connecter deux moteurs en parallèle :

  • OUT1 → Bornes du moteur 1 et du moteur 2
  • OUT2 → Bornes du moteur 1 et du moteur 2

Cette configuration entraînera les deux moteurs de manière synchrone, les faisant tourner dans la même direction à la même vitesse.

Contrôle du moteur avec la bibliothèque DriveCell

Pour simplifier le contrôle des moteurs, DriveCell propose une bibliothèque logicielle. Voici les principales fonctionnalités dont vous aurez besoin :

1. Installation de la bibliothèque

  1. Ouvrir l'IDE Arduino
  2. Accéder au gestionnaire de bibliothèque
  3. Recherchez DriveCell et installez-le

2. Exemple de code

L'exemple suivant montre comment contrôler deux moteurs à des vitesses différentes :

 #include <DriveCell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3
 #define IN2_pin1 5
 #define IN2_pin2 6

 DriveCell Motor1(IN1_pin1, IN1_pin2);
 DriveCell Motor2(IN2_pin1, IN2_pin2);

 void setup() {
 Motor1.Init();
 Motor2.Init();
 }

 void loop() {
 delay(3000);
 Motor1.Drive(1, 40); // Move Forward at 40% speed
 Motor2.Drive(1, 80); // Move Forward at 80% speed
 delay(3000);
 Motor1.Drive(0, 50); // Move Backward at 50% speed
 Motor2.Drive(0, 50); // Move Backward at 50% speed
 delay(3000);
 Motor1.Drive(0, 0); // Set to 0% speed 
Motor2.Drive(0, 100); // Déplacement vers l'arrière à 100 % de la vitesse
 }

⚠ Remarque : la fonction Drive() de cet exemple utilise un minuteur PWM haute vitesse, ce qui la rend compatible uniquement avec CodeCell et d'autres appareils basés sur ESP32.

Vous trouverez ci-dessous un autre exemple qui peut être utilisé avec d’autres microcontrôleurs comme l’Arduino Uno :

 #include <DriveCell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3

 DriveCell myDriveCell(IN1_pin1, IN1_pin2);

 void setup() {
 myDriveCell.Init();
 }

 void loop() {
 myDriveCell.Run(1000); // Run motor forward for 1 second, then reverse
 }

Cet exemple fera tourner le moteur dans un sens pendant 1 seconde, puis inverser son sens direction , créant un mouvement oscillant simple.

Conclusion

Le petit module DriveCell simplifie et accélère le contrôle des moteurs à courant continu ! Consultez le dépôt GitHub DriveCell pour plus d'exemples de code et de documentation technique !

Voir l'article entier

Understanding DriveCell Circuitry

Comprendre le circuit DriveCell

Lors de petits projets électroniques impliquant des moteurs ou des actionneurs, contrôler la vitesse et la direction peut s'avérer complexe. C'est là qu'intervient DriveCell. Intégré dans un module de la taille d'un doigt, DriveCell simplifie le contrôle des moteurs grâce à une minuscule puce en pont en H, le DRV8837, ce qui en fait une solution idéale pour la robotique, les actionneurs et même le contrôle des LED. Dans cet article, nous allons explorer les circuits de DriveCell et leur fonctionnement.

Le cœur de DriveCell : le pont en H DRV8837

Au cœur de DriveCell se trouve la puce DRV8837, un driver en pont en H conçu pour gérer les moteurs et actionneurs CC basse consommation. Un pont en H est un circuit composé de quatre transistors disposés en « H », permettant le contrôle bidirectionnel d'un moteur par inversion du flux de courant. Le DRV8837 intègre cette fonctionnalité dans un format compact, offrant :

  • Contrôle de la vitesse et de la direction du moteur via deux broches d'entrée
  • Prise en charge PWM (Pulse Width Modulation) pour un contrôle précis
  • Protection contre les surintensités, verrouillage en cas de sous-tension et arrêt thermique pour plus de sécurité
  • Courant de sortie continu maximal de 1,8 A, ce qui le rend adapté à l'alimentation de moteurs à courant continu petits mais puissants ou à l'alimentation de plusieurs actionneurs en parallèle comme le CoilPad

Bien que le DRV8837 simplifie le contrôle du moteur, le module DriveCell va encore plus loin en fournissant une bibliothèque logicielle facile à utiliser qui résume la programmation complexe, rendant le contrôle du moteur accessible même aux débutants.

Comprendre le brochage et les fonctionnalités de DriveCell

Le module DriveCell fonctionne en fonction de l'état de ses deux broches d'entrée (IN1 et IN2) pour contrôler le flux de courant à travers ses broches de sortie :

  • Courant direct : IN1 = VCC/PWM , IN2 = GND → Le moteur tourne en sens direct
  • Courant inverse : IN1 = GND , IN2 = VCC/PWM → Le moteur tourne en sens inverse
  • État désactivé : IN1 = GND , IN2 = GND → Le moteur s'arrête

Pour plus de clarté, une LED intégrée fournit un retour visuel, indiquant la direction de la sortie.

Pourquoi choisir DriveCell ?

DriveCell est conçu pour être compact, efficace et facile à intégrer à divers projets. Voici pourquoi il se distingue :

  • Taille ultra-compacte – environ la taille d'un doigt
  • Broches crénelées pour une soudure et une intégration faciles dans des circuits imprimés personnalisés
  • Compatibilité transparente avec Arduino, CodeCell et d'autres microcontrôleurs
  • Pas besoin de configurations H-Bridge complexes – juste un simple appel de fonction

Premiers pas avec DriveCell

Pour commencer à utiliser DriveCell, suivez ces étapes :

1. Câblage de DriveCell à votre circuit

Soudez les broches de sortie à votre moteur ou actionneur et les broches d'entrée/alimentation à votre microcontrôleur. Les broches d'entrée déterminent l'état des broches de sortie :

    • Le réglage de IN1 à un niveau élevé rend OUT1 à un niveau élevé

    • Le réglage de IN2 à un niveau élevé rend OUT2 à un niveau élevé
    • En règle générale, IN1 et IN2 sont réglés sur des polarités opposées pour permettre au courant de circuler dans le moteur

Le VCC doit être connecté à une tension d'alimentation maximale de 5 V.

2. Codage avec la bibliothèque DriveCell

Bien que le câblage d'une broche d'entrée sur VCC active instantanément DriveCell, nous recommandons d'utiliser la bibliothèque DriveCell pour un contrôle automatique. Cette bibliothèque rend DriveCell extrêmement flexible et programmable.

Étapes pour installer la bibliothèque :

  1. Ouvrir l'IDE Arduino
  2. Accédez au Gestionnaire de bibliothèque et recherchez « DriveCell »
  3. Cliquez sur Installer
  4. Chargez les exemples de croquis pour commencer à expérimenter !

3. Garder les choses minuscules

Utilisez notre module CodeCell, conçu pour une compatibilité broche à broche avec DriveCell. Avec CodeCell, vous pouvez ajouter un contrôle sans fil et une détection interactive, ouvrant ainsi de nouvelles possibilités à vos projets.

Conclusion

DriveCell simplifie la complexité du contrôle moteur grâce à sa conception compacte. Que vous construisiez un mini-robot ou un actionneur magnétique, DriveCell vous offre un moyen simple de démarrer.

Consultez les schémas DriveCell ici pour explorer en détail la conception de son circuit et commencer à l'intégrer dans votre prochain projet !

Voir l'article entier

DriveCell Basics: Your First Steps

Les bases de DriveCell : vos premiers pas

DriveCell est un appareil petit mais puissant qui vous permet de contrôler facilement les moteurs, les actionneurs et les lumières LED haute puissance pour vos projets de bricolage. DriveCell facilite le contrôle de ces composants, même si vous débutez en programmation ou en électronique.

Dans ce tutoriel, nous expliquerons :

  • Qu'est-ce qu'un DriveCell et comment fonctionne-t-il ?
  • Démarrer avec sa bibliothèque de logiciels Arduino
  • Contrôlez deux moteurs à courant continu et entraînez-les à des vitesses différentes
  • Fabriquer le DriveCell plus interactif avec les capteurs CodeCell

Qu'est-ce que DriveCell ?
Imaginez que vous vouliez fabriquer un petit robot et contrôler la vitesse et la direction de son moteur. Cela peut être complexe pour les débutants et nécessite généralement des modules volumineux. DriveCell simplifie ce processus car :

  • C'est un pilote super petit (à peu près de la taille du bout de votre doigt)
  • Peut être facilement soudé avec des broches en forme de C
  • Fonctionne avec les microcontrôleurs Arduino et dispose de fonctions faciles à utiliser qui vous permettent de contrôler directement les moteurs, les actionneurs et les LED sans plonger dans une programmation compliquée.

Comment fonctionne DriveCell ?
DriveCell utilise une puce de pont en H DRV8837 intégrée pour contrôler le flux de courant à travers les broches de sortie, contrôlé par l'état des broches d'entrée :

  • Courant direct : IN1 = VCC/PWM, IN2 = GND
  • Courant inverse : IN1 = GND, IN2 = VCC/PWM
  • Désactivé: IN1 = MASSE, IN2 = MASSE

La puce DRV8837 offre une protection contre les surintensités, un verrouillage en cas de sous-tension et des fonctions d'arrêt thermique, garantissant un fonctionnement sûr.

    Premiers pas avec DriveCell
    Avant de pouvoir commencer à utiliser DriveCell , vous devez le configurer et le connecter à votre projet. Voici un guide simple pour vous aider à démarrer :

    • Connexion de DriveCell :
    Tout d'abord, soudez les broches de sortie du DriveCell à votre moteur ou actionneur, et les broches d'entrée et d'alimentation à votre microcontrôleur. Considérez ces broches comme la connexion des pièces d'un puzzle, permettant au DriveCell de faire passer le courant entre les broches de sortie. Ces broches de sortie sont contrôlées par l'état de la broche d'entrée ~ ainsi, tirer IN1 à l'état haut, mettra OUT1 à l'état haut, et tirer IN2 à l'état haut, mettra OUT2 à l'état haut. IN1 et IN2 sont généralement réglés sur des polarités opposées pour permettre le passage du courant. Ces détails techniques peuvent tous être gérés par la bibliothèque logicielle DriveCell.

    • Codage DriveCell :
    Le câblage d'une des broches d'entrée sur VCC allumera instantanément le DriveCell . Mais pour le rendre plus intelligent, nous avons également développé une bibliothèque de logiciels Arduino pour vous faciliter la tâche. Vous devrez écrire un code de base pour indiquer à DriveCell ce qu'il doit faire. Ne vous inquiétez pas, c'est assez simple ! Commencez par télécharger la bibliothèque « DriveCell » à partir du gestionnaire de bibliothèques de l'Arduino. Une fois celle-ci installée, nous sommes prêts à contrôler votre appareil. Il existe plusieurs exemples qui peuvent vous aider à démarrer, mais nous allons maintenant décomposer et comprendre toutes les fonctions.
    Avant de commencer, assurez-vous de connecter le DriveCell à votre microcontrôleur. Nous vous recommandons d'utiliser un CodeCell , compatible broche à broche, prend en charge toutes les fonctions de la bibliothèque et peut ajouter un contrôle sans fil + une détection interactive.


    1. Init()

    Nous avons d’abord besoin d’un code de configuration de base pour vous permettre de démarrer :

     #include <DriveCell.h> // This line includes the DriveCell library
    
     DriveCell myDriveCell(IN1, IN2); // Replace IN1 and IN2 with your specific pins
    
     void setup() {
     myDriveCell.Init(); // Initializes the DriveCell
     }
    

    Ce code indique au DriveCell de démarrer et de se préparer à contrôler votre moteur ou votre actionneur. La fonction Init s'assure que tous les périphériques nécessaires sont configurés.

    2. Impulsion (bool direction, uint8_t ms_duration)

    Cette commande envoie une courte rafale de puissance dans une polarité spécifiée, pour dynamiser rapidement l'actionneur et le réteindre.

     myDriveCell.Pulse(true, 10); // Short burst for 10 milliseconds
    

    3. Buzz (uint16_t us_buzz)
    Cela fait vibrer l'actionneur comme un buzzer. C'est idéal pour créer des sons de retour.

     myDriveCell.Buzz(100); // Creates a 100us buzzing sound

    4. Tonalité()
    Cette fonction émet une tonalité par défaut en faisant vibrer l'actionneur à différentes fréquences enregistrées.

     myDriveCell.Tone(); // Plays varying tones
    

    5. Basculer(uint8_t power_percent)
    Cette fonction change simplement le sens de rotation à 100 % de puissance, ce qui peut être utile pour inverser le sens de rotation d'un moteur à balais ou créer de simples mouvements de battement.

     myDriveCell.Toggle(); // Switches direction

    En utilisant le CodeCell ou tout autre microcontrôleur ESP32, vous pouvez également ajuster le rapport cyclique « power_percent ». Pour les actionneurs magnétiques, le « power_percent » contrôle la force magnétique, tandis que pour les moteurs à balais, il ajuste la vitesse.

    6. Exécuter(bool smooth, uint8_t power_percent, uint16_t flip_speed_ms)

    En utilisant le CodeCell ou tout autre microcontrôleur ESP32, cette fonction vous permet d'inverser la polarité d'un actionneur ou d'inverser un moteur toutes les « flip_speed_ms » au cycle de service « power_percent ». Le réglage de « smooth » sur 1 adoucit le mouvement, ce qui est idéal pour piloter le FlatFlap ou le CoilPad avec des mouvements lents (moins de 2 Hz).

     myDriveCell.Run(true, 50, 1000); // Smooth drive at 50% power every 1000 ms

    Pour les autres appareils Arduino, cette commande permet au moteur/actionneur d'inverser sa direction (vers l'avant et vers l'arrière) à pleine vitesse. Par exemple :

     myDriveCell.Run(500); // Motor changes direction every 500 milliseconds
    

    7. Drive(bool direction, uint8_t power_percent)
    En utilisant le CodeCell ou tout autre microcontrôleur ESP32, cette fonction vous permet de contrôler la vitesse et la direction de votre moteur. Vous pouvez faire avancer ou reculer le moteur et ajuster sa vitesse.

     myDriveCell.Drive(true, 75); // Moves forward at 75% power


    Exemples :

    En utilisant l'une de ces fonctions dans une boucle, vous pouvez créer la séquence souhaitée pour votre moteur, votre actionneur ou vos LED haute puissance. Voici un exemple où nous initialisons deux moteurs à courant continu et les pilotons à des vitesses différentes :

     #include <DriveCell.h>
    
     #define IN1_pin1 2
     #define IN1_pin2 3
     #define IN2_pin1 5
     #define IN2_pin2 6
    
     DriveCell Motor1(IN1_pin1, IN1_pin2);
     DriveCell Motor2(IN2_pin1, IN2_pin2);
    
     uint8_t mode = 0;
     uint8_t speed_percentage = 0;
    
     void setup() {
     Motor1.Init();
     Motor2.Init(); 
    speed_percentage = 80; /* Régler le moteur à 80 % de puissance */
     }
    
     boucle vide() {
     délai(3000);
     mode++;
     commutateur (mode) {
     cas 1:
     /* Avancer */
     Motor1.Drive(1, pourcentage_vitesse);
     Motor2.Drive(1, pourcentage_vitesse);
     casser;
     cas 2:
     /* Déplacer vers l'arrière */
     Motor1.Drive(0, pourcentage_vitesse);
     Motor2.Drive(0, pourcentage_vitesse);
     casser;
     cas 3:
     /* Tourner à gauche */
     Motor1.Drive(1, pourcentage_vitesse);
     Motor2.Drive(0, pourcentage_vitesse);
     casser;
     cas 4:
     /* Tournez à droite */
     Motor1.Drive(0, pourcentage_vitesse);
     Motor2.Drive(1, pourcentage_vitesse);
     casser;
     cas 5:
     /* Éteignez les deux moteurs */
     Moteur1.Drive(1, 0);
     Moteur2.Drive(1, 0);
     si (pourcentage_vitesse < 95) {
     speed_percentage += 5; /* Incrémenter la vitesse */
     } autre {
     speed_percentage = 50; /* Réinitialiser à 50 % de puissance */
     }
     mode = 0;
     casser;
     }
     }
    

    Dans l'exemple suivant, nous utilisons le capteur de proximité du CodeCell pour activer les moteurs. Ce capteur agira comme un interrupteur gestuel et s'activera lorsqu'une main se trouvera à moins de 5 cm.

     #include <CodeCell.h>
     #include <DriveCell.h>
    
     #define IN1_pin1 2
     #define IN1_pin2 3
     #define IN2_pin1 5
     #define IN2_pin2 6
    
     CodeCell myCodeCell;
     DriveCell Motor1(IN1_pin1, IN1_pin2);
     DriveCell Motor2(IN2_pin1, IN2_pin2);
    
     uint8_t speed_percentage = 0;
     bool on_flag = 0;
    
     void setup() {
     Serial.begin(115200); /* Set Serial baud rate to 115200. Ensure Tools/USB_CDC_On_Boot is enabled if using Serial. */
    
     myCodeCell.Init(LIGHT); /*Initializes Light Sensing*/
     Motor1.Init();
     Motor2.Init();
     speed_percentage = 100;
     }
    
     void loop() {
     if (myCodeCell.Run()) {
     /*Runs every 100ms - Put your code here*/
     if (myCodeCell.Light_ProximityRead() > 3000) { 
    /*Si un tapotement est détecté, la LED s'allume en jaune pendant 1 seconde*/
     monCodeCell.LED(0XA0, 0x60, 0x00U);
     Moteur1.Drive(0, 0);
     Moteur2.Drive(0, 0);
     délai(1000);
     sur_drapeau = !sur_drapeau;
     }
     si (sur_drapeau) {
     /*Avancer*/
     Motor1.Drive(1, pourcentage_vitesse);
     Motor2.Drive(1, pourcentage_vitesse);
     } autre {
     Moteur1.Drive(0, 0);
     Moteur2.Drive(0, 0);
     }
     }
     }
    

    Si vous avez d'autres questions sur le DriveCell, n'hésitez pas à nous envoyer un e-mail et nous serons heureux de vous aider !

    Voir l'article entier


    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 !

    © 2025 Microbots.