Update: testing the accuracy of a magnetic rotary encoder

A while back we featured a magnetic rotary encoder that [LongHairedHacker] designed. The heart of the system is an AS5043 magnetic rotary sensor which runs from $6.5-$11 and has a 10 bits precision. As we wanted to check if his design was really efficient, he made a test bench for it.

For 360 degrees, a 10 bits precision means a ±0.175º accuracy, which is quite impossible to check with conventional measurement equipment. The first approach he thought of was to attach a mirror to the encoders axis and point a laser beam at it. The laser beam would be reflected across the room to a big scale, but the minimum required distance would have been 5 meters (16 feet). So he preferred attaching a motor to the sensor, rotating at a given speed and measuring the sensor output.

In the first part of his write-up, [LongHairedHacker] lays the math which explains the different kinds of errors that should be expected from his setup and sensor. He then proceeds with his test, where an ATMEGA8 based board is used to send the measured position to his computer. It should be noted that [LongHairedHacker] currently uses the time spent between two received measurements on his computer as a time base, but he is planning on time stamping the data on his board in the next future. Nevertheless, he managed to measure an average ±0.179º accuracy with his simple test bench, which is very close to the manufacturer specification.

Here is the link to our original post about his sensor.

Building a magnetic rotary encoder

[Long Haired Hacker] has undertaken a high-resolution 3D printer build. He got his hands on some motors to drive the build platform but it doesn’t have a built-in encoder. He knows that optical encoder wheels can have problems due to dirt and grim as well as ambient light so he set out to find a better way of providing feedback to the controller. He ended up building his own magnetic rotary encoder which is shown above.

At the heart of the system is an AS5043 magnetic rotary sensor. The chip, which runs from $6.50-$11, can detect and report the rotation of a magnetic field with great precision. The rotation data can be read out in degrees using SPI, but it sounds like there’s also grey code output on a few pins if that suits your needs a bit better. The magnet which the chip measures is mounted in a sleeve milled to seat inside of a bearing ring.

The 3D printing method [Long Haired Hacker] has chosen uses a projector and light-cured resin to achieve the kind of results seen in this other hi-res printer.

Follow

Get every new post delivered to your Inbox.

Join 96,615 other followers