Identifying unlabelled stepper motors


rob.houston@...
 

I have several stepper motors for my STM Bluepill (almost finished). However, in the interests of economy (on a pension!) I have had to purchase unlabelled motors, purporting to be 400 step. Is there any way that I can use Onstep, LX200 command set to check whether these motors are 200 or 400 step?

I have tried 200 and 400 step setups with Onstep but am unable to differentiate between them. Also, i haven't been able to take everything outside yet, so still working indoors. Any help, suggestions would be great.

Thanks in advance, Rob Houston.


adraasch
 

With the stepper motor electrically disconnected, rotate the motor shaft manually through 90 degrees in either direction, counting the "clicks" or "cogs" that occur while you do so.  

The count should be close to 50 for a 90 degree rotation on a 200 step/rev. motor, close to 100 for similar rotation on a 400 step/rev. motor.

Hope this helps,

Arlen 


On Wed, Jun 2, 2021 at 3:20 PM rob.houston via groups.io <rob.houston=sky.com@groups.io> wrote:
I have several stepper motors for my STM Bluepill (almost finished). However, in the interests of economy (on a pension!) I have had to purchase unlabelled motors, purporting to be 400 step. Is there any way that I can use Onstep, LX200 command set to check whether these motors are 200 or 400 step?

I have tried 200 and 400 step setups with Onstep but am unable to differentiate between them. Also, i haven't been able to take everything outside yet, so still working indoors. Any help, suggestions would be great.

Thanks in advance, Rob Houston.


Mark Christensen
 

Rob,

If you think your motors are, say, 400 step jobs then, based on your gears and microstepping, it will take a period of time P for one motor rotation. If your motors are 200 then it will take P/2 with the same software setup in OnStep.

Specifically, if you look at the AXIS1 (RA) settings in the CONFIG.H tab you will see two numbers:

#define AXIS1_STEPS_PER_DEGREE     22666.6667 //  12800, n. Number of steps per degree:                                          <-Req'd
                                          //         n = (stepper_steps * micro_steps * overall_gear_reduction)/360.0
#define AXIS1_STEPS_PER_WORMROT   32000 //  12800, n. Number of steps per worm rotation (PEC Eq mode only:)                <-Req'd
                                          //         n = (AXIS1_STEPS_PER_DEGREE*360)/reduction_final_stage

The exact values depend on your gears and microstepping mode.

One degree is 15 minutes of time, so the first constant represents how many "steps" (microsteps that is) it will take to rotate thru one degree. In other words in 15 minutes 22666 microstep commands will be issued.
A full worm rotation, on the other hand, requires 32000 microsteps (in this example), so that means it will take 15 min X (32000/22666) =  21.1771 minutes for the worm to rotate one full turn.

Remember, this is at the worm, at the output of any gearbox or belts.

So look in your Config.h file and see what your two numbers are then multiply the second number by 15 and divide by the first. Then let it run and see if you get what you expect.

Of course, this is all easier to do if the steppers are not mounted to a gearbox or anything else. Then just SuperGlue a little triangular piece of cardboard to the end of the shaft.

Mark C.


George Cushing
 

As Mark says it's fairly easy to see the difference in rotational speed between 1.8 and 0.9° step angle motors. Recently, I was testing a controller that was configure for 400 step motors and noticed the RA motor was running too fast. I eventually realized it was a 200 step motor.

Run this code. Should work with LV8729. If the stepper is a 1.8 step angle it will rotate 360° CW, stop and run 360° CCW, 400 will only do 180s.

/*
 * Microstepping demo
*/
#include <Arduino.h>
#define MOTOR_STEPS 200
#define RPM 2
#define DIR 2
#define STEP 3
#include "DRV8825.h"
#define MODE0 8
#define MODE1 7
#define MODE2 6
DRV8825 stepper(MOTOR_STEPS, DIR, STEP, MODE0, MODE1, MODE2);
 
void setup() {
    stepper.begin(RPM);
    stepper.enable();
}
 
void loop() {
    delay(1000);
    stepper.setMicrostep(16);  // Set microstep mode to 1:1
    stepper.rotate(360);     // forward revolution
    stepper.rotate(-360);    // reverse revolution
  //Microstepping mode: 1, 2, 4, 8, 16 or 32
     
    stepper.setMicrostep(32);   // Set microstep mode to 1:8
 
    stepper.rotate(360);     // forward revolution
    stepper.rotate(-360);    // reverse revolution
    delay(500);
}
 


rob.houston@...
 

On Thu, Jun 3, 2021 at 03:18 PM, George Cushing wrote:
include "DRV8825.h"
Hi George,

Many thanks for the sketch. Regrettably, I'm rather lost with programming.  You have, #include "DRV8825.h", where would I find this config file? The rest of the sketch seems, even to me, fairly straightforward but I'm away with the fairies on that bit!

Rob.


George Cushing
 

Arduino library for A4988, DRV8825, DRV8834, DRV8880 and generic two-pin (DIR/STEP) stepper motor drivers - laurb9/StepperDriver


rob.houston@...
 

George,

Many thanks for the further info. The sketch compiles and uploads to the STM32 ok now but no motor rotation. The motor gets quite warm which probably indicates that the coils are energised. Any further info would definately be welcome!

(nb: I ran the "Blink" test to check if the STM was still working, that came out ok).

Rob.


rob.houston@...
 

A quick thanks to Mark and Arlen for their contributions. I did send a reply previously but can't see any record of this!
However, thanks again, if one procedure doesn't work, the others will!!

Rob.


Mike Ahner
 

On Mon, Jun 7, 2021 at 12:38 PM, <rob.houston@...> wrote:
Many thanks for the further info. The sketch compiles and uploads to the STM32 ok now but no motor rotation. The motor gets quite warm which probably indicates that the coils are energised. Any further info would definately be welcome!
Did you set the current limit on your stepper drivers, vref? 
If the motors get hot, you're current is likely too high, although they will probably be somewhat cooler when mounted to the telescope because of the mount serving as a heatsink.

No movement, but no noise either? And the motors have only 4 wires?
-Mike


George Cushing
 

Which drivers are you using?


George Cushing
 

Which drivers are you using?


rob.houston@...
 

George,

I am using LV 8729 with STM Bluepill Onstep V4.2x. Sorry about the delay.

Rob.


rob.houston@...
 

Mike, vref set slightly low for testing @ 0.7. Haven't had chance to check at the PSU O/P for total current (Kirchoff, etc).

Rob.