Pull-Up resistor vs. Open Collector for Encoder

When ordering an encoder, do I want it configured as Pull-Up Resistor, Open Collector, or something else?

I need an encoder that fits on a 3/4" shaft. Here is the encoder I am looking to order. (I cant post links since this is my first post. So descriptively, it is Model 25T from the website of ENCODER).

I successfully used an Avago encoder to control a Pittman motor. I simply applied power, and attached one wire straight from the encoder to Arduino digital pin 2, and it worked great. Avago does not make an encoder that fits a 3/4" shaft, though. (See AVAGOTECH DOCS AV02-1046EN).

I attached the wires, and then used

attachInterrupt(0, leftMainInc, RISING);

and it worked fine.

My inclination is that I want a Pull-Up Resistor model from Encoder. But I am just a hack working in my garage.

Any advice?

The model I bought came with internal pull-up resistors and it works just fine. However open collector would work OK with an Arduino if you either activate the internal pull up resistors or wire pull up resistors yourself.

If you go with a encoder with internal pull-ups just insure you are getting a 5vdc model. If the encoder uses a higher voltage then +5vdc the you will either have to wire a voltage divider for each channel or go with the open collector model.


Can you just get a shaft coupler that would allow you use the encoder you're already happy with on the new motor? Even if one is not available off the shelf, anybody with a lathe should be able to make you one easily. Even a drill press would do, although getting the holes precisely centered is harder.


I explored that option. I think drilling a hole precisely on center is very difficult, and the encoders need to be centered to work properly.

I explored "stepping down" with a shaft coupler, but the cost works out to be about the same (Actually, stepping down using shaft reducing couplers from mcmaster.com is cheaper than this more expensive encoder). But this would add more mechanical joints, which are more things to break. And the "centering problem" might come into play here as well. So I thought it is probably better to buy the proper encoder for the shaft.

I have ordered the "pull-up" model based upon the previous post. I will post my success or failure after the part arrives.


Just to close the loop on this. I ordered the encoder with pull-up resistors. It arrived, and I simply plugged into Arduino digital pin 2, used attachinterrupt(0), and it worked perfectly.