Hello Sundar,
Here are some of my thoughts on your requirements.
- The SG90 servo is already a self-contained system. From a quick Google search, it appears to have a brushed DC motor and its own motor driver circuitry already inside it. You may have difficulty implementing a solution that can drive a plain DC motor AND the servo from the same connector.
- One way to do this is to use a large connector with separate pins for the servo and for the DC motor.
- There may be a way to power the servo from the output of a motor driver, but this isn't a typical use case for our driver ICs.
- Our brushed-DC motor drivers do not have a stall detection feature integrated, but you can implement it with external circuitry.
- This application note shows a simple way to do it with the DRV8711-Q1.
- Many times stall detection can also be done with current sensing.
- Many of our devices protect against over-current conditions that occur during stall conditions. The device reports this with a fault signal, if that works for you. However, our devices integrate many protection features, so the fault may not necessarily indicate a stall condition.
- However, if you require precision shaft control, then that means you will need some kind of shaft position sensor (possibly a rotory encoder). If you have this, then you can very easily see if the motor has stalled because the position will stop changing.
- I don't understand the question about keeping shaft position angle for varying battery levels, but using some kind of feedback control method with the position sensor should help to do this
For motor driver products, you'll want to look at our Brushed DC Drivers with FETs. I assume you only need 1 full H-bridge. If you want to sense the current in the motor, I recommend the DRV8850. However, if power consumption during sleep is a bigger concern, I recommend the DRV8837 or DRV8838. I do not recommend the DRV8835 because I think its speed regulation feature will interfere with any closed-loop control algorithm you may want to implement.