585,996 active members*
4,544 visitors online*
Register for free
Login
Results 1 to 20 of 20
  1. #1
    Join Date
    Oct 2005
    Posts
    1145

    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

  2. #2
    Join Date
    Dec 2014
    Posts
    18

    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
    Join Date
    Mar 2003
    Posts
    35538

    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
    http://www.thecncwoodworker.com/2017.html

    Mach3 2010 Screenset
    http://www.thecncwoodworker.com/2010.html

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

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

  4. #4
    Join Date
    Jun 2014
    Posts
    777

    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.

  5. #5
    Join Date
    Oct 2005
    Posts
    1145

    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
    Join Date
    Jun 2015
    Posts
    943

    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
    Join Date
    Apr 2013
    Posts
    1899

    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
    Join Date
    Oct 2005
    Posts
    1145

    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
    Join Date
    Apr 2013
    Posts
    1899

    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
    Join Date
    Oct 2005
    Posts
    1145

    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
    Join Date
    Jun 2014
    Posts
    777
    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
    Join Date
    Mar 2003
    Posts
    35538

    Re: UCcnc / UC300 with ATCs

    More like the potential for greater accuracy.
    Gerry

    UCCNC 2017 Screenset
    http://www.thecncwoodworker.com/2017.html

    Mach3 2010 Screenset
    http://www.thecncwoodworker.com/2010.html

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

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

  13. #13
    Join Date
    Feb 2008
    Posts
    482

    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.

    https://www.youtube.com/watch?v=Z0QyOS9BarM
    so much to learn, so much to pass on.

  14. #14
    Join Date
    Jun 2015
    Posts
    943

    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.

    https://www.youtube.com/watch?v=Z0QyOS9BarM
    That is cool. Will you share your ATC macros? Would be interested.

  15. #15
    Join Date
    Feb 2008
    Posts
    482

    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!");
    }
    }
    so much to learn, so much to pass on.

  16. #16
    Join Date
    Jun 2015
    Posts
    943

    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
    Join Date
    Feb 2008
    Posts
    482

    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)
    so much to learn, so much to pass on.

  18. #18
    Join Date
    Feb 2008
    Posts
    482

    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.
    https://www.youtube.com/watch?v=sFSn-nxUTFw
    so much to learn, so much to pass on.

  19. #19
    Join Date
    Nov 2011
    Posts
    107

    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.
    https://www.youtube.com/watch?v=sFSn-nxUTFw

    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

    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

Similar Threads

  1. C10s BOB with UC300 controller ?
    By The Geekineer in forum CNC4PC
    Replies: 0
    Last Post: 07-15-2015, 01:17 AM
  2. UC300 w/C10s BOB problem
    By The Geekineer in forum Controller & Computer Solutions
    Replies: 0
    Last Post: 07-15-2015, 01:01 AM
  3. UC300 interface
    By bickius123 in forum News Announcements
    Replies: 2
    Last Post: 09-19-2013, 07:44 AM
  4. Any ATCs on DIY machines?
    By jharvey407 in forum DIY CNC Router Table Machines
    Replies: 25
    Last Post: 01-01-2013, 02:28 PM
  5. ATCs and Little Tools
    By SCzEngrgGroup in forum Bridgeport / Hardinge Mills
    Replies: 1
    Last Post: 03-12-2009, 01:42 AM

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
  •