Arduino Uno mit Rugged Motor Schield Abschaltung des Motors geht nicht

Ich betreibe ein Arduino Uno mit Rugged Motor Schield und möchte den Motor abschalten können.

Stoppen geht nur mit einem hochfrequenten Ton des Schritt-Motors selbst beim Drücken des Tasters.

Geht das auch mit einer Abschaltung des Motors? Dieser wird mit einer 24V externen Stromversorgung betrieben.

Der Sketch:

//Todddy Press-Schrittmotor

#include <AccelStepper.h>

AccelStepper stepper1(2,12,13);

void setup()
{ 
    analogWrite(3, 100);
    analogWrite(11, 100);

    stepper1.setMaxSpeed(300.0);

    stepper1.setSpeed(300);
 
  TCCR2B = _BV(CS21);
}
 
void loop()
{
if (analogRead(0)==HIGH) { stepper1.runSpeed() ; }
  else { stepper1.stop() ; }
}

Ich hoffe mir kann Jemand helfen.

Die AccelStepper.h gibt es über die Ruggeduino.com Seite.

Du meinst dieses Shield http://ruggedcircuits.com/html/rugged_motor_driver.html ?

Was machst Du mit einer PWM Ansteuerung bei einem Schrittmotor?
Es hat keinen Sinn bei einem Schrittmotor Enable zu benutzen. Du schließt nur die Motorwicklung kurz ( beide Anschlüsse werden auf den gleichen Spannungpegel geschaltet; ich hab nicht bverstanden ob auf Masse oder auf Versorgungspannung, doch das ist nicht wichtig) Somit wird das Magnetfeld der Wicklung abgebaut um bei Stromfluß wieder aufgebaut werden zu müssen. Das ist sinnlos und gefährlich für den Treiber da beim Abbau des Megnetfeldes hohe Ströme fließen können ( hängt von der induktivität und widerstand der motorwicklung ab). Also benutze Enable nicht und laß es auf HIGH.

http://ruggedcircuits.com/AD030/ad030_E.pdf

Die H-Brücken DRV8801 werden mittels LOW-Pegel am Sleep Eingang ausgeschaltet. Das Shield hat folgende Verschaltung:

D4 J8 DRV8801 A sleep pin
D7 J13 DRV8801 B sleep pin

Du mußt also die Jumper J8 und J13 setzen und dann um den Motor anzuschalten D4 und D7 auf Masse ziehen.

Du weißt schon daß wenn Du den Motorstrom abschaltest der Motor sehr viel weniger Kraft hat.

Grüße Uwe