DC Motor Probleme

Moin,

vorweg, ich bin blutiger Anfänger und beschäftige mich seit drei Tagen mit dem Arduino und der Programmierung. Also bitte seid gnädig.

Ich habe einen kleinen Roboter gebaut. Aus Mangel an Motoren sieht die Fortbewegung so aus, dass ich einen DC Motor an seinen Servo geklebt habe und das Ding so lenkt.

Mein Problem ist das der DC Motor nicht so möchte wie ich will. Nämlich gar nicht bzw funktioniert er mal und dann irgendwann wiedr nicht.

#include <Servo.h>
#include <hcsr04.h>

#define ECHO_PIN 11
#define TRIG_PIN 12
#define ENABLE 5
#define DIRA 3
#define DIRB 4
#define POTI A0

Servo myservo;

int dist = 0;
int distdreh = 100;
int sdrive = 0; //Servo Stellung Geradeaus 0 = Geradeaus
int sturn = 120; //Servo Stellung drehen 120 = drehen

HCSR04 hcsr04(TRIG_PIN, ECHO_PIN, 20, 4000);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  myservo.attach(9);
  pinMode(ENABLE, OUTPUT);  //Motor INPUT
  pinMode(DIRA, OUTPUT);  //Motor direction 1
  pinMode(DIRB, OUTPUT);  //Motor direction 2

}

void loop() {
  //abstandsmessung
  Serial.println(hcsr04.distanceInMillimeters());
  dist = (hcsr04.distanceInMillimeters());
  delay(50);


  if (dist > distdreh) { //Roboter geradeaus
    myservo.write(sdrive);
    analogWrite(ENABLE, 255);
    digitalWrite(DIRA, HIGH);
    digitalWrite(DIRB, LOW);
  }

  if (dist < distdreh) {
    analogWrite(ENABLE, 0);
    digitalWrite(DIRA, HIGH);
    digitalWrite(DIRB, LOW);
    delay(1000);
    myservo.write(sturn);

  }
}

vielleicht kann mir hier ja jemand helfen.
Dankeschön
PalimPalim*

Edit: Gerade habe ich das Phänomen festgestellt, dass der Motor angelaufen ist als das Programm mehrere Minuten ist. Dabei habe auch den Servo angesteuert der korrekt gedreht hat. Dann ist der Motor einfach ausgegangen.

Probleme mit Überhitzung des Treibers?

Grüße UWe

uwefed:
Probleme mit Überhitzung des Treibers?

Grüße UWe

Hallo Uwe,

Ich Nutze den L293D und den DC Motor der in meinem Set dabei war (Elegoo Set/Kit für Arduino UNO Projekt Das Vollständige Ultimate Starter Kit), Mich würde es wundern wenn der Treiber überhitzt da ich mal davon ausgehe das die Teile aufeinander abgestimmt sind.

Grüße
PalimPalim*

Welche Spannung hast du angeschlossen ?
Wo hast du die Spannung angeschlossen ?
Welchen Motor verwendest du ?
Wie hast du den Motor angeschlossen ?

Mit deinen wenigen Angaben kann keiner etwas anfangen.

Der Motor ist an 5V angeschlossen. Die Spannung kommt über ein Netzteil am Breadboard. Die Signale für den L293D kommen vom Arduino Ausgang.

palimpalim:
Der Motor ist an 5V angeschlossen. Die Spannung kommt über ein Netzteil am Breadboard. Die Signale für den L293D kommen vom Arduino Ausgang.

Bitte alle Fragen beantworten.

Hi

Sehe ich Das richtig, daß das Gefährt fährt, bis Es an ein Hindernis kommt, dann den Motor abstellt und die Lenkung betätigt - und ab dann nie wieder was passiert?
Wenn JA -> Du schaltest ENABLE auf Null, also der Motor dreht dann nicht mehr.
Dann verstellst Du das Servo.
... und vergisst, den Motor wieder anzuwerfen.

Selbst, wenn Das Dein akutes Problem ist, sehe ich weitere Probleme auf Dich zukommen, da das Fahrzeug so nur in eine Richtung lenkt, wenn 'was im Weg ist' - und dann in diese Richtung fährt, 'solange was im Weg ist' - wenn das Hindernis aber auch in dieser Richtung vorhanden ist, fährst Du 'mit wachsender Begeisterung' gegen das Hindernis.

MfG