Terry, thanks for that on the RS485. (yes its just for the torch amps and pressure, yes I'm probably being lazy as that can all be adjusted on the front panel, but you could in theory include it within the gcode as a #var for example so that if you use say the gcode files intermittently, all your settings would be there from last time).
I did suspect that the main board just interfaces with RS232 to the interface board, which has a MAX488 or MAX490 on it which provides 4 wire modbus + ground tap
https://www.maximintegrated.com/en/products/interface/transceivers/MAX488.html#popuppdfKeith,
THC.... (I know Terry pulled me up on another post a little while ago (reply 18, in my response to reply 16 here
http://www.machsupport.com/forum/index.php/topic,31649.10.html) about this but I still can't get this one out of my head as potentially being a better idea.... bear with me a little before shooting me down [I couldn't keep up with the speed of responses on that one to provide a response and put forward my thoughts below]).
I've always had a problem with THC shunting the Z axis up and down and also the potential for the Z axis to stall and this obviously provides the THC limit of z axis motion. I can appreciate what Terry said, and your post above, but as you've pointed out your maximum Z axis velocity with instant (infinite) acceleration is 15% of your potential Z axis velocity.
Below is an extract of a macropump that I set up to try to increase DRO25 which is where the THC speed parameter is held, and consider this as a simple way to increase the Z axis velocity so that if the torch is not able to accelerate fast enough upwards (after 0.1 seconds [10hz macro pump speed]), DRO 25 is increased given the velocity of the z could increase further.
As Terry said in his post, "acceleration in King".... unfortunately DRO25 is not able to make acceleration king as you only have one chunk of acceleration.... from zero to 15% of full z axis velocity in.... but after 0.1 seconds if the z is still going up.... you have no more acceleration.
say like my Z your maximum velocity is 1500mm/min (60"/min) .... not sure what everyone else is running but curious to know [my z is a 2mm pitch acme leadscrew in a delrin nut].... thinking about changing it to a 10mm pitch ballscrew.
at 20%, the maximum z axis THC velocity is 300mm/min (12"/min)..... or 5mm/sec.... say my steps / unit is 200..., that gives a pulse width per step of 1milisecond. ... so as soon as the THC receives a signal for THUP, it will step at 1kHz (5x200), and after 1 millisecond the z will be moving at 5mm/sec.... the catch is after 10 milliseconds it will still only be moving at 5mm/sec and travelled 0.5mm.
However, if we increase DRO25 to say 50% of Z axis maximum velocity for the next 10miliseconds (macropump loop), it will now be doing twice the speed after 11 milliseconds than it was doing after 10miliseconds.... hence after another 10 milliseconds it will have travelled 1.5mm .... and not just the 1mm that the z would have travelled without the "improvised acceleration curve".
THCCorrDRO = GetOEMDRO(25)
THCCorrDROOld = GetOEMDRO(1100)
THCCorrDROMin = GetOEMDRO(1101)
THCCorrDROMax = GetOEMDRO(1102)
THCCorrDROInc = GetOEMDRO(1103)
TorchEn = GetOEMLED(852)
THCEn = GetOEMLED(24)
THCLedOk = GetOEMLED(36)
THCLedUp = GetOEMLED(37)
THCLedDn = GetOEMLED(38)
Dim THCLedUpOld
Dim THCLedDnOld
Dim THCUpDn
Dim SwitchCase
' >>> add in if statement to check current THC UP & DN pins status
If THCLedUp And THCLedUpOld Then
THCUpDn = 1
ElseIf THCLedDn And THCLedDnOld Then
THCUpDn = 1
Elseif Not(THCLedUpOld) And Not(THCLedDnOld) Then
THCUpDn = 1
Elseif Not(THCLedDn) And Not(THCLedUp) Then
THCUpDn = 0
Else
THCUpDn = 0
End If
' >>> Main Loop
If isEStop() Or isStopped() Or Not(THCEn) Or Not(THCUpDn) Then
SwitchCase = 0 'set THCDRO to Min Speed Setting
' increment THCDRO up to Max Speed Setting, by increment amount.
ElseIf THCUpDn And THCCorrDRO < THCCorrDROMax Then
SwitchCase = 1
' set THCDRO to Max Speed Setting
Elseif Not(invTHCMovement) And THCCorrDRO >= THCCorrDROMax Then
SwitchCase = 2
Else
End If
Select Case SwitchCase
Case 0
SetOEMDRO(25,THCCorrDROMin)
Case 1
SetOEMDRO(25, THCCorrDRO + THCCorrDROInc)
Case 2
SetOEMDRO(25, THCCorrDROMax)
Case Else
SetOEMDRO(25,THCCorrDROMin)
End Select
' >>> Update Old Info With Current Info
THCLedUpOld = THCLedUp
THCLedDnOld = THCLedDn
Again, it would be interesting to know what everyone else is running z axis velocity wise (is 60"/min fast or slow?).... although with DRO25 (THC Max speed.... its obviously running slower than that, think mine stalls at about 45% so I run it at most about 30% off hand), never tested it for missed steps, although do they matter as all it is doing is tracking the Torch Voltage, so if it looses a step (or a few) it will just correct the other way and when you next touch off between cuts, the Z axis DRO is zero'd (G28.1 Z).
Thanks
Rob