Probe Basic Rack based ATC

More
02 Jul 2022 00:15 #246401 by P1-Engineering
Anyone here have experience with incorporating a rack based ATC instead of the standard carousel?. 

On my current CNC controller, EdingCNC, I have a fully operational ATC macro for my dual row, sliding rack, ATC. 

This is written in standard G-code and has various subroutines. 
It also uses a list of variables to store the X,Y,Z positions for all the toolpockets. 

Is this something which can be easily converted to work with ProbeBasic?. 

Please Log in or Create an account to join the conversation.

More
02 Jul 2022 16:58 #246453 by spumco
Replied by spumco on topic Probe Basic Rack based ATC
Warning - I'm not a developer, and I don't know much beyond the basics of LCNC.  That said, if you don't understand any of the jargon below please say so and I'll try to clarify. A big problem for newcomers to LinuxCNC is the jargon-language barrier.

There isn't a current branch of Probe Basic which is pre-configured for a rack/linear ATC.  There are two old (2yrs) branches on github named Linear_ATC_Branch and LinearATC_REZ that appear to be the start of what you're looking for.

I think what you're after is do-able, but the issue is that an ATC implementation for Probe Basic is more complicated than other GUIs.  The screen animation adds another layer of complexity as an ATC sequence requires:
  • You command something to happen through the user interface
  • User interface then
    • Responds to command, and
    • Passes command to LinuxCNC
  • LinuxCNC
    • Responds to command, and
    • Passes updated info to user interface
  • User interface responds to updated info
For some other GUI with no fancy animation the only thing that needs to happen is maybe update a simple numerical display (DRO) with the new tool number.
For Probe Basic, "responds to command" or "responds to info" requires some internal logic for the animation/display to work.

Think of it like trying to control two ATC's at once: the physical one, and the virtual one on the screen.  They have to talk to each other and to the user, and get everything choreographed & timed properly.

To change from a rotary to rack/linear, even if you keep the same circular pictures/icons, means you'd have to change three pretty fundamental things.

First, you'd have to change the physical ATC logic.  The PB ATC examples are designed for a rotary carousel with a geneva drive, which means finding a linear ATC example and modifying it to work with PB.  There's a lot of logic and math behind the scenes commanding the ATC motor to move in the correct direction and how far to rotate.  That'd all have to get changed.

Second, you'd have to change the virtual ATC logic.  Right now, the animated ATC moves based on 'steps' - i.e. 'rotate x number of steps' whenever the pocket number changes.  And I don't know if the animations are happening because your screen input is doing it, or if the animations are responding to info passed back from LCNC.  Your linear ATC would need that logic changed to move to a particular pocket, not a certain number of steps.  Again - possible, but not trivial for a newcomer to LCNC.

Third, and somewhat less complicated, is changing the on-screen buttons so they function the way you want.  "JOG-FWD" and some others would be meaningless to your rack ATC, but you might want a button for sliding your rack forward/back.  That button would need to be modified; both the text as well as the actual button command.

There are plenty of linear ATC examples - or at least forum threads you can piece together - that would be quite a bit more simple.  They use other GUI's that don't have the added lay of complexity that Probe Basic does.  You might consider exploring those.  Once you have a working rack ATC, you might revisit PB and see if you're still interested in unraveling the logic needed to get it working.

The PB developers have done a pretty amazing job with the ATC function, but as I'm struggling with my own carousel ATC conversion I've come to realize that implementing an ATC which doesn't follow the basic configuration they set up is a challenge.
The following user(s) said Thank You: P1-Engineering

Please Log in or Create an account to join the conversation.

More
03 Jul 2022 10:42 #246497 by andypugh
Replied by andypugh on topic Probe Basic Rack based ATC
Probe Basic is probably going to get in the way, but a simple example of a rack changer can be found in sim/axis/remap/

Yes, it uses the Axis interface, but it has example files of what a rack changer driven by a g-code subroutine looks like.

Basically you "remap" M6 to run a G-code routine that parks the current tool and selects the new one.

It's mainly a single line the INI to make M6 do something else:
linuxcnc.org/docs/stable/html/remap/rema...xample_remapped_code
The following user(s) said Thank You: P1-Engineering

Please Log in or Create an account to join the conversation.

More
03 Jul 2022 16:54 #246516 by P1-Engineering
Yeah, I think I should first focus on getting everything dialed in using a more convential GUI, probably be using GMOCCAPY. Found a good configuration to start building from for that GUI. 
In the end I would really like all the added functionality which ProbeBasic brings. 
Also considering going the Pathfinder route now that I know it's a possibility. But also there no (not yet) rack changer support ofcourse. Do believe they are working on it since they have the 24R router now. 

Regarding the G-code and subroutines. This I basically have and think I will be able to rebuild it to work with LinuxCNC. 
On my current system the only part which involves the GUI is calling a setup screen where you fill in all the X,Y,Z data for the ATC and the speeds and various functions. For the rest I won't need much, the ATC graphics from Probe Basic look great but not essential for me. 
Another priority would be to get the control to work with the Fusion 360 probing routines to speed up the workflow. Really impressed with the work of David Loomes regarding the coding for this

Found the two branches for the linear ATC, will dive into it when I'm a bit further with my configuration, thanks for this!

Please Log in or Create an account to join the conversation.

More
04 Jul 2022 08:53 #246563 by rmu
Replied by rmu on topic Probe Basic Rack based ATC
This github.com/rmu75/rover-342-retrofit is my configuration for a biesse rover retrofit with a 10 places kind-of rack type of tool changer. I use probe basic as a GUI, but didn't really integrate the toolchanger GUI.

 
The following user(s) said Thank You: P1-Engineering

Please Log in or Create an account to join the conversation.

More
18 Jul 2022 10:10 #247648 by P1-Engineering
I bought one of those cheap little 3019 routers from banggood to help building the configuration for the proper router. 
Since I'm stuck to the desk for atleast two more months while recovering from my accident I figured this will help me make progress, and good motivation to keep busy. When it's here I can get started on designing and printing a simple ATC mechanism which has all the features of the real ATC.

In this topic I will document my progress. 
 
In the future this can still be helpfull to develop new macros and such.
 

Please Log in or Create an account to join the conversation.

More
18 Jul 2022 10:45 #247651 by tommylight
Wishing you a quick and painless recovery.
The following user(s) said Thank You: P1-Engineering

Please Log in or Create an account to join the conversation.

More
18 Jul 2022 13:58 #247668 by Lcvette
Replied by Lcvette on topic Probe Basic Rack based ATC
As Spumco mentioned, I worked on the linear ATC for a while but have not returned to it yet. once 2.9 is completely sorted my plan is to finish up several things in PB for mill and various ATC types along with lathe and some much needed updating there. it just seems to be a difficult situation until there is a simple release and update method for the py3 conversion. once its done it will be fantastic i have no doubt and easier then ever to update LCNC and probe basic will then likely become a deb type install which should simplify things for everyone, but as it stands i spend more time trying to help people figure out installation issues than functionality upgrades.
The following user(s) said Thank You: P1-Engineering

Please Log in or Create an account to join the conversation.

More
18 Jul 2022 18:53 #247719 by P1-Engineering
Looking forward to it!.
Seeing Probe Basic had me convinced on trying the LinuxCNC route.
Thank you for all the hard work. Together with the Klipper, Mainsail, interface these open source projects have impressed me a lot.

If needed I can help with the rack-based ATC. I have a fully functional macro already which has been flawless in a production environment, but it's for EdingCNC
It's written in standard G-code and uses a list of variables to store the XYZ coordinates for every pocket. Also has breakage control built in.
I will convert this to LinuxCNC anyway to see if I can get it working, to learn the principles of LinuxCNC.
The following user(s) said Thank You: Lcvette

Please Log in or Create an account to join the conversation.

More
18 Jul 2022 18:55 #247720 by P1-Engineering

Wishing you a quick and painless recovery.

Thank you Tommy. It's just a matter of time luckily, just have to be patient and keep myself busy by learning new things.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

Moderators: KCJLcvette
Time to create page: 0.091 seconds
Powered by Kunena Forum