Why is my encoder doing this?

I have a (knockoff?) Omron E6B2-CWZ6C incremental rotary encoder with 1800 P/R. It has 3 channels ABZ. Whenever I upload a code to my Arduino Leonardo, my encoder always have a little "spring effect" near 0 when my board is plugged in. When it is off power, I can turn the shaft perfecly fine, but after plugging in, and start turning the encoder, it works nice, but something kinda blocks it, I can turn it over that "bump" but of coure it will regiser in he movement. It does it with every code I tried. Why could it be?
Also, why Z channel does not matter? I had a code with 3 output I had some with having only 2 but no difference. What is Z channel for?

image

Z gives a pulse once a revolution usually. It lets you zero the encoder position at startup.

1 Like

my encoder always have a little "spring effect" near 0 when my board is plugged in.
it works nice, but something kinda blocks it, I can turn it over that "bump"

You will need to elaborate a bit more on your issue. It's not clear to me from your description what is the behavior of the encoder.

Are you describing a mechanical issue? Are the counts always correct?

Also, what is the encoder attached to? Sometimes, you can chase down the Z pulse at the start, in other cases every A/B pulse matters.

Yes, it is a mechanical issue. It's like get stuck and then with a spring effect "goes over a bump" . The count is correct, it is tracing his bump too. A little "click" what I can hear but only when powered up

5V to 5V
GND to GND
there are resistors to the ABZ outputs and then it goes to digital pins on arduino

I meant, what is the encoder measuring?

Is it present equally at all starting positions anywhere around the rotation?

The spec for the Omron does have a starting torque spec.

Starting torque 0.98 mN.m max.

Nothing, it is just connected to the board and I turning the shaft

It is only present around the 0 value. I check it with the serial print, no matter where I gave power, that will be the starting point and will have a clicking issue

It's a mystery to me. There may be a shaft seal which gives some higher starting torque value, but the little click is unusual. If the encoder start counting properly, I wouldn't worry about these start up anomalies.

I have to care because yes, it is counting well, but when I hit this bump and then move over it, the counts will jump just as the shaft itself jumps

Tomorrow I will try to make video about it, so you can see what I'm trying to explain

My best guess is:

When power gets applied one of the phase sensors distorts causing the encoder disk to touch something (likely the offending sensor).

I would lower the excitation if it is not already and 5V. If at 5V I would raise the excitation to 12V and see if it gets worse.

In either case I would notify the vendor that the device is not working as it should.

I would expect any such a mechanical issue to only get worse with time.