Absolute Encoder Selection - Page 1
Forum section: electronics / beginners

author: Joel
author_rank: Newbie
timestamp: April 23, 2015, 04:02:40 am
content: Hi,I am working on a robotics projects that requires several different joint movements. The joints are controlled using a Raspberry Pi running a PID algorithm. Up to this point I have been using potentiometers and an ADC to find the position of each joint, it has a range of a little under 90 degrees per joint. I have discovered that more reliability is needed, the potentiometers I don't think are made for this. After working with them I believe they are intended to just be knobs. I also want to get rid of as many analog connections as possible. Thus I want to switch to an absolute encoder.I have been searching for absolute encoders on the internet and I have not had much luck finding one. I need one that is at least 14 bit preferably 16 bit that has a refresh rate of at least 2 ms, preferably 1 ms, that is priced under $150 preferably under $100 per encoder. I have seen several 12 bit absolute encoders on eBay for a reasonable price,http://www.ebay.com/itm/Absolute-Encoder-PWM-Output-Angle-Sensor-Position-Sensor-CNC-1khz-12-bit-5V-/331323813043?pt=LH_DefaultDomain_0&hash=item4d24702cb3; however I haven't been able to find 14 bit or greater encoders on eBay for a good price.This is my first time using an encoder, so any help finding an absolute encoder or absolute encoder recommendations would be greatly appreciated.Thanks so much,Joel

author: f5r5e5d
author_rank: Frequent Contributor
timestamp: April 23, 2015, 04:42:07 am
content: there are purpose designed "servo pots" with good accuracy and service lifeand you should probably read up on transducers/sensors, measurement accuracy - 16 bits is a pretty steep goal - particularly when you cross into the mechanical domain - its unlikely you can center, align, remove backlash or achieve stiffness and damping that would allow 16 bit accuracy/resolution in mechanical motion

author: KerryW
author_rank: Regular Contributor
timestamp: April 23, 2015, 12:15:44 pm
content: Maybe a synchro resolver would do what you want?

author: PeterFW
author_rank: Frequent Contributor
timestamp: April 23, 2015, 01:40:17 pm
content: I do not know how well they work, i just know that they existHow about a Magnetic Rotary Encoder in each joint, like these:AS5048AM4096AEAT-6600-T16

author: TimFox
author_rank: Super Contributor
timestamp: April 23, 2015, 04:48:07 pm
content: If you want 16-bit resolution, you may need to use an incremental (quadrature) encoder instead of an absolute encoder. This would require a homing sequence with index to initialize the up-down counter that responds to the encoder signals, but can give far more than 16-bit resolution.

author: German_EE
author_rank: Super Contributor
timestamp: April 23, 2015, 06:26:54 pm
content: Why do you need such accuracy? A 10 bit encoder geared so that your 90 degrees of movement is 360 degrees of encoder motion will be 90/1024 or 0.088 degrees per bit. Go for a 14 bit encoder and this drops to 0.0055 degrees per bit.

author: FrankT
author_rank: Regular Contributor
timestamp: April 24, 2015, 03:02:55 am
content: I recommend putting incremental encoders on the motor and having a homing sequence on power up. Hi res absolute encoders are expensive.I'm playing around with replacing the the pot of an RC servo with AS5601 magnetic rotary sensor. Only 11bit resolution in incremental mode, but I'm going to use the servos more as geared motors rather than precision positioning devices.

author: pickle9000
author_rank: Super Contributor
timestamp: April 24, 2015, 03:46:15 am
content: How is the arm used / purpose, size?

author: rx8pilot
author_rank: Super Contributor
timestamp: April 24, 2015, 04:14:32 am
content: Not sure what you are doing, but using a very high res encoder does not equal a precise or repeatable mechanical movement. The only way to take advantage of measuring very small steps is if the mechanics are more rigid than your smallest step.

author: Joel
author_rank: Newbie
timestamp: April 27, 2015, 03:54:29 am
content: It is a velocity PID loop the motor moves an arm throughout a certain range of motion however the resistance on the arm varies significantly and each cycle is about 1.2 seconds or less with with approx 120 ms per section (the motion is broken up into sections). Upon reading the responses which prompted a further investigation on my part, I do think that my mechanics are not accurate enough to handle a 16 bit, I think the best accuracy we could get is a 14bit however we would be able to gear it given the way its mounted. The motor moving the arm is a 1 hp drive motor for a robot.Do you guys have any suggestions for 14 bit absolute encoders?

author: FrankT
author_rank: Regular Contributor
timestamp: April 27, 2015, 07:13:06 am
content: As mentioned above, the Austrian Micro Systems range can do this (AS5048 - they have a large range). These are chips, though, but very easy to mount the chip + magnet. I've never investigated whether anyone sells an already assembled version of these as they usually expensive. The chip + magnet < $10.

author: Joel
author_rank: Newbie
timestamp: April 28, 2015, 01:34:45 am
content: I found this kithttp://www.digikey.com/product-search/en?mpart=AS5048B-EK-AB-STM1.0&vendor=961from digikey with the chip already on the board and it has mounting holes and comes with the magnets for $25. This looks to be exactly what I need.Thanks very much for all the help.