Hi, I was trying to automate calibrating the inertial sensors using a rotation sensor to get more accurate turns out of a motor. What has thrown me off is that I’m seeing a fair amount of hysteresis on the rotation sensor, somewhere to the tune of 3deg. I’m assuming this is nothing to do with the hall effect sensor itself, but the limits of the mechanical tolerance of the sensor? I’ve secured the rotation sensor so the body can’t move when the direction of the shaft changes which I had noticed was an issue before, but I’m still left with some play that I can’t seem to find the cause of.
Wondering if anyone has any insight or solution to this?
Thanks,
Nick.
As a visual, here’s a zoom-in from a capture showing what’s being reported by the motor encoder, rotation sensor and inertial sensor (angles in degrees). All data is being sampled at 10ms but displayed at 20ms.
Orange line: Motor encoder
Green line: Rotation sensor
Blue line: Inertial sensor
Program uses PID based on rotation sensor readings, so of course all of those line up exactly at 0 deg, 90 deg (and -90deg which is not shown).
As expected, the motor encoder is the farthest off.
Note that on the negative slopes the rotation sensor lags behind the other two readings indicating that it hasn’t detected a motion in the drive shaft connecting the 3 sensors.
1 Like