ATC Slide - Page 11


Page 11 of 11 FirstFirst ... 891011
Results 201 to 219 of 219

Thread: ATC Slide

  1. #201
    Member
    Join Date
    Oct 2008
    Location
    United States
    Posts
    1632
    Downloads
    0
    Uploads
    0

    Default

    I haven't looked at this in awhile. Runs fine. Tool#'s can be in different Slot#, If a tool doesn't exist and it tell you to manually insert it.
    Coding done late evening and could use some serious clean up.



    Code:
    'Richards Toolchanger Macro Rev 1.5
    
    'C Home offset in Homing is 1.0860
    'Mach General Config - Tool Selections Persistent must be checked so tools are remembered.
    'User DRO's must be setup in order to work
    
    'ATC has 10 Slots, any Tool # from the tool table can be assigned to any slot
    'If the New Tool is not assigned to a Slot then a manual change will occur this way
    'Old Tool Has a Slot Assigned and NewTool has a slot assigned
    '  The Total Automatic ToolChange
    'Old Tool is assign but New tool is not assigned
    '  Then Old Tool is put away, Head is moved up Tray is moved out of way, and you manually insert tool
    'Old Tool is NOT assigned but New Tool is assigned
    '  Then Toolchange position, Msg to remove old tool, then gets new tool from tray
    'Neither tool assigned
    '  then Tool Change Position, a message stating to remove and install a new tool
    
    
    'Rev 4 - Added Timeout to Slide instead of Dwell
    'Rev 5 - Added Options for Debug Message, Return to Previous Position after change, Move XY to CHange Position
    
    
    
    
    
    'Going to convert to degrees, then use an Offset from Home to Position 1
    
    
    'Note Z Values are Negative since Z Zeroes at Home at Top
    'Note - All Values are Machine Coordinates
    
    'ToolDown    = -2.393	         'Height for Spindle to sit down on Tool
    
    
    
    '*************************************************************
    '                     Declarations
    '*************************************************************
    
    'Constants
    Const Debug 		= 0             'If On = 1 then write messages to Mach Error Log with small delay
    Const RetToPrevPos 	= 0             'Return to Previous position after change
    Const MoveXYToChangePos = 0             'Move X and Y to Change Position before CHange
    
    'Safety Options
    Const VerifySlide   	= 1		'Verifies Slide Limit Switches 0 for Testing 1 for running on machine
    Const VerifyOffsets 	= 1             'Allows you to touch tool down and zero after toolchange if no length offset in table
    
    
    'Z Down Move
    Const Fast 		= 0
    Const Slow 		= 1
    
    'For Tool Sequences
    Const Manual    	= 0
    Const AutoMatic 	= 1
    Const NoTool    	= 2
    
    Const MaxTools  	= 10
    Const TrayStart 	= 2010
    
    'Last Error Constants  - Took out for now
    Const Okay           	= 0
    Const ExtendFailed   	= 1
    Const RetractFailed 	= 2
    Const NotHomed       	= 3
    Const NoOffset       	= 4
    Const SameTool       	= 5
    
    'OutPuts and Inputs Assignments
    'PDB 		Output20
    'Slide		OutPut2
    'Extend		Input2
    'Retract	Input3
    
    
    'Variables
    
    Dim OldXPos      As Double
    Dim OldYPos      As Double
    
    
    Dim OldTool      As Integer
    Dim NewTool      As Integer
    
    Dim OrigFeedRate As Double
    Dim ToolChangeX  As Double
    Dim ToolChangeY  As Double
    Dim ToolChangeZ  As Double
    
    Dim ToolUp       As Double
    Dim ToolDown     As Double
    Dim ToolDownFeed As Double
    Dim SlideTimeOut As Double
    Dim PDBDwell     As Double
    
    Dim SlotArray (1 To MaxTools) As Integer
    Dim OldSlot      As Integer
    Dim NewSlot      As Integer
    Dim I            As Integer                'General Purpose Work Var counter....
    Dim Ret          As Integer                'Function Result Var
    Dim NewOffset    As Double
    Dim LastOp       As Integer                'Holds Last Tool Change Operation Sequence
    
    
    
    '*************************************************************
    '                     Main Sub
    '*************************************************************
    
    
    
    
    
    Sub Main()   
      'Define variables
      Call ClearUserLEDs()
    
      OldTool = GetCurrentTool()
      NewTool = GetSelectedTool()
    
      'Make sure machine is referenced
      If (GetOemLed(807) Or GetOemLed(808) Or GetOemLed(809)) Or GetOemLed(812) Then  
        MyMsg("Please Home Machine before Tool Change")
        DoButton(3)                  'Cycle Stop
        Exit Sub
      End If   
    
    
      MyMsg("Tool Change Initiated Old Tool #" & OldTool &" New Tool #" & NewTool)
    
    
      'If tools are the same then exit
      If NewTool = OldTool Then        
        MyMsg("New Tool and Old Tool are Same - No Action Requested")
        Exit Sub
      End If
    
      Message("**********  Tool Change Start ********************")
    
    
      'Finds out what tools are in what slots
      Call LoadTools()
    
    
      'Get Original Settings and put back when done
      OrigFeedRate = GetOEMDRO(818)
      ToolChangeX  = GetOemDRO(1200)     
      ToolChangeY  = GetOemDRO(1201)
      ToolChangeZ  = GetOemDRO(1202)
    
      'Get ATC Control DROs
      ToolUp       = GetUserDRO(2000)
      ToolDown     = GetUserDRO(2001)
      ToolDownFeed = GetUserDRO(2002)
      SlideTimeout = GetUserDRO(2003)
      PDBDwell     = GetUserDRO(2004)
    
      OldSlot      = GetUserDRO(2009)      'This holds the position tool changer is in
    
    
     'Get axis positions so we have them if we want to put stuff back
      OldXPos = GetToolChangeStart( 0 )
      OldYPos = GetToolChangeStart( 1 ) 
    
    
      Call MoveToChangePosition()
    
    
    '*************************************************************
    '                    Handle Old Tool
    '*************************************************************
    
    
      If OldTool > 0 Then                    'No sense in putting old tool back if it's zero
        If ExistInRack(OldTool) Then         'Is the old tool in the tool rack
          SetUserLED(2002,1)
          Call RotateToSlot(OldTool)         'Line up Slot for OldTool
    
          SetUserLED(2001,1)
          Call GoToToolDownPosition(FAST)    'Bring Z down to unload tool
    
          SetUserLED(2003,1)
          If ExtendSlide()= 0 Then           'Extend Slide to Get Old Tool
            Call AllDone()                   'Slide Failure
            Exit Sub 
          End If
    
    
          SetUserLED(2004,1)
          Call PDBUnClamp()                  'UnClamp From Old Tool
    
          SetUserLED(2004,1)
          Call GoToToolUpPosition()          'Get the Head Up so Old tool can be removed      
          LastOp = Automatic
    
        Else
          'Tool Doesn't Exist in Rack so It will be Manually Removed
          MsgBox("Please Remove Tool # " & OldTool & " from Spindle and then Press Ok")  
          MyMsg("Old Tool # " & OldTool & " was manually removed")
          LastOp = Manual
    
        End If  
    
      Else
        MyMsg("No Old Tool to Return - Old Tool # " & OldTool)
        LastOp = NoTool
      End If
    
    
    
    '*************************************************************
    '                    Handle New Tool
    '*************************************************************
    
    
      If NewTool > 0 Then                'If Newtool = 0 then Skip getting a new tool
        If ExistInRack(NewTool) Then
    
          MyMsg("Rotate ATC to New Tool #" & NewTool)
          SetUserLED(2006,1)
          Call RotateToSlot(NewTool)
          While IsMoving()
            Sleep(10)
          Wend
    
    
    
          If LastOp <> Automatic Then
            'Head is in the Up Position, No Tool in the Spindle, Slide Not Extended, PDW not Released
            'Slot is in the proper Position
    
            SetUserLED(2005,1)
            Call GoToToolUpPosition()          'Make sure Head is High out of way  (****Should Already Be There!!!!)
    
    
            SetUserLED(2003,1)
            If ExtendSlide()= 0 Then           'Extend Slide to put new tool under spindle
              Call AllDone()                   'Slide Failure
              Exit Sub 
            End If
    
            SetUserLED(2004,1)
            Call PDBUnClamp()                  'Open Collet for New Tool
    
          End If
    
          'This has to be done for All Modes
    
          SetUserLED(2007,1)
          Call GoToToolDownPosition(SLOW)      'Let Head Slowly come down on to tool
    
          SetUserLED(2008,1)
          Call PDBClamp()                      'Clamp the tool
    
          SetUserLED(2009,1)
          If RetractSlide()=0 Then             'Retract the Slide
            Call AllDone()
            Exit Sub
          End If
    
          SetUserLED(2005,1)
          Call GoToToolUpPosition()            'Get Head Up
    
        Else
          'New Tool isnt in Rack so Install it Manually
    
          'Slide Extended, at Old Slot, Head up, Collet Open
          If LastOp = Automatic Then
            SetUserLED(2008,1)
            Call PDBClamp()                    'Close Collet so it so it can manually be opened
    
            SetUserLED(2009,1)
            If RetractSlide()=0 Then           'Get Slide out of Way of Manual Tool Insert
              Call AllDone()
              Exit Sub
            End If
    
          End If
    
          SetUserLED(2005,1)
          Call GoToToolUpPosition()          'Have Spindle up so there is plenty of room  (****Should Already Be There!!!!)
    
          MsgBox("Please Insert Tool # " & NewTool & " into Spindle and then Press Ok") 
          MyMsg("New Tool # " & NewTool & " was manually Inserted")
             
        End If    
      Else
        MyMsg("No New Tool - Leaving Spindle Empty")
    
        If LastOp = Automatic Then
          SetUserLED(2008,1)
          Call PDBClamp()                    'Close Collet so it so it can manually be opened
    
          SetUserLED(2009,1)
          If RetractSlide()=0 Then           'Get Slide out of Way of Manual Tool Insert
            Call AllDone()
            Exit Sub
          End If
        End If
    
        SetUserLED(2005,1)
        Call GoToToolUpPosition()             'Have Spindle up so there is plenty of room  (****Should Already Be There!!!!)
    
      End If
    
    
    
    '*************************************************************
    '                    Wrap Things up
    '*************************************************************
    
    
      SetCurrentTool(NewTool)
      Call AllDone()
    
    
      'Check Offsets
      If VerifyOffsets = 1 then
        If NewTool <> 0 Then
          NewOffset = GetToolParam(NewTool,2)
          If NewOffset <= 0 Then
            DoButton(3)                  'Cycle Stop
            MsgBox("The Tool Selected does not have Length Offsets, Please touch off your tool and zero the axis then Cycle Start")
          End If
        End If
      End If
    
    
      While IsMoving()
        Sleep(10)
      Wend
    
    
      Call ClearUserLEDs()
    
      Message("**********  Tool Change End   ********************")
      MyMsg("")
    
    End Sub
    
    
    
    
    
    '*************************************************************
    '                     Sub Routines
    '*************************************************************
                
    
    
    'Puts everything back where it was
    Sub AllDone
      Call GoToToolUpPosition()
      Code "G90"                        'Make sure we in Absolute Mode
    
      If MoveXYToChangePos = 1 AND RetToPrevPos = 1 then
        MyMsg("Putting X and Y back where they were")
        Code "G00 X" & OldXPos & " Y" & OldYPos       'Move back to we were before tool change
        While IsMoving()
          Sleep(10)
        Wend
      End If
    
      SetOEMDro(818,OrigFeedRate)        'Set original feedrate back
    End Sub
    
    
    
    
    
    'Rotates Tray to the Slot that the requested tool is in
    Sub RotateToSlot(ByVal ToolNum As Integer)
      Dim ToolSlot as Integer
    
      ToolSlot = GetSlotByToolNum(ToolNum)
      MyMsg("Rotate ATC to Slot #" & ToolSlot & " For Tool #" & ToolNum)
      Call MovePos(ToolSlot)
      While IsMoving()
        Sleep(10)
      Wend
      
      SetUserDRO(2009,ToolSlot)
      While IsMoving()
        Sleep(10)
      Wend 
    End Sub
    
    
    
    
    
    
    
    
    
    'I left this in so I can fine tune positions if needed
    'Can be simplified into a single line
    
    Sub MovePos(ByVal ToolNumber As Integer)
    
      Select Case ToolNumber      'Positions to each tool in C-axis 
         
           Case Is = 1
             Code "G00 G53 C1.0" 
           Case Is = 2
             Code "G00 G53 C2.0"
           Case Is = 3
             Code "G00 G53 C3.0"
           Case Is = 4
             Code "G00 G53 C4.0"
           Case Is = 5
             Code "G00 G53 C5.0"
           Case Is = 6
             Code "G00 G53 C6.0"
           Case Is = 7
             Code "G00 G53 C7.0"
           Case Is = 8
             Code "G00 G53 C8.0"
           Case Is = 9
             Code "G00 G53 C9.0"
           Case Is = 10
             Code "G00 G53 C10.0"
      End Select
    End Sub
    
    
    
    
    
    
    'This Sub Loads the Tool Tray with what Tool Number is in What slot
    Sub LoadTools
      For I = 1 To MaxTools
        SlotArray(I) = GetUserDRO(TrayStart +(I-1))
      Next I
    End Sub
    
    
    
    
    
    
    'This Function keeps what tool# is in what slot#
    'When A request for a tool# is made, call this function to get the slot.
    
    Function GetSlotByToolNum (ByVal ToolNumber As Integer) As Integer
      For I = 1 To MaxTools 
      If SlotArray(I) = ToolNumber Then
         GetSlotByToolNum = I
         Exit Sub
      End If
      Next I
      GetSlotByToolNum = 0    'If we made it this far the tool wasn't found
    End Function
      
    
    
    
    
    
    
    
    
    'This Sub Checks a Slot to make sure it's not Empty - Not used
    Function IsSlotEmpty (ByVal SlotNumber As Integer) As Boolean
      If SlotArray(SlotNumber) >= 1 then
         IsSlotEmpty = 0
      Else
         IsSlotEmpty = 1
      End If
    End Function
    
    
    
    
    
    
    'Checks if a Tool# is in our rack
    Function ExistInRack (ByVal ToolNumber As Integer) As Boolean
      If ToolNumber <> 0 Then
        For I = 1 To MaxTools
        If SlotArray(I) = ToolNumber Then
           ExistInRack = 1
           Exit Sub
        End If
        Next I
      End If  
      ExistInRack = 0    'If we made it this far the tool wasn't found
    End Function
    
    
    
    
    
    Function ExtendSlide As Boolean
      MyMsg("Extending ATC Slide ")
      ActivateSignal(Output2)         'Extend Slide ATC to Tool
    
      If VerifySlide = 1 Then
        i = 0
        While Not IsActive(Input2)
          Sleep 100
          i = i + 1
          If i > (SlideTimeOut*10) Then 
            MyMsg( "ERROR - Extend Slide Timeout Error")
            Message( "ERROR - Extend Slide Timeout Error")
            ExtendSlide = 0  
            Sleep 100
            End               'Stop Everything
          End If
        Wend
    
        MyMsg( "Slide In Extended Position")
        ExtendSlide = 1  
      Else
        'ByPass Verify
        ExtendSlide = 1
      End If
    End Function
    
    
    
      
    
    
    Function RetractSlide As Boolean
      MyMsg("Retracting ATC Slide ")
      DeActivateSignal(Output2)         'Retract Slide ATC to Tool
    
      If VerifySlide = 1 Then
        i = 0
        While Not IsActive(Input3)
          Sleep 100
          i = i + 1
          If i > (SlideTimeOut*10) Then 
            MyMsg("ERROR - Retract Slide Timeout Error")
            Message("ERROR - Retract Slide Timeout Error")
    
            RetractSlide = 0  
            Sleep 100
            End
          Else
            MyMsg("Slide In Extended Position")
            RetractSlide = 1  
          End If
        Wend
      Else
        'ByPass Verify
        RetractSlide = 1
      End If
    End Function
    
    
    
    
    
    
    
    Sub PDBUnClamp
      MyMsg("PDB UnClamp")
      ActivateSignal(Output20)           'Send signal to release PDB.
      Code "G4 P" & PDBDwell             'Wait for PDB
      While IsMoving()
        Sleep(10)
      Wend
    End Sub
    
    
    
    
    
    
    
    
    Sub PDBClamp
      MyMsg("PDB Clamp")
      DeActivateSignal(Output20)         'Send signal to grip PDB.
      Code "G4 P" & PDBDwell             'Wait for PDB
      While IsMoving()
        Sleep(10)
      Wend
    End Sub
    
    
    
    
    
    
    
    Sub MoveToChangePosition
      MyMsg( "Moving Z to Tool Change Position First")
      Code "G00 G53 Z" &ToolChangeZ
      While IsMoving()
        Sleep(10)
      Wend
    
      If MoveXYToChangePos = 1 then
        MyMsg( "Moving X & Y to Tool Change Position")
        Code "G00 G53 X" &ToolChangeX &" Y" &ToolChangeY
        While IsMoving()
          Sleep(10)
        Wend
        SetUserLED(2000,1)
      End If
    End Sub
    
    
    
    
    
    Sub GoToToolUpPosition
      MyMsg("Bring Z Up to Toolup Position " & ToolUp)
      Code "G00 G53 Z" & ToolUp                           'The Z-axis up
      While IsMoving()
        Sleep(10)
      Wend
    End Sub
    
    
    
    
    
    
    
    
    Sub GoToToolDownPosition (ByVal Speed As Integer)
      If Speed = Slow Then
        MyMsg("Bring Z down to ToolDown " & ToolDown & " at Feed " &ToolDownFeed)
        Code "G01 G53 F" & ToolDownFeed & " Z" & ToolDown      'Z-axis moves down to where it touches tool
      Else
        MyMsg ("Bring Z down to ToolDown " & ToolDown)
        Code "G0 G53 Z" & ToolDown      'Z-axis moves down to where it touches tool 
      End If  
      While IsMoving()
        Sleep(10)
      Wend
    End Sub
    
    
    
    Sub MyMsg(StrName as String)
      SetUserLabel(1,StrName)
    
      If Debug then
        Message(StrName)
        Code "G4 P0.1"
        While IsMoving()
          Sleep(10)
        Wend
      End If
    End Sub
    
    
    
    Sub ClearUserLEDs
      SetUserLED(2000,0)
      SetUserLED(2001,0)
      SetUserLED(2002,0)
      SetUserLED(2003,0)
      SetUserLED(2004,0)
      SetUserLED(2005,0)
      SetUserLED(2006,0)
      SetUserLED(2007,0)
      SetUserLED(2008,0)
      SetUserLED(2009,0)
    End Sub


    Quote Originally Posted by Mad Welder View Post
    Geez that would be a nightmare for you to deal with if you did....have you any chip making videos with tool changes I'd love to see one, or if and when you have the time to upload one I'd appreciate if you would include a link here in this thread, thanks!




  2. #202
    Member
    Join Date
    Oct 2008
    Location
    United States
    Posts
    1632
    Downloads
    0
    Uploads
    0

    Default

    Now...., maybe you know why I was reluctant to publish it. It started off simple then kind of grew and needs some clean up.

    Richard

    Quote Originally Posted by Mad Welder View Post
    Geez that would be a nightmare for you to deal with if you did....have you any chip making videos with tool changes I'd love to see one, or if and when you have the time to upload one I'd appreciate if you would include a link here in this thread, thanks!




  3. #203
    Member
    Join Date
    Mar 2007
    Location
    Romeo, Michigan, USA
    Posts
    304
    Downloads
    0
    Uploads
    0

    Default

    Richard,

    - Could you post more detailed information on how you are controlling your ATC via Mach3 ?
    - It would be greatly appreciated.

    Thank You, Sir!

    Joe

    [url]www.CNC-Joe.com[/url]
    CNC Is Not Just My Passion.. It's My Addiction !!!!


  4. #204
    Member
    Join Date
    Mar 2007
    Location
    Romeo, Michigan, USA
    Posts
    304
    Downloads
    0
    Uploads
    0

    Default

    Hey - nevermind the last request. I did some digging - and see that it is all done via the M6Start.m1s script (and some programming under the Config -> Ports & Pins.
    Now I understand your macro - nice work on that, btw.

    Thank You for sharing your work, Richard.

    It will help the rest of us. I am considering using my venerable Sherline mill as a test bed for building something like this... Then do the same on the Mill/Drill.

    Thanks again for sharing.

    Joe

    [url]www.CNC-Joe.com[/url]
    CNC Is Not Just My Passion.. It's My Addiction !!!!


  5. #205
    Member
    Join Date
    Oct 2008
    Location
    United States
    Posts
    1632
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    It's been awhile since I posted. I haven't shut the mill down long enough to build my enclosure yet but it needs to be this winter for sure. It takes too long to clean up the shop from the swarf thrown everywhere.

    Last fall, I was building a 48x48" router and I had turned my air pressure down to paint the parts. A week later, I fired up the mill and during a tool change it crashed pretty bad. 35 psi wasn't enough to open the collet so the spindle just plowed down into the tool holder and tore up some stuff. The 1/4-20 nylon bolts finally stretched some but only after it bent the heck out of stuff.

    I rebuilt the tool changer and went from 10 tools to 12 tools. I beefed up some of the areas that needed it and added a digital air pressure gage. During a tool change, if the air pressure is below 90 psi, it will stop and give me a message that there is low pressure. Once the pressure is fix, pressing enter will allow the tool change to continue.

    I will tidy up the mounting and wiring once I get the enclosure done. May be awhile. The next revision I'm working on for the tool changer is a center hub with 6 dowel pins sticking up. The tool holder disk will have mating holes to keep everything aligned. 6 shoulder bolts with springs will keep the two items mated. Any over travel will just push down on the forks.

    The air pressure deal has actually happened twice, but that is the only time it's ever had an issue.

    Crappy Pictures attached.

    Attached Thumbnails Attached Thumbnails ATC Slide-photo-1-jpg   ATC Slide-photo-2-jpg   ATC Slide-photo-3-jpg  


  6. #206
    Member gd.marsh's Avatar
    Join Date
    Aug 2008
    Location
    USA
    Posts
    962
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Hey there Richard,

    Man I hate it when stuff like that happens! .. Good to hear you're getting plenty of use out of your machine though ..

    I'm staying after it with my machine too .. mostly just using it, but still making little improvements hear & there along the way. I'm really about at the point where I need to dismantle the entire enclosure, lift the mill off the pan, sandblast all the sheet metal & paint everything with some really good quality paint. I'd love to get it done, but it just sounds like so much work, I keep telling myself maybe later ... In the mean time I'm getting plenty of enjoyment out of it as it is.

    Great fix on the low air pressure problem .. very professional!

    Gary



  7. #207
    Member
    Join Date
    Nov 2012
    Location
    Russia
    Posts
    29
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Something new to the ATC? Want to follow your experience and build one. This is my mill.

    Attached Thumbnails Attached Thumbnails ATC Slide-img_20150424_173619-jpg   ATC Slide-img_20150720_161046-jpg  


  8. #208
    Member
    Join Date
    Oct 2008
    Location
    United States
    Posts
    1632
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Yes, it was super sized some....

    ATC Slide-img_1958-jpg

    Quote Originally Posted by John1987 View Post
    Something new to the ATC? Want to follow your experience and build one. This is my mill.


    Attached Thumbnails Attached Thumbnails ATC Slide-img_1958-jpg  


  9. #209
    Member
    Join Date
    Mar 2007
    Location
    Romeo, Michigan, USA
    Posts
    304
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Very Nice, Fadal - Richard. Do you still have your HomeBrew Mill?

    [url]www.CNC-Joe.com[/url]
    CNC Is Not Just My Passion.. It's My Addiction !!!!


  10. #210
    Member
    Join Date
    Oct 2008
    Location
    United States
    Posts
    1632
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    I'm not sure how I stumbled upon this old thread I've had the Fadal now a couple years I'd guess. I use it for making welding machine adapter kits. Kubota, Yanmar, Duetz engines to Lincoln 200, 250, 300's. I make about 20-30 per year. I needed the 20" Y axis. My Knee mill would just barely get them done.

    The RongFu is still going. I have some backlash in the X and Y I need to look at. It's not horrible but around 2-3 thou. I went with adjustable double nuts so hopefully it just needs tweaked some. I'm using it less and less all the time since the Fadal is here.

    Richard

    Quote Originally Posted by CNC-Joe View Post
    Very Nice, Fadal - Richard. Do you still have your HomeBrew Mill?




  11. #211
    Member
    Join Date
    Mar 2007
    Location
    Romeo, Michigan, USA
    Posts
    304
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Nice! Good to see you are continuing your work. Is the FADAL stock? or did you change the controller over to Mach3/4? Do you still have your website up? (Skinner Ranch I recall)

    [url]www.CNC-Joe.com[/url]
    CNC Is Not Just My Passion.. It's My Addiction !!!!


  12. #212
    Member
    Join Date
    Oct 2008
    Location
    United States
    Posts
    1632
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    The Fadal is mostly stock. I do have it on the network and sending me messages to my phone after tool changes or part completion.
    I hadn't really implemented that a lot because I'm standing there, but my Idea was to push out messages to a server to keep track of tool time and "actual" operation times.

    SkinnerRanch.Net is still there but it mainly hosts my weather data. I need to to put some of the hobby projects back up. I get asked about them a lot.

    Dang, you have a good memory. I wonder if Pete From Tennessee is still kicking around?

    Richard



  13. #213
    Member
    Join Date
    Mar 2007
    Location
    Romeo, Michigan, USA
    Posts
    304
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    A lot of people have dropped off of CNC Zone. The new owner that took over has given in to all the advertising.. and I thnk it chasess a lot of people off. Plus - guys like Hoss aren't on here building any more... I'm just getting my DM3000 lathe up and running. I miss your posts, too - you were doing a lot with Mach3. Take care and stay healthy.

    [url]www.CNC-Joe.com[/url]
    CNC Is Not Just My Passion.. It's My Addiction !!!!


  14. #214
    Member
    Join Date
    Oct 2008
    Location
    United States
    Posts
    1632
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    I'm looking a for a good lathe project. I really don't want to convert any of my manual lathes Enco 13x40, Leblond 19x80, and New Acra 21x60.
    I rather get an older CNC and build it up like the Fadal project.



  15. #215
    Member
    Join Date
    Apr 2008
    Location
    australia
    Posts
    82
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Nice Fadal.
    Funny how addictive cnc can get.
    I only just finished building my diy cnc and had it running a couple months before I knew from then i wanted a real machine.
    Luckily i found a vmc 10 for a great price and now all my time is going into getting it cleaned and running.
    I'll keep my diy as a spare for now but don't think it will get used much.



  16. #216
    Member
    Join Date
    Mar 2007
    Location
    Romeo, Michigan, USA
    Posts
    304
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    If you can find them - the DynaMechatronic DM-3000 is an excellent sturdy lathe. There are already a couple of full conversions posted out here on either the benchtop or the Dyna forums... and it has a 6 tool turret.... Stout little buggers. . I have 2 - one that is already converted to Mach 3 (I'm working on it currently) and another victim waiting in line.

    [url]www.CNC-Joe.com[/url]
    CNC Is Not Just My Passion.. It's My Addiction !!!!


  17. #217
    Member
    Join Date
    Mar 2007
    Location
    Romeo, Michigan, USA
    Posts
    304
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Hi Richard,
    - Thank you for sharing your Mach3 M6ATC.m1s macro.
    - I see that you have put some failsafes into it.

    - How are you handling all of the I/O on this machine? Are you using two parallel printer ports? or are you using a PoKeys57e? or?

    - I have the ATC Turret working in a Uni-Directional mode on my DynaMechtronics DM-3000 Lathe.
    - I need to wire in the pawl retraction Solenoid to an additional output relay.
    - I'd like to wire in some sort of confirmation that the ATC has completed its move- and that is going to require additional I/O.
    - Just wondering if you've solved this problem yet, and how well it is working.

    Thanks for any input,
    Joe

    [url]www.CNC-Joe.com[/url]
    CNC Is Not Just My Passion.. It's My Addiction !!!!


  18. #218
    Member
    Join Date
    Oct 2008
    Location
    United States
    Posts
    1632
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Joe, It's an older system but it's using the Ethernet Smoothstepper, and several PMDX boards.
    PMDX-126 Breakout board
    PMDX-107 Isolated Speed board for VFD
    PMDX-170 Optical sensor switches
    PMDX-179 Remote IO LED board.

    Running Servos and encoders for the 3 main axis, then steppers for the Rotary table, and for the tool changer carousel.


    I did low air pressure, draw bar position, extend and retract limits for the slide, but besides a home switch for the tool carousel, I didn't do a position check after each change. I mean after all, I'm controlling it with a stepper so I should know where it is unless something bad happens. It's been running like that for years and I have the accel and decel set where it hadn't ever lost any steps.

    If I were to do it, just thinking out loud. I would use an optical sensor the then make a disc with a hole for each tool position and I'd mount it to the tool spindle somehow. It would be an inexpensive encoder sort of that would be a safety check. Then a single sensor could tell if it move into position. It wouldn't know which position because that would be up to the software to increment or decrement a counter.

    Better yet, an encoder or a servo and encoder. You can make it as simple or complex as you want. You get the idea. The other issue is if you're converting something already there, then you have to figure out mounting and such.

    I hate to say it, but I've seen several lathes that use a stepper, they don't worry about the actual step position, but they use a spring loaded pawl, then they advance XX steps so they know they are past the pawl, then back up so many steps. They actually back up more than required and the stepper looses steps, but it doesn't matter. Then next time, same thing, advance past the pawl, then back up against the pawl.
    Pretty simple and in the fashion they're doing it, other than keep track of a counter for which tool position, there isn't anything else to do.

    It's like the stepper guys that home to a stop, the gantry hits a stop and the stepper skips beats. Then they zero that axis. Seriously, many commercial products do the same exact process.



  19. #219
    Member
    Join Date
    Mar 2007
    Location
    Romeo, Michigan, USA
    Posts
    304
    Downloads
    0
    Uploads
    0

    Default Re: ATC Slide

    Quote Originally Posted by rwskinner View Post
    Joe, It's an older system but it's using the Ethernet Smoothstepper, and several PMDX boards.
    PMDX-126 Breakout board
    PMDX-107 Isolated Speed board for VFD
    PMDX-170 Optical sensor switches
    PMDX-179 Remote IO LED board.

    Running Servos and encoders for the 3 main axis, then steppers for the Rotary table, and for the tool changer carousel.


    I did low air pressure, draw bar position, extend and retract limits for the slide, but besides a home switch for the tool carousel, I didn't do a position check after each change. I mean after all, I'm controlling it with a stepper so I should know where it is unless something bad happens. It's been running like that for years and I have the accel and decel set where it hadn't ever lost any steps.

    If I were to do it, just thinking out loud. I would use an optical sensor the then make a disc with a hole for each tool position and I'd mount it to the tool spindle somehow. It would be an inexpensive encoder sort of that would be a safety check. Then a single sensor could tell if it move into position. It wouldn't know which position because that would be up to the software to increment or decrement a counter.

    Better yet, an encoder or a servo and encoder. You can make it as simple or complex as you want. You get the idea. The other issue is if you're converting something already there, then you have to figure out mounting and such.

    I hate to say it, but I've seen several lathes that use a stepper, they don't worry about the actual step position, but they use a spring loaded pawl, then they advance XX steps so they know they are past the pawl, then back up so many steps. They actually back up more than required and the stepper looses steps, but it doesn't matter. Then next time, same thing, advance past the pawl, then back up against the pawl.
    Pretty simple and in the fashion they're doing it, other than keep track of a counter for which tool position, there isn't anything else to do.

    It's like the stepper guys that home to a stop, the gantry hits a stop and the stepper skips beats. Then they zero that axis. Seriously, many commercial products do the same exact process.
    ----------------------------------------------------------
    Hi Richard,
    - That is exactly how I am doing it currently- CW rotation to move to the tool position, then CCW rotation to backup against the pawl and to lock into position.
    - I then set the OEMDRO to the position that it should be (i.e. Tool 1= 0 Degrees, 2=60, 3=120, 4=180, 5=240, 6=360) - to make up for the missed steps of the collision with the pawl.
    - I want to enable the pawl retraction - then I could have dual-direction moves to take the shortest route to the tool - but with only 6 tool positions - you're really not talking about a big time save.
    - I need to incorporate some type of failsafe sensorics to know that the turret actually got to its intended position - and I'm still trying to figure out the best way to do that (any input is greatly appreciated here). Originally DynaMechtronics incorporated 3 sensors on the shaft of the turret - with LED emitter/detectors mounted opposite one another.. and used the binary code to failsafe position.

    I need to expand the amount of I/O that I have to add additional failsafe sensors - any input or guidance on this would be highly appreciated too.

    Thanks for any help that you can provide.

    Joe

    [url]www.CNC-Joe.com[/url]
    CNC Is Not Just My Passion.. It's My Addiction !!!!


Page 11 of 11 FirstFirst ... 891011

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

ATC Slide

ATC Slide