Bridgeport Torq-Cut TC4G Retrofit

More
16 Feb 2021 01:14 - 16 Feb 2021 01:16 #199007 by chopper79
Had a little bit of time today to work on the configuration.

* Z axis brake is completed
* Way lube is completed (Using classic ladder)
* Way lube lines are all purged and oil reaches each point needed
* Light beacon is completed (Green, yellow, and red)

Green is solid during program run, Green flashes during program pause, Yellow is on when machine is on and program is not running, and Red is on when Estop is on

New proximity sensors show up tomorrow so I will be able to get those in and then begin the ATC configuration. Will update as I progress further.
Last edit: 16 Feb 2021 01:16 by chopper79.

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

More
18 Feb 2021 00:01 - 21 Feb 2021 21:14 #199204 by chopper79
Quick question

Working on the tool changer a bit and I am using a subroutine to perform this (Used toolchange.ngc as a template and modifying as needed)

The question I have is do I need to use the carousel.comp when using this so the carousel can find tool #1 via the proximity sensor and also manage the rotation and tool count?

Thinking it should be used as the toolchange.ngc does not seem to manage CW and CCW rotation and to know what the current pocket is, etc. I may be wrong but so far I do not see it in the .ngc code.

**** Little more thinking on this and I may go ahead and use the carousel.comp and then use the .ngc file to set the digital outs for the HAL pins. Thinking that this will allow all the functionality of the carousel.comp and keep the subroutine compact and easy to follow. ****

I will give it a try to see what happens in the next few days. My proximity sensors are being held up in shipping due to the winter storms.

Thank you
Last edit: 21 Feb 2021 21:14 by chopper79.

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

More
21 Feb 2021 21:13 - 21 Feb 2021 21:24 #199649 by chopper79
While I anxiously await for my proximity sensors to arrive so I can continue the ATC setup. I have been giving the gear change some thought. After doing some research I came across the potential for remapping the S word. If I am not mistaken I should be able to perform the following by doing this:

1) Check to see what the requested S value is
2) Switch to a ngc file subroutine which will check the S value
3) If S value is > 1200rpm then switch to high gear using digital I/O pins (If already in high gear do not do anything)
4) If S value is < 1200 rpm then switch to low gear using digital I/O pins (If already in low gear do not do anything)
5) Scale output of spindle pwm based on selection above (1:1 high gear and 4:1 low gear)

This would be checked every time an S word is commanded to allow automatic gear selection based on requested S value.

I was looking at the gearchange.comp also but only see that it handles (1) output and I need (2) outputs (high and low gear selection).

The process on my machine is as followed:

1) Spindle stop
2) Disengage shot pin using solenoid on valve
3) Wait for shot pin switch to go LOW
4) Switch to high or low gear using the respective solenoid on respective valve (1 solenoid per gear selection)
5) Wait for respective switch to go HIGH (based on gear selection)
6) Engage shot pin
7) Wait for shot pin switch to go HIGH
8) Start spindle respective to S value

Seeing that I only noticed (1) output on the gearchange.comp is what directed me to look at the remap of S word for automatic gear change. Maybe the gearchange.comp has (2) outputs and I overlooked it.

Do I need to have master running to perform the remap of the S word or can I use the prebuilt LCNC?
Does the gearchange.comp allow for (2) outputs (high and low gear output)?
Is the S word remap a good way to perform this or is gearchange.comp better?

I do not know enough C either to create a component for this (thinking a comp would be better than a HAL mess) or anything else and I am very new to the remapping of items as well. After going through some the documentation I have a little better understanding but the way I learn this stuff is by examples then I can build from there.

**** After posting this I looked at the gearchange.comp again and maybe I am incorrect and this is only used for scaling the output and not making the actual gear change. I am not sure now.. ****
Last edit: 21 Feb 2021 21:24 by chopper79.

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

More
21 Feb 2021 22:09 - 21 Feb 2021 22:23 #199655 by Michael
For the ATC I am currently working through setting mine up. Which for my none software mind means drawing pictures and taking notes.
The carousel comp is the bridge between your subroutine and carousel motion and tool count.
Assuming your TC3G is like a TC22 it has a tool #1 sensor and tool count sensor. This means you will use the carousel component as index. The component also has outputs to move the carousel to the appropriate pocket.

You will need a half dozen digital inputs and outputs to make the connection from m codes in the tool change sub into. You will also need 1 analog output to read the selected pocket number and feed that into the carousel comp.

I am currently writing up my hal and tool change with notes based of the vismach example that is in configs (which was an adventure to find considering it was right under my nose). I will share what I have for files when I have them cleaned up a bit more. In the meantime I attached the hal with carousel and toolchange.ngc from that Vismach example. I added some notes into the hal to make the pin directions and purpose a bit clearer.
Attachments:
Last edit: 21 Feb 2021 22:23 by Michael.
The following user(s) said Thank You: chopper79

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

More
22 Feb 2021 00:59 - 22 Feb 2021 01:04 #199665 by chopper79
I have the tool changer code all finished, but need to verify it once the new proximity sensors decide to arrive at my door. I hope they are just delayed and not lost.

Correct the tool changer has a sensor for index and one for pocket count. This functions just like the Matsuura I did but instead has a Z axis move. The Matsuura was all done using the carousel.comp and CL. This will be my first time using a subroutine for something of this nature. After looking at the subroutine and including the carousel component everything started falling together on my TC4G.

Will not know for sure until sensors arrive though, but when I step through it in my head it makes sense anyway.

I will update once I get the sensors installed and test the process.
Last edit: 22 Feb 2021 01:04 by chopper79.

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

More
22 Feb 2021 06:14 #199678 by Michael
I just got mine finished for the most part if you wanted to compare and give me any advice.
forum.linuxcnc.org/10-advanced-configura...or-atc-with-carousel

You also made me realize that I should change the proximity sensors out since mine trigger low, that leaves the opportunity for a short to give a false signal.

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

More
25 Feb 2021 02:26 - 25 Feb 2021 03:20 #200052 by chopper79
Sensors finally arrived and got them installed Finishing up tool change sub (Testing now and so far so good)

Preparing to work on the remap of S for automatic gear change in spare time

If someone could verify my approach that would be great. First time making a subroutine like this.

Thinking that the beginning of the sub would be something like this

****************************************************************************
o<gearchange> sub

M5 ; make sure to stop spindle as it needs to be off to change gears or stuff grinds
**** Need to look at the spindle output still to verify at zero speed before proceeding ****

O100 IF [#<speed> GT 1200] ; high gear needs to be engaged above 1200 rpm

M64 Pnn ; release shot pin = on
M66 Pnn Ln Qnn ; wait for shot pin switch = false
O104 if [#5399 LT 0]
(abort, failed to release shot pin)
O104 endif

M64 Pnn ; activate high gear solenoid
M66 Pnn Lnn Qnn ; wait for high gear switch = true
O105 if [#5399 LT 0]
(abort, failed to change to high gear)
O105 endif

M66 Pnn Lnn Qnn ; wait for low gear switch = false
O106 if [#5399 LT 0]
(abort, failed to change to high gear)
O106 endif

M65 Pnn ; release shot pin = off
M66 Pnn Lnn Qnn ; wait for shot pin switch = true
O107 if [#5399 LT 0]
(abort, failed to engage shot pin)
O107 endif

M65 Pnn ; high gear solenoid = off

O100 ENDIF

**** Need to fill in the other IF [#<speed> LT 1200] ; low gear needs to be engaged below 1200 rpm **** Not sure how to structure this though ****

o<gearchange> endsub [1]

m2

****************************************************************************************

Well let me know if I am even on the right track if you get a chance please.

Thank you
Last edit: 25 Feb 2021 03:20 by chopper79.

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

More
25 Feb 2021 23:21 #200139 by Michael
Your first statement should be GE instead of Gt. Or you could do LE instead of LT. One needs to be changed otherwise a speed of 1200 won't meet any of the if conditions.

Second part of the structure for LT 1200 would start with o200 and follow the same as the rest. The subs could be o205 or even where ever you left off at in the o100's as long as they are unique.
The following user(s) said Thank You: chopper79

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

More
25 Feb 2021 23:46 - 25 Feb 2021 23:47 #200140 by chopper79
GE = greater equal to ? Opposite for LE?

I will finish up the sub and give it a try to see what happens.

If high gear is already selected then it should just pass the S value and not attempt to change into high gear again or do I need to have a ELSE in there somewhere? Maybe it will just pass it through as we are already in high gear than this condition is TRUE so do nothing.

Hate to try to change into high gears when it is already in high gear. Just a wasted attempt and time I would think.

Something like IF this DO this ELSE do this. Maybe using a elseif would work as well? I am trying to learn this as I go and using the docs to come up with something simple but solid in function.

Education never ends..
Last edit: 25 Feb 2021 23:47 by chopper79.

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

More
26 Feb 2021 00:04 #200143 by ZincBoy
It looks reasonable to me. I think you might have to use the #<_hal[pin]> method to access the current spindle speed in order to determine if you are at 0 rpm.

For my mill I implemented the gear change with a hal component but I need to turn the spindle slowly when changing gears. I also have it trigger the gear change on an M3 or M4 instead of when S<rpm> is called. Mostly because the spindle is expected to rotate on an M3/4 and not on an S.
The following user(s) said Thank You: chopper79

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

Moderators: cncbasher
Time to create page: 0.104 seconds
Powered by Kunena Forum