The use of potentiometers in Incremental Encoder Design

Recently I decided to catalog the competitive Incremental Encoders that have populated the shelves surrounding my desk.  In doing so, I was surprised to find that many of our competitors use potentiometers in their designs.

I can understand why they need to use potentiometers.  In most designs the potentiometers are used to balance the raw analog signals produced by the Incremental Encoder sensor.   A potentiometer is the perfect component for this, you fire up the Incremental Encoder during test, lay a scope probe on it and dial the value specified by Engineering.  For most encoder designs, the only other option is to guess at some resistor values hoping that you don’t have to solder and unsolder resistors too many times until you hone in the correct signal, as that would be a very time consuming process.

While I can understand the use of Potentiometers, the reason that I am a bit shocked by their ubiquity in competitor’s designs is that potentiometers are inherently a much less reliable component.  A resistor is all one solid piece, but a potentiometer (which is a variable resistor) has a resistive track and a movable wiper that slides along to vary the resistance value. Moving parts are inherently less reliable than a non-moveable part.

Here are a few of the PCBs from various manufacturers ,  the potentiometers are circled in Red:

 

This next one is my favorite.  Thirteen potentiometers!

I am proud to say that Quantum Devices Encoders do not use potentiometers in their Incremental Encoder designs.  The reason we can avoid potentiometers is because of our patented phased array sensor that provides perfectly balanced complementary signals right from the sensor.

Other incremental encoder sensors suffer from having their active areas in different locations along the length of the sensor. Since the light source spreads light unevenly over the sensor, some active areas receive more light than others creating signal imbalances.

In Quantum Devices Incremental Encoders the photosensitive areas of each channel are interlaced with each another,  so all active areas receive the same amount of light.  This eliminates the need to balance any signals, which in turn eliminates the need for potentiometers in the design.

Below is an drawing of the phased array sensor Red indicates Channel A active areas, Blue indicates channel B active areas.

Advertisements

The lost Optical Encoder Demo Box

Optical ENcoder Demo Box Main Menu

We recently teamed up with one of our distributors to create a Demo box that showcased our QD145 optical encoder with a Delta Tau PLC and touchscreen panel.  It was sent off to a trade show where potential customers would get to spin the encoder and watch on the screen as counts were incremented and decremented and needles on dials spun.

I thought the Optical Encoder Demo box would make for a fantastic topic to write a post on, so that was my plan as soon as the demo box returned from the show.

Well… it never did come back.  I would love to tell you that I did such a great job on it that our distributor insisted on keeping it but the truth of the matter is that it was lost in shipping.

What I do have is the code and screenshot of the Optical Encoder Demo box, which should be more than enough to explain the functionality. What I don’t have are pictures, or video of the Optical Encoder Demo box in action, so you will have to use a little imagination on your part.
I  mounted the PLC, HMI and encoder to an enclosure that can set on a table.  The default screen (shown above) tells a little about the encoder. From this screen you can select a few different screens that allow you to interact with the encoder.

Count Screen:
This screen shows Pulse Count, Angle, RPM and direction.

Optical Encoder Data Screen

Degree Screen:

This screen shows mechanical degrees. The needle rotates in conjunction with encoder rotation:

Optical Encoder Mechanical Degree Screen

Pulse Count:
This screen shows the direct read count of the encoder, the needle rotates in conjunction with  encoder rotation:

Optical Encoder Pulse Count Screen

Tank Screen:
This is sort of a fun screen where rotation the encoder fills tanks in sequence, tank one fills, when tank one is full it “empties” into tank 2, when tank 2 is full it “empties” into tank 3.  Tank 3 continues to accumulate until 2 billion counts or so. The Drain button clears the levels on all of the tanks.

Optical Encoder Tank Filling Screen

ABZ screen:
This screen indicates status of inputs coming from the encoder.  Since I used a 5000 LC encoder, the screen was not be able to keep up real time when the encoder was rotated really fast, and it was nearly impossible to land on Z(Index) and have it light.

Optical Encoder Incremental Signals Screen

Programming

The Delta Tau was pretty easy to program, with only a couple hiccups.  The manual was a little vague in its explanation of the way two registers were used for some of the counter functions, but a little troubleshooting showed me which bits were activated when the counter set point was hit.

The Ladder Logic

This first rung of code is needed to do some basic housekeeping to ensure that D1022 is properly configured with a “1” on the first program scan. It is set by  M1002 and forever latched by M110.  The value of 1 tells the high speed input that we want a double frequency selection A/B phase counter.

The second rung sets up our high speed counter and checks the count to see if we have gone negative in value. If so, bit M120 is set high.

Rung three turns on a physical output Y11 if the counter set point has been hit.

Rung four moves the set point of 5000 back into the counter if we have gone negative in value. This allows the needles on our display screens to rotate continuously and not peg out to a high or low value.

Rung five updates Register D300 with our counter value every 10mS via the handy M1011 10 mS clock pulse.

Rung six divides the counter value by 16 and moves the answer into Register D302. This is where we start our math for the degree conversion. The rest is scaled by the configuring the screen register in the screen editor software.

Run seven uses the trailing edge of our 10 mS clock pulse to move the counter value into register D310.  This value is held for comparison in time to get RPM.

Rung eight uses the leading edge  of our 10mS clock pulse to find the difference in our stored value and put it out to register D312.  D312 is then doubled and sent out to register D350.

For any of you interested in repeating the project, I have included the BOM below.

Of course, I also used some miscellaneous wire and hardware to construct the Optical Encoder Demo box, but the list below includes all the big ticket items.

From Cymatix:

QD145-5/26-5000-0-02-T1-01-02 Optical Encoder

DOP-AS35THTD 3.5” Color touch screen

DVP12C11T Micro programmable Logic controller 8 inputs 4 High Speed outputs

DRP024V060W1AZ CliQ 24 Vdc, 60 Watt power supply

DVPACAB2A30 3 Meter connection cable

 

From Automation Direct:

DN-R35S1 Din Rail 35mm X7.5mm

WC12C12  N12 Desktop enclosure 12”X12”X9”

DN-T12A Terminal Blocks

DN-EB35MN End Brackets

DN-LAB terminal block labels

Finding the RPM of an Optical Encoder using an Oscilloscope

 

We only need to measure one of the incremental channels in order to calculate the RPM of an optical encoder.  Using an oscilloscope to measure the period of one incremental channel A cycle.

We will need to find the frequency of the incremental signal. Keep in mind that converting from time to frequency is just a simple press of the “one over X” button on a scientific calculator.

Frequency =(1/X time)

Time = (1/X Frequency)

To find RPM Once you have the frequency, Multiply by sixty and divide by the line count.

RPM = (Frequency X 60)/Line count of encoder

 

 

The encoder in the video is a 5000 Line Count encoder.  Channel A is outputting pulses at a frequency of 224.2 Khz

RPM = (224.2Khz X 60)/5000

RPM = (13452000)/5000

RPM = 2690.4 RPM

I often use this method to either verify the speed of a motor controller I have built, or if I know the RPM of the motor, I will sometimes use this as a quick way to verify the line count of an encoder.

You can also use the handy Web-based QDI optical encoder calculator  as well.

 

Jim