The diagrams are really nice, and what a wonderful outro! You'll already know this, but I've found opto couplers also help to regenerate a noisy signal and for level conversions. For even more cleanup, there are some with Schmitt triggers.
Thanks... I appreciate that. I started filming and setup about 9:00 this morning, did the artwork, editing, and rendering... and I "just" finished doing the Closed Captioning for my deaf friends... it's 2:53am. Long day. When I started... there were no real tutorials out there. I decided to build a machine 100% for teaching. The little thing is actually VERY useful... I do more on it than I do in the shop now. :-) I forgot about the Schmitt triggers. They would be useful in some situations... the reed switches have worked fine for this machine... although I am using the NPN magnetic sensors on the Monster mill. (Which i hope to get running this week.) Another video?? Thanks for watching!! ~ Jerry
Jerry, I just finished watching the Frankenlab series of vids. Great job. I've been putting together a homemade wood CNC off and on for the past year and just now starting the final assembly and test. You've provided a lot of good info on using LinuxCNC and setting up switches. Thanks.
Thanks... I love doing this sort of thing. If you are running LinuxCNC, let me know and I'll help you to customize the pyVCP panel to make your machine even better.
A pyVCP panel is exactly one of the things I want to add. Thank you for your offer of help. I'm using NEMA 17 72oz-in steppers with a TB6560(CHN). It looks like I have them working smoothly but any thoughts or comments would also be appreciated. Yes, I'm using LinuxCNC.
Get my email address from askjerry.info and send me your configs when you finish. I'll see what I can do. In the folder LINUXCNC you will find a folder called CONFIG and you will find the STEPCONFIG file... if I have those... I think I can help.
You should. I thought I would just use it for the videos, then sell it... but a machine this size is very useful for small projects where I don't want to go stand in the garage. I'll be doing some printed circuit boards on it sometime in the future for sure.
Thanks for this detailed information! I'm a machinist, not an electrician. I have been using mechanical limit switches on my machine knowing full well that they lack true repeat-ability. I never knew of the magnetic type of switches that you have shown and will probably go that route. Subscribed
Thank you! If you REALLY want repeatable accuracy... you put one magnetic switch along the axis of travel, and another on the rotating shaft of the threaded rod... one signal passing through the other. (Connected serially) By doing that... normally the repeatability is 0.5mm or so... sometimes better... but in combination... BOTH must be triggered... and that only occurs when the first switch and the second are conducting... about 1/36 of the revolution of the shaft... so if one turn is 5mm for example... then the trigger point drops to 5 / (1/36) or 0.0055 mm. (Eh... give or take) I didn't do that on Frankenlab... it's just a training machine... but I'll be rewiring Monster for that at some point. Hope you found that tidbit helpful.
How true! I also have a Gecko540 controller. What voltage Is the switch that you show?12v? I looked for the exact switch but must not have read the numbers correctly.
I'm just using El-chepo reed switches on Frankenlab... something like these... www.amazon.com/Switch-Voltage-Current-Normally-Magnetic/dp/B00PI6TUQG/ Connection is simple... from the INPUT of the breakout board to the switch... then from the switch to ground. The other switches... used on my Monster Mill... something like this... LJ12A3-4-Z/BX www.amazon.com/DC6-36V-Tubular-Inductive-Proximity-LJ12A3-4-Z-BX/dp/B01F58UDA8/ They operate on a pretty wide voltage... 6 to 36 volts.
Great explanation, I have been looking for a good video on this. It sucks, janky ass mach3 has beginner videos on everything you could think of, but LinuxCNC not so much....
That is why I started doing these... I see video that say "just configure your inputs, then start on the HAL..." and I know that people are scratching their head saying, "But how do you configure the inputs??? SO I'm pretty thick headed when I learn... you gotta go slow... so that's how I teach... like I was teaching my thick-headed self. :-)
If you look at Frankenlab #8, I have a simple height setter that automatically sets the Z-height for the tool. In Frankenlab #11 I want to start covering the modifications to the basic setup... so somewhere between #11 and #13 that should happen. As for a DIY probe... I am working on one... but not sure when I will actually build it. We are even evaluating some kind of 3D printed kit. (Maybe?)
My cnc retrofited mill already have a DIY automatic tool changer and... the height of tool is offset from height gage and writen by hand to tool library in Linuxcnc. Will wait for probe instructions (for offsetting work better than now, and center finding mainly).
Look at the [G10 L10 Pn Zn] G-Code command as well as the [G10 L11 Pn Zn] which will automatically update the table if I read it correctly. (I need to learn it too.) These work with [G40] and [G43 Hn] G-Code commands.
I worked really hard on this... and I hope you like it. Get all the data here... forum.linuxcnc.org/22-pyvcp/31878-tool-set-tool-table-automatic-offset-widget#83111
Jerry, I love your videos on CNC and homing...I have a Probotix V90 that I am trying to setup correctly for G53..I used to use Mach3 on an old Windows PC but have moved to LinuxCNC 2.5 as I bought a PC from Probotix with Linus CNC pre-configured. I am having a challenge in establishing my G53 hard home coordinates and thought you, or others might be able to set me straight. I am using typical mechanical switches and have put two on each axis wired in NC configuration. This should mean that whichever direction I hit a limit switch, that switch should open. I have verified that my wiring is correct for the switches but when I execute a "Home All" command, it follow the proper homing order (I have X, Y and Z dedicated pins setup as inputs) but whenever it hits the switch, it does not "see it" and it sits there slamming the hard stop....I thought maybe I wired my switches incorrectly but have at least convinced myself with an ohmmeter that I have a normally closed path and when either switch on a given axis trips, the switch indeed "opens". I believe I have the HAL and INI files setup and when I initiate the "Home all" it does start correctly for direction - I have set the latch direction opposite to the search direction, yet no matter which axis I choose to put first in the homing sequence (hand modifying the INI) the behavior is consistent - the CNC moves in the correct direction, hits the switch and continues to mash it....Any idea(s) on what I must be doing wrong here? Any help would be much appreciated :-)
Let's get you fixed up. Go to askjerry.info and get my email address... send me an email and let's see what the problem is. If you have the capability for Google hangouts... we can talk and perhaps i can step you through it. If you are in the states... perhaps we can do a phone call.
Thanks Jerry - did as you requested and sent you some details and some files and provided all my contact information - I will work around your schedule to take next steps - thanks again in advance for your help :-)
On your bob do you use 3 input pins for your home switches? Do you use minimum limit + home for x and y axis and then use maximum limit + home for z? Do you wire your relays normally open and then invert the spindle single pin? Thanks
One switch for X, one for Y, and one for Z. I could also use just ONE switch input for all. You only need HOME switch(s)... limit switches are a waste of inputs as I stated in the video.
askjerry There is a option in the step wizard where you can enable one pin to receive the input for all switches it's called All Home. I tested it and it's working. I am getting my electronics put together and I hooked up one switch and pressed it for each axis when the cone in linuxcnc got close to zero points.
Landon Brecheisen Yes, that is what I said... you can use 3 inputs or you can use 1 input. In either case, you use 3 switches or sensors. I wanted the Z-Axis to have its own input... but I could not combine XY without Z so I went for 3 inputs. At some time this may change... but likely not.
askjerry www.ebay.com/itm/Hot-Analog-Hall-Effect-Magnetic-Sensor-Module-49E-for-Arduino-AVR-PIC-F5-/291804408037?hash=item43f0e5e8e5:g:uQAAAOSwepJXcRXA I bought some hall effect sensors and little magnets. Do you think these would be a good choice or not. I also have mechanical switches.
These appear to be analog type... no. You want a digital input... either ON or OFF... not a variable voltage. Get some of these to experiment with... www.banggood.com/10pcs-Reed-Switch-MagSwitch-Normally-Open-Magnetic-Induction-Switch-p-940055.html They only take two lines... ground and your input... done. Easy to connect... no other voltage needed. If you want a Hall Effect sensor... then get an NPN type...the output goes LOW when active... like these... www.digikey.com/product-detail/en/diodes-incorporated/AH9250-P-B/AH9250-P-BDI-ND/5592452 The datasheet is in the page... connect 5V and Ground as shown... the OUTPUT goes to your breakout board... when a magnet comes near... the output goes LOW and signals the CNC. Ok? If you still have problems, go to askjerry.info and get my email address or Skype me (Askjerry).
Hi Jerry, I use only one switch on each machine's axis and set it as Max Limit/Home Shared. But whenever I try the Home All button in LinuxCNC, it would always get stuck on the first axis after it trips the switch. I get this error message: "joint 2 on limit switch error" and of course the machine stops there and will not go on to home the next axis. Any ideas?
Tim Le I read your request again... and here is what I think... If the joint is not clear, it will fail. Joint 0 is typically X, Joint 1 is typically Y, and Joint 2 is typically Z. Now the Z axis needs to move UPWARD to come to the switch. If the Z-axis moved DOWN during the attempt... that could cause a problem. If so... set the search speed to be a NEGATIVE number. See if that works.
Jerry, my machine moves toward the switch during homing, so I don't think direction is the problem. I understand what you mean by changing the sign to reverse the direction though. I also made sure nothing is tripped before I press Home All. Can I email you my ini file perhaps to take a look? Thanks
There are a little more pricey than a stepper and driver but all that it needs it power and step&direction inputs. There a few guys using them with Mach but I haven't seen anyone doing it with Linux. I'm never going back to Mach...
Thanks for taking the time to share your skills with us. Have you looked into the Clear Path servo motors? I have plans to retro a Fedal TRM with Linex and use these motors. www.teknic.com/products/clearpath-brushless-dc-servo-motors/
Thanks Jerry! Six years later and this video is still helping me.
The diagrams are really nice, and what a wonderful outro! You'll already know this, but I've found opto couplers also help to regenerate a noisy signal and for level conversions. For even more cleanup, there are some with Schmitt triggers.
Thanks... I appreciate that. I started filming and setup about 9:00 this morning, did the artwork, editing, and rendering... and I "just" finished doing the Closed Captioning for my deaf friends... it's 2:53am. Long day.
When I started... there were no real tutorials out there. I decided to build a machine 100% for teaching. The little thing is actually VERY useful... I do more on it than I do in the shop now. :-)
I forgot about the Schmitt triggers. They would be useful in some situations... the reed switches have worked fine for this machine... although I am using the NPN magnetic sensors on the Monster mill. (Which i hope to get running this week.) Another video??
Thanks for watching!! ~ Jerry
Thanks Jerry, I'm building my CNC router and needed help understanding how many limit switches I needed.
Glad to help!
Thanks for explaining all the different types of limit switches, very informative and helpful!
Thanks for the great info on G30 etc. I need to watch it again and write notes!
Once you get it set up like that, after a power failure or the next day... you can return to exactly where you need to be.
Jerry, I just finished watching the Frankenlab series of vids. Great job. I've been putting together a homemade wood CNC off and on for the past year and just now starting the final assembly and test. You've provided a lot of good info on using LinuxCNC and setting up switches. Thanks.
Thanks... I love doing this sort of thing. If you are running LinuxCNC, let me know and I'll help you to customize the pyVCP panel to make your machine even better.
A pyVCP panel is exactly one of the things I want to add. Thank you for your offer of help. I'm using NEMA 17 72oz-in steppers with a TB6560(CHN). It looks like I have them working smoothly but any thoughts or comments would also be appreciated. Yes, I'm using LinuxCNC.
Get my email address from askjerry.info and send me your configs when you finish. I'll see what I can do. In the folder LINUXCNC you will find a folder called CONFIG and you will find the STEPCONFIG file... if I have those... I think I can help.
Maybe one day I'll build one myself ! For now, I just enjoy watching your videos, thanks !
You should. I thought I would just use it for the videos, then sell it... but a machine this size is very useful for small projects where I don't want to go stand in the garage. I'll be doing some printed circuit boards on it sometime in the future for sure.
Thanks for this detailed information! I'm a machinist, not an electrician. I have been using mechanical limit switches on my machine knowing full well that they lack true repeat-ability. I never knew of the magnetic type of switches that you have shown and will probably go that route. Subscribed
Thank you! If you REALLY want repeatable accuracy... you put one magnetic switch along the axis of travel, and another on the rotating shaft of the threaded rod... one signal passing through the other. (Connected serially)
By doing that... normally the repeatability is 0.5mm or so... sometimes better... but in combination... BOTH must be triggered... and that only occurs when the first switch and the second are conducting... about 1/36 of the revolution of the shaft... so if one turn is 5mm for example... then the trigger point drops to 5 / (1/36) or 0.0055 mm.
(Eh... give or take)
I didn't do that on Frankenlab... it's just a training machine... but I'll be rewiring Monster for that at some point.
Hope you found that tidbit helpful.
How true! I also have a Gecko540 controller. What voltage Is the switch that you show?12v? I looked for the exact switch but must not have read the numbers correctly.
I'm just using El-chepo reed switches on Frankenlab... something like these...
www.amazon.com/Switch-Voltage-Current-Normally-Magnetic/dp/B00PI6TUQG/
Connection is simple... from the INPUT of the breakout board to the switch... then from the switch to ground.
The other switches... used on my Monster Mill... something like this... LJ12A3-4-Z/BX
www.amazon.com/DC6-36V-Tubular-Inductive-Proximity-LJ12A3-4-Z-BX/dp/B01F58UDA8/
They operate on a pretty wide voltage... 6 to 36 volts.
thank you very much, it is really great.
Great explanation, I have been looking for a good video on this. It sucks, janky ass mach3 has beginner videos on everything you could think of, but LinuxCNC not so much....
That is why I started doing these... I see video that say "just configure your inputs, then start on the HAL..." and I know that people are scratching their head saying, "But how do you configure the inputs??? SO I'm pretty thick headed when I learn... you gotta go slow... so that's how I teach... like I was teaching my thick-headed self. :-)
Nice films Jerry! Please show us how to do DIY probe and set it up in Linuxcnc, and then the tool offsets.
If you look at Frankenlab #8, I have a simple height setter that
automatically sets the Z-height for the tool. In Frankenlab #11 I want
to start covering the modifications to the basic setup... so somewhere
between #11 and #13 that should happen. As for a DIY probe... I am
working on one... but not sure when I will actually build it. We are
even evaluating some kind of 3D printed kit. (Maybe?)
My cnc retrofited mill already have a DIY automatic tool changer and... the height of tool is offset from height gage and writen by hand to tool library in Linuxcnc. Will wait for probe instructions (for offsetting work better than now, and center finding mainly).
Look at the [G10 L10 Pn Zn] G-Code command as well as the [G10 L11 Pn Zn] which will automatically update the table if I read it correctly. (I need to learn it too.) These work with [G40] and [G43 Hn] G-Code commands.
I worked really hard on this... and I hope you like it. Get all the data here...
forum.linuxcnc.org/22-pyvcp/31878-tool-set-tool-table-automatic-offset-widget#83111
Jerry, I love your videos on CNC and homing...I have a Probotix V90 that I am trying to setup correctly for G53..I used to use Mach3 on an old Windows PC but have moved to LinuxCNC 2.5 as I bought a PC from Probotix with Linus CNC pre-configured. I am having a challenge in establishing my G53 hard home coordinates and thought you, or others might be able to set me straight. I am using typical mechanical switches and have put two on each axis wired in NC configuration. This should mean that whichever direction I hit a limit switch, that switch should open. I have verified that my wiring is correct for the switches but when I execute a "Home All" command, it follow the proper homing order (I have X, Y and Z dedicated pins setup as inputs) but whenever it hits the switch, it does not "see it" and it sits there slamming the hard stop....I thought maybe I wired my switches incorrectly but have at least convinced myself with an ohmmeter that I have a normally closed path and when either switch on a given axis trips, the switch indeed "opens". I believe I have the HAL and INI files setup and when I initiate the "Home all" it does start correctly for direction - I have set the latch direction opposite to the search direction, yet no matter which axis I choose to put first in the homing sequence (hand modifying the INI) the behavior is consistent - the CNC moves in the correct direction, hits the switch and continues to mash it....Any idea(s) on what I must be doing wrong here? Any help would be much appreciated :-)
Let's get you fixed up. Go to askjerry.info and get my email address... send me an email and let's see what the problem is. If you have the capability for Google hangouts... we can talk and perhaps i can step you through it. If you are in the states... perhaps we can do a phone call.
Thanks Jerry - did as you requested and sent you some details and some files and provided all my contact information - I will work around your schedule to take next steps - thanks again in advance for your help :-)
Awesome videos, thanks for taking the time... keep them coming. What sources do you use to get all your parts? ie breakout board, reed switch?
Mostly amazon.com , gearbest.com , and banggood.com for the majority of parts... usually I have links in the description of the videos.
thanks a lot, Jerry!
On your bob do you use 3 input pins for your home switches? Do you use minimum limit + home for x and y axis and then use maximum limit + home for z? Do you wire your relays normally open and then invert the spindle single pin? Thanks
One switch for X, one for Y, and one for Z. I could also use just ONE switch input for all. You only need HOME switch(s)... limit switches are a waste of inputs as I stated in the video.
askjerry There is a option in the step wizard where you can enable one pin to receive the input for all switches it's called All Home. I tested it and it's working. I am getting my electronics put together and I hooked up one switch and pressed it for each axis when the cone in linuxcnc got close to zero points.
Landon Brecheisen Yes, that is what I said... you can use 3 inputs or you can use 1 input. In either case, you use 3 switches or sensors. I wanted the Z-Axis to have its own input... but I could not combine XY without Z so I went for 3 inputs. At some time this may change... but likely not.
askjerry www.ebay.com/itm/Hot-Analog-Hall-Effect-Magnetic-Sensor-Module-49E-for-Arduino-AVR-PIC-F5-/291804408037?hash=item43f0e5e8e5:g:uQAAAOSwepJXcRXA
I bought some hall effect sensors and little magnets. Do you think these would be a good choice or not. I also have mechanical switches.
These appear to be analog type... no. You want a digital input... either ON or OFF... not a variable voltage.
Get some of these to experiment with...
www.banggood.com/10pcs-Reed-Switch-MagSwitch-Normally-Open-Magnetic-Induction-Switch-p-940055.html
They only take two lines... ground and your input... done. Easy to connect... no other voltage needed. If you want a Hall Effect sensor... then get an NPN type...the output goes LOW when active... like these...
www.digikey.com/product-detail/en/diodes-incorporated/AH9250-P-B/AH9250-P-BDI-ND/5592452
The datasheet is in the page... connect 5V and Ground as shown... the OUTPUT goes to your breakout board... when a magnet comes near... the output goes LOW and signals the CNC. Ok?
If you still have problems, go to askjerry.info and get my email address or Skype me (Askjerry).
Hi Jerry, I use only one switch on each machine's axis and set it as Max Limit/Home Shared. But whenever I try the Home All button in LinuxCNC, it would always get stuck on the first axis after it trips the switch. I get this error message: "joint 2 on limit switch error" and of course the machine stops there and will not go on to home the next axis. Any ideas?
Tim Le I read your request again... and here is what I think... If the joint is not clear, it will fail. Joint 0 is typically X, Joint 1 is typically Y, and Joint 2 is typically Z. Now the Z axis needs to move UPWARD to come to the switch. If the Z-axis moved DOWN during the attempt... that could cause a problem. If so... set the search speed to be a NEGATIVE number. See if that works.
Jerry, my machine moves toward the switch during homing, so I don't think direction is the problem. I understand what you mean by changing the sign to reverse the direction though. I also made sure nothing is tripped before I press Home All. Can I email you my ini file perhaps to take a look? Thanks
Tim Le Sure, I'll take a look for you.
There are a little more pricey than a stepper and driver but all that it needs it power and step&direction inputs. There a few guys using them with Mach but I haven't seen anyone doing it with Linux. I'm never going back to Mach...
Too pricey for a small machine, but for the larger ones the cost of the controller goes up so you would likely hit a break-even point.
Thanks for taking the time to share your skills with us. Have you looked into the Clear Path servo motors? I have plans to retro a Fedal TRM with Linex and use these motors. www.teknic.com/products/clearpath-brushless-dc-servo-motors/
Dude... those look awesome! I wish I had known about them for my big mill.