MotorCell nutzt den dreiphasigen Gegen-EMK-Regler BD67173NUX mit sensorlosem Antriebssystem und ermöglicht die Drehzahlregelung über einen PWM-Eingangssignal-Tastgrad. Der IN-Pin ist standardmäßig auf Low eingestellt, sodass der Motor bei High-Pegel (2,5–5 V) mit voller Drehzahl läuft. Sie können die Drehzahl in 1.000-U/min-Schritten über den Tastgrad anpassen oder direkt die Funktionen der MotorCell-Bibliothek nutzen.
Installieren Sie zunächst die MotorCell-Bibliothek aus dem Arduino Library Manager:
Die Bibliothek enthält Beispiele, die Ihnen den schnellen Einstieg in die MotorCell-Steuerung erleichtern.
Wir beginnen mit der Drehzahlregelung über die Spin-Funktion. Diese Funktion passt die Motordrehzahl auf den gewünschten Prozentsatz seiner maximalen Leistung an und gibt den aktuellen Drehzahlwert aus. Dieser Wert wird zur einfachen Fehlersuche auch automatisch auf dem seriellen Monitor angezeigt. Sollte der Motor blockieren, startet er automatisch neu.
#include <MotorCell.h>
#define IN_pin1 2
#define OUT_pin2 3
#define FR_pin2 1
MotorCell myMotorCell(IN_pin1, OUT_pin2, FR_pin2); /* Configure the MotorCell pins */
void setup() {
Serial.begin(115200); /* Set up serial - Ensure Tools/USB_CDC_On_Boot is enabled */
myMotorCell.Init(); /* Initialize the MotorCell */
}
void loop() {
uint16_t MotorRPM = myMotorCell.Spin(25); /* Geschwindigkeit auf 25 % der Maximalgeschwindigkeit einstellen */
}
⚠ Hinweis: Für diese Funktion empfehlen wir die Verwendung eines ESP32-Geräts wie der CodeCell , um Verzögerungen beim Lesen der RPM zu vermeiden
Das folgende Beispiel zeigt, wie die Drehrichtung des Motors bei voller Drehzahl alle 5 Sekunden umgekehrt wird. Die Funktion MaxSpin stellt den Motor auf Maximaldrehzahl ein, während die Funktion ReverseSpin die Drehrichtung ändert. Dabei wechselt die Drehung im und gegen den Uhrzeigersinn mit einer Verzögerung von 5 Sekunden zwischen den Richtungswechseln.
#include <MotorCell.h>
#define IN_pin1 2
#define OUT_pin2 3
#define FR_pin2 1
MotorCell myMotorCell(IN_pin1, OUT_pin2, FR_pin2); /* Configure the MotorCell pins */
void setup() {
Serial.begin(115200); /* Set up serial - Ensure Tools/USB_CDC_On_Boot is enabled */
myMotorCell.Init(); /* Initialisiere die Motorzelle */
}
void-Schleife() {
myMotorCell.MaxSpin(); /* Motor auf Höchstgeschwindigkeit einstellen */
myMotorCell.ReverseSpin(); /* Drehrichtung des Motors umkehren */
delay(5000); /* 5 Sekunden warten */
myMotorCell.MaxSpin(); /* Maximalgeschwindigkeit beibehalten */
myMotorCell.ReverseSpin(); /* Richtung erneut umkehren */
delay(5000); /* Warte weitere 5 Sekunden */
}
Dieses letzte Beispiel implementiert einen PID-Regler, um die Motordrehzahl mithilfe der SpinPID-Funktion auf die gewünschte Drehzahl zu regeln. Der PID-Regler gleicht Störungen und Lastschwankungen dynamisch aus und gewährleistet so einen reibungslosen Betrieb. Sollte der Motor blockieren, startet die Funktion ihn automatisch neu und benachrichtigt Sie, wenn die Zieldrehzahl nicht erreicht wird. Dies wird zur einfachen Fehlerbehebung automatisch auf dem seriellen Monitor angezeigt.
#include <MotorCell.h>
#define IN_pin1 2
#define OUT_pin2 3
#define FR_pin2 1
MotorCell myMotorCell(IN_pin1, OUT_pin2, FR_pin2); /* Konfigurieren Sie die MotorCell-Pins */
void setup() {
Serial.begin(115200); /* Seriell einrichten – Sicherstellen, dass Tools/USB_CDC_On_Boot aktiviert ist */
myMotorCell.Init(); /* Initialisiere die Motorzelle */
}
void-Schleife() {
uint16_t MotorRPM = myMotorCell.SpinPID(15000); /* Zieldrehzahl mit PID auf 15.000 setzen */
}
⚠ Hinweis: Die Funktion SpinPID ()
verwendet eine Hochgeschwindigkeits-PWM-Timer, wodurch er nur mit CodeCell- und ESP32-basierten Geräten kompatibel ist.
Mit der installierten MotorCell-Bibliothek können Sie Geschwindigkeit und Richtung problemlos steuern und die Drehzahl überwachen!
Bereit zum Experimentieren? Holen Sie sich noch heute eine MotorCell und sehen Sie sich das MotorCell GitHub Repository für weitere Codebeispiele und technische Dokumentation an !
Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!
© 2025 Microbots.