<p>As towe said, it could be a dir pin ( can be checked by metering the dir connection), but in my experience this behavior has usually been a limit switch issue (as 0scar pointed out).  Try seeing if you have a limit switch setting somewhere that expects normally closed (assuming no limit switches are connected).</p>

<p>There is also another possibility that has to do with microstepping on some drivers, but i'm guessing you are going for a rudimentary no microstepping test right now (and have configured jumpers appropriately).</p>

CC BY-SA 4.0
2019-11-06T12:20:56.827Z
2019-11-06T14:23:10.873Z
2019-11-06T14:23:10.873Z
Abel
<p>I have a RAMPS 1.4 tester code for Arduino MEGA, only need stepper motors and drivers connected. The code in a working setup moves steppers in both directions but in my setup does something wrong:</p>

<ul>
<li>Extruder 0 , Axis X/Y only moves in 1 direction all time.</li>
<li>Extruder 1 , Axis Z works fine in both direction</li>
</ul>

<p>I changed stepper drivers but always Extruder 0, Axis X/Y were moving in same direction all time.Tried 2 differents RAMPS 1.4 shields with same results in tester code, Sprinter or Marlin. </p>

<p>I have the code if someone wants, it works fine in other setups.</p>

<p>What could be the problem?</p>

CC BY-SA 4.0
2019-11-05T05:34:17.143Z
Hi jimbi3d, welcome to 3DPrinting.SE! Strange to see that some rotate in one direction only. For X/Y/Z steppers this can be related to the endstops, if configured incorrectly, the steppers only move one way, but this cannot be the cause for the extruder stepper. I hope somebody has experienced this also and shares their knowledge.
0scar
CC BY-SA 4.0
2019-11-06T10:24:39.203Z
You could check the voltage on the stepper driver DIR pin when attempting to move in different directions - if they code to drive each stepper is identical, the DIR pin of the MCU might be broken.
towe
CC BY-SA 4.0
2019-11-06T15:03:39.410Z
Oh, thanks so much , I tested the driver PIN in multimetter and yes that is the problem, I tested 2 connections  Extruder 1 (working) and Extruder 0(not working) ,

 Extruder 1 gives 0 and then near 5v ,
 but Extruder 0 gives 0v always. So the problem is MCU, arduino right?
jimbi3d
CC BY-SA 4.0
2019-11-06T15:06:05.050Z
Could also be a wiring problem.  I have a Migbot 3D printer, it came with cables that were wired 1-2-3-4 on both ends. Two of stepper motor end needed 1-3-2-4 tho to drive the A & B coils correctly. (the extruder for sure, and I think the X axis (back and forth), or maybe the Z axis (up & down). Or perhaps both, it's been a while since we fixed it, and I recall we had lost one cable and the replacement had the wrong pinout. We found the problem when the printer wouldn't 'home' in the correct spot and was ignoring the limit switch when it got to what turned out to to be the wrong switch.)
CrossRoads
CC BY-SA 4.0
2019-11-06T15:10:26.013Z
@CrossRoads I'm using same stepper motor for Extruder 1 and 0 , just disconnect from power and swap for mettering, so can't be a wiring problem right? Also swapped stepper drivers.
jimbi3d
CC BY-SA 4.0
2019-11-07T08:26:55.020Z
@jimbi3d Yes, that does sound like a problem on the Arduino in this case.

You can consult the pin definition file to find out which pin on the MEGA the "E0 DIR pin" actually is (hint: It's pin 28) and write a simple Arduino sketch to try and turn it on and off - adapting the "blink" sketch should work well. If it still outputs nothing, you'll need a new Arduino MEGA.
towe
CC BY-SA 4.0
2019-11-07T08:28:08.627Z
@CrossRoads Wiring issues might explain the stepper motor not turning at all, or moving erratically. Since it does turn in one of the directions, the phases are generated in the correct order between the stepper driver and the stepper motor.
towe
CC BY-SA 4.0
2019-11-17T14:32:30.217Z
The problem was solved, it was the faulty arduino board
jimbi3d
<marlin><arduino><ramps>
Some steppers only rotate one way on RAMPS 1.4
jimbi3d
# Some steppers only rotate one way on RAMPS 1.4

(Asked by: username_0 on 2019-11-05)

I have a RAMPS 1.4 tester code for Arduino MEGA, only need stepper motors and drivers connected. The code in a working setup moves steppers in both directions but in my setup does something wrong:

* Extruder 0 , Axis X/Y only moves in 1 direction all time.
* Extruder 1 , Axis Z works fine in both direction

I changed stepper drivers but always Extruder 0, Axis X/Y were moving in same direction all time.Tried 2 differents RAMPS 1.4 shields with same results in tester code, Sprinter or Marlin.

I have the code if someone wants, it works fine in other setups.

What could be the problem?

**Tags:** marlin, arduino, ramps

> **Comments:**
> **username_1**: Hi username_0, welcome to 3DPrinting.SE! Strange to see that some rotate in one direction only. For X/Y/Z steppers this can be related to the endstops, if configured incorrectly, the steppers only move one way, but this cannot be the cause for the extruder stepper. I hope somebody has experienced this also and shares their knowledge.  
> **username_2**: You could check the voltage on the stepper driver DIR pin when attempting to move in different directions - if they code to drive each stepper is identical, the DIR pin of the MCU might be broken.  
> **username_0**: Oh, thanks so much , I tested the driver PIN in multimetter and yes that is the problem, I tested 2 connections  Extruder 1 (working) and Extruder 0(not working) ,   Extruder 1 gives 0 and then near 5v ,  but Extruder 0 gives 0v always. So the problem is MCU, arduino right?  
> **username_3**: Could also be a wiring problem.  I have a Migbot 3D printer, it came with cables that were wired 1-2-3-4 on both ends. Two of stepper motor end needed 1-3-2-4 tho to drive the A & B coils correctly. (the extruder for sure, and I think the X axis (back and forth), or maybe the Z axis (up & down). Or perhaps both, it's been a while since we fixed it, and I recall we had lost one cable and the replacement had the wrong pinout. We found the problem when the printer wouldn't 'home' in the correct spot and was ignoring the limit switch when it got to what turned out to to be the wrong switch.)  
> **username_0**: @username_3 I'm using same stepper motor for Extruder 1 and 0 , just disconnect from power and swap for mettering, so can't be a wiring problem right? Also swapped stepper drivers.  
> **username_2**: @username_0 Yes, that does sound like a problem on the Arduino in this case.  You can consult the pin definition file to find out which pin on the MEGA the "E0 DIR pin" actually is (hint: It's pin 28) and write a simple Arduino sketch to try and turn it on and off - adapting the "blink" sketch should work well. If it still outputs nothing, you'll need a new Arduino MEGA.  
> **username_2**: @username_3 Wiring issues might explain the stepper motor not turning at all, or moving erratically. Since it does turn in one of the directions, the phases are generated in the correct order between the stepper driver and the stepper motor.  
> **username_0**: The problem was solved, it was the faulty arduino board  

---

## 1 answers

### Answer by username_4 on 2019-11-06. Score: 1

As username_2 said, it could be a dir pin ( can be checked by metering the dir connection), but in my experience this behavior has usually been a limit switch issue (as username_1 pointed out). Try seeing if you have a limit switch setting somewhere that expects normally closed (assuming no limit switches are connected).

There is also another possibility that has to do with microstepping on some drivers, but i'm guessing you are going for a rudimentary no microstepping test right now (and have configured jumpers appropriately).


---

