Its been a while since I updated this thread. There is 2 reasons for that. One is I stuffed up one of the laser cut parts so I had to get it recut before I could make the cradle that holds the slats. And then I found out that Lee had given me the wrong measurement by not allowing for the 5mm steel sides. I had to cut 5mm off each end and still have not got it welded up.
The other reason is I had a small mishap with a milling cutter and a finger on Good Friday.
It was decided this needed to be repaired by a hand surgeon and as I had eaten lunch just before I did this, they waited until 7:00pm before patching me up in theatre. There is a tendon on each side of the finger and fortunately it went between them both which was very fortunate.
A week later all was well and healing better than the surgeon expected.
Anyway, now it is another week on and I've had the stitches out (about 20 of them not counting the ones that dissolve) and its starting to come good.
I tried to be good by not going into the shed so that left me with the software to work on. So after about 2 weeks, I think I have finally finished the screen interface and connected up all of the signals in the back end.
As I read somewhere, Plasma cutting is really an orphan in the CNC world as its so different to a mill or a lathe. That is because the Z axis is controlled outside of the typical XYZ kinematics model.
I had a starting point for the screen from a LCNC example, but all of the stuff below the screen preview I have pretty much written.
During this process, I also purchased Sheetcam which is really brilliant for post-processing DXF or SVG files into gcode. It also has nesting capability to fit multiple parts on one sheet of material. With some help from the LCNC forum team, we've modified a GUI interface and added some other components written in C to allow us to use a Sheetcam post processor that has been written to support a commercial torch height control unit.
I have to say this is right on the bleeding edge of LinuxCNC development because one of the main developers has built an experimental branch that integrates external offsets into the core code. What this means is you can apply an offset that is totally transparent to the LCNC trajectory planner. He clearly had plasma in his sights as he also wrote a component that was aimed at plasma torch height control and built in PID based control along the same lines they do to control servos.
I've written five LCNC support components that allows me to hook up all of the GUI to his experimental torch height control component. I finally solved the problem of accessing the GUI settings from within gcode last night.
A component in LCNC speak is a small snippet of compiled C code that is called on every pass through a thread. With my hardware, that happens 1000 times a second. You connect various inputs via "pins" in a "hal" text file. "hal" stands for "hardware abstraction layer". This really is a pretty cool software development model as everything remains modular. So for example if your component needs to know the current velocity the plasma torch is travelling at, you provide an
INput pin for current velocity and connect the system pin
motion.current-vel to it in the hal file.
So from the screen dump, you can see there is about 12 LED lights to tell you what is going on and several parameters that can be changed by the user at the touch of a button on the (yet to be purchased) touch screen. I've actually run out of screen real estate and would like to add a few more controls so I might end up adding a tab in the interface so I can add a few more controls.
Anyway, with a complete GUI and software config, an almost complete table, and a fully configured Sheetcam post processor, it won't be long before this all comes together into a working machine.
Today marks 10 months since I started this project so hopefully, it will be done by the 12 month anniversary.