Rotary Sensors and I2C D/A

By: Electronics and Control – Kevin Armentrout

Rotary Sensors and I2C D/A


The rotary sensors requirement is the derivation of the requirement for shaft position indication. Shaft position indication is needed as it roughly translates to leg position. This allows the raptor the position its leg to the desired spots for a continuous leg motion.

Why not a Rotary Encoder?

A rotary encoder would be the typical solution to this problem, but a rotary encoder has two major flaws.

  • A rotary encoder must use interrupts to trigger an event when the encoder generates a Gray Code pulse
  • Rotary encoders have limited resolution.

The need for external interrupts conflicts with our requirement to use the 3DoT board, and the Resolution limitation conflicts with our 1-degree resolution requirement.

Continuous Motion Potentiometers

Continuous Motion Potentiometers, fulfil the above requirements for resolution and requires no additional interrupts to read. Continuous motion potentiometers are typically used on servos for precise position indication. The major downside to these potentiometers as a method of position control is that the indication requires an Analog to Digital converter, and the 3DoT board is fresh out of those.

I2C Digital to Analog Converters

The digital to analog converters that need to be used for our project must be I2C compatible. From there, the converter must have a least 1-degree resolution when converting the analog signal to digital.

Component Selection

With these requirements in mind, we selected the Bourne 3382 Series and the ADS-1015. These are the least expensive option that also fits meets our resolution requirements:

  • Sensitivity at 3.3v:
    • .81 mV
  • Sensitivity of Shaft Indication:
    • .088 Degrees

The major downside to this selection choice is that the Bourne 3382 has a dead band from 330-360 degrees. A/D resolution and accuracy is shown below: