Gast
#3313549
Wenn ich folgenden Code verwende funktioniert der Schrittmotor, wenn ich
ihn allerdings nicht laufen lasse, was in meiner Anwendung recht häufig
der Fall sein wird, wird er heiss.
Per Hand drehen lässt er sich nicht, es fühlt sich an, als würden die
beiden Spulen genau entgegengesetzt arbeiten. Verhindern kann ich das
nur, wenn ich die PWM Ausgänge ausschalte.
Ist das normal ? Also sollte ich pwmA und B nur dann einschalten, wenn
der Motor auch betrieben wird ? Und warum wird der Motor heiss ?
#include <Stepper.h>
const int stepsPerRevolution = 48; // change this to fit the number of
steps per revolution
// for your motor
// initialize the stepper library on the motor shield
Stepper myStepper(stepsPerRevolution, 12,13);
// give the motor control pins names:
const int pwmA = 3;
const int pwmB = 11;
const int brakeA = 9;
const int brakeB = 8;
const int dirA = 12;
const int dirB = 13;
int x = 0;
void setup() {
Serial.begin(9600);
// set the PWM and brake pins so that the direction pins // can be
used to control the motor:
pinMode(pwmA, OUTPUT);
pinMode(pwmB, OUTPUT);
pinMode(brakeA, OUTPUT);
pinMode(brakeB, OUTPUT);
digitalWrite(pwmA, HIGH);
digitalWrite(pwmB, HIGH);
digitalWrite(brakeA, LOW);
digitalWrite(brakeB, LOW);
// initialize the serial port:
Serial.begin(9600);
// set the motor speed (for multiple steps only):
myStepper.setSpeed(2);
}
void loop() {
myStepper.step(48);
myStepper.step(-48);
delay(2000);