ey!
I am driving a nema 17 like stepper (42BYGH34-0400A) with a dvr8825 driver and an arduino. I am using the stepper to spin an acrylic disc (70cm diameter, 3mm thick) vertically. For this, I glued the flange coupler directly to the acrylic disc, and I attached the stepper to a metal structure. (see pictures)
My idea is to spin the disc as slow as possible, and to try to hide the steps as much as possible as well, and for this porpoise, I set the driver to work at 1/32 steps. It works pretty decently, but sometimes the stepper doesn't have enough torque, so I decided to try the system with lower microstepping, like 1/16, but before this, I wanted to test the system again in full steps. The result, the stepper wouldn't move the disc at all.
Of course I have been playing around with the potentiometer of the dvr8825 to provide just the right current, but regardless this, the stepper wouldn't spin the disc at full steps. Like if somehow the stepper would have less torque in full steps than in 1/32 steps.
I am a bit puzzled.
I now unmounted the flange coupler and the stepper to test it without a load, and the stepper turns of course at full steps, but as soon as it has load wont spin anymore... and I was actually going back to full steps in order to have more torque...
ideas? suggestions? reflexions?
CODE FULL STEPS
const int M10 = 22;
const int M11 = 24;
const int M12 = 26;
const int stepPin1 = 28;
const int dirPin1 = 30;
int velocidad = 20;
#include <AccelStepper.h>
AccelStepper stepper1(AccelStepper::DRIVER, stepPin1, dirPin1);
void setup() {
pinMode(M10,OUTPUT);
pinMode(M11,OUTPUT);
pinMode(M12,OUTPUT);
digitalWrite(M10,LOW);
digitalWrite(M11,LOW);
digitalWrite(M12,LOW);
stepper1.setMaxSpeed(velocidad);
stepper1.setSpeed(velocidad);
}
void loop() {
stepper1.runSpeed();
}
CODE 1/32 STEPS
const int M10 = 22;
const int M11 = 24;
const int M12 = 26;
const int stepPin1 = 28;
const int dirPin1 = 30;
int velocidad = 20;
#include <AccelStepper.h>
AccelStepper stepper1(AccelStepper::DRIVER, stepPin1, dirPin1);
void setup() {
pinMode(M10,OUTPUT);
pinMode(M11,OUTPUT);
pinMode(M12,OUTPUT);
digitalWrite(M10,HIGH);
digitalWrite(M11,HIGH);
digitalWrite(M12,HIGH);
stepper1.setMaxSpeed(velocidad);
stepper1.setSpeed(velocidad);
}
void loop() {
stepper1.runSpeed();
}