1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Z-Axis Endstops Usually Fail, Not Always

Discussion in 'Troubleshooting' started by Meta, Sep 1, 2014.

Thread Status:
Not open for further replies.
  1. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    I just got the newer R1 printer and I'm working on troubleshooting and learning to use it. I have no prior 3D printing experience, so I'd like to solve one thing at a time for now.

    Quick Explanation:
    The Z-axis endstops don't work properly when using MatterControl. The endstops usually fail to stop the Z-axis on manual control and during print-leveling, but they always work properly on "home all." I'm using the 6-10 firmware and the issues have been inconsistent.


    Long Explanation:
    I've had issues with the Z-axis endstops while using MatterControl. The axis descends even after the switches have disengaged. In most cases, the switches don't seem to have any effect, but sometimes they stop the z-axis on manual controls then fail during the print leveling.

    Originally, it worked fine on my desktop and I made a successful print. Next I tried to get the printer working with my laptop, but I ran into this z-axis issue. I tried updating the firmware to the 6-10 version and I checked the wiring, but the problem persisted. After switching computers and checking/calibrating several times, the endstops are now having issues on both computers.

    The issues have been inconsistent, especially on the desktop computer. For example, the endstops weren't working at all, so I turned off and disconnected the printer, then reconnected it. Once the printer was reconnected, the manual controls didn't work until I hit "home all." Then the manual controls and the endstops worked, but the manual controls were unresponsive at first. After a second "home all," the manual controls worked fine but the endstops didn't work. The strange thing is the endstops seem to always work on "home all" on both computers, but they rarely work with any other function.
     
  2. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    Suggest you use the gcode M119 "Get Endstop Status" to check the status of the Z endstop. Marlin will tell you whether it thinks the endstop is triggered or not.
     
  3. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    Thanks for the tip. It reported z min as "triggered" while the extruder was fully down and "open" everywhere else. The endstops seem to be working with the software on some level, so I'm not sure where to go from here. Given that I wanted to keep things simple and stick with MatterControl for now, do you think my best option would still be to switch to Repetier or something similar?
     
  4. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    As Marlin appears to be seeing the endstop status correctly the issues you are seeing could be

    1) Some screw up in the firmware settings
    2) Your start gcode to handle homing and bed leveling is not correct
    3) Possibly some misunderstanding about how the homing works.

    Suggest you post your start gcode first. That will help identify if there are problems in the other areas anyway.
     
  5. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    There's a decent chance that I've misreported something. I didn't mess with the gcode, so here's what's been running:

    Start gcode:
    G28 ; home all axes
    G1 Z5 F5000 ; lift nozzle
    M109 S[temperature] ; set the extruder temp and wait
    G28 Z0 ; Home Z again in case there was filament on nozzle
    M565 Z0
    G29 ; probe the bed

    My laptop definitely had this issue before I updated the firmware, so I'm not sure if it's the issue.
     
  6. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    What happens if you disconnect then reconnect the printer (to restart the Marlin firmware) then

    - Use gcode "M119" to check endstop status - note what Marlin tells you about the status

    - then send the printer gcode "G28" to home all axes.

    - Use "M119" again and note endstop status
     
  7. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    After disconnecting then reconnecting the printer, it started with all axis reporting open. After I homed it with G28, it reported the x and y axis as open and the z-axis as triggered.

    I'm not sure whether or not the x and y axis are supposed to go to zero during the homing process, but they move to within a few mm of zero. Once zeroed manually, they reported as triggered on the endstop status. I also noticed during this test that the x and y axis had the same issue as the z-axis where the motors would run if I tried to manually reduce them below zero. On the slicer options, I verified that "Z Can Be Negative" was unchecked, in case could have been the issue.

    Is there a chance that both the new firmware and the original V1 firmware that came with it were both bad?
     
  8. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    For the first G28 after Marlin is restarted and "clean", the extruder will move to the centre of the bed and then go down until the Z endstop is triggered. At this first G28 neither the X or Y stay homed only the Z - so the X and Y axis endstops will report "open". That's normal on a Robo with Auto Bed Leveling.

    I suggest you try the following gcode - enter manually or create small xxxxxx.gcode text file and run it as a "print".

    First restart Marlin by disconnecting reconnecting then run the following gcode. Note also that if you are entering the codes manually, you have to run the G29 and M565 fairly quickly after the G28 or there is a timeout and you will be told by Marlin that you have to home X/Y again.

    G21 ; set in milimeters
    G90 ; absolute coords
    G1 Z10 ; just lift the extruder to make sure all is clear
    G28 ; Home all axes - but really only the Z will stay homed
    M565 Z0 ; set the Z offset = 0
    G29 ; probe bed 9 points
    G28 X0 Y0 ; home X and Y - this time X and Y should actually home and hit the endstops
    G1 Z5.00 F4800 ; get ready to move by raising the extruder a little
    G1 X100 Y110 F4800 ; move to centre
    G1 Z0.3 ; at this point the extruder should move down and be sitting exactly 0.3mm above the centre of the bed.

    If this all works as commented then I think all is well. If the extruder is not exactly 0.3mm above the bed at the end, then some adjustment to the M565 Zx offset value is required.
     
    #8 Ziggy, Sep 2, 2014
    Last edited by a moderator: Sep 2, 2014
  9. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    First I tried on my desktop computer. I tried running the code as a .gcode print as well as manually. When printed, it works until the part where it's supposed to center. Instead of stopping in the center, it continues to the corner but stops just short of the corner. When entered manually, it seemed to work fine. Using a piece of paper to measure, the extruder was closer to 0.1 mm above the bed.

    When trying on my laptop, I ran into a few problems with the code. When running G1 Z10, the extruder tried to lower below the bed level. I tried G1 Z15 and it stopped a little above the bed. A little bit later, I tried M114 and it reported z=-2.00 at the bed level. I tried reconnecting then I tried G1 Z15 again and it attempted to lower to around 1 mm below the bed level. I tried G1 Z18 and it went a couple of mm above the bed. I tried M114 again and it reported z=-53.1, so I've got no idea what's going on. On my first manual test, I did try continuing past the G1 Z15 step and the z-axis failed to stop at the bed on G29.

    I checked from my desktop again and I also initially got z=-2.00 when bottomed out. I tried setting G1 Z-2.00 and it reported a position of z=-0.73. I might just be misunderstanding things, but shouldn't the value it reports be the same as the value that it goes to?

    Another issue I noticed that may or may not be related is that when the x-axis endstop is triggered, the z-axis locks up and reports and endstop trigger.

    In summary:

    On the desktop computer: It doesn't center properly when run as a print, the z-axis is a bit off, and the reported position doesn't match the destination position. It also still has the issue of not stopping at bed level when moved manually.

    On the laptop computer: The reported z-axis value varies, the destination position on G1 and the reported position from M114 don't match up, and the z-axis fails to stop at the bed level on a G29 probe. It also still has the issue of not stopping at bed level when moved manually.
     
  10. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    Some of the behavior you are describing is definitely not normal - that is stating the obvious of course.

    This may turn out to be a firmware issue. Can you describe where you got the firmware you used to update and how you updated it (ie Arduino IDE or MatterControl)?

    I suggest you upload the firmware zip file package you used and post it here.
     
  11. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    I got the firmware from this post:

    http://forums.robo3dprinter.com/index.php?threads/endless-firmware-updates.1938/#post-26117

    I used arduino to update it and I used trial and error with a few different board settings before I got it to upload properly. At first I just hit "upload" and it gave me an error for the incorrect board. I believe selected the mega 2560 board next and it gave me another error. I tried the mega 1280 board and I got another error about the file being too large. I tried the mega 2560 board again and it worked. After I updated the firmware, MatterControl listed it as V3.

    I don't have access to the zip file at the moment but it should be identical to the one in that link.
     
  12. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    The Arduino board Mega2560 is correct when compiling the Marlin firmware.

    Do you have the standard Robo Auto Leveling switches or the Mike Kelly version? I think your Robo would have the standard Auto Leveling if you haven't modded it yourself.


    Reason I ask is I saw this setting in the firmware "configuration.h" file you are using

    const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. //robo

    This may or may not be correct depending on which type of Auto Leveling you are using.


    Read this thread and you will see why there could be a problem with this setting

    http://forums.robo3dprinter.com/index.php?threads/robo3d-autolevel-via-mike-kelly.2574/
     
    #12 Ziggy, Sep 2, 2014
    Last edited by a moderator: Sep 2, 2014
  13. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    I've got the standard Auto Leveling. I tried switching that value anyway and uploading the firmware, but it didn't seem to work as well so I changed the firmware back. When I changed it back, the printer started working better than before but still has issues.

    The endstops initially work when using manual controls. When I hit "home all," it works fine but afterwards the endstops no stop the z-axis on manual controls until I disconnect/reconnect. On the laptop computer, the auto leveling feature also bottoms out the z-axis regardless of whether or not I hit "home all" first. On the desktop, the auto leveling feature seems to work.

    Should I try to get the V5 firmware? Is there a good way to find this firmware?
     
  14. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    This I think is normal when you have Auto Bed leveling in the Marlin firmware. The reason is that Marlin always wants the X and Y axes homed BEFORE it will allow you to move the Z Axis down. Moving Z up should be ok. This is done because Marlin does not know where the extruder is until it homes the X and Y.

    There is also a timeout after you home the X and Y axes (about 30 seconds I think) . After the timeout period expires Marlin wants you to home the X and Y again before it will let you move the Z axis down.

    I know this sounds confusing but the purpose of these restrictions in Marlin is to stop the extruder being sent somewhere it should not go.


    This is more likely to be due to some difference in the way MatterControl is configured on your desktop versus the laptop. First check the version are the same.

    Can you also compare the MatterControl "Configuration" setting on the Desktop v the laptop. The "Automatic Print Leveling" must be disabled on both desktop and laptop otherwise the auto leveling in Marlin cannot work correctly.



    Re V5 firmware - yes you should get the latest version. I looked for it but could not immediately locate the link. Maybe someone else can help please.
     
  15. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    Both computers have the same version of MC: 1.1.5.2797. Automatic print leveling is disabled on both. I'm not sure which configuration settings I should be comparing, but the settings under the configuration tab appear to be identical between the two. I tested auto leveling again and it still works on the desktop but doesn't work on the laptop.

    I've read a post that mentioned getting the V5 firmware via email from support, so I might try there.
     
  16. Ziggy

    Ziggy Moderator
    Staff Member

    Joined:
    Feb 20, 2013
    Messages:
    707
    Likes Received:
    530
    Can't think of a plausible reason why the desktop works but laptop doesn't. Maybe different OS'es causing problems? Maybe try reinstalling MatterControl on the laptop.
     
  17. Paul Yeh

    Paul Yeh Active Member

    Joined:
    Mar 17, 2014
    Messages:
    170
    Likes Received:
    58
    Could it be the laptop can not provide enough power to the USB port?
     
    2 people like this.
  18. Meta

    Meta New Member

    Joined:
    Aug 24, 2014
    Messages:
    9
    Likes Received:
    0
    I think that the reinstall may have fixed it. I tried reinstalling before, but I failed to notice that the settings were being stored in a separate folder which was being retained after uninstalls (Users\NAME\AppData\Local\MatterControl). On the laptop, the printer survived the first step of a quick print leveling test so it's certainly working better than before. I'll post if this issue comes up again after I've had more time to test it. Thanks for all of your help.
     
  19. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,915
    Likes Received:
    7,338
    I can believe that. I hung mine off of a powered USB hub. (I know, only MACs were supposed to need it...)
     
Thread Status:
Not open for further replies.

Share This Page