Absolute Position Encoder - Page 1
Forum section: electronics / general

author: onemilimeter
author_rank: Frequent Contributor
timestamp: April 11, 2011, 02:21:59 pm
content: All the time I've been using incremental position encoder. I'm planning to purchase an absolute position encoder. I note that the output of some absolute position encoders are either in "gray code" or "natural binary" form. Which one is more popular in industrial applications? Thanks.

author: oPossum
author_rank: Super Contributor
timestamp: April 11, 2011, 02:25:29 pm
content: Gray code. Very rare to use anything else in industrial controls.

author: onemilimeter
author_rank: Frequent Contributor
timestamp: April 11, 2011, 02:37:52 pm
content: Quote from: oPossum on April 11, 2011, 02:25:29 pmThanks. Would it be difficult to derive the "speed" of a motor from an absolute encoder with gray code output?Is it true that absolute encoder can work in only one direction, i.e. either Clockwise or Counter-Clockwise?

author: oPossum
author_rank: Super Contributor
timestamp: April 11, 2011, 03:00:30 pm
content: XOR all the bits and count transitions per time period to get speed.I have never seen an encoder of any kind that was directional.

author: scrat
author_rank: Frequent Contributor
timestamp: April 11, 2011, 03:06:36 pm
content: Quote from: oPossum on April 11, 2011, 03:00:30 pmSo one, after XORing, can use the same interface and algorithm as with an incremental encoder, for speed measurement, isn't it?Quote from: oPossum on April 11, 2011, 02:25:29 pmAre sin-cos absolute encoders so little used?

author: onemilimeter
author_rank: Frequent Contributor
timestamp: April 11, 2011, 03:07:59 pm
content: As you can see the specifications of an absolute encoder below, it seems that the encoder can either count in clockwise or counter-clockwise. Kindly advise. Thanks.By the way, I will really appreciate it if you can help to select the specs (based on the specs below) commonly found in an industrial absolute encoder. Thanks.

author: oPossum
author_rank: Super Contributor
timestamp: April 11, 2011, 03:12:38 pm
content: That is the direction that will make the code "increment". It is not a physical limitation.

author: oPossum
author_rank: Super Contributor
timestamp: April 11, 2011, 03:14:42 pm
content: Quote from: scrat on April 11, 2011, 03:06:36 pmYes, the result would be the same as the lsb of a binary encoder.Quote from: scrat on April 11, 2011, 03:06:36 pmYou mean a resolver (RVTD)? I don't think they are used much. Specialized and expensive.

author: onemilimeter
author_rank: Frequent Contributor
timestamp: April 11, 2011, 03:34:51 pm
content: Quote from: oPossum on April 11, 2011, 03:12:38 pmI see. Thanks.

author: tecman
author_rank: Frequent Contributor
timestamp: April 11, 2011, 04:03:51 pm
content: A couple of comments. Using the LSB as a velocity signal is common. Be aware that you will lose direction information as related to velocity (single bit frequency is unipolar).All encoders are bi-directionalBe careful if the encoder is not a true optical encoder (some use magnetostrictive, resolvers, or other technologies), then using the LSB for velocity information may be unreliable. This is because the conversion electronics from the actual sensor will usually have some conversion time, which will distort the bit stream's usefulness as a velocity signal. You must carefully evaluate the bit frequency, conversion time and desired velocity signal bandwidth in order to determine the usability of the signal.paul

author: FreeThinker
author_rank: Frequent Contributor
timestamp: April 11, 2011, 04:04:45 pm
content: Quote from: oPossum on April 11, 2011, 03:12:38 pmOooo! You just brought to mind a very bad day at the office (so to speak) We were working on a machine one nightshift and changed the encoder and had an almighty coming together because I fitted the wrong encoder to a shaft, put a c/wise one on instead of a cc/wise one and the two heads tried to go to the same point in time and space at the same time. Kaboom! They were essentially a pair of identical machines working in tandem but facing each other, therefore one needed to be right handed and the other left (hence the use of different encoders). No real damage done but it made one hell of a noise

author: onemilimeter
author_rank: Frequent Contributor
timestamp: April 11, 2011, 04:08:10 pm
content: Really thanks for everyone who shares his experience here. I've learned new practical knowledge about absolute encoder from your experience here today.

author: onemilimeter
author_rank: Frequent Contributor
timestamp: April 11, 2011, 04:12:35 pm
content: By the way, what's "tether" as stated in the specs below?Besides, what does the "0Cout" mean?Input / Output (Vin / Vout)1 = 5-28Vin / Vout (Vout = Vin)2 = 5-28Vin / 5Vout3 = 5-28Vin /0Cout

author: rf-loop
author_rank: Super Contributor
timestamp: April 11, 2011, 04:27:00 pm
content: There is small type error. Least there need be space...It is Open Collector (OC, O.C. etc..) type output.Absolute encoder I recommend nearly always to use Gray code. It is lot of more reliable code as normal binary where can many bit change "same time" between two "step". Gray code is normal in reliable automation if need always know absolute position without any movements or "searching" mechanically.

author: scrat
author_rank: Frequent Contributor
timestamp: April 11, 2011, 04:58:14 pm
content: Quote from: oPossum on April 11, 2011, 03:14:42 pmNo, there are some other sin-cos trace (magnetical/optical) encoders, two of them lying under my desk (a motor under test-brake motor setup). The drive is reading the sinusoidal traces by means of an external ADC+FPGA module. The whole result (absolute sin-cos + "fast" sin-cos) is a 25 bit position information, which gives a very good speed signal (although I think it isn't entirely worth the cost). It is surely quite an unusual solution, but I thought there were other sin-cos encoders out there in industrial environment.

author: onemilimeter
author_rank: Frequent Contributor
timestamp: April 11, 2011, 07:00:41 pm
content: Quote from: scrat on April 11, 2011, 04:58:14 pmResolver decoder:http://www.analog.com/en/analog-to-digital-converters/synchroresolver-to-digital-converters/products/index.html

author: onemilimeter
author_rank: Frequent Contributor
timestamp: April 11, 2011, 07:17:17 pm
content: Quote from: onemilimeter on April 11, 2011, 04:12:35 pmWhich one should I purchase? Option '1' or '2'? Thanks.Which "Seal Type S" is better?"S = Sealed" or "D = Dust proof"Thanks.

author: RayJones
author_rank: Frequent Contributor
timestamp: April 11, 2011, 08:24:34 pm
content: 95% of our radars at work use synchro's for position information.The 3 phase stators get converted to sin/cos via Scott-T transformers or precision resistor packs, finally sent to resolver to digital converters.Not cheap but damn reliable.We have a few radars with absolute encoders, but a caution for anyone is to ensure the "preset" input if present is held inactive.Spectacular action is ensured should the encoder magically decide to change its orientation in use.Shame the OEM did not do this

author: Leo Bodnar
author_rank: Frequent Contributor
timestamp: April 15, 2011, 08:42:26 pm
content: Quote from: scrat on April 11, 2011, 03:06:36 pmSin/cos is great when paired with absolute digital channel for initial setup. I have used EnDat absolute encoder in my design and still swear by it. The controller reads absolute digital position on startup and then uses sin/cos channel for keeping it updated during uptime. Encoder has 2048 sin/cos periods per turn and I get 2 million stable resolved positions per turn. And this is absolute position, not incremental. I still can't believe how accurate this stuff is. There is also great integrity test - you can read low res digital absolute position from time to time via EnDat channel and compare it to running incremental position to make sure they match. Also sin/cos integrity can be checked by sin^2+cos^2 staying within a safe zone.I have used Heidenhain ECN1313 Encoder if this is of any interest. EnDat protocol details are open. There are also other types like BISS, Hyperface, etc.Synchro is similar but apart from requirement that it has to be excited with AC signal it has only one sin/cos period per turn so resolution is much lower unless you use geared synchros where one is counting e.g. 1/10th of the turns and the other full turns.This arrangement is often used for feedback in aircraft instruments like altimeters (not barometric) that are driven from flight computers.

author: RayJones
author_rank: Frequent Contributor
timestamp: April 15, 2011, 09:55:48 pm
content: Actually Sin/Cos encoders are used on most brushless DC motor drives.The sin/cos encoder is mounted directly to the motor shaft and is used to count shaft revolutions - ala resolver feedback.As for using a startup calibration value then using the resolver signals - sounds fine until you start picking up random interference then the system can get out of whack.We had a system where it repeatedly and accurately repositioned with perfect damping to the the same fixed offset relative to the absolute encoder after a period of days.Reboot and the offset went away.It took some convincing of the OEM, but eventually they agreed that only ever referencing the absolute encoder on startup was a bad idea.Periodical sanity checks comparing relative accumulation against absolute, ideally when the system is nominally static, is a good method to ensure positional security.

author: FreeThinker
author_rank: Frequent Contributor
timestamp: April 16, 2011, 07:11:08 pm
content: Quote from: RayJones on April 15, 2011, 09:55:48 pmOn most cnc machines i've worked on there is an error signal which is used to compensate for drift (mainly mechanical but rounding errors can and do mount up) A regular rezero of the machine against a mechanical reference point was built into the cycle as standard.

author: scrat
author_rank: Frequent Contributor
timestamp: April 17, 2011, 12:26:57 pm
content: Thanks for sharing your esperiences about sin-cos.I'm into electric drives research since a couple of years ago, but unfortunately (and it sounds strange, I must admit) I have limited knowledge of the application field usual choices in automation.I've always worked with incremental encoders, but recently I'm on a commercial drive with an absolute sin-cos and "incremental" sin-cos traces (many periods), all read via ADC.This way they obtain a high resolution position measurement, which gives a clean speed signal. On the other side, this has a big problem on the absolute position, since the initial position is read once at startup from the "slow" sin-cos trace. So the position can have (depending on startup position) a big offset error (>10 electrical degrees!), which we noticed during the tests on sensorless control!

author: am2pgs
author_rank: Contributor
timestamp: April 17, 2011, 06:38:48 pm
content: Forgive me if this sounds like a silly question.I thought Sin/Cos resolvers/synchros where absolute position encoders. So what is all this talk about reading absolute position during start up only? I know I must be missing something here.Thanks

author: tecman
author_rank: Frequent Contributor
timestamp: April 17, 2011, 08:02:34 pm
content: They are absolute with respect to one turn. If the resolver is used in a manner that it makes more than one turn, then some method to count turns is needed, software or hardware.paul

author: RayJones
author_rank: Frequent Contributor
timestamp: April 17, 2011, 08:10:13 pm
content: The resolved is on the motor shaft which then is passed through a gearbox to the final drive. You cannot tell the final position from the motor shaft alone.

author: scrat
author_rank: Frequent Contributor
timestamp: April 18, 2011, 08:01:57 am
content: Quote from: am2pgs on April 17, 2011, 06:38:48 pmA sin-cos higher "frequency" trace (i.e. with many periods per turn) is added. This allows to read the position at higher resolution within one period of this trace, while the absolute position in the turn comes from the main (1 period/turn) traces. In practice, the ADC resolution gets multiplied by the number of periods of the secondary trace. This is, at least, how they explained it to me.

author: Leo Bodnar
author_rank: Frequent Contributor
timestamp: April 18, 2011, 08:33:01 am
content: Quote from: tecman on April 17, 2011, 08:02:34 pmThere are multiturn absolute encoders that can typically uniquely resolve 4096 turns. They just have a gear train with few additional sensors in addition to main encoder disk.

author: Leo Bodnar
author_rank: Frequent Contributor
timestamp: April 18, 2011, 08:47:37 am
content: Here is some useful information on Hyperface encoders:http://www.sick-automation.ru/images/File/pdf/Hyperface_e.pdfEnDat encoders:http://www.auto-met.com/heidenhain/Pin_outs/EnDat%2021_22.pdf

author: RayJones
author_rank: Frequent Contributor
timestamp: April 18, 2011, 09:02:07 am
content: I get the impression with the hyperface units that they fit onto the motor shaft and can provide both the motor turns info, along with an absolute, geared down encoder.Pretty nifty device, BUT depending upon the final drive system may be susceptible to gear backlash and worn gearing for the absolute readout.An absolute encoding system on the very last driven element, fitted with anti-backlash gears itself if required, is sure fire.

author: am2pgs
author_rank: Contributor
timestamp: April 18, 2011, 09:25:35 am
content: Thanks everybody for the clarification regarding absolute position. I now undrestand the issue.

author: Leo Bodnar
author_rank: Frequent Contributor
timestamp: April 18, 2011, 12:33:14 pm
content: Quote from: RayJones on April 18, 2011, 09:02:07 amNot sure if you are talking about the whole machinery or the internal design of the encoder.Multiturn encoders have both optical high density pickup mounted directly on the shaft and gear train for full turn counts only. Single turn encoders are exactly the same but without extra gear train. These gears only have to count full turns so their backlash or wearing out is non-issue.I have only had experience with AC servo motors that have absolute encoders fitted in by the manufacturer. It's not impossible to retrofit the encoder to existing motor but with such a high precision it is difficult to create perfect mounting.

author: FreeThinker
author_rank: Frequent Contributor
timestamp: April 18, 2011, 01:09:50 pm
content: Quote from: Leo Bodnar on April 18, 2011, 12:33:14 pmI don't understand that statement, surely if the resolver is changing from (say) 3600to 00and the turns counter does not change at the same time then it will be 1 complete cycle out until it does change? This would need to be accounted for in it's error correction system somehow.

author: Leo Bodnar
author_rank: Frequent Contributor
timestamp: April 18, 2011, 01:35:05 pm
content: Quote from: FreeThinker on April 18, 2011, 01:09:50 pmTwo systems have an overlap to account for this. Technically, geared multiturn part counts down to half turns.Have a look at Fig.5 and Fig.6 ofhttp://www.sick-automation.ru/images/File/pdf/Hyperface_e.pdfIt's a similar situation with aligning sin/cos period and a full period counter.E.g.angle=3590, gears = 0.5 or 1.0, result: 3590angle=00, gears = 0.5 or 1.0, result: 3600etc.

author: FreeThinker
author_rank: Frequent Contributor
timestamp: April 18, 2011, 02:14:18 pm
content: Ok I see it now, but how would the system know it's position after a power loss? Would it have to do a home? I was assuming that it didn't need to and that was throwing me off I think.

author: Leo Bodnar
author_rank: Frequent Contributor
timestamp: April 18, 2011, 02:29:16 pm
content: Quote from: FreeThinker on April 18, 2011, 02:14:18 pmAbsolute encoder has immediate knowledge of its position.Incremental encoder has two signal tracks and two pickup sensors (3rd track is for index mark):4096 positions absolute encoder would have 12 tracks and 12 sensors providing 12-bit position value:It's a bit simplified but in essence is how it works.

author: FreeThinker
author_rank: Frequent Contributor
timestamp: April 18, 2011, 04:19:22 pm
content: I've worked on KUKA robots and if they were powered down mid cycle they needed to (quite literally) unwind back to a known point in it's 3d world. Accuracy was maintained because the effective length of the encoder was greater than maximum movement (ie it never overflowed) but still needed to re reference on power up. When originally commissioned it was necessary to mount calibration modules on each axis to define this point mechanically. So while when powering up it thought it knew where it was (from it's encoders) it never knew exactly until it re zeroed all of it's axis, do these not have this problem?

author: RayJones
author_rank: Frequent Contributor
timestamp: April 18, 2011, 09:05:18 pm
content: Quote from: Leo Bodnar on April 18, 2011, 12:33:14 pmI was talking about the *system*.You can have ultra precise counting of motor shaft revolutions, but due to tolerances, wear and backlash in the drive train from the motor to your final output, it may actually take a few degrees of shaft rotation before the output actually begins to move upon reversals.This is why relying on a geared down shaft encoder at the motor itself may not match reality - this includes using motor shaft counting schemes.However when it comes to the internal gearing of such multi turn encoders, I have no doubt that they would use spring loaded anti backlash gears as minimal load is transferred through these "data take off" gears.For reference, I'm thinking about our radar systems that have continuous 360 degree azimuth rotation and spend most of their lives rotating in one direction, but are required to accurately position at times.This positioning mode would more than likely require a motor drive reversal, thus exposing the danger of relying upon motor counts alone due to gear train tolerances.These systems have a single turn absolute positioning encoder with spring loaded anti backlash gears on the final drive gear that is fixed to the axis you observe.The motor is always connected via gearboxes.We never home, but rely upon accurate encoder position information from the final axis.The actual encoder does not need to be precisely aligned. Offsets to the reported position are determined during a calibration procedure in software.Now due to the continuous azimuth rotation, slip rings are employed to gather information from the elevation axis.The issue we had was the elevation would creep out of position due to corrupted motor counts which were derived from the resolver feedback of the brushless motors passing over these slip rings - large antennae if you like.Various filters and error checks were employed in the servo drives, but the problem remained.After a software change, the system now uses the absolute encoder on the final elevation axis and it does not creep out of alignment over time.The encoder was always there, but was only used to read back the position, and was only ever used by the servo drive upon startup.This is a real world example.I'm sure in a perfect environment the concept may work fine, BUT not in our real world.

author: Leo Bodnar
author_rank: Frequent Contributor
timestamp: April 18, 2011, 09:48:48 pm
content: Quote from: RayJones on April 18, 2011, 09:05:18 pmThey are very basic gears with no special treatment. If you shake the encoder you can hear them rattle. They only need to count with half-a-main-shaft-turn precision as I have described above. The main high precision optical disc is rigidly attached to the encoder shaft (and subsequently a motor or load shaft.)Nice description of the radar troubleshooting! Slip rings still rule

author: RayJones
author_rank: Frequent Contributor
timestamp: April 18, 2011, 09:59:14 pm
content: Quote from: Leo Bodnar on April 18, 2011, 09:48:48 pmIndeed they do, and for the price per unit you could have a fine existence making themThe modern rings are very fine, think of 1mm spring wires running in narrow grooves.The original ones are very chunky, think chunks of graphite 10 x 8mm on fat metallic rings.But yeah, fixed cables are simply non workable. For sure you could get smarter these days with wireless/optical methods, but you still need hefty currents for motors, and simple volts to run any smart units beyond the slip rings.Tesla coils would induce too much RFI and spoil the -112dBm+ receiver sensitivity