Implementing EDM gap control or negative feed rates #727
Replies: 1 comment
-
This is covered by some drivers/boards, either via on chip ADCs (typically noisy) or via I2C ADC (only one is supported for now, it is now easy to add more).
It is possible to "hook" code into the step output, there you have access to data you can use for that. The spindle sync code uses that data to modify the step timing to keep the tool in sync with the spindle.
This can be done by changing the override percentage, I am not sure if that would be fine grained enough. Or perhaps spindle synced motion could be utilized by providing spindle encoder data generated from the voltage? Or both in combination? If not the core has to be modified? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I'm looking for guidance on whether or not a grblHAL plugin will have enough access/control to implement a feature that's really useful for wire EDM machines: "gap control" (I'm not sure of the official term, hence scare-quotes)
Background
EDM controllers need to respond to things happening in the spark gap. If the wire electrode shorts to the material for too long, it can snap which requires halting the job, rewiring the electrode, backing up some amount, and resuming the cut.
The power supply which control the spark are able to output analog signals representing the "current of the last spark" or voltage after some math to adjust for hardware details.
This analog value is able to be used to detect short circuit conditions.
The exact value is also useful for speeding up or slowing down the feed rate based on how much material is being removed (again using some math depending on the size of the electrode, the materials being cut, etc.). If the current is low, the feed rate can be speed up to get the electrode closer to the work. If the current is high (but not high enough for a short!), the feed rate can be slowed down to let the sparks chew on more material and reduce heat and wear at the electrode.
Prior work I'm trying to replicate
A developer named TheDigital1 shared a successful but somewhat rough implementation of this gap control approach but did so against
gnea/grbl-Mega
. 😅The latest two commits on this branch here are the complete change set.
That implementation adds a
path_history
buffer which allows for the controller to "back up" along the tool path a small distance when a short is detected in order to clear the short before the electrode is damaged. In other words, partial support for "negative feed rates".Another feature is adjusting the feed rate based on the previous discharge current (i.e. gap size) to keep the electrode at the "correct" distance from the work piece.
Please help
I don't know enough about grblHAL's core or plugin interface to understand where two start implementing this "EDM gap control" feature.
Can someone please help point me in the right direction on where to start or what I might run into while implementing this?
Beta Was this translation helpful? Give feedback.
All reactions