What's new
What's new

Macro to replace probing with spindle load monitor

CeramicDude

Plastic
Joined
May 22, 2017
Hi guys,
Long time lurker, and first post here. Looking to get more involved in the board.

I've been thinking about a custom macro where i could plunge (or helix) in Z into the part and monitor the spindle load meter for a spike in power. I can't seem to figure out how to do this in real-time. Do any of you guys know if code like this is even possible? It's beyond any of the macros I've written.

I'm trying to avoid purchasing a ton of probes. Probing is fine for job shops, but in a production environment I'd always thought that something like this would be way more elegant. The few seconds of cycle time for probing are the killer, probe cost is also pretty steep for a big number of machines. I'm running fanuc controlled machines.

The real question is why don't the big boys include this as a feature. I'm assuming it wouldn't be accurate, but it would be repeatable. And you could adjust a variable to dial in the z height after measuring the first part.
 
Last edited:
Depends on your machine, but there may be a torque skip command on axis feed.. You could in theory use that. However, depending on machine type and material you cut, you might have trouble detecting added torque on an axis if the motor is holding it up. Not sure if you can trigger high to low.
 
It's a Fanuc 31i. There is a difference in spindle load when in-cut, so I'm not worried about that.

Also... can somebody fill me in on if deadlykitten is a bot or a child? I thought this was supposed it be a pro forum, free of google-translate word-vomit
 
A lot of grinding shops use a super sensitive third party drive load monitor to generate a skip signal once it detects a spindle load spike. I don't see a very accurate way to do this using factory spindle load detection.

A dialed in probing process can easily take less than 20 seconds total. If that isn't fast enough, you might consider some type of process control that reduces the variables with incoming stock.
 
31i does have torque skip, but not sure if you can do that on the spindle motor. You might be able to do it relatively easily in the ladder, but user friendliness would be about nil.
 
I didn't know grinding machines did this, I've seen probes on some Walter endmill grinders, but it makes sense for a lot of stuff.

Yeah unfortunately the incoming stock has about 50 microns of variation, which is just too large for my tolerances.
 
I'll try figuring out the torque skip and post anything if I figure it out, probably won't though if i have to go into the ladder logic. Thanks gents
 
Also... can somebody fill me in on if deadlykitten is a bot or a child? I thought this was supposed it be a pro forum, free of google-translate word-vomit

DeadlyKitten is an acquired taste. He is surprisingly knowledgeable at times, you just have to filter through the odd statements. Only God knows where he really is or what his experience is.
 
Screen Shot 2017-05-22 at 4.35.48 PM.jpg
So it looks like 13140 and 13141 are the spindle load variables.

I'd like to do an if statement, wherein if #13141 increases from it's last known value the WCS z-location is updated. The trick is getting this to happen while the tool is plunging.

I could do this with a WHILE loop, with -1 thou increments, but I'd rather do this simultaneously. I don't think I could trigger a 1 percent load increase with a 1 thou plunge.
 
31i does have torque skip, but not sure if you can do that on the spindle motor.

hy :) someguys say that torque skip was designed for parts tranfer within a lathe, so this behaviour wont target a spindle as default

personally, i dont like the name torque skip, i would preffer low thrust :)

well, call it as you like ... there was a mess a few days ago in a similar thread because of how_is_this_called :)

So it looks like 13140 and 13141 are the spindle load variables

hy Ceramic :) why are you looking for peeks on rotary/spindle, and not on linear/z ?

those variables looks promising, and i hope they work

reading loads may deliver a dynamic behaviour like never before

i have no clue about fanuc, but there should be a single variable that returns the load value, but again, i dont know those variables

dynamic reading from code means that a feed line is executed conditionaly, and this is where you thought of this :

I could do this with a WHILE loop, with -1 thou increments, but I'd rather do this simultaneously. I don't think I could trigger a 1 percent load increase with a 1 thou plunge.

... and also you realized that travel distance is to small

however, regardless of that, the variable will be read :
... after the feed movement, thus there will be no load that will describe the feed, but maybe the dwell
...... or
... randomly, because of the read ahead buffer

so even if you disable read ahead, you may not succed :)

another issue is the travel distance : being so small, you may actually cut the entire material without a signifiant load on the motors :) + accelerate wear on tool edge

your idea is not bad, actualy it is the way that the control works, only that the loop/condition is not seen inside the program/code, but within the control :)

i have open discusions about such stuff, but they hit a wall : if such things would work, than it may be possible to set up load limits faster & smarter, without trials :)

Also... can somebody fill me in on if deadlykitten is a bot or a child?

:)

I thought this was supposed it be a pro forum

there are some hidden ghosts inside the forum, that only get real when it is really required :)

... free of google-translate word-vomit

i know that i may disorientate readers, but it would be worse if i would use a translator :)

also i know that is possible for some readers to only read dyagonal words, so to get the idea :) kindly !
 
The 0i manual talks about torque skip signal while describing G83. The machine automatically adjusts feedrate and rpm, depending on whether or not skip signal was generated while plunging. The logic is in-built. No macro is needed.
 
View attachment 199333
So it looks like 13140 and 13141 are the spindle load variables.

I'd like to do an if statement, wherein if #13141 increases from it's last known value the WCS z-location is updated. The trick is getting this to happen while the tool is plunging.

I could do this with a WHILE loop, with -1 thou increments, but I'd rather do this simultaneously. I don't think I could trigger a 1 percent load increase with a 1 thou plunge.

No those are just parameters for naming the spindle on the display. Not system variables.
 
I swear I read an article in one of those cnc magazines (I'm thinking this would have been an early 90's article) that kinda addressed what you want to do.

I guess there was some machine/mtb that had their machine set up to detect when a tool touched a part.

I gather it worked on the same principal an electronic edgefinder works on. The tool was in a toolholder, and when it came down on the part, it completed a circuit, that was probably wired into the skip signal.

I can imagine something like this:

tool in spindle, attach a lead wire from the headstock to the part. In between there'd be some sort of power source (just like the electronic edge finder) and some sort of relay that sends a skip signal to the machine when the circuit is closed (that is to say, when the tool comes in contact with the part)

The part would have to be electronically isolated from the rest of the machine in some way, methinks.

If I come across the old article (it is probably around here somewhere) I'll snap a picture of it.


Anyone ever heard of something like that? or am I getting too old? (I'm 28)
 
Found it. See "Understanding Touch Sensor for Machining Centers"

TRwKSyH.jpg


SdnYdCA.jpg
 
*CeramicDude* Are we to assume you are grinding ceramic? Like I said, I've seen 3 different applications where a VMC (grinding ceramic) was setup with an external load monitor to generate a skip signal upon part contact. This makes the code SUPER simple. For their applications, by the time the OEM load monitor picks up enough force to register contact, the tool is already burnished.
 
.....Anyone ever heard of something like that? or am I getting too old? (I'm 28)

Conductivity probing has been around for years but IME, very rarely used on machining centers. EDMs use it all the time to locate parts.

In the article you scanned, the use of #1014 and #1015 indicate the conductivity probing system is integrated into the machine builders ladder, so not an easy thing to implement on most existing machines.
 
Conductivity probing has been around for years but IME, very rarely used on machining centers. EDMs use it all the time to locate parts.

In the article you scanned, the use of #1014 and #1015 indicate the conductivity probing system is integrated into the machine builders ladder, so not an easy thing to implement on most existing machines.

i once had a discussion with a guy that is actually doing this ... building conductivity probes and stuff :)
 
We run 31i controls and we have build in spindle load monitoring. It uses a M code to active, like M112S70. But our machines are setup as grinder, so this is probably an option that has to be turned on for a fee.
 
We run 31i controls and we have build in spindle load monitoring. It uses a M code to active, like M112S70. But our machines are setup as grinder, so this is probably an option that has to be turned on for a fee.

A feature actuated by an M-code like you have is machine builder specific. The builder's ladder program determines what happens when most M-codes are executed.
 








 
Back
Top