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

CodeCell: Steuerung eines Servomotors

In dieser Anleitung erfahren Sie, wie Sie mit der CodeCell einen Servomotor steuern. Außerdem erfahren Sie, wie Sie die Winkelposition des Servos mithilfe der CodeCell steuern können. Dies ist besonders nützlich für Roboteranwendungen wie Kardanringe oder die Winkelstabilitätskontrolle.

Was ist ein Servomotor?

Ein Servomotor ist ein Drehantrieb, der eine präzise Steuerung der Winkelposition ermöglicht. Er besteht aus einem Motor mit Getriebe und einem Sensor zur Positionsrückmeldung und wird häufig in der Robotik, Automatisierung und Stabilisierung eingesetzt.

Wie liest man den Winkel?

CodeCell ist mit einem BNO085-Bewegungssensor ausgestattet, der Daten von Beschleunigungsmesser, Gyroskop und Magnetometer kombiniert, um Rotationsvektoren zu berechnen. Diese Vektoren werden von CodeCell verarbeitet, um Roll-, Nick- und Gierwinkel basierend auf der räumlichen Ausrichtung des Geräts zu ermitteln.

In diesem Beispiel überwacht unsere CodeCell kontinuierlich den Neigungswinkel, um die Position eines Servomotors zu steuern und dynamisch auf Ausrichtungsänderungen zu reagieren. Der Neigungswert dient zur Einstellung der Servomotorposition, sodass dieser sich je nach Neigung des Geräts drehen kann.

Beispielcode

Unten finden Sie einen Beispiel-Codeausschnitt für den Einstieg. Stellen Sie sicher, dass Ihre CodeCell ordnungsgemäß über USB-C angeschlossen ist. Überprüfen Sie außerdem, ob Ihr Servomotor über USB-C mit Strom versorgt werden kann (CodeCell kann über USB-C bis zu 500 mA und über eine Batterie bis zu 1500 mA liefern). Passen Sie die Winkelgrenzen im Code entsprechend an.

Für dieses Beispiel müssen Sie die Bibliothek „ESP32Servo“ installieren, um den Servomotor mit Ihrer CodeCell zu steuern. Folgen Sie den Kommentaren im Code, um die einzelnen Schritte zu verstehen.

 #include <codecell.h>
 #include <ESP32Servo.h>

 CodeCell myCodeCell;
 Servo myservo;

 float Roll = 0.0;
 float Pitch = 0.0;
 float Yaw = 0.0;
 int servo_angle = 0;

 void setup() {
 Serial.begin(115200); // Set Serial baud rate to 115200. Enable Tools/USB_CDC_On_Boot if using Serial
 myCodeCell.Init(MOTION_ROTATION); // Initializes rotation sensing
 myservo.attach(1); // Attaches the servo on pin 1 to the servo object
 }

 void loop() {
 if (myCodeCell.Run(10)) {
 // Read rotation angles from the BNO085 sensor
 myCodeCell.Motion_RotationRead(Roll, Pitch, Yaw);

 // Convert the pitch angle to a servo angle
 servo_angle = abs((int)Pitch);
 servo_angle = (180 - servo_angle);

 // Limit the servo angle to the range 0-60 degrees
 if (servo_angle > 60) { 
Servowinkel = 60;
 } sonst wenn (Servowinkel < 0) {
 Servowinkel = 0;
 }
 anders{
 //Überspringen
 }

 Serial.println(servo_angle); // Drucke den Servowinkel zum Debuggen
 myservo.write(servo_angle); // Servoposition einstellen
 }
 }

Tipps zur Anpassung

Diese grundlegende Funktionalität kann erweitert werden, um komplexere Interaktionen zu erstellen, wie zum Beispiel:

  • Steuerung mehrerer Servos: Erweitern Sie den Code, um mehrere Servos gleichzeitig zu steuern.
  • Bereich anpassen: Passen Sie den Servo-Bewegungsbereich an Ihren spezifischen Servomotor an, indem Sie die im Code für servo_angle festgelegten Grenzwerte anpassen. In diesem Beispiel verwenden wir einen Mikroservo mit einem 60-Grad-Bereich. Einige Servomotoren sind mechanisch nicht linear, daher müssen Sie möglicherweise Winkelfehler kompensieren.
  • Mit anderen Sensoren kombinieren: Nutzen Sie zusätzliche Sensoren, wie die Näherungs- und Lichtsensoren von CodeCell, um interaktive und reaktionsfähige Projekte zu erstellen.
  • Zur Stabilisierung verwenden: Implementieren Sie dieses Setup, um Plattformen wie Kardanringe zur Kamera- und Sensorstabilisierung zu stabilisieren.

    Abschluss

    Dieses Projekt zeigt, wie Sie einen Servomotor mit CodeCell und dessen Bewegungssensorfunktionen steuern. Experimentieren Sie mit dem Code, erstellen Sie eigene Projekte und besuchen Sie das CodeCell GitHub Repository für weitere Codebeispiele und technische Dokumentation!

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