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

CoilPad - Création de vibrations

Ce guide explique comment le CoilPad peut générer des vibrations, comment la fréquence et la polarité affectent son mouvement et comment créer ses signaux d'entraînement.

Comment ça marche ?

Pour faire vibrer le CoilPad, un courant électrique est appliqué à sa bobine, générant un champ magnétique. En inversant la polarité à une fréquence définie, on crée un mouvement de va-et-vient répétitif qui provoque des vibrations.

La fréquence de vibration peut être contrôlée entre 1 Hz et 25 Hz, ce qui signifie que CoilPad peut osciller entre 1 et 25 fois par seconde selon le signal d'entrée. Il peut atteindre des fréquences plus élevées, mais l'aimant n'a généralement pas le temps de réagir.

Si vous l'attachez à quelque chose, vous pouvez l'ajuster pour qu'il corresponde à sa nouvelle fréquence de résonance et faire trembler l'ensemble.

Génération d'une onde carrée pour la vibration

Un signal carré est nécessaire pour faire vibrer le CoilPad. Un pilote de pont en H comme notre DriveCell doit inverser sa polarité pour le faire vibrer. Les signaux d'entrée du signal carré peuvent être générés à l'aide de simples commandes digitalWrite() dans Arduino :

#define VIB_PIN1 2
 #define VIB_PIN2 3

 void setup() {
 pinMode(VIB_PIN1, OUTPUT);
 pinMode(VIB_PIN2, OUTPUT);
 }

 void loop() {
 digitalWrite(VIB_PIN1, HIGH);
 digitalWrite(VIB_PIN2, LOW);
 delay(100); // Adjust delay for desired vibration speed

 digitalWrite(VIB_PIN1, LOW);
 digitalWrite(VIB_PIN2, HIGH);
 delay(100);
 }

Ce code simple crée une oscillation carrée, faisant vibrer le CoilPad en continu. Vous pouvez ajuster le temps de retard pour modifier la fréquence de vibration.

Optimisation des vibrations avec PWM

L'exemple de code ci-dessus génère une onde carrée basique qui entraîne la bobine de manière brusque. À basses fréquences, cela peut être indésirable. Pour atténuer ce phénomène, nous pouvons utiliser la modulation de largeur d'impulsion (MLI) sur les deux sorties. Cette méthode modifie progressivement l'intensité du champ magnétique, réduisant ainsi les contraintes mécaniques sur le CoilPad.

Cette fonction est gérée automatiquement dans notre bibliothèque DriveCell :

 #include <drivecell.h>
 
#define IN1_pin1 2
 #define IN1_pin2 3
 #define IN2_pin1 5
 #define IN2_pin2 6

 DriveCell CoilPad1(IN1_pin1, IN1_pin2);
 DriveCell CoilPad2(IN2_pin1, IN2_pin2);

 uint16_t vibration_counter = 0;

 void setup() {
 CoilPad1.Init();
 CoilPad2.Init();

 CoilPad1.Tone();
 CoilPad2.Tone();
 }

 boucle vide() {
 retard(1);
 compteur_de_vibrations++;
 si (compteur_vibrations < 2000U) {
 CoilPad1.Run(0, 100, 100); // Mode onde carrée
 CoilPad2.Run(0, 100, 100); // Mode onde carrée
 }
 sinon si (compteur_vibrations < 8000U) {
 CoilPad1.Run(1, 100, 1000); // Mode d'onde PWM lisse
 CoilPad2.Run(1, 100, 1000); // Mode d'onde PWM lisse
 } autre {
 compteur_vibrations = 0U;
 }
 }

Comprendre les fonctions :

  • Init() → Initialise DriveCell et configure les broches d'entrée.
  • Run(smooth, power, speed_ms) → Fait osciller le CoilPad 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 %)
    • speed_ms → Vitesse de vibration en millisecondes

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

Conclusion

Grâce à ces techniques, vous pouvez commencer à utiliser CoilPad pour faire vibrer vos appareils. 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.