UCcnc / UC300 with ATCs

Results 1 to 20 of 20

Thread: UCcnc / UC300 with ATCs

  1. #1
    Member vmax549's Avatar
    Join Date
    Oct 2005
    Location
    Lady Lake
    Posts
    1145
    Downloads
    3
    Uploads
    0

    Default UCcnc / UC300 with ATCs

    Derek has done a LOT of work to fully develop his 10 tool rotary ATC on the UCcnc platform. It has all the needed I/O and scripting functions needed to make it work seamlessly with his system. His ATC design is ROCK solid as a friendly Atc design. It also has all the needed sensoring to create a full fault resistant operation. The sensoring is fully supported by the UC300's powerfull I/O. And does away with the NEED for an outside PLC to help run the show. He is also working on probing solutions as the needs arise.

    His machines are NOT the fancy clean ones that are only used on Sunday afternoon by a little old granny. His machines HAVE to work HARD and long to make a living.

    The basic ATC design could be adapted to ANY machine.

    Do you have need for a ATC or a list of PROBING solutions that you need. SPEAK UP . No one knows what you need until you speak up.

    (;-) TP

    Similar Threads:


  2. #2
    Registered
    Join Date
    Dec 2014
    Posts
    18
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    I know this post is old, but I am wanting to switch over to UCCNC and start building out a linear ATC (as opposed to rotary). I plan on using the UC400ETH mated with a PMDX-126 with spindle control module. I am wanting to have seamless operation without a PLC where I can hit the run button and it will grab the tool, zero it on a permanent z plate using the spoil board surface as the zero, then run the job, switching tools and zeroing them as needed.

    In Mach, I could kinda fake my way through VBS scripts, but I am clueless when it comes to C#. So, where would I even start? I have never used an ATC before.



    I will be starting with a Chinese ATC spindle (BT30)



  3. #3
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    In Mach, I could kinda fake my way through VBS scripts, but I am clueless when it comes to C#. So, where would I even start?
    Look through the docs and samples that come with UCCNC, and if you can work your way through VB, then you should be able to work through C#, It's not all that much different.

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  4. #4
    Registered
    Join Date
    Jun 2014
    Posts
    777
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    Quote Originally Posted by tygerwolf76 View Post
    I know this post is old, but I am wanting to switch over to UCCNC and start building out a linear ATC (as opposed to rotary). I plan on using the UC400ETH mated with a PMDX-126 with spindle control module. I am wanting to have seamless operation without a PLC where I can hit the run button and it will grab the tool, zero it on a permanent z plate using the spoil board surface as the zero, then run the job, switching tools and zeroing them as needed.

    In Mach, I could kinda fake my way through VBS scripts, but I am clueless when it comes to C#. So, where would I even start? I have never used an ATC before.



    I will be starting with a Chinese ATC spindle (BT30)
    UCCNC comes with an m6 default macro for atc's, you just need to modify the tool locations and values. Not sure if it has a tool measuring sequence inbuilt but bandura makers macro in the macro sharing post could be used in conjunction with the m6 for full automation when new tools are being used. I dont think you will need to learn VB to achieve what your looking for, If theres a move or function you need thats not in either of these macros already, if you ask on here there are some guys that are very familiar with the language and will give you the code you need.

    Last edited by Jon.N.CNC; 06-12-2016 at 05:39 PM.


  5. #5
    Member vmax549's Avatar
    Join Date
    Oct 2005
    Location
    Lady Lake
    Posts
    1145
    Downloads
    3
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    Just remember one thing. The G31 probing function does NOT have a trip point value available. You have to use the Axis stop point which is NOT the same exact point. The faster you probe the more error exists between the two positions. For an exact value of the actual trip point you need to correct it for deacel and vel to a stop.

    Hopefully they will get a proper trip point value soon.

    (;-) TP



  6. #6
    Member
    Join Date
    Jun 2015
    Location
    Sweden
    Posts
    943
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    How I probe is I probe in 2 sequences. I first probe fast to get the point approximately and after I retract a little bit and probe really slow to get an accurate measurement.
    result is within 0.01mm which is much better than my mechanics precision.



  7. #7
    Member
    Join Date
    Apr 2013
    Location
    Sweden
    Posts
    1899
    Downloads
    2
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    Quote Originally Posted by OlfCNC View Post
    How I probe is I probe in 2 sequences. I first probe fast to get the point approximately and after I retract a little bit and probe really slow to get an accurate measurement.
    result is within 0.01mm which is much better than my mechanics precision.
    That's the same way I do it as well in Mach3. I find it incredibly more accurate but unfortunately of course it is also slower.



  8. #8
    Member vmax549's Avatar
    Join Date
    Oct 2005
    Location
    Lady Lake
    Posts
    1145
    Downloads
    3
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    In Mach3 probing speed has nothing to do with the trip point values accuracy (;-) The stop point yes but not the trip point.

    Just a thought, (;-) TP



  9. #9
    Member
    Join Date
    Apr 2013
    Location
    Sweden
    Posts
    1899
    Downloads
    2
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    Quote Originally Posted by vmax549 View Post
    In Mach3 probing speed has nothing to do with the trip point values accuracy (;-) The stop point yes but not the trip point.

    Just a thought, (;-) TP
    Never the less, the saved tool offset is more accurate the way I do it, in two pass, than in one single pass. I checked so I know, not just guessing.



  10. #10
    Member vmax549's Avatar
    Join Date
    Oct 2005
    Location
    Lady Lake
    Posts
    1145
    Downloads
    3
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    The way Mach3 gathers the trip point is in BETWEEN every step signal put out it checks the Probe pin for activation. So the MOST you could ever be off is less than 1 step value.

    Move 1 step ,check teh pin, move 1 step ,check the pin

    In that method speed has nothing to do with anything.

    Just a thought, (;-) TP



  11. #11
    Registered
    Join Date
    Jun 2014
    Posts
    777
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by vmax549 View Post
    The way Mach3 gathers the trip point is in BETWEEN every step signal put out it checks the Probe pin for activation. So the MOST you could ever be off is less than 1 step value.

    Move 1 step ,check teh pin, move 1 step ,check the pin

    In that method speed has nothing to do with anything.

    Just a thought, (;-) TP
    So in theory the higher the number of microsteps the greater the probe accuracy?



  12. #12
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    More like the potential for greater accuracy.

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  13. #13
    Member
    Join Date
    Feb 2008
    Location
    Afghanistan
    Posts
    482
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    i love uccnc. this is my machine probing new tool- setting tool table and verifying- so straight to work . (macro started 10 months ago- improved lots more to add the newer number of tools etc since.
    just added an atc spindle to machine- just need to make tool rack.



    UCCNC powered uk machine sales
    https://cncrouter.uk/atc-cnc-routers.htm


  14. #14
    Member
    Join Date
    Jun 2015
    Location
    Sweden
    Posts
    943
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    Quote Originally Posted by battwell View Post
    i love uccnc. this is my machine probing new tool- setting tool table and verifying- so straight to work . (macro started 10 months ago- improved lots more to add the newer number of tools etc since.
    just added an atc spindle to machine- just need to make tool rack.

    That is cool. Will you share your ATC macros? Would be interested.



  15. #15
    Member
    Join Date
    Feb 2008
    Location
    Afghanistan
    Posts
    482
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    here is my macro- with test bits left in but remmed out by //
    it shows how i set box numbers etc
    hope it helps anybody venturing into c# editing

    //Tool positions definition
    int headdownport = 3;
    int headdownpin = 6;

    double[] ToolX = new double[11];
    double[] ToolY = new double[11];
    //ToolX[1] = -150; // Tool1 X position
    //ToolY[1] = -1858; // Tool1 Y position
    double ToolXchgpos = -200; // Toolchange X position
    //double ToolYchgpos = -1872; // Toolchange Y position // PERSKE
    double ToolYchgpos = -1550; // Toolchange Y position // HSD
    double probeheight = -146.0625;//use m312 to get exact position of probe with no tool
    //double probeX = -1; //perske
    //double probeY = -1872;

    double probeX = 4; // HSD
    double probeY = -1586;

    double Zmin = -100;
    double Zmin2 = -3;
    double Feedrate = 600;
    double Feedrate2 = 50;
    double SafeZ2 = -50;
    double retractheight = 10;
    double retractheight2 = 2;


    double SafeZ = -10;

    int Newtool = exec.Getnewtool();
    int Currenttool = exec.Getcurrenttool();

    // ***set tool field number***

    int Boxnumber = 195;// fieldnumber for tools 1-20 (field 196)
    if (Newtool >20)
    {
    Boxnumber = 921-21;// fieldnumber for tools 21-96. minus 21 so tool increment is correct
    }

    // ***end of set tool field number***

    if(Newtool == -1) // If new tool number is -1 means a missing T code, so we need to stop here...
    {
    MessageBox.Show("no tool number!");

    exec.Stop();

    return;
    }


    if(Newtool <1 || Newtool >96) // Tool number is out of range, so we need to stop here...
    {
    MessageBox.Show(" tool numberout of range !");
    exec.Stop();
    return;
    }

    if(Newtool == Currenttool) // Same tool was selected, so do nothing, stop here...
    {
    // MessageBox.Show(" same tool !");

    return;
    }

    //return;

    if(!exec.GetLED(56)||!exec.GetLED(57)||!exec.GetLE D(58)) // If machine was not homed then it is unsafe to move in machine coordinates, stop here...
    {
    MessageBox.Show("The machine was not yet homed, do homeing before executing a tool change!");
    exec.Stop();
    return;
    }

    while(exec.IsMoving()){}

    // Stop spindle if running and Move Z up

    exec.Stopspin();
    exec.Code("G00 G53 Z"+ SafeZ); // Move Z up
    while(exec.IsMoving()){}

    // Move to old tool position on XY plane

    exec.Code("G00 G53 X" + ToolXchgpos + " Y" + ToolYchgpos);
    while(exec.IsMoving()){}
    MessageBox.Show(" Change tool then press ok ");

    //********probing************

    //M31 probing macro


    if(!exec.GetLED(56)||!exec.GetLED(57)||!exec.GetLE D(58)) // If machine was not homed then it is unsafe to move in machine coordinates, stop here...
    {
    MessageBox.Show("MACHINE NOT HOMED, home the machine before tool change!");
    exec.Stop();
    return;
    }

    while(exec.IsMoving()){}
    exec.Wait(200);
    if(exec.GetLED(37)) // if probe signal is on - probe stuck! stop here...
    {
    MessageBox.Show("The probe signal isnt ready-check probe!");
    exec.Stop();
    return;
    }

    //HEAD DOWN
    exec.Setoutpin(headdownport,headdownpin);


    double Xoriginalpos = exec.GetXmachpos(); // Get the current X machine coordinates
    double Yoriginalpos = exec.GetYmachpos(); // Get the current Y machine coordinates
    double Zoriginalpos = exec.GetZmachpos(); // Get the current Z machine coordinates

    //exec.Code("G00 G53 Z-5");// + SafeZ2); // Move Z up first
    //while(exec.IsMoving()){}

    exec.Code("G00 G53 X" + probeX +" Y" + probeY + "Z-5");// // Move to the probe sensor position in XY
    while(exec.IsMoving()){}

    exec.Code("G31 Z" + Zmin + "F" + Feedrate); // Move to the probe sensor position in z
    while(exec.IsMoving()){}
    exec.Wait(200);




    double Zoriginalposprobed = exec.GetZmachpos(); // Get the current Z machine coordinates

    //MessageBox.Show ("position is now " + Zoriginalposprobed);

    double probedpos= Zoriginalposprobed - Zoriginalpos;

    //MessageBox.Show ("Length difference is" + probedpos);





    double backoff = exec.GetZmachpos() + retractheight2;

    exec.Code("G00 G53 Z" + backoff); // Move few mm?? above probe plate
    while(exec.IsMoving()){}
    exec.Wait(200);

    if(exec.GetLED(37)) // if probe signal is on- probe stuck! stop here...
    {
    MessageBox.Show("The probe signal isnt ready-check probe!");
    exec.Stop();
    return;
    }


    exec.Code("G31 Z" + Zmin2 + "F" + Feedrate2); // slow probe
    while(exec.IsMoving()){}
    exec.Wait(300);


    if(!exec.Ismacrostopped()) // If tool change was not interrupted with a stop only then validate
    {

    Zoriginalposprobed = exec.GetZmachpos(); // Get the current Z machine coordinates

    //MessageBox.Show ("position is now " + Zoriginalposprobed);

    probedpos= Zoriginalposprobed - Zoriginalpos;

    //MessageBox.Show ("Length difference is " + probedpos);


    double tooloffset= Zoriginalposprobed - probeheight;
    //MessageBox.Show ("tool length is " + tooloffset);


    //exec.Code("G44 H1"); // Load tool offset one, note the tool length is defined in the tools menu
    //while(exec.IsMoving()){}
    //exec.Wait(500);

    double Zup = exec.GetZmachpos() + retractheight;
    if(Zup > SafeZ)
    {
    Zup = SafeZ;
    }

    //HEAD UP
    //exec.Clroutpin(headdownport,headdownpin);
    //exec.Wait(100);
    // end of head up

    exec.Code("G00 G53 Z-5");// // Move z to -5 from home switch
    while(exec.IsMoving()){}
    exec.Wait(100);
    exec.Code("G00 G53 x-200");// // Move z to -5 from home switch
    while(exec.IsMoving()){}
    exec.Wait(100);





    // **** Set tool table ****


    int fieldtoset= (Boxnumber + Newtool);// different field numbers now with extra tools added in this version

    AS3.Setfield(tooloffset, fieldtoset);
    while(exec.IsMoving()){}
    exec.Callbutton(167);
    exec.Wait(100);

    //exec.Code("G43 H"+ Newtool); // Load new tool offset
    AS3.Setfield(tooloffset, 169);//set tooloffset z

    exec.Wait(200);
    AS3.Validatefield(169); // this updates all settings with new z offset.

    exec.Wait(100);
    while(exec.IsMoving()){}


    if(!exec.Ismacrostopped()) // If tool change was not interrupted with a stop only then validate new tool number
    {
    exec.Setcurrenttool(Newtool); //Set the current tool -> the new tool
    exec.Wait(100);
    //MessageBox.Show("Tool change done.");

    }
    else
    {
    exec.StopWithDeccel();
    MessageBox.Show("Tool change was interrupted by user!");
    }
    }

    UCCNC powered uk machine sales
    https://cncrouter.uk/atc-cnc-routers.htm


  16. #16
    Member
    Join Date
    Jun 2015
    Location
    Sweden
    Posts
    943
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    Thank you Battwell,
    I will be in the process of adding an ATC to my machine real soon, will try to read, understand and use your macro, thank you for sharing it with me and others!



  17. #17
    Member
    Join Date
    Feb 2008
    Location
    Afghanistan
    Posts
    482
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    my macro will need to be edited to be used on any other machine. however using cut/paste into your own macro will work for lots of it.
    if your macro doesnt run- shows error at runtime on main screen . look in your machine/ profiles/ macros directory at errorlog - it will give you pointers as to why its failed. (this helped me loads)

    UCCNC powered uk machine sales
    https://cncrouter.uk/atc-cnc-routers.htm


  18. #18
    Member
    Join Date
    Feb 2008
    Location
    Afghanistan
    Posts
    482
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    Quote Originally Posted by battwell View Post
    my macro will need to be edited to be used on any other machine. however using cut/paste into your own macro will work for lots of it.
    if your macro doesnt run- shows error at runtime on main screen . look in your machine/ profiles/ macros directory at errorlog - it will give you pointers as to why its failed. (this helped me loads)
    here is that code in action- before i started adding extra bits for tool rack. now i have fitted atc spindle.


    UCCNC powered uk machine sales
    https://cncrouter.uk/atc-cnc-routers.htm


  19. #19
    Member
    Join Date
    Nov 2011
    Location
    Mexico
    Posts
    107
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    Quote Originally Posted by battwell View Post
    here is that code in action- before i started adding extra bits for tool rack. now i have fitted atc spindle.

    I´m really new to UCCNC, so far its been working great.

    I Would like to add an ATC to my setup, but i dont really know where to start, currently i´m using the UC300 WITH the UB1 breakout and the Ger UCCNC Screenset.

    The UB1 have plenty I/O pins and the spindle is the HSD915A.


    Any help you can give??? where do i need to start?

    Thanks in advance!



  20. #20
    Member
    Join Date
    Oct 2004
    Location
    United States
    Posts
    313
    Downloads
    0
    Uploads
    0

    Default Re: UCcnc / UC300 with ATCs

    I did this ATC and Tool probing macros based on the ACT macros that Terry did:

    https://cnc4pc.com/forum/projects/to...acro-for-uccnc

    I posted the files used.

    I think it will help you.

    Arturo Duncan
    https:/cnc4pc.com



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

UCcnc / UC300 with ATCs

UCcnc / UC300 with ATCs