magnetic encoder

Hi I found some parts I would like to get some input on, hopefully someone tried them out..

I want to make a high precision encoder for an hollow shaft dc motor, to convert it to a servo.

I've been looking on absolute encoders but they are just to expensive then I found this. http://ams.com/eng/Products/Position-Sensors/Linear-Magnetic-Position-Sensors/AS5311

And the magnet ring for that could be this http://ams.com/eng/Products/Position-Sensors/Magnets/AS5000-MR12-72

And I saw this - Where they mention that the LS7366 decoder chip would be useful. http://www.libstock.com/requests/view/426/as5311-magnetic-linear-encoder

So basically I'm wondering if this setup would be a good option to create a high precision servo and if there are something I'm missing..

I'm doing servos for a robot where I want to use an arduino to move 6 of these..

The sensor you linked to is for a linear encoder. I'd think you'd want a rotational encoder. There are lots of different kinds. These encoders generally require diametrically magnetized magnets.

Here's a link to a video of one of my experiments using the AS5055 encoder chips.

My first attempt to hold a magnet over the sensor didn't look very nice.

|500x330

My second attempt on the right worked much better than the setup on the left.

I press fit the magnet into the end of milled out nylon bolt.

|500x399

I wanted to fit these encoders inside normal servos but I failed to solve the mechanical alignment issue.

I made some PCBs the same size as the servo pots, but I ended up with awful results.

|500x373

I think these sorts of sensors would work well if you can get the sensor aligned properly.

One thing I'm not sure about is how much interference is caused from the servo's motors.

This is something I hope to revisit in the future. The pots in my hexapod servos are always wearing out. I'd really like to replace the pots with these sorts of encoders.

Another option is optical encoders. I've tried these too. I didn't get as much resolution as the magnetic encoders promise but it worked.

|500x433

The above encoders gave me 378 transitions per revolution of the servo's output shaft.

US Digital make an absolute encoder which is basically one of those magnetic chips and a magnet inside a case that looks like a small potentiometer. $70 each, so that probably doesn’t meet your definition of “cheap” but I think it’s a great buy.

If you are going to this trouble to make your own encoders, then build them into the robot arms instead of trying to cram them into a servo case. Look a C3PO from Star Wars - he has little linear encoders on his elbows. You can often get more resolution and better control by measuring the robot instead of the servo linkages.

Hi guys thanks for your answers!

@DuaneDegn I also saw there was lots of rotational encoders and I saw ams even have a chip for absolute encoding, the problem is that the motor will be hollow with cables running through so I'm having a little hard time seeing how I would be able to use it.

@MorganS Hi I also saw the encoders from US Digital, and just like you said it feels a bit pricy for just that. I'm more in the line of doing one myself with a pcb service like OSH Park or similar, so I will learn alot about it and also be able to make more if I'm able to make them work ok.

The absolute best situation would be If I was able to do an absolute encoder, the thing that I could save alot of time just buying one isn't what I'm looking for I would like to learn it for real.

The only way it seems I would be able to do an absoule encoder is by using an optical encoder and a disk, but the magnet part seemed cheaper and easier to work with.

Would any of you guys be able to tell me a little of what components is needed.

Like say I go with the AS5311, that sends data to LS7366.

Should this data then go to an arduino, or would I be able to do the motor self contained so that I can have an arduino driving 6 of these and basically just send values to the motors.

I also saw some servos use networking like TTL and such, is that useful and would it be hard to add?

Thanks again!

Yes but the motor probably doesn't have enough torque to drive mechanisms directly. It would need a gearbox to act like a servo. So the encoder goes on one of the intermediate gears if the output shaft is hollow.

You didn't give a link to the motor. I hope it's not a BLDC gimbal motor. Those things are great for nearly-balanced gimbals. They won't drive a robot arm.

A normal RC servo is an absolute positioning device. Using an incremental encoder makes it more difficult as you now need to add a method for finding the starting position.

MorganS: Yes but the motor probably doesn't have enough torque to drive mechanisms directly. It would need a gearbox to act like a servo. So the encoder goes on one of the intermediate gears if the output shaft is hollow.

You didn't give a link to the motor. I hope it's not a BLDC gimbal motor. Those things are great for nearly-balanced gimbals. They won't drive a robot arm.

A normal RC servo is an absolute positioning device. Using an incremental encoder makes it more difficult as you now need to add a method for finding the starting position.

Hi again, and thanks!

I'm actually planning to do it from the very scratch, meaning I will make my own motors too, I will have silicone steel cut from a cad file and wind them myself.

Therefore I've been reading alot on gearboxes, and I'm really interested in trying to make an magnetic gearbox, I haven't found much information on them so I will just try to create one based in the information I find.

I know they might require a bigger size to have a higher ratio, but I want to test it out anyway.

It would be really great if it would be possible to make one that works and goes into the stator hole like this one..

https://www.youtube.com/watch?v=PyBTE5cjGDY

Any experience with magnetic gearboxes?

Regarding the encoder I read that a magnetic encoder could also be used similar to an optical encoder, where you have two lines of magnets that are a little out of sync, and therefore no position is the same.

That seems perfect, the problem is I don't know what sensor I should use for that, any idea?

To build a robot arm today isn't that hard if you buy expensive finished parts or make it very weak, and that wont make me any happier than before - The ride is the fun part! :)