Welcome! Log In Create A New Profile

Advanced

Stepper Driver Problems

Posted by fred dixon 
Stepper Driver Problems
April 30, 2017 06:35PM
I am having a problem with getting the stepper motors to work on a 3D printer I bought to experiment with 3D printing. It is, I think a Prusa 3i, based on Arduino, Ramps 1.4 and the small stepper drivers. I have assembled the machine, downloaded Marlin from the WEB, configured it, to what I thought was correct but the steppers didn't work. LCD Did, menu came up OK etc.

Not sure at this point if problem was hardware or software so I removed the stepper drivers and replaced them with LED with resisters between DIR and GND, and STEP and GND. When I try to move a stepper manually I get the correct LED lighting for step and direction. But small drivers still don't work.

As I am in the process of building a much larger machine in the future, I already had the large components available. I connected up a 10 Amp Stepper board, it uses it own power supply, 37V at 10Amps and a large NEMA34 Stepper. Stepper worked fine! So I'm assuming that I have one of 2 problems, incorrect software or blown small drivers.

Does anybody know if there is an issue with either the RESET or ENABLE in the software?

Any help would be useful. (I can program C++)

Thanks

Fred.


PS: New Machine is based on 4 x NEMA34s, 4 x 10A drivers, 1250mm X, 850mm Y and 235mm Z. X and Y are using SBR20 Rails and the Z SBR16s. X and Y on Belts and Z on Ballscrew. The printer is constructed out of SS boxsection with AL for the crosslide. Going to use it for CNC milling as well so it had to be strong. Maybe have to change to Repetier at this point.
Re: Stepper Driver Problems
April 30, 2017 09:04PM
marlin uses endstops, if these are triggered it will not move

send the board a M119 command it will display the current endstop status

Secondly the vref needs to be set on the stepper drivers to match you steppers.

Thirdly you need to provide the ramps with the correct power, there are two circuit a 5amp circuit which powers the steppers, and the 11amp circuit which just powers the heated bed. You need to check that you are providing 12v into the 12v 5amp circuit (people keep putting 5v into this plug, which doesn't work)
Re: Stepper Driver Problems
May 01, 2017 04:18AM
Morning thanks for that.

I have been assuming that I had disabled endstops as follows:

//*****************************************************************************
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG

// coarse Endstop Settings
// #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors // Disable endstops? FD

#if DISABLED(ENDSTOPPULLUPS)
// fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
//#define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

// Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
//#define ENDSTOP_INTERRUPTS_FEATURE
//*************************************

The other section I thought related to probing only.

//********************************************************
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.

// @section machine

// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 200
#define Y_MAX_POS 200
#define Z_MAX_POS 200

//********************************************************

Is my assumption correct? or do I need to fit endstops etc at this stage?

I am using an external power supply to the RAMPS board that supplies 12V.

These stepper driver used to work on a different Arduino but that had different firmware but I would have thought that vref would still be OK

M119 returned the following:

Reporting endstop status
x_min: open
y_min: open
z_min: open
ok

Any ideas?

Thanks

Fred
















// :[-1, 1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1

#define min_software_endstops true // If true, axis won't move to coordinates less than HOME_POS.
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.

// @section machine

// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 200
#define Y_MAX_POS 200
#define Z_MAX_POS 200
Re: Stepper Driver Problems
May 01, 2017 07:28PM
End stops are definitely disabled (well not triggered, which is what you need)

Can you clarify "I am using an external power supply to the RAMPS board that supplies 12V"

Where is this wired to? It should be the 5a circuit of the ramps, see lower left of this diagram.



Also your motherboard line in your configuration.h, its needs to say something with the word RAMPS in it

Edited 1 time(s). Last edit at 05/01/2017 07:29PM by Dust.
Re: Stepper Driver Problems
May 02, 2017 07:05PM
Evening,

configuration.h has the following in it:

#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif

The 5a is connected along side the 11a connector powered straight from the power supply.

Should VMOT be permantly powered up?
Both GND,s are actually GND
VDD is 5V
STEP and DIR both function, have checked with LEDs

Is this something to do with EN needing to be low? If so where is this setting, I have tried changing the enable pins locations to -1, but this just causes compiler problems etc etc. Don't really want to keep commenting out code just to get the firmaware to compile.

Thanks

Fred
Re: Stepper Driver Problems
May 02, 2017 09:39PM
Firmware looks good

VMOT should always be 12v, is wired directly from 12v5a plug threw the polyfuse to the stepper driver vmot pins.
If your not getting 12v on vmot... either the polyfuse is gone (are meant to auto reset, but can fail) or you have a fault on your ramps pcb,

I'm presuming your just testing and have nothing else on the 12v rails? as a dead polyfuse will also stop hotends and fans

On the above image to the left of the X stepper driver next to d2 is a little two pin plug. This is also 12v, always on, normally used for a always on fan. Are you getting any 12v there?

Edited 2 time(s). Last edit at 05/02/2017 09:42PM by Dust.
Re: Stepper Driver Problems
May 03, 2017 05:23PM
Slowly making progress.

4 out of the 5 drivers are faulty! I currently only need 1 for the extruder.

Made breakout board for the STEP and DIR pins to go to large 10A 37V drivers, that also works. Calibration and endstops etc will be the next issue.

Thanks for the help.

Fred
Sorry, only registered users may post in this forum.

Click here to login