Welcome! Log In Create A New Profile

Advanced

Marlin 1.1.0 RC3 z servo doesn't move

Posted by stephenrc 
Marlin 1.1.0 RC3 z servo doesn't move
January 16, 2016 01:20PM
Attempted to use Marlin 1.1.0 RC3 and the Z endstop servo no longer moves. It works fine in 1.0.2.

Arduino IDE 1.5.6r2 and 1.6.7.
RAMPS 1.4 on a Mega2560
EEPROM disabled in Marlin
Auto bed leveling enabled with four test points.

----------------------
#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command

//#define X_ENDSTOP_SERVO_NR 1
//#define Y_ENDSTOP_SERVO_NR 2
#define Z_ENDSTOP_SERVO_NR 0
#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {100,178}} // X,Y,Z Axis Extend and Retract angles
------------------

Put the angles in all three, no change.
Switched servo between all servo connections, nothing
Enabled all three servos with the same angles, z doesn't move.
M401 & M401 just move the Z up and M280 nothing happens.

So, is there a setting I missed somewhere to get it to work?
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 16, 2016 01:47PM
I'm not sure... But I would make a couple of changes. I would bump the NUM_SERVO count up to 3 just because we are using the 3rd field. The code should be tolerant of having it at 1 but for right now, I would move it to 3. And I would try it with the //#define Z_ENDSTOP_SERVO_NR 0 commented out. I think this has to do with using the Z-Probe as a Z_MIN_ENDSTOP. Also, are you sure those angles are right? I guess you can't check them with M280 right now, but I know my servo doesn't go to 178.

#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command

//#define X_ENDSTOP_SERVO_NR 1
//#define Y_ENDSTOP_SERVO_NR 2
//#define Z_ENDSTOP_SERVO_NR 0
#define SERVO_ENDSTOP_ANGLES {{0,0}, {0,0}, {100,178}} // X,Y,Z Axis Extend and Retract angles

If those changes don't cause the right thing to happen... I would probably enable:

#define DEACTIVATE_SERVOS_AFTER_MOVE

Edited 2 time(s). Last edit at 01/16/2016 01:50PM by Roxy.
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 16, 2016 04:18PM
Angles are correct for my setup, they work fine in 1.0.2.

Tried setting num_servos to 3, no change. M401/M402, both just move z up. M280 does nothing.
Won't compile without at least one of the endstop defines set.

Even tried compiling in 1.5.6r2, no change.

DEACTIVATE_SERVOS_AFTER_MOVE is defined since the servo always randomly moves down without it. Servo powered by it's own 7805.

1.0.2 will retract the servo on reset, 1.1.0 RC3 doesn't.

Edited 1 time(s). Last edit at 01/16/2016 04:19PM by stephenrc.
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 17, 2016 01:26PM
Got it working.

Move servo connection to servo 2 on RAMPS

Set NUM_SERVOS to 3
Change Z_ENDSTOP_SERVO_NR 0 to Z_ENDSTOP_SERVO_NR 2

It now works, it retracts the servo on reset and moves with M401, M402 and M280

Servo 0 and 1 on my RAMPS don't work with 1.1.0 RC3. Found another thread in the RAMPS Electronics section that gave a hint on getting it to work: [forums.reprap.org]
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 18, 2016 11:35PM
I am having the same issue and am going to try your solution in the morning. Thanks for asking questions! smiling smiley
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 19, 2016 09:06AM
It worked! Thanks!
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 19, 2016 09:44AM
There are multiple RAMPS board definitions over at www.github.com/MarlinFirmware right now. Apparently something got changed on the board. It may be you declared the 'wrong' version of RAMPS for the electronics you have. You might want to check and see if that is the case. (Just because there may be other stuff that isn't defined right for your electronics without getting that setup right.)
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 19, 2016 11:33AM
I didn't notice that they added more RAMPS definitions. I was using BOARD_RAMPS_13_EFB and changed it to BOARD_RAMPS_14_EFB. The servo now work on servo 0. The wiki says the only difference between 1.3 and 1.4 is that 1.4 uses surface mount compnents. Why does that affect the servo?
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 19, 2016 01:36PM
Quote
stephenrc
I didn't notice that they added more RAMPS definitions. I was using BOARD_RAMPS_13_EFB and changed it to BOARD_RAMPS_14_EFB. The servo now work on servo 0. The wiki says the only difference between 1.3 and 1.4 is that 1.4 uses surface mount compnents. Why does that affect the servo?

More changed than the fact they are using surface mount components. I know there were a lot of issues with stuff not working when the new version of the board came out. I think if you compare the two Pins.h files you will find all of the stuff (that we know about right now) that changed. I don't know the details. I don't have a RAMP's board. But I do know it caused a lot of head aches.

Would you mind updating the first post in this thread to say Marlin 1.1.0 RC3 is ok with RAMP's if the correct version of the board is selected? I don't want people to be hesitant to use RC3. RC3 is clearly the most stable version of Marlin in the last few years. Support issues will be much less if we can get people to migrate to it.

Edited 1 time(s). Last edit at 01/19/2016 01:41PM by Roxy.
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 19, 2016 02:10PM
Edit not available on first post, so I can't change it.
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 19, 2016 03:08PM
Quote
stephenrc
Edit not available on first post, so I can't change it.

OK! Thanks for trying!
Re: Marlin 1.1.0 RC3 z servo doesn't move
January 29, 2016 11:52AM
It works for me also.

Thanks ^^
Re: Marlin 1.1.0 RC3 z servo doesn't move
February 03, 2016 01:15AM
I am also having the same problem.
Tried all the above fixes, but alas no servo working yet.
Works fine with an earlier version of Marlin, but I only have 3 point probing with the early version.

Managed to do some prints by manually moving the servo down and up again, adding a slow Z lift so I could move the probe up before starting the print.
Marlin doesn't seem to have a pause command that I could find.
.
Using 9 probing positions, but the leveling is not consistent across the bed, two opposing corners are too low while the centre section is good.
The bed measures 250mm (X) x 450mm (Y), that is why I wanted to have additional probing as 3 didn't seem accurate enough

Like all the additional features this version has and will try and use those as well after getting the probing to work correctly.


[regpye.com.au]
"Experience is the mother of all knowledge." --Leonardo da Vinci
Re: Marlin 1.1.0 RC3 z servo doesn't move
February 03, 2016 11:12PM
Regpye are you using a Ramps board? Do you have the right version selected?

Edited 1 time(s). Last edit at 02/03/2016 11:12PM by Roxy.
Re: Marlin 1.1.0 RC3 z servo doesn't move
February 03, 2016 11:24PM
Thanks for the suggestion Roxy.
Yes I have it going now with the servo.
I changed to a different RAMPS board selection a few times until I found the one that works.
Still having some issues with the leveling though.
It all works fine except that at the far front and the far back the bed is too low. The bed is pretty flat using a straight edge to test.
I am now using 16 probe positions to see if that makes it any better, not tried it out yet with a long thin print to test.

.


[regpye.com.au]
"Experience is the mother of all knowledge." --Leonardo da Vinci
Re: Marlin 1.1.0 RC3 z servo doesn't move
February 05, 2016 04:39AM
Tried out with 16 point probing and all is well. Guess the bed is a long way out to start with, at least 2mm from the readings shown on the screen while probing.
Prints nicely now.

One thing I found that needs looking at in the firmware is the LCD controller menu is not all working as it should.
When selecting the nozzle temp to increase or decrease it, it jumps to "flow" and then does nothing. Have to wait a few minutes until the LCD resets itself and goes back to the previous menu.


[regpye.com.au]
"Experience is the mother of all knowledge." --Leonardo da Vinci
Re: Marlin 1.1.0 RC3 z servo doesn't move
February 09, 2016 05:49PM
Does this look like a bug introduced in 1.1.0-RC3, and has anyone posted an issue about it on the project? The main servo-related change that stands out is that the SERVO0_PIN is now assumed to differ between RAMPS 1.3 and 1.4. Does this seem like an error to anyone?

#ifdef IS_RAMPS_14
  #define SERVO0_PIN       11
#else
  #define SERVO0_PIN        7 // RAMPS_13 // Will conflict with BTN_EN2 on LCD_I2C_VIKI
#endif


|
| Lead Developer of Marlin Firmware
| Help support my work at Patreon and Elsewhere.
|
Re: Marlin 1.1.0 RC3 z servo doesn't move
February 25, 2016 06:49AM
100 bonus points for thinkyhead.
SERVO0_PIN is a real difference between 1.3 and a.4. Please compare the connection schemes.
Sorry, only registered users may post in this forum.

Click here to login