Somewhat lost about how to set home and start points?? W/ Dual endstops

New Home Forum Mostly Printed CNC – MPCNC Advice – MPCNC Somewhat lost about how to set home and start points?? W/ Dual endstops

Tagged: 

This topic contains 33 replies, has 6 voices, and was last updated by  joedirt 3 weeks, 2 days ago.

Viewing 30 posts - 1 through 30 (of 34 total)
  • Author
    Posts
  • #117934

    joedirt
    Participant

    I know ive made like 10 posts today..im super pumped to get this thing working. This is the one thing im so lost about and im literally working with a 3 Axis Hass today, which is what might be throwing me off the most.

    I have a Rambo 1.4 with dual end-stops and a LCD. 

    My MPCNC isnt totally put together but I got it wired up like 80%(missing z) and fired up the LCD/Rambo board. I dont have the belts connected yet but I should have that done tonight. I got the steppers to move with the LCD and also on Repetier.

    Now the fun part, on the Hass I use at work we move the spindle to where we want and set it using G54-55 on the machines screen. Then in the beginning of the Gcode we tell it which one we want to use.

    So on the MPCNC with ESTLCAM how would you do that? Or how do you do that on the LCD screen. Do you manually move the axis with the lcd screen or Repetier on to the desired home on the part (X,Y,Z) you want to machine and somehow tell it that is its new G54?

     

    Im told that the dual endstops are the “home” but how does it know that, is that considered x0/y0? When you work with ESTLCAM do you have to modify the code every time for a new home? Granted im sure its not as complicated as im making it out to be but maybe you guys can break it down.

     

    Thanks all!!!!!!!!

    #117935

    K Cummins
    Participant

    I’m still in the process of building mine, but based on everything I’ve seen, most MPCNC gcode uses a “raw” G92 to set the machine location. I think the workspace coordinates are relatively new to Marlin, and I’m not sure if they’re enabled by default (go ahead and try sending a G54-59.3 and see if it’ll take it).

    • This reply was modified 1 month ago by  K Cummins.
    #117938

    joedirt
    Participant

    Even if we gotta use G92 that’s fine how do we tell it hey this spot it’s at will be G92 I wonder??

    #117939

    K Cummins
    Participant

    To clarify, “homing” the MPCNC isn’t truly homing, but more squaring up. Homing is manual jogging followed by G92 (with whichever coordinates you’re working with).

    OK, there’s auto-homing for the Z-axis, but that’s so you can home on either the top of the stock or the bottom, but X/Y homing on the workbed is somewhat nonsensical, as you really want to home on the stock, which could be anywhere on the work surface.

    But I assume that’s old hat, if you’re playing with a Hass at work… 😉

    #117940

    K Cummins
    Participant

    As to “how” you get the mill to where you want home? Dealer’s choice. Well, I’d advise strongly against muscling the head over on your own, but otherwise, jogging with the LCD, with Pronterface/Repetier, sending G0’s by hand, whatever rustles your jimmies. Once the mill is in the right place, give it the old G92, and fire off your job.

    1 user thanked author for this post.
    #118011

    joedirt
    Participant

    As to “how” you get the mill to where you want home? Dealer’s choice. Well, I’d advise strongly against muscling the head over on your own, but otherwise, jogging with the LCD, with Pronterface/Repetier, sending G0’s by hand, whatever rustles your jimmies. Once the mill is in the right place, give it the old G92, and fire off your job.

    In regards to messing around with the LCD manually moving the AXIS I noticed there is no negative movement when I scroll the knob over, is that normal? On the Repetier it seems to go back and forth fine.

     

    Thanks so much let me see if I got this work flow correct (I will be using ESLTCAM most likely):

    1. Part is already placed down on wasteboard, Manually move the X/Y over desired starting point and touch off on part with Z.
    2. Type in “G92” in Repetier
    3. Open up ESTLCAM and run code from there making sure the first lines of the GCode it outputs are G92 ect ect ect?? So it can reference what you set in Repetier?
    #118024

    K Cummins
    Participant

    If the first line of your gcode is G92, then you don’t have to worry about sending it by hand. Not that it would hurt, just not really needed. Conversely, if you send G92 by hand, there’s no need to include it in your CAM start-up code. Again, won’t hurt, but not technically needed. Heck, might not be a bad idea to do both until you figure out your workflow, and then optimize from there.

    For the LCD movement, I’ve found that on my controller, using the Discount LCD (not the full graphical one), I can’t go to negative X/Y values either. But then, I have dual endstops enabled, so in theory, I should be auto-homing (really, auto-squaring) my rig, which sets/confirms the machine origin, and from there, the soft limits are enabled, and I can’t go into negative space (or, I assume, exceed the firmware-configured maximums). The only way (maybe) to go “negative” would be to enable workspace coordinates, issue a G53-59.3 to switch to workspace coordinates, and then you might be able to go into “negative” X/Y space. But I don’t know for sure, and Marlin may not be clever enough (yet) to recognize that you’re in workspace and not machinespace. QED.

    1 user thanked author for this post.
    #118034

    Bill
    Participant

    You really don’t want to use Estlcam to actually move things. The first time you try that it will reflash your board with the Estlcam firmware, which doesn’t actually work on our systems. Use Estlcam to generate the gcode, save the code to a file and use Repetier-Host to send the file to your machine.

    2 users thanked author for this post.
    #118037

    joedirt
    Participant

    I have dual endstops enabled, so in theory, I should be auto-homing (really, auto-squaring) my rig, which sets/confirms the machine origin, and from there, the soft limits are enabled, and I can’t go into negative space (or, I assume, exceed the firmware-configured maximums).

    Got it, so as long as my machine homes into the correct corner I should be always positive coming out of that corner with the 4 end stops. Thanks its starting to all make sense now lol

    #118040

    joedirt
    Participant

    You really don’t want to use Estlcam to actually move things. The first time you try that it will reflash your board with the Estlcam firmware, which doesn’t actually work on our systems. Use Estlcam to generate the gcode, save the code to a file and use Repetier-Host to send the file to your machine.

    Ah okay so you will most likely always be coming back to Repetier to communicate to the Rambo board and have it running in the background??

     

    Estlcam is just that a cam system and that’s it doing zero talking to the actual board?

    #118047

    K Cummins
    Participant

    Ah okay so you will most likely always be coming back to Repetier to communicate to the Rambo board and have it running in the background??

    Estlcam is just that a cam system and that’s it doing zero talking to the actual board?

    Correct. Alternatively, save the GCode to an SD card, and run it directly from there. Ryan enables SD support by default, right? Or was that one of the things I had to enable on my build… -[github searching]- Yes, he has SD support enabled by default, so the SD slot on your LCD is supported, and you can run gcode directly from there.

    Personally, I plan on uninstalling Repetier Server, as it harshes my workflow when I’m trying to flash my controller. I’ll be running from the LCD mostly anyway…

    #118055

    Kevin Russell
    Participant

    Here’s the process I’ve been using:

    In Estlcam, I set the zero position to the initial position where I want the cutting head to be located on start.  I usually use the LCD screen so from there I home X and Y to square up the mpcnc.  You can also do this by sending G28 X Y from Repetier or other software.  I manually home Z.  Using the LCD, I then move the cutting head to be the starting point (zero position I set in Estlcam).  Some one time additions were made to program start in Estlcam (below).  I manually move Z to where it’s just barely touching the surface of the material I’m cutting.  From the LCD I select the gcode file I want to cut and turn on the router.

    In Estlcam, I added the following lines to Program Start:

    G92 X0 Y0 Z0 (Sets current location to 0,0,0)
    G00 Z2.0000 (Raises Z 2 mm so the tool doesn’t damage the surface while turning on the router)
    G4 S5 (pauses for 5 seconds so I can turn on the router)

     

    2 users thanked author for this post.
    #118061

    joedirt
    Participant

    Here’s the process I’ve been using:
     I manually home Z.

    So when you say you manually home Z….what home would this be since you will be moving it again to be just over the part? Once you get the Z “homed” do you punch in anything in Repetier at this step?

     

    In Estlcam, I added the following lines to Program Start:

    G92 X0 Y0 Z0 (Sets current location to 0,0,0)

    G00 Z2.0000 (Raises Z 2 mm so the tool doesn’t damage the surface while turning on the router)

    G4 S5 (pauses for 5 seconds so I can turn on the router)

    Is that all you need to get it going asides from the main g code itself?

     

    Thanks again and sorry for the barrage of questions I literally have maybe 1 or 2 hours a night after work to mess with this thing so I like to hit it with any questions I have knocked out ahead of time.

    #118084

    Bill
    Participant

    You manually home Z by either using the jog controls to move Z down until the bit just touches your work piece or by homing to a touch plate. If you’re going to use a touch plate then it’s easiest if it’s really thin. Ryan suggests silver tape, I’ve used aluminum foil in the past.

    You can also set Kevin’s initial code into a macro button in Repetier-Host (though you don’t need the G4 line) and just hit the button when you have everything in the zero position, then power up the router and start the work code.

    1 user thanked author for this post.
    #118102

    Kevin Russell
    Participant

    Here’s the process I’ve been using:

    I manually home Z.

    So when you say you manually home Z….what home would this be since you will be moving it again to be just over the part? Once you get the Z “homed” do you punch in anything in Repetier at this step?

    I don’t home Z until I have the cutting head positioned where I want it to start.  I initially just make sure it’s high enough so it doesn’t hit the project surface while homing x and y.  I hand move z if the stepper isn’t held, else, I move z using the lcd control or cnc software until just barely touching the work surface.  After that I proceed with running the gcode.

    In Estlcam, I added the following lines to Program Start:

    G92 X0 Y0 Z0 (Sets current location to 0,0,0)

    G00 Z2.0000 (Raises Z 2 mm so the tool doesn’t damage the surface while turning on the router)

    G4 S5 (pauses for 5 seconds so I can turn on the router)

    Is that all you need to get it going asides from the main g code itself?

    Thanks again and sorry for the barrage of questions I literally have maybe 1 or 2 hours a night after work to mess with this thing so I like to hit it with any questions I have knocked out ahead of time.

    You don’t actually even need any of that additional code.  You can just run your gcode as it.  I use G92 because it allows me to set my home position where I want it to be instead of always having to use the x & y endstop location.  I started using the G0 because I’ve nicked the work surface a couple of times in a hurry to get the router turned on.  The G4 gives me extra time to get the router turned on before the bit makes first contact with the surface.  In the near future, I’m going to hook up a relay to auto turn on and off the spindle eliminating the need for G4.

     

    1 user thanked author for this post.
    #118108

    joedirt
    Participant

    You don’t actually even need any of that additional code. You can just run your gcode as it. I use G92 because it allows me to set my home position where I want it to be instead of always having to use the x & y endstop location. I started using the G0 because I’ve nicked the work surface a couple of times in a hurry to get the router turned on. The G4 gives me extra time to get the router turned on before the bit makes first contact with the surface. In the near future, I’m going to hook up a relay to auto turn on and off the spindle eliminating the need for G4.

    Im in the same mindset as im used to operating my works 3 Axis mill the same way. So the MPCNC will always have its hard corded “home” aka whereever the end stops are.

    And you will have to set your G92 with every work piece, which is how im used to working anyways. The main difference is we used a probe with a dial indicator to find dead center which is where we normally start our programs.

    With wood not being nearly as critical I can most likely eyeball it. I would like to get a z probe going but for now im sure I can use a feeler gauge or something. That Dwell code is a great little idea and also lifting off the part as well.

     

    Im pretty pumped to try this stuff out when I get home.

    #118155

    Barry
    Participant

    Personally, I plan on uninstalling Repetier Server, as it harshes my workflow when I’m trying to flash my controller. I’ll be running from the LCD mostly anyway…

    Unless you were using it for other things, it never should have been installed in the first place.

    #118166

    K Cummins
    Participant

    Personally, I plan on uninstalling Repetier Server, as it harshes my workflow when I’m trying to flash my controller. I’ll be running from the LCD mostly anyway…

    Unless you were using it for other things, it never should have been installed in the first place.

    It installed as part of the Repetier-Host installation, IIRC. Maybe it was a “strong recommendation” during r-host install, and I accepted. It wasn’t my intention to install it, but I find myself killing it in the task manager to upload firmware every time I rebuild it… 😛

    #118167

    joedirt
    Participant

    So last night I got the X and Y steppers all sorted out moving in the same direction. I checked and verified each end stop registers open and closed on Repetier with a M119 code.

    On my LCD screen theres an option to do the following….

    Xhome

    Yhome

    Autohome (i think)

    I hit each one on the LCD screen and the Axis’s would hit the micro switches back off and come back slowly which I think is what its supposed to do. If I hit Autohome it will do both axis. Am I supposed to hit Autohome like that to get the motors in “sync” before every cut?

     

    If I hit Home on Repetier it will home and them error out saying that the printer needs to be restarted after a few mins. Not sure how critical this is since the LCD works.  Also noticed that on Repeteirs manual controller it wont go past I think like 200 on the graphical controller. Is there some settings on Repetier im missing?

     

    I did the pen test last night without the Z hooked up though, and I hit it right after doing a Autohome on the LCD. It went right from that corner it autohomed at starting moving and everything looks as it should!

     

    #118231

    Kevin Russell
    Participant

    I home upon turning on the machine.  I don’t home again unless I waited too long and the steppers have timed out and have been shut down or I messed up and the steppers skipped.  I believe I saw the timeout was 1200 seconds in the code.  I only home x and y since I don’t have a z end stop.  Auto home homes x, y and z.

    When you home in repetier, it homes x, y and z unless you home them individually.  If you have the gantry over 200 mm from x and y home, the firmware will error out homing.  You’ll need to edit configuration.h and change #define X_BED_SIZE 200 and #define Y_BED_SIZE 200 to the size of your bed.  If you don’t have a z endpoint, don’t home z or you’ll get the same error.

     

    1 user thanked author for this post.
    #118234

    joedirt
    Participant

    I home upon turning on the machine. I don’t home again unless I waited too long and the steppers have timed out and have been shut down or I messed up and the steppers skipped. I believe I saw the timeout was 1200 seconds in the code. I only home x and y since I don’t have a z end stop. Auto home homes x, y and z.

    When you home in repetier, it homes x, y and z unless you home them individually. If you have the gantry over 200 mm from x and y home, the firmware will error out homing. You’ll need to edit configuration.h and change #define X_BED_SIZE 200 and #define Y_BED_SIZE 200 to the size of your bed. If you don’t have a z endpoint, don’t home z or you’ll get the same error.

    You are the man!!!!!!!!!! I have a bed size of 24″ X 36″ so ill have to find that config file and tweak it!

     

    I dont have a Z home switch, come to think of it I dont believe ive seen anyone with a Z endstop…

    #118248

    Bill
    Participant

    I dont have a Z home switch, come to think of it I dont believe ive seen anyone with a Z endstop…

    Z endstops are usually touch plates. You clip a wire to your bit, clip a wire to a piece of foil or other metal, but the other ends in the Z_MIN endstop S and – and set the foil under the bit, on top of your work piece. A Z home then drops down until the bit touches the foil and you have an accurate 0 right at the top of your work. Jog Z up enough to keep things from bumping together and you are good to go.

    1 user thanked author for this post.
    #118274

    joedirt
    Participant

    I dont have a Z home switch, come to think of it I dont believe ive seen anyone with a Z endstop…

    Z endstops are usually touch plates. You clip a wire to your bit, clip a wire to a piece of foil or other metal, but the other ends in the Z_MIN endstop S and – and set the foil under the bit, on top of your work piece. A Z home then drops down until the bit touches the foil and you have an accurate 0 right at the top of your work. Jog Z up enough to keep things from bumping together and you are good to go.

    Can you somehow do a Z MAX so it doesn’t accidentally keep going up and up and push the ‘z’ to the ceiling? Either a physical switch or hard coded in the marlin firmware with MM value?

    • This reply was modified 4 weeks, 1 day ago by  joedirt.
    #118279

    K Cummins
    Participant

    Can you somehow do a Z MAX so it doesn’t accidentally keep going up and up and push the ‘z’ to the ceiling?

    You could… But it would just unthread your lead screw and push your Z axis out of your gantry if your lead screw is long enough. If it’s shorter than your Z axis rails, then even if you unthread your screw, it won’t have enough travel to push the Z axis out of the center assembly. If it’s as long as your rails (or longer), you could push the whole Z axis out of the assembly, which could be messy…

    But I’ll circle back to the fact that (in general) CNC doesn’t provide the safety rails that 3D printers tend to. You have to take responsibility to make sure you’re staying within the constraints of your machine, and then be responsible enough to attend to the machining process to shut things down if it all goes pear-shaped.

    But sure, you could rig up a Z-max endstop. Maybe at the bottom of the Z axis/toolmount. Then you’d have to enable it in the firmware. Personally, I’d say keep your lead screw short enough not to fully disengage the Z axis if it unthreads. You shouldn’t be using that much Z travel anyway… 😉

    Full disclosure: as it stands, my lead screw is longer than my Z axis; I need to cut a couple of inches off before I finish assembling things.

    #118280

    joedirt
    Participant

    Can you somehow do a Z MAX so it doesn’t accidentally keep going up and up and push the ‘z’ to the ceiling?

    You could… But it would just unthread your lead screw and push your Z axis out of your gantry if your lead screw is long enough. If it’s shorter than your Z axis rails, then even if you unthread your screw, it won’t have enough travel to push the Z axis out of the center assembly. If it’s as long as your rails (or longer), you could push the whole Z axis out of the assembly, which could be messy…

    But I’ll circle back to the fact that (in general) CNC doesn’t provide the safety rails that 3D printers tend to. You have to take responsibility to make sure you’re staying within the constraints of your machine, and then be responsible enough to attend to the machining process to shut things down if it all goes pear-shaped.

    But sure, you could rig up a Z-max endstop. Maybe at the bottom of the Z axis/toolmount. Then you’d have to enable it in the firmware. Personally, I’d say keep your lead screw short enough not to fully disengage the Z axis if it unthreads. You shouldn’t be using that much Z travel anyway… 😉

    Full disclosure: as it stands, my lead screw is longer than my Z axis; I need to cut a couple of inches off before I finish assembling things.

    Very good points. When I put in the leadscrew I wasnt sure how much to cut off so I left enough on it so that the screw would not go past the router bit and could cut more later. Clearly I need to cut a bunch more off it. I built it to have roughly 3 inches of travel so I just need to burn into my mind never ever go past 70mm and watch for typos lol.

    I would like to wire up an oh shit button but for now its gonna be on a switch on a surge protector for these moments.

    #118284

    K Cummins
    Participant

    I wouldn’t cut a bunch off of your lead screw. Just keep it a bit shorter than your Z rails. Maybe see where the top bearings still engage, and keep it around there. Granted, T8’s are pretty darned cheap, so hacking it down probably isn’t the end of the world, but if you cut off too much, you lose the Z travel you built into your Z axis.

    Although talking it out makes me think that, for stability, you don’t ever want the Z rails out of the bottom bearings anyway, so if you shorten your lead screw to the point that it unthreads at or just after that point, you have a safety factor built in (even if your Z runs away, it should remain captured by the gantry), but can use your full designed Z travel. If you want to upgrade/lengthen your Z axis, you’ll have to spend another $10-15 on a new lead screw along with the rail material…

    And if I’m blowing smoke, I’m hoping @vicious1 or some other more knowledgeable personage will come along and correct me… 🙂

    #118285

    joedirt
    Participant

    You’ll need to edit configuration.h and change #define X_BED_SIZE 200 and #define Y_BED_SIZE 200 to the size of your bed.  If you don’t have a z endpoint, don’t home z or you’ll get the same error.

    Im blind and cant find the file for this setting. Can somebody help me out with what folder I can find this config file in? Or is it in the settings of Repetier?

    #118286

    K Cummins
    Participant

    Im blind and cant find the file for this setting. Can somebody help me out with what folder I can find this config file in? Or is it in the settings of Repetier?

    It’s in the Marlin source. If you’re using Ryan’s latest source (which is pretty close to the latest Marlin 2.x-bugfix with updated configs), it’s in the Marlin\Marlin directory (should be two config files, a makefile, a couple of misc files, and two directories, src and lib). Then you get to recompile the firmware and flash to your board! Have you been doing that already? It’s not difficult, but can seem daunting. I can do it, but I am a very intuitive computer/technology person, and it would behoove you to get someone else to help you with that (or to find other threads on the subject to read), if you need help. I’m your worst-case math/engineering TA. I do a lot of hand-waving of essential steps and “obvious” assumptions… 😛

    1 user thanked author for this post.
    #118291

    joedirt
    Participant

    Im blind and cant find the file for this setting. Can somebody help me out with what folder I can find this config file in? Or is it in the settings of Repetier?

    It’s in the Marlin source. If you’re using Ryan’s latest source (which is pretty close to the latest Marlin 2.x-bugfix with updated configs), it’s in the Marlin\Marlin directory (should be two config files, a makefile, a couple of misc files, and two directories, src and lib). Then you get to recompile the firmware and flash to your board! Have you been doing that already? It’s not difficult, but can seem daunting. I can do it, but I am a very intuitive computer/technology person, and it would behoove you to get someone else to help you with that (or to find other threads on the subject to read), if you need help. I’m your worst-case math/engineering TA. I do a lot of hand-waving of essential steps and “obvious” assumptions… 😛

    Well you had me until recompiling and flashing lol. I think I can wing it (I def done my share of computer tinkering…(flashing android roms, emulators, arcade cab front end configs, installing and running stand alone ecus in a few cars). However im a bit overwhelmed fixing the stupid stuff I keep finding with my build, understanding how to use ESTLCAM, and working with the damn endstops. Im gonna hold off from reflashing for now and leave it alone. Its working pretty well so far and I would hate to throw another kink in the works before I routed anything. I will be coming back to this once I feel confident in everything.

    #118608

    Bill
    Participant

    One more thing to note… Endstops don’t stop the machine at the end of it’s travel. They are only used for homing without quite a bit of modifying the firmware.

    1 user thanked author for this post.
Viewing 30 posts - 1 through 30 (of 34 total)

You must be logged in to reply to this topic.