bCNC comes with a feature to move the spindle up to a safe z height. If you right-click on the “Safe Z” button it looks like this.
The default is 3. In my case, it was 3 millimeters. I wouldn’t call that safe at all. I use clamps that are much thicker/taller than 3mm and most have bolts that stick up closer to 75mm. I had big trouble figuring how to change the definition of Z(safe). More importantly, I didn’t like the G90 in the code above. G90 relies on my working coordinate system. In my mind, the Safe Z should take the spindle as far up as possible. This happens to be an absolute positioning thing. I’ll back off 5mm just to be safe.
I entered this code in the Safe Z window
G53 G0 Z-5
It should look like this.
Now when I press Z, no matter how stupidly I’ve set the working Z0 coordinate, I know the spindle will raise up to it’s maximum (almost).
- I use a homing cycle.
- I’m using mm for my units.
I recently purchased a Protoneer V3.51 board for my CNC as I wanted to control the speed of my spindle in Fusion 360. My CNC came with a potentiometer which made it impossible to save my speeds and feeds. Speeds and feeds are the name of the game with CNC. There is an ideal amount of scraping you do with your end mills for any given material. Spin too fast and you generate heat. This will burn wood and melt acrylic and even some aluminum. Spin too slowly and you’ll be slamming your end mill into your material at a speed it can’t keep up with. The details as to what the ideal speeds and feeds are elude me currently as I’ve never had any method to set them to a repeatable number. That’s the purpose of this board swap.
My goal was to use Fusion 360 to control the spindle speed. Even if that didn’t work out, I can at least set the PWM % in bCNC and write that number down in my notes. That will achieve the same thing, more or less. I can’t speak for all CNC sofware, but bCNC allows you to set the minimum and maximum speeds of the spindle and adapt the PWM for that. In other words, I can set an RPM of 5000 in bCNC and it will handle the rest. Cool.
It turns out that I didn’t have to buy a new board for this as I have the HQ-LB60-12A spindle controller. I could have easily set up a microcontroller with a DAC to send 0-5V to my spindle controller and it would have figured out the correct PWM. Oh well, this is a problem with under-documented parts……or wrongly-assumed-underdocumented parts. It turned out that I found the documentation after the fact. https://www.mantech.co.za/Datasheets/Products/HQ-LB60-12A-V1-180191_SGT.pdf
So, it was not necessary for me to upgrade from the Protoneer V3 to the V3.51. The PWM functionality was already there.
My end stops were not working for either axis. It turns out that the (-) pin for all three flow through a jumper before going to ground. The purpose is to give the user the option of normally high or normally low limit switches. The reasons for choosing NO or NC switches are beyond the scope of this blog post. Just keep in mind that the Protoneer V3.51 requires setting the jumper or the return from the switches or they will be floating (not connected to anything). If the limit switches aren’t connected to anything, they will not work.