How to sense rotational motion?

mts803

Member
Join Date
May 2003
Posts
2
Hello,

I am trying to use a prox switch to indicate when a spindle has stopped rotating. The prox is made by a "vane" that is on the spindle. My thought was to have a timer (TON) that has a time base just higher than the time required to make one full revolution of the spindle. As long as the spindle is rotating the prox would signal the timer to reset. Once the spindle stalls, a timer done bit would become true, and the program would execute the next step in the process. I am trying to use the prox input, to output a reset of the timer. Would anyone be inclined to tell me if this is an appropriate method, or maybe some other more straightforward way to do this is available? As of now the timer never starts timing, I think this is because the prox is being used to start the timer, and the next rung uses the prox to reset the timer. Any suggestions would be greatly appreciated.

Thanks,

Matt

p.s. the spindle speed is approximatly 60 rpm

MicroLogix 1000
DC inputs Relay Outputs
 
It sounds to me like you are probably thinking well but maybe a couple of things could help:

1) Rather than using the prox to start your timer, how about using the "run" signal to do that. This way any time the spindle is being "told" to be on, the timer is armed and operational.

2) As you have already decided, use the prox to reset the timer each time it detects the "vane". If the spindle is up to speed, the timer will not be able to complete timing so the "done" bit will never go high.

3) You might want to "latch-in" that the spindle is below speed or stopped. By doing this and allowing for some kind of "Reset", you can capture slow-downs or overloads that might otherwise be intermittent.

Steve
 
Your method can work, but there are (at least) two points you need to consider.

First, the vane that the prox senses must be in front of the prox long enough to be sure it gets detected by the PLC. If you PLC scan time is 5 msec, but the prox is only on (or off) for 4 msec, you're going to miss some pulses.

Second, you need to make sure your logic accounts for the times when the shaft stops with the prox sensing the vane as well as when it stops with the no vane in front of the prox.
 
time on - time off

this may be too fast of a rotational speed for this method. I was just recalling using a two timer method (one for ON state, one for OFF state), scan time vs rotation speed seems to be the issue.
 
Last edited:
the speed shouldn't be an issue at 60 RPM; if it is, just make a vane wider, if possible.

Your issue with restarting is easily solved by using a DIF or ONS or equivalent one-shot instruction for you PLC.
Use the DIF of the prox to reset your timer.
 
If your spindle is only turning at 60RPM, which is relatively slow, it should be easy to sense. However, as Stever Etter said, remember your vane(s) needs to be large enough to provide an "on" signal that can be detected by your PLC.

I would use 2 vanes and a two timer method (no prox turns on timer1, prox turns on timer2, if timer1 or timer2 times out you have no motion) as this will detect the situation mentioned by Steve Bailey.

The formula for determing the time (in seconds) value to use is:
T = 60/(RPM x Number of vanes) -> assuming equal size, equally spaced vanes.

But just because you can do it in the PLC why reinvent the wheel, there are many standard types of zero speed switches (and safety monitoring relays) available. If the spindle detection is for operator safety, I would prefer to use a "certified" device.

Telemecanique XPS-VNxxx safety module: http://www.squared.com/us/products/machine.nsf/DocumentsByCategory/D0EC26D833AEB66385256A3700542A33
 
Re: time on - time off

Thank you all for your comments, I typed out the code in dashes and adresses, and after it was all finished, I lost it due to a password error during the submitting process....
 
Hi,

I use something like this

prox on = bit1
machine run = bit2
bit2 AND bit1 on OR bit1 off = timer1 on
timer1 time done = stop Alarm1
 
Last edited:
I agree with Steve. You may need to adjust the filter
in the I/O configuration in the project tree. The
default is 8ms. I think this is your problem if your
vane or table is a large diameter.

I heard an npn prox produces the best high
speed signal.



filter.jpg
 
Assuming the prox can detect the vane effectively, try this

Let the timer run on its own, reset it with the prox, timer done - stopped

lad.jpg
 
Use two timers. First one timing the proxi on, the second timing the
proxi off. One master when the motor is running. Either timer complete
will set the alarm. I have used this for augers and can be expanded
to reverse after stalls.
 
Hi Steve,

Please correct me if I am wrong,

The requirement was to detect whether the shaft is stopped or not - if "Stopped" is ON means the vane is not there yet. So I didn't gave any consideration for the vane position.

But I think a one shot should be placed before the reset, for the timer to clock one complete revolution (To minus off the vane length from the time calculated).

lad.jpg
 
Chavak, adding the one-shot will make yours function. Although, like MicroScan, I prefer to use two timers for something like this. One advantage is that you can have separate presets for the ON and OFF timers. In an application like this, the ON time will be considerable shorter than the OFF time. A single timer would require the preset to be greater than the max. OFF time, which could delay knowing WHEN the shaft has stopped. This may not be important in mts803's application... :confused:

Backing up a bit to garryt1's post....

garryt1 said:
Hi,

I use something like this

prox on = bit1
machine run = bit2
bit2 AND bit1 on OR bit1 off = timer1 on
timer1 time done = stop Alarm1
Don't take this personally, but I hope you don't use something EXACTLY like that, 'cause no matter how you translate it, it won't work (in a PLC)... (n)

I'm guessing you intended to describe this...

| MACH_RUN PROX. +--------+
|----] [---+---] [---+-----------| TIMER1 |
| | | +--------+
| | PROX. |
| +---]/[---+
|
| TIMER1
|----] [-------------------------( ALARM1 )


.
Although, a direct translation produces this...

| MACH_RUN PROX. +--------+
|----] [-------] [---+-----------| TIMER1 |
| | +--------+
| PROX. |
|----]/[-------------+
|
| TIMER1
|----] [------------------------( ALARM1 )


.
In either case, starting the machine will cause the rung with the timer to remain true at all times, so the timer will just expire (and turn on the 'STOPPED' bit), EVEN THOUGH THE SHAFT IS TURNING!

Keep in mind that you can't just OR the opposite states of a bit. One of those states will be true at all times!... :nodi:

Or did I miss something?... :confused:

beerchug

-Eric
 

Similar Topics

I have submitted this tread to a magazine and it got rejected by the editor that obviously has never done motion or used cam tables.
Replies
6
Views
2,134
Hey guys, OT I know, but I feel like there is another experience in this thread to get some good feedback. So right now in our facility, our...
Replies
27
Views
6,372
Hi, I have a rather strange problem when using the input assistant of Visual Studio 2017. Almost all functions, internal or external seem to...
Replies
0
Views
1,343
Hi Any users familiar with the Becker Smartsense range of products? MCU-100/101, SSFM-100 etc I am looking at it for use in an Underground coal...
Replies
0
Views
1,080
Good Morning , Do you guys know of any tachometers ( 4-20 ma ) with a fragile soft wheel to sense FPM on a cloth belt ? I was thinking of...
Replies
10
Views
2,908
Back
Top Bottom