Welcome to Our Community

Some features disabled for guests. Register Today.

How to continue from false hard limit warning

Discussion in 'CNC Mills/Routers' started by Mouldy, Jan 22, 2018.

  1. Mouldy

    Mouldy New
    Builder

    Joined:
    Aug 23, 2017
    Messages:
    31
    Likes Received:
    2
    Hi all,
    I just had my first hard limit error about 80% through a largish program.
    I WILL BE FITTING FERRITE RINGS to the sensor wires as my next job !!!

    However I have two questions.
    I'm using Universal Gcode Sender Classic nightly build from 16th Jan. Sending to an xPro V2 board
    a) How should I have reset and allowed it to continue? It said "MSG RESET" to continue.
    I didnt have a resume button. Is there a away to reset ie Soft Reset and $X and then let it continue?
    I tried soft reset and $X but pretty sure the WCS coordinates changes so didnt want to continue as it was.

    b) Can I edit the file to the line number it says it got to? Or is there too much relative positioning going on??
    Says it had "Rows In File 21839", "Sent Rows 19064" , "Remaining Rows 2773"
     
  2. viljami

    viljami New
    Builder

    Joined:
    Aug 24, 2017
    Messages:
    16
    Likes Received:
    3
    I don’t think there is a way to resume after triggering a hard limit. GRBL stops the motors immediately after the limit is triggered to mimize damage in case of a crash. When triggering a hard limit it does not decelerate like a normal feed hold would. It means it might lose steps and track of its position. This means that you should not continue the program anyway.

    I set my limit switches to be normally closed (NC) to minimize noise (there is a low impedance path to ground to eat away any noisy voltage spikes during normal operation). It has worked very well even though I use 6 core wires, 4 for the stepper, 2 for the switches.

    I think relative motion is not used in CNC gcode but I’d still be very careful with deleting milled gcode from the beginning. If you don’t turn on you spindle or set the right WCS etc. in the beginning you are going to crash.

    Safest way continue would be to duplicate the CAM operation and set your Top Height to something (1mm less than you have already milled for example) lower than your model top. This way the gcode is regenerated for safe operarion and you don’t waste time machining so much air. This option is available at least in Fusion 360 but probably in other CAMs as well.
     
    Mouldy likes this.
  3. Jonathon Duerig

    Jonathon Duerig Journeyman
    Builder

    Joined:
    Nov 25, 2015
    Messages:
    261
    Likes Received:
    156
    Work coordinate systems survive reboots and resets. So if you consistently use your limit switches as homing switches before starting operations, you should be able to do a reset, re-home, then play your file.

    If this were me, I'd just run it again from the beginning. You would be doing some air cuts, but that is machine time not your time, so go read a book while it does it. You can also disable the limit switch resets (using them only for homing) while you work out the kinks.

    I found that my whole operation became much more efficient when I stopped trying to set up work coordinates for each different piece I wanted to cut. Jogging around, putting the bit at a particular point, then setting the zero all takes time. And it isn't very accurate. Instead, you can set the zero point based on the bed of your machine. Then set up permanent stops at one corner of your machine and set your work coordinates once so that the work coordinate position of your stops doesn't change from job to job. Your machine can even help you cut the stops to a precise location. Then set your CAM software accordingly (tell it that zero is on the bed so it doesn't cut into the bed) and reference your designs from the known corner. Now when you carve, you just push the piece up against the stops, clamp it down, and hit go.

    I almost never need to jog or twiddle with my machine now. The only time I need to move the head by hand is when I'm changing bits and I just have a pre-canned program to move it to a known convenient spot for that. And another to move it back near its homing switches.

    You can set up your machine in the same way now that you have switches.
     
    Mouldy likes this.
  4. Metalguru

    Metalguru Veteran
    Builder

    Joined:
    Dec 29, 2015
    Messages:
    752
    Likes Received:
    548

    I have had a lot of phantom limit switch triggers with GRBL and Arduino boards, especially the Arduino Nano. The pullups in the Arduino are the internal ones which are about 50K ohms, this is just a vague suggestion of a pullup and is very susceptible to noise. I usually put a small cap (.1uF) from each input to ground. It helps, but does not eliminate it. I have also tried putting hard pullups (2K ohms) on the inputs without much success. I have also tried using NC switches and shielded wire to no avail. Have not tried ferrites to date, maybe time to revisit.

    I would have thought the Tiny/G has EMI filters on the limit inputs to the board, but maybe not.

    I have given up putting limit switches on my machines. I have a passive IR light in my garage that comes on when I move around that almost always triggers the limit inputs. Funny thing is, I use Homing Switches all the time and have never had a false trigger on them. Maybe because it ignores them except during the homing cycle.

    MG
     
  5. viljami

    viljami New
    Builder

    Joined:
    Aug 24, 2017
    Messages:
    16
    Likes Received:
    3
    I use a xPRO CNC V3 board which has:
    10k pullup -> 1k-0.1uF low pass filter -> 74HC7541 Schmitt trigger -> Arduino
    It is all in their schematics if you want to look it up.

    You could add something similar or maybe opto couplers. I have not had any issues with NC switches.
     
  6. Joe Santarsiero

    Joe Santarsiero OB addict
    Staff Member Moderator Builder

    Joined:
    Oct 30, 2014
    Messages:
    902
    Likes Received:
    196
    Short answer is yes. I don't use grbl so I'm not familiar with its quirks.
    Typically to continue a job where it left off I would rehome, copy and paste my safe start line, manually jog to just near and above where it left off, start in single line mode, use feedrate overide to ease into the move. You have to reissue the spindle and feed commands that were last picked up. Sometimes these are located thousands of lines prior. This all assumes you're using absolute positioning and your interface allows editing(you could edit a txt file if not).

    Joe
     
    Mouldy likes this.

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice