Go Down

Topic: Arduino Motor Shield & Servo (Read 7899 times) previous topic - next topic

jeremypettit

Hello all. I'm pretty new to Arduino and have made a few purchases. The question I have pertains to the Arduino Motor Shield rev 3.
http://arduino.cc/en/Main/ArduinoMotorShieldR3

What I'm looking to do is control a servo motor, which has a 3 pin female connector. Instead of cutting and splicing, I was wondering if I can use one of the Tinker Kit connections on the board to drive it instead. This would be cleaner, but is it workable?

Chagrin

You do not need the motor shield to drive a servo; servos have their own driver built in.

I don't see any workable way to connect a servo to this shield without cutting/splicing. The three pin connections on the board are in the wrong order.

Take a look at the sweep tutorial to see how to connect a servo to the Arduino.

jeremypettit

Cutting and splicing is what I'll do then. I'm definitely a hack when it comes to the actual hooking up of the hardware. I know enough and too little to be dangeous. I am a strong programmer though. I'm trying to keep it clean and allow for future upgrades. I'd hate for the final end result to be a bunch of wires strung out all over the place.

cyberteque

unless you are going to build a not so big ass servo from, say an electric car antenna, you can't drive a servo with a motor shield.

full stop.

the bridge circuit is what controls the direction in a servo.


zoomkat

Quote
Cutting and splicing is what I'll do then.


Not sure that is very smart when you are not sure about what you are doing. You may want to check to see if any of the usual arduino servo control pins are unused by the the motor shield. If so, then use that pin for the servo control.
Google forum search: Use Google Search box in upper right side of this page.
Why I like my 2005 Rio Yellow Honda S2000  https://www.youtube.com/watch?v=pWjMvrkUqX0

jeremypettit

This motor shield version does allow the control of 2 DC motors, or 1 stepper or servo motor. The cutting and splicing would be needed if I am to use the intended screw terminals. +/- for Channel A and B = 4 terminals. I noticed that older versions of the board had a 3 pin connector for servos. Now, that was replaced by side facing wired connections and the addition of connections for tinker kit modules.

dast135

You CAN drive a servo from the orange connectors on the arduino motor shield rev3 labeled out5 and out 6.
 
You should realize that:

1. The motor shield is not actually driving the servo its just used for the physical hookup to the arduino main board.
2. You will be driving the servo from the power supply used on the main board so if you're using the onboard 5V regulator and using a lot a current (large servo or a lot of load on the servo) you can over heat the regulator shutting it down.
3. You cannot add a 200 or 300 ohm resistor in line with the signal line for protection of the main board output pin in case the servo fails and draws too much current.
4. You will probably have to move the pins in the servo plug to conform to the pin config on the board which is pin 1=gnd, pin 2=signal and pin 3=5v. pin 1 is closest to the center of the board. These pins are snap in and easily removed usually by lifting a small plastic retaining tab with a small blade or straight pin, when you reinsert the pin it should lock in with a small click.

You can use the example servo sketch "sweep" for testing just change the myservo.attach(9); to myservo.attach(5); or myservo.attach(6); corresponding to  the connector you us on the motor shield v3.
I know this is an old post. I am just putting this here for anyone wanting to hook up a servo this way.
Dave

WeemanCrew

Hi,

I never really use the Arduino for powering servos. Best to use some male to male jumpers and a little breadboard (for prototyping), or any other connection method using a proto board or breadboard between the Arduino and the servo, or whatever else, using the Arduino only for signals.
Add +5 volts and ground to a rail on the breadboard, keep the current off the Arduino.

Go Up