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

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 !

  • 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 !

© 2025 Microbots.