Motor

Überblick

In dieser Lektion lernen Sie, wie man einen Motor verwendet, dessen Arbeitsprinzip darauf beruht, dass die stromdurchflossene Spule im Magnetfeld zur Rotation gezwungen wird und somit der Rotor des Motors entsprechend rotiert, wodurch das Ritzelrad das Schwungrad des Motors antreibt.

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Set zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

Elite Explorer Kit

300+

Elite Explorer Kit

Sie können sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENBESCHREIBUNG

KAUF-LINK

Arduino Uno R4 WiFi

-

Steckbrett

BUY

Jumperkabel

BUY

TA6586 - Motorsteuerungs-Chip

-

Gleichstrommotor

BUY

Stromversorgungsmodul

-

Verdrahtung

In diesem Beispiel verwenden wir das Power Supply Module, um die Anode und Kathode des Breadboards zu versorgen.

../_images/24-motor_bb.png

Schaltplan

../_images/24_motor_schematic.png

Code

Bemerkung

  • Sie können die Datei 24-motor.ino direkt im Pfad elite-explorer-kit-main\basic_project\24-motor öffnen.

  • Oder kopieren Sie diesen Code in die Arduino IDE.

Nachdem der Code auf das UNO-Board hochgeladen wurde, können Sie die Drehrichtung des Motors wählen, indem Sie „A“ oder „B“ im seriellen Monitor eingeben.

Code-Analyse

Der Motor kann angetrieben werden, indem man eine Spannungsdifferenz zwischen den Kupferplatten auf beiden Seiten des Motors herstellt. Daher müssen Sie nur 0 für die Spannung einer Seite der Kupferplatte und 5V für die andere Seite schreiben. Modifizieren Sie den geschriebenen analogen Signalwert, um die Richtung und Geschwindigkeit anzupassen.

// Function to rotate the motor clockwise
void clockwise(int Speed) {
  analogWrite(motorBI, 0);
  analogWrite(motorFI, Speed);
}

// Function to rotate the motor anticlockwise
void anticlockwise(int Speed) {
  analogWrite(motorBI, Speed);
  analogWrite(motorFI, 0);
}

In diesem Beispiel wird Serial.Read() verwendet, um die Richtung des Motors zu steuern.

Wenn Sie „A“ im seriellen Monitor eingeben, wird die Funktion clockwise (255) aufgerufen, damit sich der Motor mit der Geschwindigkeit von 255 dreht. Geben Sie „B“ ein, und der Motor dreht sich in die entgegengesetzte Richtung.

void loop() {
  // Check if there is available data on the serial port
  if (Serial.available() > 0) {
    int incomingByte = Serial.read(); // Read incoming data

    // Determine motor direction based on user input
    switch (incomingByte) {
      case 'A':
        clockwise(255); // Rotate motor clockwise
        Serial.println("The motor rotates clockwise.");
        break;
      case 'B':
        anticlockwise(255); // Rotate motor anticlockwise
        Serial.println("The motor rotates anticlockwise.");
        break;
    }
  }

  delay(3000); // Wait for 3 seconds
  stopMotor(); // Stop the motor
}