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

FlatFlap - Erstellen einer Positionskontrolle


FlatFlap ist ein kompakter Klappenantrieb. In dieser Anleitung konzentrieren wir uns jedoch auf die Positionsregelung – das Halten der Klappe in einer festen Position mithilfe eines kontrollierten Arbeitszyklus. Diese Methode eignet sich für Anwendungen, bei denen die Klappe über längere Zeit in einem bestimmten Winkel verharren muss, anstatt kontinuierlich zu schwingen.

Wie es funktioniert

FlatFlap funktioniert, indem Strom durch die Spule geleitet wird, wodurch ein Magnetfeld erzeugt wird, das mit dem Magneten interagiert. Anstatt einen kurzen Impuls zu erzeugen oder die Rechteckwelle zu schwingen, verwenden wir hier Pulsweitenmodulation (PWM), um die Klappe im gewünschten Winkel zu halten.

Der Arbeitszyklus des PWM-Signals steuert die Stärke des Magnetfelds und verändert so den Winkel der Klappe.

Feinabstimmung der Positionssteuerung

Mehrere Faktoren beeinflussen die Positionsgenauigkeit und -stabilität:

  • Spannungspegel – Maximale Spannung ist 5V - diese Spannung sorgt für die Haltekraft
  • PWM-Frequenz – Um einen Betrieb ohne hörbare Töne zu gewährleisten, wird eine PWM-Signalfrequenz von 20 kHz empfohlen.
  • Belastungsbedingungen – Jede angebrachte Masse beeinflusst, wie gut die Klappe ihre Position hält.

Verwenden von DriveCell zur Positionssteuerung

Wenn Sie die DriveCell-Bibliothek. Das folgende Beispiel zeigt, wie verschiedene Positionen eingestellt werden:

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

Dieser Code passt den Arbeitszyklus schrittweise an, um die Klappe in verschiedenen Positionen zu halten.

Die Funktionen verstehen:

  • Init() → Initialisiert DriveCell und richtet die Eingangspins ein
  • Drive(bool direction, uint8_t power_percent)
    • Richtung : true (Norden) / false (Süden)
    • power_percent : Magnetkraft (0 bis 100 %)

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

Wenn Sie kein ESP32-Gerät verwenden, können Sie PWM in Arduino mit dem folgenden Code anpassen. Stellen Sie jedoch sicher, dass die Wellenformfrequenz korrekt eingestellt ist.

 #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); // 25 % Arbeitszyklus
 Verzögerung (5000);
 }

Abschluss

Durch PWM kann die FlatFlap bestimmte Winkel über lange Zeiträume halten, was diese Funktion für Robotik, Haptik und Kunst nützlich macht. 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.