2 Attachment(s)
Teensy Up/Down Torch Height Control
I've created a THC with LCD using a Teensy 3.1 that works with a Mesa THCAD card to send up/down outputs out to a control. It works by reading the undivided frequency from the THCAD, mapping the range to the specifications provided on the THCAD card and then working the with target/hysteresis to set outputs. I have spent a significant amount of time testing different ways to print to the LCD to keep code impact minimal and I believe the run time is acceptable now. The board is just something I knocked out quickly in KICAD so I didn't have to keep using shields and such to connect the LCD, I have a limited understanding of electrical/Arduino coding so any input is appreciated.
Code Features/Issues
Features
- 7-12 microsecond loop time
- Adjustable hysteresis
- Values can be saved to eeprom with encoder button and are automatically loaded on boot
- EEPROM values can be recalled with encoder button
- Can run on an Arduino UNO with a simple pin swap between button and frequency input, have not tested the effect of lower clock speed. Teensy is running at 96 MHz vs 16 MHz on Uno.
Issues
- Currently I lock the output to off if the voltage it outside 100-150 volts (I map the undivided frequency from the THCAD to the specifications provided on the card and do the math to get back to tip volts) but this has a problem if the torch starts and falls below 100 while moving it will never recover. I was thinking to either move the floor down to around 50 volts or have a moving floor/ceiling that is target +- 50volts?
Source
https://github.com/limited660/Teensy-Plasma-THC-Master
PCB Features/Issues
Features
- IDC sockets for Reprap Smart Controller LCD (SD card, buzzer, and reset button not wired, ideas for use?)
- Female headers for plugging in the Teensy
- Male headers for all of the pins going to the female headers
- Headers for VIN and GND
- Screw terminals for THCAD and Outputs
Issues
- No power input (I also didn't want to cut the USB jumper on the Teensy but power could be added as long as you don't use power and USB)
- Output/THCAD/Teensy grounds not all shared, maybe add jumper to connect output ground to the others that can be cut?
- IDC connector for EXP2 hangs off board
- Use plugs instead of screw terminals for THCAD/Outputs?
- Limited mounting options
- Some pins have odd traces (+ jumper all connected on top but only 3 connected on bottom layer, minor but annoying)
- Requires Mesa THCAD
Source
- To be added later
A short video of it in action with UCCNC and a UC100
https://www.youtube.com/watch?v=GcG85IwxP2Y
Re: Teensy Up/Down Torch Height Control
Very nice. What frequency divider are you using on the THCAD?
Is the THCAD mounted at the plasma end or the controller end? Mine is at the controller end but with the benefit of hindsight, it should be at the plasma end because the frequency output by the THCAD travelling across the interconnecting cable is much more immune to noise than a divided torch voltage.
Dependence on the Mesa THCAD board is not a concern at all in my view. It gives you robust state of the art A/D conversion specifically designed for the noisy plasma environment. Because each board is individually calibrated, its highly accurate and has a very fast response (we measured about 5ms rise time) so your THC is tracking whats happening now, not a few cycles ago.
For $70 its a steal!
Re: Teensy Up/Down Torch Height Control
Quote:
Originally Posted by
rodw
Very nice. What frequency divider are you using on the THCAD?
Is the THCAD mounted at the plasma end or the controller end? Mine is at the controller end but with the benefit of hindsight, it should be at the plasma end because the frequency output by the THCAD travelling across the interconnecting cable is much more immune to noise than a divided torch voltage.
Dependence on the Mesa THCAD board is not a concern at all in my view. It gives you robust state of the art A/D conversion specifically designed for the noisy plasma environment. Because each board is individually calibrated, its highly accurate and has a very fast response (we measured about 5ms rise time) so your THC is tracking whats happening now, not a few cycles ago.
For $70 its a steal!
I'm using full frequency (undivided) with a 10 millisecond gate interval, library is here - https://www.pjrc.com/teensy/td_libs_FreqCount.html The THCAD is in the main control box which is about 10 ft from the plasma cutter, I haven't noticed any issues with the voltage readings yet but that's a fairly simple change if I have to move it closer...the hardest part would be getting 5v to the board at the plasma end! It would be nice if 5v was available inside the unit and I could just swap the voltage divider wires for frequency count wires but that's a bit of work.
Do you have any input on how the Teensy should handle voltages that are far away from the target? I know I definetly need to recode to handle voltages under 100v but unsure of what to do with drops/rises after a certain range.
Re: Teensy Up/Down Torch Height Control
I don't think you will have any issues with a 10' cable. I'm using a 16' cable with 16:1 divided voltage and the THCAD-10. I did quite a bit of testing with a 96 volt power supply (2 x 48v in series) through the internal Everlast voltage divider and there was no discernable voltage loss from the plasma to the control box. There is the possibility of the cable acting as an antenna in relation to noise. In fact I did have some issues with noise which I resolved by putting a RFI filter on the IEC mains input into the control box. At one stage, I added some filtering on the raw arc signal in the plasma cutter but recently removed it as the control box filtering solved the noise and in some tests others observed delays in the signal with too much filtering on the arc voltage. I did locate a 12v power source inside the plasma so if I relocated the THCAD, I'd step that down to 5v.
I am using Linuxcnc and the Mesa 7i76e ethernet board. Its recommended to use the 1/32 divider in software so thats what I do. A couple of others and I are focussing on PID based THC within Linuxcnc's core. I am using an experimental branch of Linuxcnc that uses a Z axis offset that is external to the trajectory planner and progress has been slow. I've written a few custom components to deal with decoding THCAD torch voltage, torch arc sampling, velocity antidive (corner lock) and today I started to gather some data on kerf and void crossing to finalise an algorithm to sense it. . The velocity hold (corner lock) is difficult to do with an external THC as you don't know the velocity but trivial in software in about 10 lines of code.
Re: Teensy Up/Down Torch Height Control
Quote:
Originally Posted by
rodw
I've written a few custom components to deal with decoding THCAD torch voltage, torch arc sampling, velocity antidive (corner lock) and today I started to gather some data on kerf and void crossing to finalise an algorithm to sense it. . The velocity hold (corner lock) is difficult to do with an external THC as you don't know the velocity but trivial in software in about 10 lines of code.
It's built into the UCCNC. You can set velocity drop % to make the controller to lock the THC control below that %.
You can also lock/unlock the THC using macro codes.
1 Attachment(s)
Re: Teensy Up/Down Torch Height Control
Re voltages, in my testing, I took 16000 readings 1 ms apart at torch heights varying by 0.05mm from 1.5mm to 2.45mm on 8mm steel
I then discarded the data where the height was changing. This left me with about 460 readings per height tested.
I've attached the regression analysis of this data which shows a linear relationship at 99.4% confidence!
The reason I did this was an earlier test with just a few readings indicated that torch height was not linear and followed a 3rd order polynomial s curve with a pronounced plateau.
So in answer to your question, I don't think you should treat lower voltages any different.
One thing that has made a difference is torch voltage sampling before enabling the THC. This ensures the commanded voltage is right on the actual voltage so there is no jump when THC is enabled. Something you could add to your THC fairly easily.
Re: Teensy Up/Down Torch Height Control
Quote:
Originally Posted by
OlfCNC
It's built into the UCCNC. You can set velocity drop % to make the controller to lock the THC control below that %.
You can also lock/unlock the THC using macro codes.
Which is exactly what Linuxcnc now does for us (including enable/disable THC from gcode). Traditionally LinuxCNC's THC components used a bit bang approach the same as the external THC's out there even if they were using the THCAD board while we are using LinuxCNC's trajectory planner for much tighter integration with the trajectory planner. Here's samco's in action:
https://youtu.be/mOg5C_TusdM
1 Attachment(s)
Re: Teensy Up/Down Torch Height Control
Hi
My THCAD is mounted close (on top of) the my plasma power supply. The controller is connected through a 25' piece of shielded cat5 cable.
Attachment 397124
John
Re: Teensy Up/Down Torch Height Control
Quote:
Originally Posted by
rodw
Re voltages, in my testing, I took 16000 readings 1 ms apart at torch heights varying by 0.05mm from 1.5mm to 2.45mm on 8mm steel
I then discarded the data where the height was changing. This left me with about 460 readings per height tested.
I've attached the regression analysis of this data which shows a linear relationship at 99.4% confidence!
The reason I did this was an earlier test with just a few readings indicated that torch height was not linear and followed a 3rd order polynomial s curve with a pronounced plateau.
So in answer to your question, I don't think you should treat lower voltages any different.
One thing that has made a difference is torch voltage sampling before enabling the THC. This ensures the commanded voltage is right on the actual voltage so there is no jump when THC is enabled. Something you could add to your THC fairly easily.
Well it's not exactly lower voltages I'm concerned with. When I was doing the testing in the video it appeared the voltage was dropping down to around 90v after the pierce and move to initial height probably due to the angle of the sheet and because it was below 100 the Teensy never sent a signal. I just picked a range of 100-150 because I didn't see anything below 116 in the manual for 45 amps and assumed wrongly that it wouldn't drop that fast that I couldn't compensate. I would still like to maybe block outputs if it exceeds a certain value past the target but that might only be a good idea in stopping the torch from dropping rather than going up, I guess I will look at +-X number from target or a percentage of the target for blocking. UCCNC does have anti-dive commands and feed rate locks for the THC and it's my understanding the THC signals are handled by the controller (UC100), not sent back and forth between the computer and controller, so it acts quite quickly on the signals.
Re: Teensy Up/Down Torch Height Control
tjb1
The THC should not be enabled until after the arc voltage is stable. On my system that is a delay >.30s (yours will be different) from the arcok signal from the plasma power supply. I recommend that you start with your THC servo delay at about 1s and shorten it only if needed on thin sheet. If you ever plan on using other consumables the arc voltage can be as low as 70v or less.
John
Re: Teensy Up/Down Torch Height Control
Quote:
Originally Posted by
islander261
tjb1
The THC should not be enabled until after the arc voltage is stable. On my system that is a delay >.30s (yours will be different) from the arcok signal from the plasma power supply. I recommend that you start with your THC servo delay at about 1s and shorten it only if needed on thin sheet. If you ever plan on using other consumables the arc voltage can be as low as 70v or less.
John
UCCNC has built in pierce delay parameter with setable time. That blocks the THC after arc on for the set time.
1 Attachment(s)
Re: Teensy Up/Down Torch Height Control
Quote:
Originally Posted by
tjb1
Well it's not exactly lower voltages I'm concerned with. When I was doing the testing in the video it appeared the voltage was dropping down to around 90v after the pierce and move to initial height probably due to the angle of the sheet and because it was below 100 the Teensy never sent a signal. I just picked a range of 100-150 because I didn't see anything below 116 in the manual for 45 amps and assumed wrongly that it wouldn't drop that fast that I couldn't compensate. I would still like to maybe block outputs if it exceeds a certain value past the target but that might only be a good idea in stopping the torch from dropping rather than going up, I guess I will look at +-X number from target or a percentage of the target for blocking. UCCNC does have anti-dive commands and feed rate locks for the THC and it's my understanding the THC signals are handled by the controller (UC100), not sent back and forth between the computer and controller, so it acts quite quickly on the signals.
as said, if you are using the THC enable delay from your controller, you should wait a bit before enabling thc. This voltage plot on 8mm plate might help understand whats going on. I use a 1.5s delay on this material.