Verbindung von Arduino Uno zu Driver BTS7960

lispe

New member
Hallo ardumowers,
Ich steh grad auf'm Schlauch, weil ich noch nicht so viel Erfahrung hab mit größeren Motoren und auch generell, aber mein Projekt leider zu Ende gemacht werden will :)
Ich möchte den BTS7960 mit dem Uno verbinden um einen Scheibenwischermotor laufen zu lassen. (Ist ein Kunstprojekt). Der soll nur in eine Richtung laufen und ab und zu stoppen und wieder anfahren. und ich dachte ich kann einfach meinen Rhythmus mit PWMA (high/low) schreiben, wie ich es schon mal bei dem kleinen motor shield gemacht habe. Also kein Richtungswechsel oder Beschleunigung.
Der Motor soll auf 6V laufen und ich hab ihn jetzt an nem ausgebauten Computer Netzteil dran.
Nur weiß ich nun leider nicht wie ich die Pins zwischen den 2 Boards stecken soll. Alles was man im Netz findet sind komplexere Funktionen die ich gar nicht brauche. :)
Vielen Dank für die Hilfe
Lisa
 
Hallo Lisa,

eine minimale Beschaltung für den BTS7960-Treiber sieht so aus:

Code:
BTS7960 <---> Arduino
GND           GND
VCC           +5V
R_EN          A1
L_EN          A0
R_PWM         9


Und der Code dafür so:

Code:
#define R_EN     A1
#define L_EN     A0
#define R_PWM  9

void setup(){
  pinMode(R_EN, OUTPUT); // Pin ist Ausgang
  pinMode(L_EN, OUTPUT); // Pin ist Ausgang
  pinMode(R_PWM, OUTPUT); // Pin ist Ausgang

  digitalWrite(R_EN, HIGH); // Treiber aktivieren (Enable)
  digitalWrite(L_EN, HIGH); // Treiber aktivieren (Enable)
  digitalWrite(R_PWM, HIGH); // Motor an
  delay(2000);
  digitalWrite(R_PWM, LOW); // Motor aus
}


Bei diesem Projekt wurde zusätzlich die Drehrichtung und Geschwindigkeit gesteuert - Dort siehst Du auch die Verdrahtung und den Code dazu: http://wiki.ardumower.de/index.php?title=Ardumower_Gasoline
Gruss,
Alexander
 
Hallo Alexander.
DAnke für deine Antwort.Ich hab gestern gewurstelt und es jetzt hinbekommen :)
Ist wahrscheinlich nicht so elegant aber es funktioniert
int LPWM = 6; // H-bridge leg 1 ->LPWM
int enL = 7; // H-bridge enable pin 1 -> L_EN


int RPWM = 5; // H-bridge leg 2 ->RPWM
int enR = 8; // H-bridge enable pin 2 -> R_EN

void setup()
{
Serial.begin (9600);
pinMode(LPWM, OUTPUT);
pinMode(RPWM, OUTPUT);
pinMode(enL, OUTPUT);
pinMode(enR, OUTPUT);

digitalWrite(enL, HIGH);
digitalWrite(enR, HIGH);
}


// the loop function runs over and over again forever
void loop()
{
analogWrite(RPWM,255); //pwm value
digitalWrite(LPWM, LOW);
delay(50000);
digitalWrite(enL, LOW);
digitalWrite(enR, LOW);
delay(1900);
digitalWrite(enL, HIGH);
digitalWrite(enR, HIGH);
}

Liebe Grüße,
Lisa
 
Oben