gravy wrote:@Anthem. Thanks. Just thought I should check to be sure. I have the Junior all wired up now. Past 2 days I've been driving myself crazy with the Z axis. X, Y and Extruder seem fine but, the Z axis isn't. I'm using Octoprint to control Z. (Ive also used the lcd controller with same results). When the gantry moves it pushes into the top of the frame.
You mean it hits the top when it goes all the way up, right? Sounds like a Z_MAX_POS problem. The Jr is only advertised to have a 150mm Z-axis build size, so check that you're not exceeding that. Also account for your MANUAL_Z_HOME_POS if that's set (if you used my fork, it is). That negative value adds to the total travel length of the axis, so if you have a MANUAL_Z_HOME_POS of -1.8 and a Z_MAX_POS of 160, then Marlin thinks there's a total of 161.8 mm of travel, which may or may not be true for your particular machine. (I was able to get an extra 5mm of Z on my machine, but yours may differ slightly).
gravy wrote:At the bottom it pushes onto the bed. When its moving up then back down, at least twice it stops moving but the motor continues turning and that creates a grinding noise.
That sounds bad. Is the threaded rod turning along with the motor? If not it could be a loose rod coupling. If the threaded rod is turning but the gantry is not, you probably have something binding in the Z axis linear rods, and I fear for the health of the threaded brass bearing (if the rod is turning but this isn't going up or down, its threads may be stripped out which would require replacement). A video of this happening might tell more.
gravy wrote:If, at this point I turn the pot on the stepper driver it can sometimes cause the gantry to start moving again. Down or up! The motor is a Servo kv4239-2tb... 1.8 degree/step. If thats any help. I'm using all 3 jumpers per stepper driver. I should also point out that I'm using the original Jr power supply. Don't know if that makes a difference? I hope I've made sense with this and maybe you or someone else might be able to help.
The Jr power supply (12v 60 watt) was enough to power my RAMPS plus all the stock hardware no problem, and you shouldn't be having a problem there.
If your motor is actually missing steps, that could sound like a grinding sort of noise and it might seem like the motor is turning, but it's actually skipping back and forth quickly. Usually that'll be a problem with the level of the pot on the stepper driver, or a problem with the driver itself.
To check that, first thing to do is to remove power from the board and try switching the Z stepper driver with some other one (like your extruder, something that's working fine). If the different driver works fine (you may have to adjust the power pot) then it must be that stepper.
I'm using A4988 drivers, and I've had problems sometimes with the trimpot not stopping at max, and turning freely back down to minimum power (with a small arc in between that opens the circuit). If you're turning your pot up and suddenly the motor stops working, that may be what's happening to you. Turn the pot back down 1/8-1/4 turn, reset the board and test the axis again.
One more note: I've noticed that using the knob on the RAMPS display to move axes often results in very unpredictable movement. I'm not sure how it's doing the move internally, but using the knob often moves the axis quite a bit more or less than what the display is reading. I would stick to using OctoPrint's control interface and/or its terminal for testing the axes.
Back to positioning in Marlin -- there's an important difference between the MANUAL_Z_HOME_POS and Z_MAX/MIN_POS variables.
MANUAL_Z_HOME_POS is the (negative) distance between your Z-axis "0" position and where the nozzle ends up after homing.
Z_MIN_POS is the minimum "allowed" position that the axis will travel to after homing. During homing the Z axis could go as low as necessary to trigger the endstop, but after it's been homed, Marlin will move the axis back to Z_MIN_POS before performing any additional travels. This means that if your MANUAL_Z_HOME_POS is different from Z_MIN_POS, that you will be unable to move your axis lower than Z_MIN_POS and it might seem to stop prematurely.
Also, if you have EEPROM settings enabled, there's an additional M206 gcode that can adjust the MANUAL_Z_HOME_POS position. You can see this in the terminal with the M501 gcode that prints your settings. If M206 lists Z with any parameter other than 0, this could be throwing you off.
Here's what I like to do to dial in my homing positions and travel distances (I'm going from memory here, so apologies if this doesn't work 100%, but it should give you some ideas):
Make sure X/Y/Z_MIN_POS positions equal MANUAL_X/Y/Z_HOME_POS in Marlin. If they're not this'll confuse you later on.
Reset M206 with gcode: M206 X0 Y0 Z0, and save the settings with M500
G28 to home all axes. Use M114 to get the firmware position of your axes and take note of the values it reports.
M18 to turn off steppers
G91 to set relative positioning (this is especially important if your MIN_POS, MAX_POS and HOME_POS may be wrong; trying to use absolute positioning could damage your machine)
Use G1 commands to incrementally inch your axes close to your (0,0,0) point, that is, get the nozzle very close to the front left corner of your bed. Usually I'll raise Z a significant amount first (G1 Z10) to get it out of the way, then move X and Y until the nozzle is near the front corner, then finally lower Z very slowly until it's almost touching the bed. Remember that you're in relative positioning mode here, so keep all numbers in the G1 command pretty small.
Use M114 to report the current position of your axes in this "close to 0" position. Now subtract these numbers from the previous MANUAL_X/Y/Z_HOME_POS values to arrive at the new values, and put them into your Marlin firmware. Alternatively you can use M206 to set these values by entering the negative of your current position (do not subtract the current position from MANUAL_*_HOME_POS)
If you used M206, now run "M500" to save the EEPROM settings. Otherwise re-upload your firmware and reset the board.
Now that you have MANUAL_*_HOME_POS nearly set, you can reset your X/Y/Z_MIN_POS to match these values. Optionally you can set Z_MIN_POS to "0" to make sure that the Z axis always gets out of the way of the bed.
Then to find your X/Y/Z_MAX_POS, I'd do this:
G28 (home all axes)
G91 (relative positioning)
Move axes with G1 and inch up to the maximum of your axis. Once you have a position you're confortable with as your max, use M114 to get the positioning. This value can be entered directly into Marlin as your *_MAX_POS. If at any time you go too far and you crash an axis, the best idea is to re-home that axis (e.g., G28 Z) and repeat the procedure without going too far.