Hallo Leute,
ich habe vor einen Motor mit Hilfe einer H-Brücke und einem Controllino anzusteuern, aber der Motor dreht sich leider nicht. Aus dem Grund wollte ich hier mal fragen, ob jemand weiß woran es liegen könnte
H - Brücke: DC Motortreiber H-Brücke BTS7960 5,5V bis 27V 43A PWM | Roboter-Bausatz.de
Controllino: CONTROLLINO MAXI - Controllino Shop
Motor: GM49,6 24V: Getriebemotor 49,6 mm, 1:100, 24 V DC bei reichelt elektronik
Ich habe folgende Verkabelung, bei der meine Enable Pins immer High geschaltet sind:
und folgenden Code:
#include <BTS7960.h>
#include <Controllino.h>
int LPWM = CONTROLLINO_D0;
int RPWM = CONTROLLINO_D5;
void setup() {
Serial.begin (9600);
pinMode(LPWM, OUTPUT);
pinMode(RPWM, OUTPUT);
}
void loop()
{
stopp (); delay (1000);
rechts (); delay (9000);
stopp (); delay (1000);
links (); delay (9000);
}
void stopp()
{
analogWrite (RPWM, 0);
analogWrite (LPWM, 0);
Serial.println ("stopp");
}
void rechts()
{
analogWrite (RPWM, 250);
analogWrite (LPWM, 0);
Serial.println ("rechts");
}
void links()
{
analogWrite (RPWM, 0);
analogWrite (LPWM, 250);
Serial.println ("links");
}
Aber leider dreht sich nichts, obwohl hier ( BTS7960 Motor Driver.pdf (handsontec.com)) eine ähnliche Verdrahtung genutzt wurde.
Mit dieser Verkabelung bekomme ich an allen Verbindungen am Breadboard ca. 5V ( 4,51 V),
an dem Batterie Anschluss der Brücke 24V
an den PWM Pins 0V
an dem Motor Anschluss der H- Brücke leider auch 0V.
Der Controllino und die Brücke wurde austauscht aber leider dreht sich weiterhin nichts.
Auch mit folgender Verkabelung:
und diesem Code:
#include <BTS7960.h>
#include <Controllino.h>
#define R_PWM CONTROLLINO_D5
#define PWM CONTROLLINO_D1
#define L_PWM CONTROLLINO_D0
void setup()
{
pinMode (R_PWM, OUTPUT);
pinMode (L_PWM, OUTPUT);
pinMode (PWM, OUTPUT);
}
void loop()
{
stopp (); delay (1000);
rechts (); delay (9000);
stopp (); delay (1000);
links (); delay (9000);
}
void stopp()
{
analogWrite (PWM, 0);
digitalWrite (R_PWM, LOW);
digitalWrite (L_PWM, LOW);
}
void rechts()
{
analogWrite (PWM, 150);
digitalWrite (R_PWM, HIGH);
digitalWrite (L_PWM, LOW);
}
void links()
{
analogWrite (PWM, 150);
digitalWrite (R_PWM, LOW);
digitalWrite (L_PWM, HIGH);
}
funktioniert es leider nicht. Kann mir da bitte einer weiterhelfen?
Viele Grüße
Aram