Encoder signal conversion

Hi, I am looking for a converter that can take A and B quadrature signals from a linear encoder as inputs and generate a TTL pulse output for every rising and falling edge in either input. The pulse frequency is about 50,000 pulses/second. I have a space/size constraint so the converter needs to be small.

Hello @sbambot,

It would be useful to explore alternatives.

To understand why, consider the situation when the system is not moving - let’s assume a mechanical brake has been applied.

Next consider what happens when one of the sensors is just on the edge and toggle. Without proper attention, this motionless system will be perceived as moving. The result is a loss in encoder position with potentially poor results. For example, if this was a 3D printer there would be a defect in the associated layer.

As a starting point please consider this article. As I recall, the system was able to keep up with 11 k cycles per second motor. It may be able to handle your 50 k requirement. You will quickly know, as the software includes a fault detecting FSM.

Please tell us more about your application so we can find the optimal solution. Know that there are many high-performance solutions available.

Best wishes,

APDahlen

1 Like

Thank you APDahlen, we will review this. In our application we are using a linear encoder to report on the position of a line detector that we are using for scanning in an image using time delay integration or TDI. In TDI the lines from the digital detector are being read off at precisely the same speed at which the detector moves. Hence the use of a linear encoder. The detector uses a TTL digital input to download line data. I can add that the A and B signals are very close to the square wave outputs represented in the diagram provided. We were thinking, given the ubiquity of the application, that a simple op-amp based board or chip would be available for this.

Hello @sbambot,

Yes, that helps.

Do you have the specification for the receiver - the thing that accepts the pulses. Specifically, pulse amplitude and width.

At this point, I’m thing a digital positive edge trigger summed with a negative edge trigger.

Sincerely,

Aaron

Hi Aaron, I am thinking the same. Perhaps even a set of flip-flops. In either case below is the specs on the receiver input from the manual.

There’s lots of cheap, low-pincount MCUs available that could probably get the job done. Would take some programming and probably introduce some latency/jitter depending on how clever one was with that.

Another thought may be to XOR the quadrature signals together to get one that toggles with each change of encoder state, and feed the output of that into a second XOR twice, once direct and another through a suitable delay mechanism. With Schmitt inputs I’d imagine a plain old RC network could suffice. One would probably see some frequency-dependent variability in pulse width there, but a something like a 74LVC2G86GT,115 and 2-3 passives would seem as small/simple as one might hope for.

1 Like

Thanks Rick, To clarify we need a pulse output for any change of state in either A or B irrespective of the state of the other. We also need the output to be a pulse of a minimum of 10 micro-sec and then return to a low as in the diagram above.

Understood, and that’s precisely what either route could offer, with different tradeoffs attending each.

Regarding the latter suggestion, it may help to put the idea into your simulator of choice. The first XOR gate would serve to detect a change of encoder state, while the second generates a pulse according to the delay established by the delay element, whether that be an RC network as shown or something more exotic.

image

2 Likes

Hi Rick, the RC network would generate a decay. We need a sharp fall so a more exotic solution. Please suggest.

Hi sbambot,

@rick_1976’s suggestion would indeed create a decay at the input of the second XOR gate, which creates the necessary delay, but the output of that gate would be a clean, sharp rise and fall. Precisely what you’re looking for.

Thanks David for clarifying. I did not realize that. Please suggest an IC for the XOR gates.

Please see above.