Bei der Arbeit mit bürstenbehafteten Gleichstrommotoren ist die Steuerung ihrer Geschwindigkeit und Drehrichtung entscheidend für den Bau funktionaler Roboter, Automatisierungssysteme und interaktiver Projekte. DriveCell ist ein winziger, kompakter Motortreiber auf Basis der DRV8837 H-Brücke und vereinfacht diesen Prozess durch eine benutzerfreundliche Bibliothek. In dieser Anleitung erfahren Sie, wie DriveCell funktioniert, wie man einen Gleichstrommotor steuert und wie man mehrere Motoren effizient verbindet.
Ein Gleichstrommotor mit Bürsten ist ein einfacher Elektromotor, bei dem Strom durch eine Reihe von Bürsten und einen Kommutator fließt, um eine Drehbewegung zu erzeugen. Er funktioniert nach dem Prinzip der elektromagnetischen Induktion, die im Motor ein Magnetfeld erzeugt und ihn in kontinuierliche Rotation versetzt.
Im Gegensatz zu Servomotoren oder Schrittmotoren benötigen bürstenbehaftete Gleichstrommotoren zwei Eingangssignale zur Steuerung ihrer Bewegung:
Hier kommen H-Brücken-Treiber wie der DRV8837 in DriveCell ins Spiel. Die H-Brückenschaltung lässt den Stromfluss in beide Richtungen zu und ermöglicht so eine bidirektionale Motorsteuerung mit nur zwei Eingangspins.
Bevor Sie Ihre Motoren anschließen, müssen Sie sich unbedingt über die elektrischen Einschränkungen der DriveCell im Klaren sein:
Wenn Ihr Motor weniger als 0,5 A benötigt, können Sie auch zwei Motoren parallel schalten und sie mit einer einzigen DriveCell antreiben.
So schließen Sie einen einzelnen Gleichstrommotor an DriveCell an:
Wenn Ihre Motoren jeweils weniger als 500 mA verbrauchen, können Sie zwei Motoren parallel schalten:
Bei dieser Konfiguration werden beide Motoren synchron angetrieben, sodass sie sich in die gleiche Richtung und mit der gleichen Geschwindigkeit drehen.
Um die Motorsteuerung zu vereinfachen, bietet DriveCell eine Softwarebibliothek. Nachfolgend finden Sie die wichtigsten Funktionen, die Sie benötigen:
Das folgende Beispiel zeigt, wie zwei Motoren mit unterschiedlichen Geschwindigkeiten gesteuert werden:
#include <DriveCell.h>
#define IN1_pin1 2
#define IN1_pin2 3
#define IN2_pin1 5
#define IN2_pin2 6
DriveCell Motor1(IN1_pin1, IN1_pin2);
DriveCell Motor2(IN2_pin1, IN2_pin2);
void setup() {
Motor1.Init();
Motor2.Init();
}
void loop() {
delay(3000);
Motor1.Drive(1, 40); // Move Forward at 40% speed
Motor2.Drive(1, 80); // Move Forward at 80% speed
delay(3000);
Motor1.Drive(0, 50); // Move Backward at 50% speed
Motor2.Drive(0, 50); // Move Backward at 50% speed
delay(3000);
Motor1.Drive(0, 0); // Set to 0% speed
Motor2.Drive(0, 100); // Rückwärtsfahrt mit 100 % Geschwindigkeit
}
⚠ Hinweis: Die Drive()
Funktion in diesem Beispiel verwendet einen Hochgeschwindigkeits-PWM-Timer und ist daher nur mit CodeCell und anderen ESP32-basierten Geräten kompatibel.
Unten sehen Sie ein weiteres Beispiel, das mit anderen Mikrocontrollern wie dem Arduino Uno verwendet werden kann :
#include <DriveCell.h>
#define IN1_pin1 2
#define IN1_pin2 3
DriveCell myDriveCell(IN1_pin1, IN1_pin2);
void setup() {
myDriveCell.Init();
}
void loop() {
myDriveCell.Run(1000); // Run motor forward for 1 second, then reverse
}
In diesem Beispiel wird der Motor gedreht 1 Sekunde lang in eine Richtung und dann in die andere Richtung Richtung , wodurch eine einfache oszillierende Bewegung entsteht.
Das winzige DriveCell-Modul macht die Steuerung von Gleichstrommotoren einfach und benutzerfreundlich! Weitere Codebeispiele und technische Dokumentation finden Sie im DriveCell GitHub Repository !
Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!
© 2025 Microbots.