Welcome! Log In Create A New Profile

Advanced

Using external drivers

Posted by Don Recardo 
Using external drivers
April 01, 2015 10:33AM
Hi I am thinking of making another printer, muuch larger with bigger steppers
I plan on using a Ramps 1.4 board which I have just placed an order for

I already own some nice stepper drivers (MSD415s microsteps to 1/64 and MSD542s microsteps to 1/128 ) and my plan was to make some small plug in boards
that will go where the plug in driver normally sits on the ramps and this will allow me to output the control signals to my external drivers

Because the drivers are external to the rest of the ramps board I can run those on 24v-36v without blowing any caps on the ramps board

Because I have not used ramps before ( my other printer uses a Duet) what I need to know is

The enable signal that comes from the arduino to the ramps board , is it enable High or enable Low
and the same with the step pulse , is it low to High or high to Low

Idealy it will both be active low because my drivers have opto inputs fed with 5v that want to be pulled low to operate , but if necessray I can invert the signal if I have to
so
can someone give me the answer are they active high or active low ?

Thanks
Don
Re: Using external drivers
April 01, 2015 11:31AM
You can set enable either way in config file

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders
Re: Using external drivers
April 01, 2015 11:37AM
Thanks George , that's the enable pin sorted,
do you know if there is a similar command for the step inputs ?
Direction input is not a worry, I can simply reverse one phase on the stepper to change the direction the other way

Don

Quote
george4657
You can set enable either way in config file

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders
Re: Using external drivers
April 01, 2015 02:29PM
A4988 and similar drives look for the rising edge, so I'd presume that would mean low to high. I don't think I've ever seen an option to control this.

Also, using a Mega based board and standard stepping, you are quickly going to reach a maximum speed based on pulse frequency limitations. A 16Mhz Mega board running Marlin will only do about 16000 steps/sec. A 1.8 degree stepper (200 full steps/rev) at 1/64 microstepping would do 1 1/4 revolution per second and at 1/128 you're only going to get 5/8 of a revolution per second.
Re: Using external drivers
April 02, 2015 09:26AM
Hi cdru thanks for the reply

It looks like you were right . I put the output of the arduino on my scope and it is putting out a rising pulse so I will have to invert that before feeding it to my steppers

I take your point about achieving a high enough step rate with the Mega , but it had never been my intention to run the microsteps at 128 or even 64 , I was just saying that
is what the drivers are capable of that I have to hand , I may try running them at 1/32 but if it seems to slow I will drop back to the more normal 1/16

Don



Quote
cdru
A4988 and similar drives look for the rising edge, so I'd presume that would mean low to high. I don't think I've ever seen an option to control this.

Also, using a Mega based board and standard stepping, you are quickly going to reach a maximum speed based on pulse frequency limitations. A 16Mhz Mega board running Marlin will only do about 16000 steps/sec. A 1.8 degree stepper (200 full steps/rev) at 1/64 microstepping would do 1 1/4 revolution per second and at 1/128 you're only going to get 5/8 of a revolution per second.
Sorry, only registered users may post in this forum.

Click here to login