Measuring fast horizontal strokes

Hello, I’ve been software dev for 14+ yrs but have only started playing with arduino and hardware. I’m looking to count horizontal strokes and distance a blade moves. Counting and measuring the strokes of a sawzaw blade moving is a perfect example. I’ve seen some of the ultrasonic sensors with accuracy up to 1mm but it’s the speed of the strokes that has me concerned. With my lack of hardware/electronic experience I wasn’t sure if thats the best method or if some of those laser sensors would be best. Thanks…

What frequency range are we talking about? Maybe 60Hz? Faster? What would be your best estimate?

In the meantime, I think you should consider using a stationary Hall Effect sensor with a magnet mounted to the moving teeth. With a high enough sample rate and a little work, you could measure frequency, position, speed, and distance accurately.

-PB

I would use the time of fight IR sensor the VL6180X.
Measures absolute range from 0 to above 10 cm.
Some people do this as a breakout board.

Power_Broker:
What frequency range are we talking about? Maybe 60Hz? Faster? What would be your best estimate?

In the meantime, I think you should consider using a stationary Hall Effect sensor with a magnet mounted to the moving teeth. With a high enough sample rate and a little work, you could measure frequency, position, speed, and distance accurately.

-PB

We can get upwards of 600 cycles/min, so 10Hz? I read about the Hall effect, I don't know how that would work given that we are cutting and handling various metals. It may be that I just need to do more research on it.

Grumpy_Mike:
I would use the time of fight IR sensor the VL6180X.
Measures absolute range from 0 to above 10 cm.
Some people do this as a breakout board.

That looks pretty promising, I wonder how it handles dirty shop-like environments. I'll have to read up on that more too...

Can you post a diagram showing the machine you want to measure and where you propose to take the measurements.

...R

Robin2:
Can you post a diagram showing the machine you want to measure and where you propose to take the measurements.

…R

We don’t have a machine yet, so the idea is mostly in our heads or sketched on a few bar napkins at best. This sawzaw example is very close, it’s even how we plan to test the measuring/counting before we proceed with the rest. I found this on Google and it may help build a mental picture…

This person made this to be a spray paint can shaker. There are tons of these out there, apparently people are super particular about shaking paint. Who knew … .Anyway …

We’d mount the sensor on the sawzaw’s stationary “Shoe Assembly” (had to google the technical name) which is really the guard or surface you push against the piece of metal your cutting. In this picture you can see the shoe has two holes in it and there is one on each side near the base of the blade. Since it’s stationary it’s where we’d mount the sensor.

In this contraption you can see a metal circle mounted perpendicular to what was the blade. We’d have something about 1/4 that size and would use that as the surface to measure/count from.

You should consider using a Slotted Optical Switch. They are easy to use with an Arduino and would probably be better at working in a dirty environment than a reflective switch. You could mount a small piece of metal or plastic on the blade to make the beam-breaker. Indeed a “tab” made from masking tape or insulating tape would work fine - and would have the advantage that it would not destroy the switch if it hit it. The switches are cheap in any case.

…R

I'm looking to count horizontal strokes and distance a blade moves. Counting and measuring the strokes of a sawzaw blade moving is a perfect example

Do you really have a variable stroke length? Typically the reciprocating saws (sawzalls) have a fixed stroke and a variable speed.

If you only need to count strokes you have an easier task.

What counting accuracy do you require? Does the load vary?

I'm thinking it may be easier to monitor the motor than the blade.

cattledog:
Do you really have a variable stroke length? Typically the reciprocating saws (sawzalls) have a fixed stroke and a variable speed.

If you only need to count strokes you have an easier task.

What counting accuracy do you require? Does the load vary?

I'm thinking it may be easier to monitor the motor than the blade.

Those are good thoughts and I should have addressed that at the beginning....

The strokes will vary by application and often the weight of the material could .... shorten or overextend the stroke. It could be the result of a stretched/bent/broken blade for example. Thats what we want to measure and sound an alert if it happens.

I'm currently doing a project in measuring either. Here is my topic: http://forum.arduino.cc/index.php?topic=413149.0 maybe you will find it useful because many code has been posted by many good members of the forum :smiley:

After more reasearch .... I'm wondering if I couldn't use an accelerometer on the blade?!?

I think a slotted IR sensor and a small tab on the blade to break/make the beam would be all that would be required.

eDaddi:
After more reasearch .... I'm wondering if I couldn't use an accelerometer on the blade?!?

Adafruit Triple-Axis Accelerometer - ±2/4/8g @ 14-bit - MMA8451 : ID 2019 : $7.95 : Adafruit Industries, Unique & fun DIY electronics and kits

Yes, but then you have to run wires to the accelerometer to read it. Cheap wire will break after a hundred strokes. Good wire might break after a few thousand. Really expensive wire might work a little longer.

With an accelerometer, you could make the device totally self-contained, riding on the blade. But then you've got a battery and an Arduino hanging off the blade all the time and they won't like the vibration.

I vote for the slotted optical sensor, but I would use two. That way you can put them near the limits of the travel and sound the alarm when the blade doesn't go far enough to trigger one or the other sensor. You can tune the sensitivity of the alarm by adjusting the positions of the sensors (or the interrupter blade.)

If you use a reflective sensor then you only need one and you can put a white spot on the blade for it to see.

How can a single sensor differentiate between under-stroke and stopped? Is that device in the picture a dual sensor in one package?

MorganS:
Is that device in the picture a dual sensor in one package?

A sense and emitter in one package.

MorganS:
How can a single sensor differentiate between under-stroke and stopped?

You don't have to, you just time / count the pulses. A stopped system will give you no pulses per second.

But a system which is bogged and not reaching the end of the stroke will also produce zero pulses per second.

Remember he asked for both amplitude and frequency measurement.

Not sure what bogged means.

If amplitude measurement is important then you need to use several dots and measure the intervals between them. There will be an increased time at the stroke reversal.

MorganS:
But a system which is bogged and not reaching the end of the stroke will also produce zero pulses per second.

Remember he asked for both amplitude and frequency measurement.

Then he needs two tabs to break the beam - one at the middle of the blade and one at the root. However I'm not sure how the amplitude of the stroke can vary unless there is a "spring" between the drive and the blade.

As I said in Reply #6, I suspect slotted optical sensors would more immune from dirt.

I think we have now got to the stage where the OP needs to do some practical tests and report the results.

...R