Hi Ryan, a lot of questions, i will try to answer most of them, but I am also kinda new to this so don’t take everything I say at face value.
I dont have experience with the drivers you mentioned, maybe someone else can help you there.
I have used the AS5600 and the AS5048a, the resolution can be calculated like this: 360° / 2^bit. The important difference to me between these two sensors was the communication protocol. The AS5048a can measure way faster, which leads to a higher Loopfrequency, which leads to a smoother Motion and a higher possible speed. But if you are just going for slow Motion (<20rad/s) you can probably just use the AS5600.
Hall effect sensors are only usefull for speed control, not position control, because of their limited resolution.
If possible avoid PWM because it is slower, for the AS5600 and the AS5048a use the implementations of the simplefoc library (for example: MagneticSensorSPI sensor = MagneticSensorSPI(AS5048_SPI,5)), these deliver the best performance.
You can try to limit the current if you want to avoid overheating.
You should be able to Multitask with the esp32, you can even dedicate a core to the motor loop. I haven’t tried this yet, but it sounds interesting.
I made my own motor+encoder setup, it was pretty doable, you just have to experiment a bit.
I haven´t experimented with gimbal motors so far, so no advice there.
As a general tip, use the documentation and examples, they are incredibly useful.
Gregor
