Firstly - props to you all here for the outstanding contributions you make; the community is a real treasure-trove that is absolutely invaluable (and also appears as a source in nearly all of my AI-based questions on the topic ). Thanks in advance for your responses (for some things, only expert humans will do!).
I’m working on a mini camera gimbal project using two GB1105 motors (6 PP, 12V, 12.5Ω phase to phase) with the DRV8313 motor driver and AS5048A encoders. While the system works well, we’re exploring whether upgrading the hardware would justify the added complexity and cost.
We are considering the following alternatives:
DRV8313 (current hardware, no current sensing) vs. DRV8316 (integrated FETs, RDS(on)-based current sensing) vs. DRV8323 (external FETs, shunt-based current sensing)
3xPWM vs. 6xPWM
SPI configurability of the DRV8323 for advanced tuning (dead-time, slew rate, etc.)
Encoders: AS5048A (current hardware) vs MT6835
While our gimbal’s reaction time is already good, we’re looking for ways to further enhance its responsiveness in our next iteration. We’re unsure if the delay we have is due to software (IMU, AHRS, PID tuning) or hardware (encoders, drivers, motors)—or a combination of all.
From your experience, what hardware changes could help optimize reaction time? Do you have any thoughts on the alternatives listed above? If so, which may offer the most bang-for-buck? Any feedback would be greatly appreciated!
Edit: I’ve also been looking at the DRV8376 which is in preproduction. Looks like a good balance between all of the above if we can bear to wait?
I am too interested in this subject, i.e., which features of the hardware chain (current sensing, 3PWM vs 6PWM, encoder precision, motor PP…) are the most important for motor precise positioning and reactivity. Anyone?
Changing the driver doesn’t seem like it would be worth it for the 1105 motors. Any of the drivers you mention will be sufficient for this little motor. Trying to go for more current capacity won’t help you I think, because the motor would just get too hot.
Adding current sensing could help you to detect stall conditions and other problems, but I doubt it will add much in terms of control. With a 12Ohm resistance just working with voltage or estimated current should work as well.
Changing the sensor is where I see most potential gains:
The MT6835 is not only more accurate and with faster response times, it also has a ABZ interface which the AS5048A does not. Using ABZ in combination with a hardware encoder implementation (we support this on STM32 and ESP32, RP2040 could do it using PIO) will reduce your sensor latency to zero and enable you to read 3 sensors with zero overheads.
This will improve your loop time significantly, since at the moment (presumably) most time is lost to 3x sensor readings.