Won’t go left! X-axis

Sorry, I don’t have all the specifics and no pictures right now and I need help! I built an MPCNC in mid-2017 and it always ran fine. My life was turned upside down and I had to sell my house and move (not far so likelihood of damage was minimal). The machine looks fine and I don’t see anything wrong with it but can’t figure out why it won’t go negative on the X-axis (to the left).

Some specifics:

  • Genuine Arduino Mega with Ramps board
  • No end stops (never did)
  • older firmware - not sure which but was fine and was not changed.
  • everything was working prior to moving
  • when I powered up today I wasn’t as careful as I should have been and it’s possible a bolt shorted two pins on the Arduino momentarily. Not sure if it even did but I wanted to mention it. The bolt must’ve slipped down and was sitting just underneath.

Here’s what I’ve tried:

  • Power on and connected using Repetier host - same older version without update.
  • If I press the left manual jog motors lock but don’t move. All other directions are fine.
  • if I swap x and y then the problem occurs on Y axis.
  • I tried swapping the driver and the problem stayed on X axis (no change)
  • I tried running a program and it just keeps going further and further right until it eventually hits.
  • I tested the 12v power supply and it’s fine.

I don’t have any spare hardware on hand. I placed an order but I got it setup to help a friend with an urgent request (wedding Friday 4pm and he needs a carve…) Parts won’t arrive in time.

I’m not sure what could cause this but I’m narrowing down to the Arduino or Ramps. I’m hoping it’s not the Arduino. The fact that I can swap cables and motors move rules out mechanical. I don’t know how to test either further.

Any help is greatly appreciated.

From what I can find there are a few things this could be.

  1. That bolt shorted something a fried a board trace or the logic on pin A1 out of the Mega. This connects to the DIR pin on your X-axis driver.
  2. Something is shorting the X-axis end-stop pins
  3. The X-axis driver board is fried and won’t change directions.

What I would do first is check the end-stop pin group for debris, then if that’s OK swap the X and Y axis drivers and see if the problem follows the axis, or the driver.

Remember to disconnect power to the mega/ramps before swapping them!

Thanks. I swapped drivers and the problem remained on the X-Axis. I also reversed the wiring and the problem also reversed direction. I looked and there’s nothing shorting the end stop pins.

I’m thinking this is a Ramps problem which isn’t great because I can’t get hardware until after my deadline. Oh well.

Meaning, if you move the Y cable to the X port on the ramps, the X axis movement does the same thing, but on the Y motors?

A. Endstops are ignored unless you are homing.
B. Some forms of the firmware have “soft stops”. This would mean you can’t go negative. If you go 10mm right and can go 10mm left, but it stops at zero, then it might be the soft stops.
C. There is a DIR pin that tells the stepper which direction to move. If this is broken, then all movements would be one way.

You might try flashing the firmware with something new. I am guessing since it is 2017 that you have series firmware. There won’t be any way to get it back, but if you are dead in the water, what choice do you have?

If the new firmware acts the same, you can change the pins to move the X logic to the E1 port and then use that port with your driver and motors.

Correct, when I swap cables the problem moves to the Y-Axis motors.

Can’t go left at all. I frequently set 0 on the center of my work so I don’t think this is the issue.

Thanks for the info on DIR pin. I’ll look that up as it could be part of the issue.

I’m not sure what version you’re using, but if you don’t use the autosquare function then you can ust move the driver to another slot, like the one usually used for the extruders. This way you don’t have to change the board, you just tell the firmware to use this slot ffor your X axis instead.

That would solve a broken DIR pin or circuitry.

Edit: I just saw that Jeffe said the same thing actually.

Did you check the wires going to the stepper motor? My X-axis did not move because I had a short in the wires or a broken wire to one of the coils.

I swapped X and Y and then the X-axis moves fine so I’ve ruled out a mechanical problem. Thanks!

Hi,
Reading what you did. The problem must be located before the driver as you swapped the driver and the X and Y connector. The driver worked in the Y position and the problem moved to the Y-axis when Y-cable was connected to the X-connector
That leaves either the Arduino, components on the board between the Arduino and the driver or last but not least the firmware.

I just received and swapped a new Ramps board in and the problem wasn’t solved. I guess I’m either going to reprogram the pins to use the extruder output as X or I’m going to replace the Arduino. I ordered a new Arduino so at least I have options.

New ramps board, but not the arduino mega?

Ok ok… I also got a new Arduino and just now also got it installed.

Machine now goes left.

I must’ve fried it when I powered it on with a bolt rolling under it.

Thanks all!

2 Likes

Ok, so one more problem with the new Arduino. I have the old setup with the threaded rod rather than a lead screw. Can someone let me know where the setting is to change the Z-Axis to be correct? I can’t remember and can’t find it on the site.

Based on other posts I’ve read on this forum, I believe you are looking for DEFAULT_AXIS_STEPS_PER_UNIT in Configuration.h to make the change in firmware. There is a g-code option as well. Take a look at M92 and M500.

Edit: Since I was curious, I poked around a bit more and found a setup I believe is similar to yours. His settings:

#define DEFAULT_AXIS_STEPS_PER_UNIT { 200, 200, 9070.93 , 200 }
#define DEFAULT_MAX_FEEDRATE { 120, 120, 8.4 , 25 }

Of course these values are dependent on how your drivers are setup and the specific threaded rod.

I found it. I tried to change it in the configuration.h but for some reason it didn’t take. I went into the menu after flashing and changed the steps there. I used 3200 and that seemed right.

If you upgrade a version of Marlin (from 1.1.9 to 2.0.7) then it will erase the saved settings on the board. Same thing happens if you flash a new mega.

If you just change the defaults on the same version and flash the board, it will keep the old settings in the eeprom. You cam use M502 to reload settings from the defaults and M500 saves them to the eeprom. Don’t forget the max speed setting. Even 8mm/s seeks fast for some setups.

1 Like