dyna 3000 lathe to linux
mine was going to be a straight forward conversion to mach and already had the tool turret macro that somebody give me but now I want the lathe running on Linux.
the tool turret has a board with 3 slot sensors and in each slot a disc with notches in it the board will be wired up to the pmdx 126 see image. theres also a 24v solenoid that lock and retracts a pawl,im told id wire this up to the k1 relay on the pmdx.
the turret it rotated via a nema 23 stepper.
id be keen to know if anyone has put one of these lathes on Linux,
Please Log in or Create an account to join the conversation.
Yes it is possible.
The Orac toolchanger I wrote is probably the nearest to your ATC, although slightly different.
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...oolchanger_component
If you attach your Mach M6 macro that will give a good idea.
I am also curious to see if it is based upon the one I wrote for mach many years ago
regards
Please Log in or Create an account to join the conversation.
has anyone run a dyna 3000 lathe?the few conversions ive seen for these lathes all seem to be running on mach
If Mach can do it, then LinuxCNC can do it. And almost certainly better (LinuxCNC is better at threading than mach).
Was the lathe originally stepper or servo controlled? LinuxCNC can control most types of servos, whereas Mach generally needs step-dir interface drives.
Please Log in or Create an account to join the conversation.
the turret had a vexta pk 266-e2 OA 2 phase 1.8 step motor im hoping to still use, and on the axis's ive fitted nema 23 420oz steppers, originally both axis had escap steppers,thanks.
If IsLoading() Then
'Do Nothing, program loading
Else
' Dim Variables
Dim Num_Tools As Integer
Dim CW_Steps_Per_Tool As Integer
Dim CCW_Steps As Integer
Dim HoldingDRO As Integer
Dim Requested_Tool As Integer
Dim Current_Tool As Integer
Dim CW_Feed As Integer
Dim CCW_Feed As Integer
'Dim moves As Integer
'Dim total_move As Integer
' set up some vars
Num_Tools = 6
CW_Move_Per_Tool = 360/Num_Tools
CCW_Move = 10
HoldingDRO = 1050
Requested_Tool = GetSelectedTool()
Current_Tool = GetCurrentTool()
CW_Feed = 3000
CCW_Feed = 2000
Current_Feed = GetOEMDRO(818)
' start tool change
Message ("Requested Tool No=" & Requested_Tool)
If Requested_Tool > Num_Tools Then
Message "Requested Tool No. too high, program stopped."
Code "M30"
End
End If
If Requested_Tool < 1 Then
'Message "Requested Tool No. too low, program stopped."
Code "M30"
End
End If
If Requested_Tool = Current_Tool Then
' do nothing
Else
' lets do some changing
If Requested_Tool > Current_Tool Then moves = Requested_Tool - Current_Tool
If Requested_Tool < Current_Tool Then moves = Num_Tools - Current_Tool + Requested_Tool
total_move = (moves * CW_Move_Per_Tool)+(CCW_Move/2)
'Move to safe position
Code "G0 G53 Z-1 X-.25"
'Pause for 1/2 second
Code "G04 P0.5"
Code "G91 G94" 'incremental & Feed per minute
Code "G01 A" & total_move & " F" & CW_Feed
Code "G01 A-" & CCW_Move & " F" & CCW_Feed
While IsMoving()
sleep(10)
Wend
SetCurrentTool Requested_Tool
SetUserDRO HoldingDRO, Requested_Tool
Code "G90" ' back to absolute movement
Code "F" & Current_Feed
End If
End If
' end of tool change
Please Log in or Create an account to join the conversation.
LinuxCNC only just gained that option with the remapping feature which allows Python scripts to send MDI commands.
On the other hand, once you are writing a HAL component the IO portion is very easy.
In this case the Orac / Emco / Boxford components look very close to an exact fit.
Please Log in or Create an account to join the conversation.
..........................macro below that's all I was given
No nothing to do with me, mine was far more C like.
I will have a look later at the stuff you have provided
regards
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
apart from the operation of the pawl locking solinoid , which is easily controlled by the run relay output
the opto inputs may be in a different order , so that will need checking if you have the positional code
Please Log in or Create an account to join the conversation.
theres also a another slotted sensor on top of the spindle with disc,im told by a chap at cncdrive I can do away with this as well as the tacho on the spindle motor as the dg4s if bought to power the spindle motor just requires I plug the encoder in direct to that via a differential line module I bought. cncdrive.com/DG4S_16035.html he said theres no reason why I shouldn't be able to set this up in Linux.
Please Log in or Create an account to join the conversation.
A lot of it might be worth keeping, a LinuxCNC conversion can often be a lot more "conservative" than a mach3 one. As an example my milling machine is using AC servo drives and resolvers, with both the AC servo commutation and the axis position / homing from the resolver feedback.I thought id stick this up its the original drawing to electronics of the dyna it shows its a 1000 line just about everything has been ripped out aprt from the encoder ,the turret board,and limits,the spindle motor.
I wouldn't be too quick to remove the encoder disc on the spindle. LinuxCNC needs a once-per-rev signal to know where to re-start a multi-pass threading move. It also likes to have as many intermediate points as possible too.theres also a another slotted sensor on top of the spindle with disc,im told by a chap at cncdrive I can do away with this as well as the tacho on the spindle motor as the dg4s if bought to power the spindle motor just requires I plug the encoder in direct to that via a differential line module I bought. cncdrive.com/DG4S_16035.html he said theres no reason why I shouldn't be able to set this up in Linux.
Are you planning to generate steps and count encoders with the parallel port? (hint, I wouldn't)
Please Log in or Create an account to join the conversation.