I've posted a video on youtube of the user interface for the Arduino THC I'm developing for my PP50. The video is at:
This gives an overview of the interface and functionality of the THC. I'll do a video later showing it in operation.
I've posted a video on youtube of the user interface for the Arduino THC I'm developing for my PP50. The video is at:
This gives an overview of the interface and functionality of the THC. I'll do a video later showing it in operation.
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
I bet you feel like an expectant father, all the time and doctor visits are done. Now waiting for delivery time to see if it has 10 fingers and toes. Thanks for all your work we will wait for the finishing video and data.
Tom
Everlast PM256
Millermatic 180
Hypertherm PowerMax 65 with machine torch
Longevity Force Cut 80I
DIY CNC table for plasma/routing
13" metal lathe
Small Mill
ect, ect.
Looks like it is coming along! The time you've spent on this will benefit the CNC plasma community - I know I'd like to use something like this sometime in the fu
Just a new guy that wants to make stuff.
PowerPro 256
I got the boards back for OSHPark.com in less than three weeks. They look really good and I couldn't help myself and had to immediately build one. The assembled Arduino w/ display and THC shield on the left is a reasonable size.
As you can see from the picture, I did find an error that I had to run some wires for. It's for the serial port. With the wires the transmit from the Arduino works, but the receive doesn't. I had trouble with the receive wire and think I burnt out the chip. On the transmit side, the max speed of the serial port on the bench (not the noisy environment of the plasma table) is 38400. Going faster would require changing that opto isolator.
I checked out the control button wiring and that all works well.
I checked out the op-amp filter with steady voltages (I skipped the voltage divider so I could test with 3.3v and 5v) and that worked okay.
I also checked the Arc Good, Torch Up and Torch Down outputs to the CNC that are opto isolated and they all worked.
I still need to test the Torch On input from the CNC and the plasma signals for Torch On ouput/Arc Good input.
Once those last three signals have been tested, I'll be ready to start testing it on the table.
Earlier, I used the Arduino to capture voltages while starting the pilot arc. I used those voltages to play with a lightweight software filter algorithm. I have a first pass, but that's clearly going to be where all the work is.
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
That looks nice. I will have to add OSHpark to my list. Looks like a very reasonable way to get boards made.
Everlast 200DX
Everlast PT185
Shoptask 3-in-1 (not currently in my garage, but I own it...)
Any day on a motorcycle like this that ends just needing parts and labor is a good day.
4.82, 158.67mph 1/8th mile 7.350, 200.35mph 1/4 mile
I bet there are some THC manufacturers crapping their pants right now!
Lincoln Eagle Engine Drive
Everlast MTS 250
Everlast Power Tig 225lx
HTP Mig 2400
Everlast Power Plasma 60C --> Just need to finish my CNC Plasma Table!
Miller Spectrum 375 Extreme Plasma cutter
Victor cutting torch
HF 20 Ton Shop Press
HF 4x6 Band Saw
HF Air Compressor
Northern Tool Drill Press
www.murphywelding.com
I doubt that.
There's a lot of software to do as I learn more about how the torch responds while cutting. I know kerf crossing will be an issue.
Probably the biggest "drawback" of this design is that is relies on having a CNC interface on the plasma that provides an isolated positive torch voltage (like the PP50 does).
I finished rewiring the new proto. I'm hoping to get some time soon to give it a whirl on the table.
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
I've been trying to really understand how well the filtering is doing, but I kept getting corrupted data. I thought it was an issue with the terminal program I was using to capture the Arduino output. That was a little too convenient. On more thought I realized I was running into a hardware limitation.
The opto-isolators I used on the serial port can only support 38,400 baud. With 10 bits to a byte (start and stop bits are added to the 8 data bits with serial data), you get about 4000 characters per second. I was printing both unfiltered and filtered voltage in ascii every iteration of the control loop. The control loop runs every 1 millisecond. It ended up being over 10 characters per loop. So, I was trying to print over 10,000 characters/sec on a link that supports less than 4000 characters/sec. That was what was causing the corrupt data.
I have found new opto's that will support 10 Mbits, but I'll have to wait until the next hardware pass to implement them.
So that I could continue working, I spent the weekend making changes so that only one voltage is dumped per loop, and it's dumped in binary instead of ASCII. I also had to write a PC program to capture and decode it. On the plus side, It's the beginnings of a decent extended interface. (Picture below shows how it looks currently. Not all functionality implemented yet, but it can decode and capture voltage and status to a file.)
The other thing I realized is that I made a stupid mistake that could have a big impact. For the first prototype board, somebody gave me a filter cap to use on the voltage divider filter. It was similar to a ceramic capacitor. When I ordered parts for the second and third boards, I ordered electrolytic.
I've been used to using electrolytic in power supplies I'd build because they filter the voltage more by taking a charge and then releasing it as the voltage drops. That could be the reason the second and third prototypes have a slow response.
Now that I've finished the data capture app, I can test with the electrolytic and then take it off and see if the signal gets better.
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
Everlast 200DX
Everlast PT185
Shoptask 3-in-1 (not currently in my garage, but I own it...)
Any day on a motorcycle like this that ends just needing parts and labor is a good day.
4.82, 158.67mph 1/8th mile 7.350, 200.35mph 1/4 mile
I would think running the loop at .01 second intervals would be plenty for torch height control. If you wanted to, you could go a little faster (.0008 or so) as well.
How many samples does the controller look at to compare and act?
Everlast 200DX
Everlast PT185
Shoptask 3-in-1 (not currently in my garage, but I own it...)
Any day on a motorcycle like this that ends just needing parts and labor is a good day.
4.82, 158.67mph 1/8th mile 7.350, 200.35mph 1/4 mile
Sorry for the delay Sportbike - just crazy at work.
I haven't used the CNC enough to know average cutting rates, but it seems that 200 inches per minute is the top speed I could find on tables recommending settings.
If you assume 200 ipm, you then have 3.33 inches/sec, which seems pretty fast when you think about the delays in signalling the steppers and getting them to start moving. It doesn't seem like its too fast when you consider that its only 0.0033 inches per millisecond. I guess it all depends on how much height distortion you want to deal with (my goal was a commerial THC demo that showed the torch stepping up and down a washboarded piece of sheet).
The other factor to figure in is the filter delay. In the Spice models, the hardware filter delay was around 15 ms. Then, there's a software delay on that. I just don't know enough about typical plasma cutting profiles to know what's appropriate. It seems that the fastest the Arduino can go is 1 millisecond. I want to run it as fast as I can because it will only slow down as I add more software capability.
I did just find a post on another board from a very sharp Hyperterm guy that said you only have to control to within 2 volts. So, I'm glad to know that and I think it's pretty reasonable to accomplish.
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
I've only had about 20 minutes a night to spend on this.
I did voltage captures with the new software with the electrolytic capacitor. I then removed it and did another capture. Turns out that the data was corrupted on the first capture, so I only have it without the electrolytic cap.
I also did another capture with a different resistor value in the op amp circuit. The Spice circuit simulator showed that it should have given dramatic improvement on the 60 hz noise on the line. Reality was very different. If ruined the signal.
So, I'm back to the original op-amp circuit resistor values. The captures are very clean and look really good. There appears to be 60 cycle noise on the line. I've ordered a couple common mode chokes to test and see if that will clean it up. If not, it's not a problem to filter in software.
Below is a capture of the raw "analog counts" value in red (it's about 7 counts to a volt). The green line below it is the value after software filtering. It's small, but on close examination you can see that the green line is very smooth. The filtering works great. It reads about a volt or two low, but that's easy to compensate for.
The filter algorithm is very lightweight, so it's fast for the processor. It is:
- new-value = old-value + (new_value - old_value)/20
The next chart shows the values read as volts.
From that chart you can see how stable the voltage is.
I'm really pleased with the performance. I just want to see if I can clean up the noise with a filter choke.
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
Because of the tip outside diameter there will always be a limit to how fast a transition the THC will be asked to deal with. The best example I saw of rapid transitions was hitting the diamonds on a piece of treadplate. You could see the torch making height adjustments going over them. At the other extreme is the corrugated roofing material that everyone seems to use for THC demos. I notice most use the sine wave type, I wonder how some of the more squarewave patterns would do.
Long arc, short arc, heliarc and in-the-dark!
It's funny, but I had never thought about how the diameter of the tip would be a factor. Sometimes you get your head so deep in the software, you ignore everything else.
I would expect the square wave type wouldn't be nearly as good. What do you think the top speed is for a home CNC Ram?
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
Not without a 5 axis or better machine. http://www.youtube.com/watch?v=q42zN2iFD5E
As far as speeds, I would say with good motors you can probably expect rapids around 200 inches a minute or better. A lot depends on the mass of the unit as far as motor tuning. For actual cutting speeds, I expect that to be limited by the output of the plasma cutter. Maybe in 16ga. or lighter you will hit full speeds, but it all goes down from there.
Long arc, short arc, heliarc and in-the-dark!
The 5 axis machine was pretty impressive.
I just got the nightly test done and tried two different common mode chokes (80uH and 200 uH). It looks like 60 cycle noise, but the chokes didn't make a difference.
I think what I have now is good to go with for a while. I think it might be time to do the second pass of the board to fix a couple things.
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
Can you send a copy of your data file to Pmantegna@gmail.com there are a few filters we use at work that won't cost much more processor time but will probably work a little better. I would lime to play around a bit with it.
Poewr I-Mig 205P
Powertig 185
Working on making the torch control algorithm a little better.
I'm not sure how fast the steppers will respond to on and off commands. I figured I'd set a larger "delta value" before torch up/down is requested, and a smaller "delta value" before it is turned off.
The "voltSetPoint" is currently in A/D counts, and about 7 counts is 1 volt. So I currently have the following values:Code:// // Run the voltage control. // // // Handle case of where Torch Up is active if (currentStateData.torchUp) { // Check to see if the torch is high enough. if (currentStateData.currentVoltage >= (currentStateData.voltSetPoint - VOLTAGE_OFF_HYSTERESIS)) { // Update display that torch is at height. TorchGood(display); // Set flags for torch at height. currentStateData.torchUp = false; currentStateData.torchDown = false; } } // // Handle the case where Torch Down is active else if (currentStateData.torchDown) { // Check to see if the torch is low enough. if (currentStateData.currentVoltage <= (currentStateData.voltSetPoint + VOLTAGE_OFF_HYSTERESIS)) { // Update display that torch is at height. TorchGood(display); // Set flags for torch at height. currentStateData.torchUp = false; currentStateData.torchDown = false; } } // // See if the voltage is too low, and if so, move the torch up. else if (currentStateData.currentVoltage <= (currentStateData.voltSetPoint - VOLTAGE_ON_HYSTERESIS)) { // Update display that torch needs to go up TorchUp(display); // Set flags to signal torch up. currentStateData.torchUp = true; currentStateData.torchDown = false; } // // See iF the voltage is too high, and if so move the torch down. else if (currentStateData.currentVoltage >= (currentStateData.voltSetPoint + VOLTAGE_ON_HYSTERESIS)) { // Update display that torch needs to go up TorchDown(display); // Set flags to signal torch down. currentStateData.torchUp = false; currentStateData.torchDown = true; }
This should turn on torch movement when off by a volt and turn off torch movement when within half a volt.Code:#define VOLTAGE_ON_HYSTERESIS 7 // 7 counts = 1 volt #define VOLTAGE_OFF_HYSTERESIS 3 // 7 counts = 1 volt
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50
I tried some test cuts with THC control.
I started using a SheetCam post processor that would turn the THC off at corners when it slowed down. Then after the corner, it should turn it back on. For some reason, it turned if off and it never came back on.
I disabled the THC on/off in the G-code and did some cuts. It was "sawing" up and down a little too much during flat cuts. I ended up changing my control loop to tighter values to improve the sawing. I also increased the THC speed in Mach from 20 to 40, but I'm not sure if that was the right thing to do or made a difference.
After tightening the control loop to within 5 a/d counts (5/7 volt) it still "sawed" a little, but looked okay. (I think I need a better filter for tighter control.)
So, I inclined some sheet to see what would happen. I still have the problem that Mach won't allow the torch to go lower than the initial Z home value. So, I had to make sure the cut started at the lowest point. I was cutting 2" x 0.5" rectangles.
You can see the incline in the pictures. It is about a 3/4" elevation over 4.5". The right-most cut was the last one I did. On the very top of the cut you can see the rough edge from the torch going up and down.
I've had minimal time to work on this because my day job is really interfering with my hobby time. But, any time spent is forward progress - so I'm pleased with that.
I'm anxious to see if agent4573 can suggest a better filter algorithm.
Just starting in Aug '10
---
Hobart Handler 187
Power Plasma 50