Can the Pololu DRV8835 Dual Motor Driver be used to control a servo motor or is it only designed for controlling DC motors?
If you are referring to something like a typical hobby RC servo, those generally have their own control electronics built-in and essentially just need power and a control signal (i.e. they do not require an external driver like the DRV8835). The DRV8835 does not output control signals for hobby RC servos. If you are new to servos, you might consider reading through our series of blog posts, starting with this Introduction to servos post.
Thank you for your helpful response earlier! I’m using an MG996R (operating voltage 4.8-7.2 V )servo and I’m not sure if my current driver is compatible. Can the Raspberry Pi Pico(1.8 V - 5.5 V) be used to control the servo if the this driver isn’t suitable? Please keep in mind that I will be using a battery power supply that will remain constant within the range of the operating voltage of the servo.
MG996R datasheet : https://www.switchelectronics.co.uk/pub/media/pdf/RE260.pdf
Yes, the Raspberry Pi Pico can control servos like that one without a separate driver. There are various resources available online for doing this, such as this one; however, there are a couple caveats they usually fail to mention:
Most of the examples I’ve seen power the servo from one of the 5V pins on the Pico. Since you’re using a servo larger than a micro servo, it will almost certainly need more current than that pin can source, so you should power the servos separately from the Pico board. You should only have the ground and signal connections between the Pico and servo, and the servo’s power and ground should connect to its power source (and not be going through the Raspberry Pi Pico).
Not all servos accept 3.3V signals. If your servo is having problems with the signals you’re sending, it might be because it does not work with 3.3V signals (most hobby RC signals are 5V). You could use a level shifter like this one between the Pico and the servo to raise the signal to 5V.
Thanks again for your additional answer Can I combine the above caveats by powering the servos with a constant 6V battery voltage source and using a level shifter to convert the signal voltage from 6V to 3.3V, considering that since the servo operating voltage is 4.8-7.2 V, it requires a 6V signal. I’m asking this because I’m concerned that not using a voltage shifter could potentially damage the Pico with the signal from the servo.
Does that circuit diagram below seem correct to you? Or there aren’t real chances that the Pico can be damaged ?
4.8V-6V sounds like the operating voltage range of the servo, and the not the signal voltage specification. Please note that most servos have a nominal operating voltage of 4.8V-6V and accept 5V logic signals (i.e. hobby RC signals). From my experience, a lot of them will still work with 3.3V signals, but it usually is not specified in the manufacturer’s specifications.
Your diagram is missing several connections and has a couple incorrect ones. The LV and HV pins on the level shifter should be connected to a steady source at the lower and higher voltage level, respectively. Then, you would make your signal connections to the L1-L4 and H1-H4 pins as needed. The common ground connection between the servo and the Pico board that I mentioned in my previous post is also missing. So, to convert the 3.3V signal to 5V for the servo, you would make the following connections: