Auto-level while program is running

More
22 Nov 2017 22:23 #102226 by gector
I have a rather strange and outdated Roland engraver which I've converted to LinuxCNC control instead of it's proprietary and barely-functional-in-today’s-operating-systems software. The only problem, the machine's only redeeming feature is no longer useable. It has what appears to be a sensor on a floating "cage" around the engraving bit, when the cage gets displaced slightly it knows that the surface of the cutting has changed and it would move the bit up/down accordingly to make a perfect depth cut on almost any surface. I really want to use this machine to do circuit engraving but it's hard to get an even set of traces without this feature, any idea what I can do?

I'm not afraid to modify the linuxCNC software since I have some programming experiance, I don't know where to start on a project like this though. Perhaps I could re-wire the sensor to an arduino, hook the arduino up to the control computer and send step/direction instructions while the program runs?

(New user btw, hello all :D)

Please Log in or Create an account to join the conversation.

More
23 Nov 2017 17:09 #102263 by Todd Zuercher
Tell us more about the sensor, if it is a quadrature encoder of some sort it should be pretty simple to set something up. If it is something else, it might be more interesting to figure out, but certainly not impossible.

What you will end up with should be something very similar to torch height control (THC) on a plasma machine.

Please Log in or Create an account to join the conversation.

More
26 Nov 2017 17:14 #102356 by andypugh
Indeed, I am seeing THC and another application for the remote offsets branch.

But, for an engraver you could probably simply control the Z axis entirely by a PID, where the commanded Z position is the desired engraving depth. Set the depth positive and the head will move all the way up, set it negative and it will move down.

How to home it? No idea :-)

Please Log in or Create an account to join the conversation.

More
27 Nov 2017 03:32 #102376 by rodw
Plasma Torch Height Control is indeed conceptually identical to what you require.

The external offset branch has not quite made it to prime time release but you can find it here
github.com/LinuxCNC/linuxcnc/tree/dgarr/external_offsets
When we say external offsets, we mean that the offsets are external to the trajectory planner. This means you can make adjustments to the Z axis height when at say Z0 and the trajectory planner has no idea that the axis height has been moved.

It includes the eoffset_pid component and the hpid simulation that uses it.It also has some other sims that demonstrate other features of external offsets that I am not familiar with. It includes Z axis PID control based on a torch voltage input chasing a setpoint.

So in your case, you are chasing a setpoint from your sensor so your application is a perfect match. In fact the hpid sim has a torch simulator that you could modify to reflect the characteristics of your sensor so that you could do the bulk of the PID tuning in a software simulation that contains your machine's velocity and acceleration parameters.

Please Log in or Create an account to join the conversation.

Time to create page: 0.087 seconds
Powered by Kunena Forum