Firmware modification for Plasma Touch Height Control(THC)

I have a plasma cutter the reports the torch height via the raw arc voltage. I'm curious if I can modify the firmware's control routine to monitor this signal and adjust my z-axis accordingly. My theory is that for each G1/G0 move command I can insert a function to read the signal and if needed then make a call to adjust the z-axis prior to the G1/G0 move. Can you point me in the direction to look to make changes motion.cpp, printer.cpp, commands.cpp? This may not even be plausible due to repetier's advance control algorithms that look ahead to speed up movements; anyway thought I would ask first. 


  • That is not so easy. This would require to ignore the motion planner making it stop after every move as only then you can measure and adjust next z height. I think you need more a closed loop system that constantly adjusts z based on last measured adc value. We have babysteps that can adjust on the fly, so a solution might be to adjust wanted babysteps based on Z and ADC in the 100ms timer loop. Not sure if this is best as babysteps was not intended for this but it is surely the easiest way to add such an automatic control.
Sign In or Register to comment.