Menu
Microbots
0
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • 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
    • Modules Maker
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Langue

  • 0 0

FlatFlap - Création d'un contrôle de position


FlatFlap est un actionneur compact conçu pour les volets. Cependant, dans ce guide, nous nous concentrerons sur le contrôle de position : maintenir le volet dans une position fixe grâce à un cycle de service contrôlé. Cette méthode est utile pour les applications nécessitant que le volet reste à un angle spécifique pendant de longues périodes, plutôt qu'en oscillation continue.

Comment ça marche

Le FlatFlap fonctionne en faisant passer un courant dans sa bobine, générant un champ magnétique qui interagit avec son aimant. Au lieu d'appliquer une courte impulsion ou de faire osciller l'onde carrée, nous allons utiliser ici la modulation de largeur d'impulsion (MLI) pour maintenir le volet à l'angle souhaité.

Le cycle de service du signal PWM contrôle la force du champ magnétique, modifiant ainsi l'angle du volet.

Réglage précis du contrôle de position

Plusieurs facteurs influencent la précision et la stabilité de la position :

  • Niveau de tension – La tension maximale est de 5 V - cette tension fournit la force de maintien
  • Fréquence PWM – Il est recommandé de ne pas utiliser une fréquence de signal PWM de 20 kHz pour les tonalités audibles.
  • Conditions de charge – Toute masse attachée affecte la façon dont le volet maintient sa position.

Utilisation de DriveCell pour le contrôle de position

Si vous utilisez le Bibliothèque DriveCell, l'exemple suivant montre comment définir différentes positions :

 #include <drivecell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3
 DriveCell FlatFlap1(IN1_pin1, IN1_pin2);

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

 void loop() {
 FlatFlap1.Drive(true, 100); // Maximum hold strength
 delay(3000);

 FlatFlap1.Drive(true, 75); // Hold with 75% power
 delay(3000);

 FlatFlap1.Drive(true, 50); // Hold with 50% power
 delay(3000);

 FlatFlap1.Drive(true, 25); // Hold with 25% power
 delay(3000);
 }

Ce code ajuste progressivement le cycle de service pour maintenir le volet dans différentes positions.

Comprendre les fonctions :

  • Init() → Initialise DriveCell et configure les broches d'entrée
  • Drive(bool direction, uint8_t power_percent)
    • direction : true (nord) / false (sud)
    • power_percent : Force magnétique (0 à 100 %)

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

Si vous n'utilisez pas de périphérique ESP32, vous pouvez ajuster la modulation de largeur d'impulsion (PWM) dans Arduino avec le code suivant. Assurez-vous toutefois que la fréquence de la forme d'onde est correctement définie.

 #define FLAP_PIN1 2
 #define FLAP_PIN2 3

 void setup() {
 pinMode(FLAP_PIN1, OUTPUT);
 pinMode(FLAP_PIN2, OUTPUT);
 digitalWrite(FLAP_PIN2, LOW);
 }

 void loop() {
 analogWrite(FLAP_PIN1, 191); // 75% Duty Cycle (191/255)
 digitalWrite(FLAP_PIN2, LOW);
 delay(5000); // Hold for 5 seconds

 analogWrite(FLAP_PIN1, 127); // 50% Duty Cycle
 delay(5000);
   
analogWrite(FLAP_PIN1, 63); // Cycle de service de 25 %
 délai(5000);
 }

Conclusion

Grâce à la technologie PWM, le FlatFlap peut maintenir des angles spécifiques pendant de longues périodes, ce qui rend cette fonctionnalité utile pour la robotique, l'haptique et l'art. 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 !

© 2026 Microbots.

★ Reviews

Let customers speak for us

50 reviews
Write a review
84%
(42)
4%
(2)
2%
(1)
4%
(2)
6%
(3)
21
46
B
CodeCell C6 Drive
Brandon

Awesome product with great tutorials and example code

G
MotorCell
Gerald Kendrick

Very happy with my MotorCell. I'm incorporating it into a prototype project that will hopefully result in me needing a few more!

User picture
A
CodeCell C6 Drive
Anonymous

Great product! Having the IMU, motor driver, and battery management directly on the board is incredibly handy for quick prototyping. Love it!

Improvement ideas:
- using an ESP32 other than the C6 to get more cores. On a single-core chip, WiFi tasks often interfere with real-time applications.
- adding two more motor drivers (with a slightly higher current rating) would be awesome for drone projects!
- I know the compactness of the board is a huge selling point and really optimised, but exposing a few more pins would be great. With the motor drivers already occupying 4 pins, having only 4 GPIOs left can be tight for complex projects (though I’m nitpicking, I’m really pushing this board to its limits!).

A
CodeCell C6
Anonymous

I use CodeCell C6, like all the Features, and compactness. The remote Link to the iPhone with some Controls for 2 Motors is just perfect for the job.

O
CodeCell C6 Drive
Odd_Jayy

This is one of my Favorite finds, this board has everything you need to make a quick and small robot, easy to set up and install. Perfect for beginners or a person who needs to save room in their build.

User picture
123