diff --git a/README.md b/README.md index 33d2545e02a6e541a899e5ad54293917d0a6f3e5..9a59767a4506c96e864b4167083eed566c76392c 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,18 @@ I put this magnet arrangement on my stage to test the resolution. I just grabbe This we extremely encouraging: we improved the resolution of this linear encoder to have a LSB of ~200nm! +I switched the stage into 1/8th microstepping mode (nominally 156 nm / step, but subject to backlash, etc.), and pulled out the raw sensor values. We can create simple shape functions for the x and y displacement values as +```math +x = C_1 - C_2 + C_4 - C_3 +``` +```math +y = C_3 - C_2 + C_4 - C_1 +``` +Evaluating these, we can create the graphs below: +<img src='as5013-test/xy-plots-nonlinearity.png' width=800px> + +These measurements are pulled from a single measurement on the sensor, so I expect averaging will reduce some of this nonlinearity. I also want to play with the sensor gains to increase the region before the internal ADC overflows. The goal of this will be to maximize dynamic range, which we could evaluate as the ratio of full scale to the standard deviation of the nonlinearity. In the simple measurements above, this dynamic range is roughly 8 bits. If we oversample 16x, we can get 10 bits at 150 Hz. If we turn down the gains, we may work further above the hall elements' noise floors, additionally increasing dynamic range. We also can turn on hall element $`C_5`$ which could increase dynamic range at no bandwidth penalty. + Below we show a new design incorporating this magnet change and rotating the ICs to give differential measurements in all axes. <img src='v2/overall.png' width=480px>