Help figuring out sensor in 4-wire DC motor

Hey, I picked up a bunch of Canon Precision CA35-03001-K301 motors at a state surplus sale and about all I've been able to find out online is that they are likely 12V. They work fine as a motor but I was curious about the extra two wires. From lots of Google searching I see it could be one of any number of things, so I took one apart to see if I could figure it out. What I found was a circular magnet that fit up inside what looks like opposing rows of offset teeth (images attached).

My guess is that it is a speed sensor, and I hooked it to ground and a pot and into A0 on the Arduino to drop the voltage down. It definitely gives back a reading that seems to correspond with the rotational speed, regardless of the direction it is turning.

I was just wondering if that was it or if there was any other info to be gleaned from the sensor? I was hoping from the picture someone might recognize the type.

I was really hoping it might be some sort of positional sensor but that doesn't seem to be the case :slight_smile:

Its a DC motor with a tachogenerator

Cool, thanks, wasn't sure exactly what it was called. That won't allow me to tell when it's made a revolution though, will it. It seems to only give me the speed.

You get an AC signal from the tacho whose frequency and amplitude are both
proportional to the speed - at high speeds the amplitude might tail off due to inductance.

Its a poor cousin to an encoder and harder to use in digital circuitry, tacho's can
feed into an opamp speed regulation circuit though. So long as the motors moving
you can use zero-cross detection on the tacho to act like an encoder, but it fails at
very low speeds and doesn't give you direction either... Basically you can get velocity
data / control but not position control.

AC makes sense with the way the sensor is built.

I'll have to try the zero cross detection for the fun of it.
Not quite as cool as I'd hoped but I really can't complain at $10 for a box of 25 of them :slight_smile:

Maybe try a 47k plus 47k divider to one tacho wire, other wire into a CMOS schmitt-trigger
gate like 74HC14, the output should be fairly balanced. Of course you'll need a volt or two
to overcome the hysteresis at low speed. The 47k/2 impedance should protect the CMOS
from over current with quite high tacho voltages. Best to measure the voltage anyway to
have a feel for it first.