Ok, so now I will have to tackle an other rather complex challenge with the plasma: creating some kind of torch height controller.
From what I’ve seen so far on my tests, the plates will warp quite a bit due to the heat. This is quite a big issue, because the torch will either be too high, thus not cutting anything, or too low, hitting the plate and stalling the motors. Basically, it has to stay between 1 to 2 millimeters from the plate to do a good job.
I originally thought such a system would be rather inexpensive and easy to find, since it is a pretty common problem for plasma cutters… Turns out I was wrong about that, those things are super expensive.
I’ve made a bit of research, and from what I understand so far, what I have to do is to detect the voltage at the torch, send it back to some kind of controller, and then use this controller to dynamically control the Z axis motor to go up or down.
Sensing the voltage seems to be relatively easy, I guess I just have to build a voltage divider out of a few resistors, then filter it using some caps/inductances. I can then use a little Arduino to program different actions based on the voltage inputs.
But what puzzles me then is how can I use this voltage to actually move up or down the torch during cuts? How do I connect this Arduino to the ramps? How do I make both Arduino communicating with each other during the cut?
The Z motor is controlled by the Gcode, and I see no way to dynamically adjust its position during the cut, I guess there is no such function in Marlin, but I’m not entirely sure, since there is some kind of height adjustment on the fly whenever we use the automatic bed leveling function. So, could it be possible to use this function using a voltage value as the main parameter?
Does anyone knows about that?
If I don’t find a way to do this using this method, I thought of an other possibility, which would be to add another Z’ axis to the Z axis. Using a DC motor, I could make slight height adjustments to Z’ while keeping the Z working as usual. Z’ travel would be limited to a few millimeters and I would need to find some nice way to program it so it doesn’t go crazy during travels, whenever the torch is lifted by the Z axis, but I guess this could work. The downside would be that I would need to build some mechanical parts to create this axis, while finding a way to keep it compact and lightweight.
Any thoughts on that would be appreciated, especially from guys who have programming knowledge or good understanding of how Marlin works