Close

AS5047 Encoder Placement

A project log for 3D Printed Robot Joint with Active Compliance

A general purpose robot joint using a cycloidal gearbox and an ODrive modified to support active compliance

tim-wilkinsonTim Wilkinson 05/23/2019 at 05:004 Comments

For accurate control of the joint, ODrive requires an encoder. There are many options here, but I wanted something as lightweight and small as possible. Without the need to write a new device driver, ODrive supports encoders using the ABI format so I picked out a magnetic encoder; the AS5047 (in retrospect, I should probably have gone with the AS5147 which has better resolution). This is a single chip encoder which relies on a spinning magnet, attached to the motor shaft, to monitor the motor position.

Attaching the magnet to the motor shaft was a bit of a pain. I tried a couple of epoxies and 3d-printed jig setups before I found something which would center the magnet well and keep it stuck in place - JB Weld for the glue and a two part jig which snuggly held the magnet in place on the motor shaft while the glue dried.

Once the magnet was stuck, the AS5047 board was mounted, face down, above it. I cut down the 3.3V/5V selector and hard-wired it to 5V (see the unsightly solder blob).

With everything assembled I now need to run though the ODrive configuration and calibration process.

Discussions

Paul Gould wrote 04/06/2021 at 12:50 point

Sorry, I was wrong. Different suffixes mean different max speeds. Both have DAEC™ (dynamic angle error compensation). AS5147 has "SEooC (Safety Element out of Context) according to ISO26262, including FMEDA" and AS5047 doesn't. There are slight differences in the incremental encoder output resolution. I buy which ever is cheaper and they operate the same over SPI.

  Are you sure? yes | no

Nando wrote 04/06/2021 at 11:00 point

What's the difference between  AS5047 and  AS5147? To me, both of them seem to be equal in terms of precision.

  Are you sure? yes | no

Paul Gould wrote 04/06/2021 at 11:53 point

AS5147 is better at high acceleration position measurement

  Are you sure? yes | no

Nando wrote 04/06/2021 at 12:14 point

Can you please explain how  AS5147 achieves better performance for high acceleration? Is there any particular element in  AS5147 that is not present in AS5047?
I just asked because I read the datasheets of both sensors and I did get much difference. Perhaps I neglected something...

  Are you sure? yes | no