My homing microswitches have been held in place by hot glue for over a year... Hahah. Your solution is much, much nicer. As for your coolant spray, one thing that might help is to replace M3/M5 with an `o call` and write a dedicated subroutine for starting/stopping the spindle. Then you can throw in an M7/M9 alongside it, and have that trigger a solenoid for the air, so you always have the two working together. Your subroutine may really just be those two lines too - the one for my plasma gets a bit more involved with the pierce sequence nonsense. You could do that in HAL or in hardware too, but the subroutine is the most straightforward, IMO.
"What project would be complete without a little Hot Snot?" - D. Jones I'll look at modifying the post processor. I added other lines to pop up the description of the tool that's being requested, so I'm pretty sure I can do this. It's a great idea, thanks!
Hello Kent. A nice little project. I am also using - factory installed (Euchner, Germany) - limit switches and I don't want to miss them. I am also using several XYZ zero-point settings, that can be selected like work offsets. Then, I can use e.g. a rotary table (1st XYZ zero) in combination with a wise (2nd XYZ zero). This allows me to jump back and forth quickly without fiddling around with translated coordinates. Stefan.
Hi Stefan, do I understand correctly that there is one limit switch per axis and the other zero points are distance offsets? Or is it that each zero position is another limit switch? Thank you, and have a wonderful weekend!
@@kentvandervelden Hello Kent. That is correct, one limit switch per axis. The work coordinate zero points are software driven and can be set up/picked from a pull down menu. Although, the CAM software I am using is not my preferred choice and my plan is to replace it "soon" (you know, it is on my long project list). Also, enjoy the weekend. Stefan
Not sure where LinuxCNC comes into play here, since what you have done applies to any homing setup. Your point about not getting on the "back side" of the homing limit is a good one to make since for the Takamatsu that we upgraded, it used a trapezoidal target that eventually ended up with the axis on the wrong side of the target. Multiple times. And you don't want to be on the wrong side of it. :) Not sure what Takamatsu was thinking when they designed it this way, but I am sure that they had a good reason for doing it so. We replaced them with targets that would maintain the home switch until it hit the overtravel limit. Hitting the overtravel limits in either direction disables that axis in both directions. It would be nice if it disabled the drive in the offending direction only, but these are old analog Yaskawa drives and that is a bit too much to reasonably expect from them. So we installed a discrete "get out of (overtravel) jail free" button that bypasses the overtravels for the Z & X axes. You can then use the MPG handwheel to move off of the limit. As an aside, the drives don't come with an enable input, but by opening the power to the overtravel relays on the drive we effectively achieved the same thing.
Thank you, that's very interesting! I wondered what was common place. I have a few Parker linear motors and their home too is in a position that I can't see how one could possibly safely home from all starting positions, and the linear motors can move ~5m/s. Regarding, the mention of LinuxCNC, I probably meant to show more about the setup, configuration, and such. The title expresses intention and then reality of wrapping up sets in :) Best wishes
Thank you Chris, it's a great hobby and anything that will give a little information back to the controlled about the world it's operating in is pretty cool.
4 years without homing switches :) not bad :) i think same here, 4 or 5 :) i have much more spare space so i don't really miss it. and mach3 does remember the position after i turn the machine off and on, with soft limits works just fine. would be good to have but as you mentioned in the video, some people are just too busy to install it :D
Hi Fox, do your new servos have multi-turn absolute encoders? That would be an awesome way to never need the home switches. I should test how well position is retained after a power cycle. I would not trust my Z, because the head can drop without power, but X and Y should be pretty good, certainly less than 90deg turn of the ballscrew, which is where the motors would fault, and probably less than 1 degree unless something was wrong. You make a good point, maybe homing on X and Y is not so critical unless recovering from a crash.
@@kentvandervelden my servos have just incremental encoders :( i wish they where absolute. on my previous cnc i had homing switches installed but when i moved to my granite cnc, i used signal from the homing switches to use as a probe to set end mill on a work piece. when the end mill touches the stock it stops. repeatability is around 5 microns. and you cut with end mill you used to probe. quite convenient. today remaining parts should arrive to upgrade my cnc, once i have new controller i will be able to install homing switches. because i will have much easier access to the pins
Thank you. I had lever-type micro switches on a camera dolly I made and I kept running into and bending them up. The inductive switches are sensitive to chips, which is probably OK for a home switch, but might cause trouble if a chip lands on one used as a limit switch. I should have checked how large of a chip was needed... the standard target in the manual is 1mm think and 6mm square, but I bet something much smaller could trigger the switch.
@@kentvandervelden I'll be following to see if you have any problems. Yea I have the lever switches also. I already went through one z switch somehow. I'm looking to upgrade to something nicer for sure.
Do you have index outputs for the encoders of your motors? You could link the encoder signal along with the limit switch so that you get the best of repeatability. Mine has mechanical limit switches, so they might not be that repeatable, it matters mostly for Z axis if you keep your tools measured between the turn off's of the machine. That's my next step for my syil x7 mill, now I am studying how I can input other data from the drivers into linuxcnc. One value I would want would be torque percent for each motor..
Hi Vasi, the index pulse is not available from the drivers... however, with some hacking... Which drivers do you have? I have code on GitHub for pulling data from Leadshine EasyServo and DMM DYN4 drivers into LinuxCNC, including torque, position, and error, if the driver has it. The torque measurement from the DYN4 changes a lot and may require conditioning to be usable on screen, perhaps a low pass filter. Thank you
@@kentvandervelden My drivers are servo AC, but not so fancy; they are Adtech QS7 1kw drivers. They have an ethernet port but I don't know exactly how to extract any information from that port. I am using a mesa 7i76e board, I was hoping I can get some analog output from the driver that represents the torque, but it seems they have no output for that. Or I was hoping to link the drivers to a mesa board that will provide this information into linuxcnc.. Btw, I've sent you a facebook friend request, if you wanna discuss more on these topics! :D
@@LikeFactoryMade Looks like a nice servo driver. The Ethernet port is a serial port with dedicated pins for RS485 and RS232. I had hoped you could use a Cisco programming cable, but unfortunately even the RS232 pinout of the drive is different from the Cisco cable. (I use the cable with Leadshine drives.) The manual does not document the serial protocol but I'll make a video on reversing the serial protocol of the DMM drive and if you can run the monitor the Windows driver software, you might be able to follow the video to extract torque. The manual pictures suggest the drive software can read torque, but we don't know if the measurement is realtime... Have a wonderful weekend!
Neat as always! How would you manage to get the index pulse from these motors? (you are using closed-loop steppers, aren't you?) I am planing to add a single slot wheel to my steppers shaft to use it as index and improve homing. What do you think?
Thank you Bruno! The encoder signals are not passed through. I've meant to check if there is an index pulse... I'll do that soon. While having an index pulse would improve homing, would need to consider backlash which would dominate the advantage of an index pulse on my machine. Your method or maybe even a hall sensor sounds great. Thank you for the reminder.
Thank you Turgay, my day is brightened to see a comment from you. You're one of the first people to comment on any of my videos, years ago, giving motivation.
I want to ask if it is possible to setup limit switches for all axis (left & Right, Up & Down, Front & Back) and also homing switches at the same time, the idea is to install cheap limit switches for the machine protection and to install more precision Homing mechanism which will be more expensive just for Homing. I do not know really if it worth it or not, or even if it is possible or not!
That may be the preferred configuration. Many breakout boards have too inputs to use a dedicated input for each switch. But one could use a dedicated input for each home switch and then a single input for serially wired limit switches. Alternatively, the limit switches could we be wired as part of the estop loop. Then, once a limit is exceeded, power could be killed. The Mesa cards are examples of breakout boards with an abundance of I/O and could have a dedicated input per switch. Hope this helps. Best wishes
@@kentvandervelden Thanks for reply, I remember when I had DIY cnc, I used Linux cnc and I had 2 parallel ports and I wanted to configure the same mentioned configurations but I really couldn't do it, I do not remember why really, but I remember it wasn't easy (at least for me) to do it from the configuration wizard at that time!
The configuration wizards are helpful, but there seems to be preferred hardware and methods. Use anything else and it can get complex, but everyone is helpful on the forums. Regardless, I've spent way more hours than I wish I had configuring LinuxCNC. What controller do you use now?
@@kentvandervelden Unfortunately, my machine is no longer ready for use, I took it apart to make some modifications and upgrades and it is still a mess, I really just used a modern PC with 2 parallel ports cards and that's it!
4 ปีที่แล้ว +1
Nice video and great support in comments 👍 may be a little more details on linuxcnc config in a follow up?
Thank you, that's a great idea! I should have included at least a mention. I'll make a video about touching off tools soon, and will show the home switch parts of the configuration too. With the Mesa cards, and the associated LinuxCNC wizard, much of the config is written for one. Best practice is probably to have the wizard do most of the work and then use Linux diff and patch to apply the parts that are not possible to configure with the wizard. I think to get the home switches working, fives lines were needed in the .ini file per axis and if I had not made changes to my config to support datalogging the wizard probably would have added them. I keep the configuration updated here: github.com/kentavv/kvvcreates/tree/master/linuxcnc/configs/pm25mv_mill/mesa/configs/my_LinuxCNC_machine
Thank you for the suggestion. I only used PNCconfig for the first Mesa setup, and after than modified the generated file for each new configuration. I've always had great success asking questions on the LinuxCNC forums.
@@kentvandervelden Thanks for reply, I have existing 4 axis X Y1 Y2 Z gantry router and mach3 running on windows computer, I want to try out Linuxcnc with mesa 7i92 ethernet IO card, and already wired up the mesa card but can't find any tutorial to set up and configure the gantry on mesa with 4 home switches. I do find couple of videos on how to setup mesa card but none of them explain how to edit hal and ini files for gantry homing. So any video for gantry configuration will be a great help. Thanks again.
Hi Matt, if the sensor is active when homing starts, the axis is slowly backed off, opposite the search direction, until the sensor is cleared, and then reverses and slowly approaches the sensor. The initial target search of the homing operation is skipped. This is why the sensor must never be behind the sensor, because the axis would move blindly towards the end of travel, away from the target. Since I wanted the center of the X and Y travels to be the origin, I considered making long targets that were a little less than half the travel distance, minimizing the initial search distance. Half the time the sensor would likely start over the top of the target. Unlike a limit switch, the home switch can be triggered in normal operation without interruption. Hope this helps.
Kent VanderVelden I wondered if the controller was constantly monitoring the state of the sensor or if it would only be triggered by the change of the sensors logic state, i.e going from low to high, thank you for clarifying... You mention the precision of the sensor being within a millimetre, is this of any practical use? Would you not normally be zero-ing off your vice or workpiece? I ask as there are limit switches available down to micron/s repeatability for reasonable money, would that be of any use for absolute positioning, or are the limit switches more often used as a safety/protection feature?
These inductive sensors have a reproducibility rating of < 5% of 1mm (assuming a steel target.) That's good, but then orientated the ballscrew to the index pulse and one is spot on. I'm using homing to know distances to table features on startup, ballpark measurements. Maybe could avoid some some touch offs, but without the index pulse, probably should still touch off. Please send a link to the sensor you mention. Thank you
My homing microswitches have been held in place by hot glue for over a year... Hahah. Your solution is much, much nicer.
As for your coolant spray, one thing that might help is to replace M3/M5 with an `o call` and write a dedicated subroutine for starting/stopping the spindle. Then you can throw in an M7/M9 alongside it, and have that trigger a solenoid for the air, so you always have the two working together. Your subroutine may really just be those two lines too - the one for my plasma gets a bit more involved with the pierce sequence nonsense.
You could do that in HAL or in hardware too, but the subroutine is the most straightforward, IMO.
"What project would be complete without a little Hot Snot?" - D. Jones
I'll look at modifying the post processor. I added other lines to pop up the description of the tool that's being requested, so I'm pretty sure I can do this. It's a great idea, thanks!
Hello Kent. A nice little project. I am also using - factory installed (Euchner, Germany) - limit switches and I don't want to miss them. I am also using several XYZ zero-point settings, that can be selected like work offsets. Then, I can use e.g. a rotary table (1st XYZ zero) in combination with a wise (2nd XYZ zero). This allows me to jump back and forth quickly without fiddling around with translated coordinates. Stefan.
Hi Stefan, do I understand correctly that there is one limit switch per axis and the other zero points are distance offsets? Or is it that each zero position is another limit switch? Thank you, and have a wonderful weekend!
@@kentvandervelden Hello Kent. That is correct, one limit switch per axis. The work coordinate zero points are software driven and can be set up/picked from a pull down menu. Although, the CAM software I am using is not my preferred choice and my plan is to replace it "soon" (you know, it is on my long project list). Also, enjoy the weekend. Stefan
Not sure where LinuxCNC comes into play here, since what you have done applies to any homing setup.
Your point about not getting on the "back side" of the homing limit is a good one to make since for the Takamatsu that we upgraded, it used a trapezoidal target that eventually ended up with the axis on the wrong side of the target. Multiple times. And you don't want to be on the wrong side of it. :)
Not sure what Takamatsu was thinking when they designed it this way, but I am sure that they had a good reason for doing it so. We replaced them with targets that would maintain the home switch until it hit the overtravel limit.
Hitting the overtravel limits in either direction disables that axis in both directions. It would be nice if it disabled the drive in the offending direction only, but these are old analog Yaskawa drives and that is a bit too much to reasonably expect from them. So we installed a discrete "get out of (overtravel) jail free" button that bypasses the overtravels for the Z & X axes. You can then use the MPG handwheel to move off of the limit.
As an aside, the drives don't come with an enable input, but by opening the power to the overtravel relays on the drive we effectively achieved the same thing.
Thank you, that's very interesting! I wondered what was common place. I have a few Parker linear motors and their home too is in a position that I can't see how one could possibly safely home from all starting positions, and the linear motors can move ~5m/s. Regarding, the mention of LinuxCNC, I probably meant to show more about the setup, configuration, and such. The title expresses intention and then reality of wrapping up sets in :) Best wishes
@@kentvandervelden And I meant to mention that your craftmanship on your limits was outstanding! Very nicely done. :)
Looks great, Kent! I went down a similar path my G0704. Homing is such a simple yet critical process.
Thank you Chris, it's a great hobby and anything that will give a little information back to the controlled about the world it's operating in is pretty cool.
4 years without homing switches :) not bad :) i think same here, 4 or 5 :) i have much more spare space so i don't really miss it. and mach3 does remember the position after i turn the machine off and on, with soft limits works just fine. would be good to have but as you mentioned in the video, some people are just too busy to install it :D
Hi Fox, do your new servos have multi-turn absolute encoders? That would be an awesome way to never need the home switches. I should test how well position is retained after a power cycle. I would not trust my Z, because the head can drop without power, but X and Y should be pretty good, certainly less than 90deg turn of the ballscrew, which is where the motors would fault, and probably less than 1 degree unless something was wrong. You make a good point, maybe homing on X and Y is not so critical unless recovering from a crash.
@@kentvandervelden my servos have just incremental encoders :( i wish they where absolute. on my previous cnc i had homing switches installed but when i moved to my granite cnc, i used signal from the homing switches to use as a probe to set end mill on a work piece. when the end mill touches the stock it stops. repeatability is around 5 microns. and you cut with end mill you used to probe. quite convenient.
today remaining parts should arrive to upgrade my cnc, once i have new controller i will be able to install homing switches. because i will have much easier access to the pins
nice... Thanks for the video. I hate the micro switches i installed on my machine. I do like the way yours came out. Good job.
Thank you. I had lever-type micro switches on a camera dolly I made and I kept running into and bending them up. The inductive switches are sensitive to chips, which is probably OK for a home switch, but might cause trouble if a chip lands on one used as a limit switch. I should have checked how large of a chip was needed... the standard target in the manual is 1mm think and 6mm square, but I bet something much smaller could trigger the switch.
@@kentvandervelden I'll be following to see if you have any problems. Yea I have the lever switches also. I already went through one z switch somehow. I'm looking to upgrade to something nicer for sure.
Do you have index outputs for the encoders of your motors?
You could link the encoder signal along with the limit switch so that you get the best of repeatability. Mine has mechanical limit switches, so they might not be that repeatable, it matters mostly for Z axis if you keep your tools measured between the turn off's of the machine.
That's my next step for my syil x7 mill, now I am studying how I can input other data from the drivers into linuxcnc. One value I would want would be torque percent for each motor..
Hi Vasi, the index pulse is not available from the drivers... however, with some hacking...
Which drivers do you have? I have code on GitHub for pulling data from Leadshine EasyServo and DMM DYN4 drivers into LinuxCNC, including torque, position, and error, if the driver has it. The torque measurement from the DYN4 changes a lot and may require conditioning to be usable on screen, perhaps a low pass filter.
Thank you
@@kentvandervelden My drivers are servo AC, but not so fancy; they are Adtech QS7 1kw drivers. They have an ethernet port but I don't know exactly how to extract any information from that port. I am using a mesa 7i76e board, I was hoping I can get some analog output from the driver that represents the torque, but it seems they have no output for that. Or I was hoping to link the drivers to a mesa board that will provide this information into linuxcnc..
Btw, I've sent you a facebook friend request, if you wanna discuss more on these topics! :D
@@LikeFactoryMade Looks like a nice servo driver. The Ethernet port is a serial port with dedicated pins for RS485 and RS232. I had hoped you could use a Cisco programming cable, but unfortunately even the RS232 pinout of the drive is different from the Cisco cable. (I use the cable with Leadshine drives.) The manual does not document the serial protocol but I'll make a video on reversing the serial protocol of the DMM drive and if you can run the monitor the Windows driver software, you might be able to follow the video to extract torque. The manual pictures suggest the drive software can read torque, but we don't know if the measurement is realtime... Have a wonderful weekend!
Neat as always! How would you manage to get the index pulse from these motors? (you are using closed-loop steppers, aren't you?) I am planing to add a single slot wheel to my steppers shaft to use it as index and improve homing. What do you think?
Thank you Bruno! The encoder signals are not passed through. I've meant to check if there is an index pulse... I'll do that soon. While having an index pulse would improve homing, would need to consider backlash which would dominate the advantage of an index pulse on my machine. Your method or maybe even a hall sensor sounds great. Thank you for the reminder.
@@kentvandervelden I will add a index disk in my next project to check how well it work. Thanks!
very good and clean job Kent. ;-)
Thank you Turgay, my day is brightened to see a comment from you. You're one of the first people to comment on any of my videos, years ago, giving motivation.
I want to ask if it is possible to setup limit switches for all axis (left & Right, Up & Down, Front & Back) and also homing switches at the same time, the idea is to install cheap limit switches for the machine protection and to install more precision Homing mechanism which will be more expensive just for Homing.
I do not know really if it worth it or not, or even if it is possible or not!
That may be the preferred configuration. Many breakout boards have too inputs to use a dedicated input for each switch. But one could use a dedicated input for each home switch and then a single input for serially wired limit switches. Alternatively, the limit switches could we be wired as part of the estop loop. Then, once a limit is exceeded, power could be killed. The Mesa cards are examples of breakout boards with an abundance of I/O and could have a dedicated input per switch. Hope this helps. Best wishes
@@kentvandervelden
Thanks for reply, I remember when I had DIY cnc, I used Linux cnc and I had 2 parallel ports and I wanted to configure the same mentioned configurations but I really couldn't do it, I do not remember why really, but I remember it wasn't easy (at least for me) to do it from the configuration wizard at that time!
The configuration wizards are helpful, but there seems to be preferred hardware and methods. Use anything else and it can get complex, but everyone is helpful on the forums. Regardless, I've spent way more hours than I wish I had configuring LinuxCNC. What controller do you use now?
@@kentvandervelden
Unfortunately, my machine is no longer ready for use, I took it apart to make some modifications and upgrades and it is still a mess, I really just used a modern PC with 2 parallel ports cards and that's it!
Nice video and great support in comments 👍 may be a little more details on linuxcnc config in a follow up?
Thank you, that's a great idea! I should have included at least a mention. I'll make a video about touching off tools soon, and will show the home switch parts of the configuration too. With the Mesa cards, and the associated LinuxCNC wizard, much of the config is written for one. Best practice is probably to have the wizard do most of the work and then use Linux diff and patch to apply the parts that are not possible to configure with the wizard. I think to get the home switches working, fives lines were needed in the .ini file per axis and if I had not made changes to my config to support datalogging the wizard probably would have added them. I keep the configuration updated here:
github.com/kentavv/kvvcreates/tree/master/linuxcnc/configs/pm25mv_mill/mesa/configs/my_LinuxCNC_machine
Walk through on PNCconfig for home switches please. Thanks in advance.
Thank you for the suggestion. I only used PNCconfig for the first Mesa setup, and after than modified the generated file for each new configuration. I've always had great success asking questions on the LinuxCNC forums.
@@kentvandervelden Thanks for reply, I have existing 4 axis X Y1 Y2 Z gantry router and mach3 running on windows computer, I want to try out Linuxcnc with mesa 7i92 ethernet IO card, and already wired up the mesa card but can't find any tutorial to set up and configure the gantry on mesa with 4 home switches. I do find couple of videos on how to setup mesa card but none of them explain how to edit hal and ini files for gantry homing. So any video for gantry configuration will be a great help. Thanks again.
0ver trave.... nice
Hi this what i have to work on, nice job and / nice hair cut :)
Hair cut? What hair? :)
What happens if you home the machine when the sensor is already lined up on the target block?
Hi Matt, if the sensor is active when homing starts, the axis is slowly backed off, opposite the search direction, until the sensor is cleared, and then reverses and slowly approaches the sensor. The initial target search of the homing operation is skipped. This is why the sensor must never be behind the sensor, because the axis would move blindly towards the end of travel, away from the target. Since I wanted the center of the X and Y travels to be the origin, I considered making long targets that were a little less than half the travel distance, minimizing the initial search distance. Half the time the sensor would likely start over the top of the target. Unlike a limit switch, the home switch can be triggered in normal operation without interruption. Hope this helps.
Kent VanderVelden I wondered if the controller was constantly monitoring the state of the sensor or if it would only be triggered by the change of the sensors logic state, i.e going from low to high, thank you for clarifying... You mention the precision of the sensor being within a millimetre, is this of any practical use? Would you not normally be zero-ing off your vice or workpiece? I ask as there are limit switches available down to micron/s repeatability for reasonable money, would that be of any use for absolute positioning, or are the limit switches more often used as a safety/protection feature?
These inductive sensors have a reproducibility rating of < 5% of 1mm (assuming a steel target.) That's good, but then orientated the ballscrew to the index pulse and one is spot on. I'm using homing to know distances to table features on startup, ballpark measurements. Maybe could avoid some some touch offs, but without the index pulse, probably should still touch off. Please send a link to the sensor you mention. Thank you
Good Job!)
Thank you :)
duuuuuude painted lines homing??? 4 years??? sounds like pain
June 30, 2016. There were also painted lines for end of travel, with and without the vise mounted :)