Misplaced Pages

QEP

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

An incremental encoder is a linear or rotary electromechanical device that has two output signals , A and B , which issue pulses when the device is moved. Together, the A and B signals indicate both the occurrence of and direction of movement. Many incremental encoders have an additional output signal, typically designated index or Z , which indicates the encoder is located at a particular reference position. Also, some encoders provide a status output (typically designated alarm ) that indicates internal fault conditions such as a bearing failure or sensor malfunction.

#943056

43-444: QEP may refer to: Quadrature encoder pulse, in a rotary encoder Query plan or query execution plan, in a database software system Quadratic eigenvalue problem , a special case of nonlinear eigenproblem in mathematics QEP Resources , a defunct American energy company. Topics referred to by the same term [REDACTED] This disambiguation page lists articles associated with

86-446: A quadrature encoder to generate its A and B output signals. The pulses emitted from the A and B outputs are quadrature-encoded, meaning that when the incremental encoder is moving at a constant velocity, the A and B waveforms are square waves and there is a 90 degree phase difference between A and B . At any particular time, the phase difference between the A and B signals will be positive or negative depending on

129-434: A "signal lost" status output. In normal operation, glitches (brief pulses) may appear on the status outputs during input state transitions; typically, the encoder interface will filter the status signals to prevent these glitches from being erroneously interpreted as lost signals. Depending on the interface, subsequent processing may include generating an interrupt request upon detecting signal loss, and sending notification to

172-426: A time reference. This technique avoids position quantization error but introduces errors related to quantization of the time reference. Also, it is more sensitive to sensor non-idealities such as phase errors, symmetry errors, and variations in the transition locations from their nominal values. An incremental encoder interface is an electronic circuit that receives signals from an incremental encoder, processes

215-522: A transition of the A or B signal), an encoder interface will take into account the phase relationship between A and B and, depending on the sign of the phase difference, count up or down. The cumulative "counts" value indicates the distance traveled since tracking began. This mechanism ensures accurate position tracking in bidirectional applications and, in unidirectional applications, prevents false counts that would otherwise result from vibration or mechanical dithering near an AB code transition. Often

258-482: A variety of other low duty, low frequency applications. Push-pull outputs (e.g., TTL ) typically are used for direct interface to logic circuitry. These are well-suited to applications in which the encoder and interface are located near each other (e.g., interconnected via printed circuit conductors or short, shielded cable runs) and powered from a common power supply, thus avoiding exposure to electric fields, ground loops and transmission line effects that might corrupt

301-457: A wide range of signal voltages and often can sink significant output current, making them useful for directly driving current loops , opto-isolators and fiber optic transmitters . Because it cannot source current, the output of an open-collector driver must be connected to a positive DC voltage through a pull-up resistor . Some encoders provide an internal resistor for this purpose; others do not and thus require an external pull-up resistor. In

344-435: Is a measure of the precision of the position information it produces. Encoder resolution is typically specified in terms of the number of A (or B ) pulses per unit displacement or, equivalently, the number of A (or B ) square wave cycles per unit displacement. In the case of rotary encoders, resolution is specified as the number of pulses per revolution (PPR) or cycles per revolution (CPR), whereas linear encoder resolution

387-449: Is asserted when the shaft is in its reference orientation, which causes the encoder interface to jam the reference angle into its position counter. Some incremental encoder applications lack reference position detectors and therefore must implement homing by other means. For example a computer, when using a mouse or trackball pointing device, typically will home the device by assuming a central, initial screen position upon booting , and jam

430-637: Is guaranteed to be at least 155° and no more than 205°. Similarly, with phase specified as 90° ±20°, the phase difference at every A or B edge will be at least 70° and no more than 110°. Incremental encoders employ various types of electronic circuits to drive (transmit) their output signals, and manufacturers often have the ability to build a particular encoder model with any of several driver types. Commonly available driver types include open collector, mechanical, push-pull and differential RS-422. Open collector drivers (using an NPN transistor or open drain drivers using an n-type MOSFET ) allow operation over

473-409: Is proportional to frequency, and inversely proportional to period. If the position signal is sampled (a discrete time signal), the pulses (or pulse edges) are detected and counted by the interface, and speed is typically calculated by a computer which has read access to the interface. To do this, the computer reads the position counts C 0 {\displaystyle C_{0}} from

SECTION 10

#1732858611944

516-403: Is then calculated: The resulting speed value is expressed as counts per unit time (e.g., counts per second). In practice, however, it is often necessary to express the speed in standardized units such as meters per second, revolutions per minute (RPM), or miles per hour (MPH). In such cases, the software will take into account the relationship between counts and desired distance units, as well as

559-463: Is typically specified as the number of pulses issued for a particular linear traversal distance (e.g., 1000 pulses per mm ). This is in contrast to the measurement resolution of the encoder, which is the smallest position change that the encoder can detect. Every signal edge on A or B indicates a detected position change. Since each square-wave cycle on A (or B ) encompasses four signal edges (rising A , rising B , falling A and falling B ),

602-421: The derivative of the position with respect to time. The position signal is inherently quantized , which poses challenges for taking the derivative due to quantization error, especially at low speeds. Encoder speed can be determined either by counting or by timing the encoder output pulses (or edges). The resulting value indicates a frequency or period, respectively, from which speed can be calculated. The speed

645-443: The application for error logging or failure analysis. An incremental encoder interface largely consists of sequential logic which is paced by a clock signal . However, the incoming encoder signals are asynchronous with respect to the interface clock because their timing is determined solely by encoder movement. Consequently, the output signals from the A and B (also Z and alarm , if used) line receivers must be synchronized to

688-426: The case of a linear incremental encoder that produces 8000 counts per millimeter of travel, the position in millimeters is calculated as follows: In order for an incremental encoder interface to track and report absolute position, the encoder counts must be correlated to a reference position in the mechanical system to which the encoder is attached. This is commonly done by homing the system, which consists of moving

731-403: The corresponding counts into the X and Y position counters. In the case of panel encoders used as hand-operated controls (e.g., audio volume control), the initial position typically is retrieved from flash or other non-volatile memory upon power-up and jammed into the position counter, and upon power-down the current position count is saved to non-volatile memory to serve as the initial position for

774-445: The current encoder position; it only reports incremental changes in position. Consequently, to determine the encoder's position at any particular moment, it is necessary to provide external electronics which will "track" the position. This external circuitry, which is known as an incremental encoder interface, tracks position by counting incremental position changes. As it receives each report of incremental position change (indicated by

817-597: The direction of movement. Consequently, to determine absolute position at any particular moment, it is necessary to send the encoder signals to an incremental encoder interface , which in turn will "track" and report the encoder's absolute position. Incremental encoders report position increments nearly instantaneously, which allows them to monitor the movements of high speed mechanisms in near real-time . Because of this, incremental encoders are commonly used in applications that require precise measurement and control of position and velocity . An incremental encoder employs

860-434: The encoder counts must be expressed in units such as meters, miles or revolutions. In such cases, the counts are converted to the desired units by multiplying by the ratio of encoder displacement D {\displaystyle D} per count C {\displaystyle C} : Typically this calculation is performed by a computer which reads the counts from the incremental encoder interface. For example, in

903-402: The encoder interface receives the sensor signal, whereupon the corresponding position value is jammed into the position counter. In some rotating mechanical systems (e.g. rotating radar antennas), the "position" of interest is the rotational angle relative to a reference orientation. These typically employ a rotary incremental encoder that has an index (or Z ) output signal. The index signal

SECTION 20

#1732858611944

946-438: The encoder is motionless. In the case of a rotary encoder , the frequency indicates the speed of the encoder's shaft rotation, and in linear encoders the frequency indicates the speed of linear traversal. Quadrature encoder outputs can be produced by a quadrature-offset pattern read by aligned sensors (left diagram), or by a simple pattern read by offset sensors (right diagram). The resolution of an incremental encoder

989-411: The encoder provides a differential conductor pair for every logic output; for example, "A" and "/A" are commonly-used designations for the active-high and active-low differential pair comprising the encoder's A logic output. Consequently, the encoder interface must provide RS-422 line receivers to convert the incoming RS-422 pairs to single-ended logic. Incremental encoders are commonly used to monitor

1032-500: The encoder's direction of movement. In the case of a rotary encoder, the phase difference is +90° for clockwise rotation and −90° for counter-clockwise rotation, or vice versa, depending on the device design. The frequency of the pulses on the A or B output is directly proportional to the encoder's velocity (rate of position change); higher frequencies indicate rapid movement, whereas lower frequencies indicate slower speeds. Static, unchanging signals are output on A and B when

1075-420: The encoder's measurement resolution equals one-fourth of the displacement represented by a full A or B output cycle. For example, a 1000 pulse-per-mm linear encoder has a per-cycle measurement resolution of 1 mm / 1000 cycles = 1 μm, so this encoder's resolution is 1 μm / 4 = 250 nm. When moving at constant velocity, an ideal incremental encoder would output perfect square waves on A and B (i.e.,

1118-427: The incoming differential signals to the single-ended form required by downstream logic circuits. In mission-critical systems, an encoder interface may be required to detect loss of input signals due to encoder power loss, signal driver failure, cable fault or cable disconnect. This is usually accomplished by using enhanced RS-422 line receivers which detect the absence of valid input signals and report this condition via

1161-432: The interface at time T 0 {\displaystyle T_{0}} and then, at some later time T 1 {\displaystyle T_{1}} reads the counts again to obtain C 1 {\displaystyle C_{1}} . The average speed during the interval T 0 {\displaystyle T_{0}} to T 1 {\displaystyle T_{1}}

1204-533: The interface clock, both to avoid errors due to metastability and to coerce the signals into the clock domain of the quadrature decoder. Typically this synchronization is performed by independent, single-signal synchronizers such as the two flip-flop synchronizer seen here. At very high clock frequencies, or when a very low error rate is needed, the synchronizers may include additional flip-flops in order to achieve an acceptably low bit error rate . Millimeter Too Many Requests If you report this error to

1247-1233: The interface must sample the encoder's A and B output signals frequently enough to detect every AB state change before the next state change occurs. Upon detecting a state change, it will increment or decrement the position counts based on whether A leads or trails B . This is typically done by storing a copy of the previous AB state and, upon state change, using the current and previous AB states to determine movement direction. Incremental encoder interfaces use various types of electronic circuits to receive encoder-generated signals. These line receivers serve as buffers to protect downstream interface circuitry and, in many cases, also provide signal conditioning functions. Incremental encoder interfaces typically employ Schmitt trigger inputs to receive signals from encoders that have single-ended (e.g., push-pull, open collector) outputs. This type of line receiver inherently rejects low-level noise (by means of its input hysteresis) and protects downstream circuitry from invalid (and possibly destructive) logic signal levels. RS-422 line receivers are commonly used to receive signals from encoders that have differential outputs. This type of receiver rejects common-mode noise and converts

1290-401: The latter case, the resistor typically is located near the encoder interface to improve noise immunity. The encoder's high-level logic signal voltage is determined by the voltage applied to the pull-up resistor ( V OH in the schematic), whereas the low-level output current is determined by both the signal voltage and load resistance (including pull-up resistor). When the driver switches from

1333-446: The low to the high logic level, the load resistance and circuit capacitance act together to form a low-pass filter , which stretches (increases) the signal's rise time and thus limits its maximum switching frequency. Mechanical (or contact ) incremental encoders use sliding electrical contacts to directly generate the A and B output signals. Typically, the contacts are electrically connected to signal ground when closed so that

QEP - Misplaced Pages Continue

1376-497: The mechanical contacts, thus making these devices impractical for high frequency operation. Furthermore, the contacts experience mechanical wear under normal operation, which limits the life of these devices. On the other hand, mechanical encoders may be relatively inexpensive and have no internal, active electronics. These attributes make mechanical encoders a good fit for hand-operated controls (e.g. volume controls in audio equipment and voltage controls in bench power supplies ) and

1419-411: The mechanical system (and encoder) until it aligns with a reference position, and then jamming the associated absolute position counts into the encoder interface's counter. A proximity sensor is built into some mechanical systems to facilitate homing, which outputs a signal when the mechanical system is in its "home" (reference) position. In such cases, the mechanical system is homed by moving it until

1462-563: The next power-up. Incremental encoders are commonly used to measure the speed of mechanical systems. This may be done for monitoring purposes or to provide feedback for motion control , or both. Widespread applications of this include speed control of radar antenna rotation and material conveyors , and motion control in robotics , CMM and CNC machines. Incremental encoder interfaces are primarily concerned with tracking mechanical displacement and usually do not directly measure speed. Consequently, speed must be indirectly measured by taking

1505-400: The outputs will be "driven" low, effectively making them mechanical equivalents of open collector drivers and therefore subject to the same signal conditioning requirements (i.e. external pull-up resistor). The maximum output frequency is limited by the same factors that affect open-collector outputs, and further limited by contact bounce (which must be filtered) and by the operating speed of

1548-417: The phase difference varies at every A and B signal edge. Consequently, both the pulse width and phase difference will vary over a range of values. For any particular encoder, the pulse width and phase difference ranges are defined by "symmetry" and "phase" (or "phasing") specifications, respectively. For example, in the case of an encoder with symmetry specified as 180° ±25°, the width of every output pulse

1591-417: The physical positions of mechanical devices. The incremental encoder is mechanically attached to the device to be monitored so that its output signals will change as the device moves. Example devices include the balls in mechanical computer mice and trackballs, control knobs in electronic equipment, and rotating shafts in radar antennas. An incremental encoder does not keep track of, nor do its outputs indicate

1634-404: The pulses would be exactly 180° wide and the duty cycle would be 50%) with a phase difference of exactly 90° between A and B signals. In real encoders, however, due to sensor imperfections and speed variations, the pulse widths are never exactly 180° and the phase difference is never exactly 90°. Furthermore, the A and B pulse widths vary from one cycle to another (and from each other) and

1677-454: The ratio of the sampling period to desired time units. For example, in the case of a rotary incremental encoder that produces 4096 counts per revolution, which is being read once per second, the software would compute RPM as follows: When measuring speed this way, the measurement resolution is proportional to both the encoder resolution and the sampling period (the elapsed time between the two samples); measurement resolution will become higher as

1720-531: The sampling period increases. Alternatively, a speed measurement can be reported at each encoder output pulse by measuring the pulse width or period. When this method is used, measurements are triggered at specific positions instead of at specific times. The speed calculation is the same as shown above (counts / time), although in this case the measurement start and stop times ( T 0 {\displaystyle T_{0}} and T 1 {\displaystyle T_{1}} ) are provided by

1763-633: The signals and thereby disrupt position tracking, or worse, damage the encoder interface. Differential RS-422 signaling is typically preferred when the encoder will output high frequencies or be located far away from the encoder interface, or when the encoder signals may be subjected to electric fields or common-mode voltages, or when the interface must be able to detect connectivity problems between encoder and interface. Examples of this include CMMs and CNC machinery, industrial robotics , factory automation, and motion platforms used in aircraft and spacecraft simulators. When RS-422 outputs are employed,

QEP - Misplaced Pages Continue

1806-453: The signals to produce absolute position and other information, and makes the resulting information available to external circuitry. Incremental encoder interfaces are implemented in a variety of ways, including as ASICs , as IP blocks within FPGAs , as dedicated peripheral interfaces in microcontrollers , or as software (via interrupts or polling GPIOs ). Regardless of the implementation,

1849-611: The title QEP . If an internal link led you here, you may wish to change the link to point directly to the intended article. Retrieved from " https://en.wikipedia.org/w/index.php?title=QEP&oldid=1017215428 " Category : Disambiguation pages Hidden categories: Short description is different from Wikidata All article disambiguation pages All disambiguation pages Quadrature encoder Unlike an absolute encoder , an incremental encoder does not indicate absolute position; it only reports changes in position and, for each reported position change,

#943056