Menü
Microbots
0
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Deutsch
  • Ihr Warenkorb ist leer
Microbots
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Sprache

  • 0 0

CoilPad - Vibration erzeugen

In dieser Anleitung wird erklärt, wie das CoilPad Vibrationen erzeugen kann, wie Frequenz und Polarität seine Bewegung beeinflussen und wie seine Antriebssignale erzeugt werden.

Wie funktioniert es?

Um das CoilPad zum Vibrieren zu bringen, wird ein elektrischer Strom an die Spule angelegt, der ein Magnetfeld erzeugt. Durch Umkehren der Polarität mit einer festgelegten Frequenz erzeugen wir eine sich wiederholende Gegentaktbewegung, die Vibrationen verursacht.

Die Vibrationsfrequenz lässt sich im Bereich von 1 Hz bis 25 Hz regeln, sodass das CoilPad je nach Eingangssignal 1 bis 25 Mal pro Sekunde schwingen kann. Höhere Frequenzen sind möglich, allerdings hat der Magnet in der Regel nicht genügend Zeit, um zu reagieren.

Wenn Sie es an etwas befestigen, können Sie es an seine neue Resonanzfrequenz anpassen und das Ganze zum Vibrieren bringen.

Erzeugen einer Rechteckwelle zur Vibration

Um das CoilPad zum Vibrieren zu bringen, ist ein Rechtecksignal erforderlich. Ein H-Brücken-Treiber wie unsere DriveCell wird benötigt, um die Polarität umzukehren und die Vibration zu aktivieren. Die Eingangssignale des Rechtecksignals können mit einfachen digitalWrite() Befehlen in Arduino erzeugt werden:

#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);
 }

Dieser einfache Code erzeugt eine Rechteckschwingung, die das CoilPad kontinuierlich vibrieren lässt. Sie können die Verzögerungszeit anpassen, um die Vibrationsfrequenz zu ändern.

Vibrationsoptimierung mit PWM

Das obige Codebeispiel erzeugt eine einfache Rechteckwelle, die die Spule abrupt ein- und ausschaltet. Bei niedrigen Frequenzen ist dies möglicherweise unerwünscht. Um dies zu glätten, können wir an beiden Ausgängen Pulsweitenmodulation (PWM) verwenden. Diese Methode verändert die magnetische Feldstärke schrittweise und reduziert so die mechanische Belastung des CoilPads.

Diese Funktion wird automatisch in unserer DriveCell-Bibliothek verarbeitet:

 #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 Vibrationszähler = 0;

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

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

 void-Schleife() {
 Verzögerung(1);
 Vibrationszähler++;
 if (vibration_counter < 2000U) {
 CoilPad1.Run(0, 100, 100); // Rechteckwellenmodus
 CoilPad2.Run(0, 100, 100); // Rechteckwellenmodus
 }
 sonst wenn (Vibrationszähler < 8000U) {
 CoilPad1.Run(1, 100, 1000); // Sanfter PWM-Wellenmodus
 CoilPad2.Run(1, 100, 1000); // Sanfter PWM-Wellenmodus
 } anders {
 Vibrationszähler = 0U;
 }
 }

Die Funktionen verstehen:

  • Init() → Initialisiert DriveCell und richtet die Eingangspins ein.
  • Run(smooth, power, speed_ms) → Lässt das CoilPad entweder in einer Rechteckwelle oder einer sanfteren PWM-Welle oszillieren.
    • smooth → 1 (PWM-Welle) / 0 (Rechteckwelle)
    • power → Magnetfeldstärke (0 bis 100 %)
    • speed_ms → Vibrationsgeschwindigkeit in Millisekunden

⚠ Hinweis: Die Funktion Run() & Drive() verwendet einen Hochgeschwindigkeits-PWM-Timer und ist daher nur mit CodeCell- und ESP32-basierten Geräten kompatibel.

Abschluss

Mit diesen Techniken können Sie CoilPad zum Vibrieren verwenden. Weitere Codebeispiele und technische Dokumentation finden Sie im DriveCell GitHub Repository !

  • Teilen:

Sozial

Github

  • Um
  • Software
  • Ausbildung
  • Kontakt
  • FAQs
  • Bedingungen
  • Rückerstattung-Politik
  • Datenschutzrichtlinie

Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!

© 2025 Microbots.