0% found this document useful (0 votes)
263 views

Sn754410 Arduino

The document discusses using an SN754410 motor driver IC and an Arduino board to control the speed and direction of a DC motor. It provides code to set the direction and speed of a DC motor using the motor driver IC and Arduino. It also discusses using gear motors instead of regular DC motors when torque over speed is needed for an application. The document recommends sources for inexpensive gear motors and discusses hacking servo motors as a lower cost alternative to gearbox motors.

Uploaded by

antono1971
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
263 views

Sn754410 Arduino

The document discusses using an SN754410 motor driver IC and an Arduino board to control the speed and direction of a DC motor. It provides code to set the direction and speed of a DC motor using the motor driver IC and Arduino. It also discusses using gear motors instead of regular DC motors when torque over speed is needed for an application. The document recommends sources for inexpensive gear motors and discusses hacking servo motors as a lower cost alternative to gearbox motors.

Uploaded by

antono1971
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

DC motor control with a SN754410 motor driver IC and the Arduino board Prof.

Fabian Winkler The SN754410 is a handy IC that allows you to control the speed and direction of a DC motor with only one PWM output and two digital outputs from your Arduino board.

For more information on this part read pp.255 - 260 in OSullivan/Igoe: Physical Computing for how to use the SN754410 motor driver IC with a microcontroller. In this example, we set up a simple code that controls the direction and speed of a DC motor. Here is the Arduino code: /* * Arduino code for SN754410 H-bridge * motor driver control. * copyleft Feb. 2010, Fabian Winkler * */ int int int int int speedPin = 3; motor1APin = 6; motor2APin = 7; ledPin = 13; speed_value_motor1; // // // // // H-bridge enable pin for speed control H-bridge leg 1 H-bridge leg 2 status LED value for motor speed

void setup() { // set digital i/o pins as outputs: pinMode(speedPin, OUTPUT); pinMode(motor1APin, OUTPUT); pinMode(motor2APin, OUTPUT); pinMode(ledPin, OUTPUT); }

void loop() { digitalWrite(ledPin, HIGH);

// status LED is always on // set leg 1 of the H-bridge low // set leg 2 of the H-bridge high

// put motor in forward motion digitalWrite(motor1APin, LOW); digitalWrite(motor2APin, HIGH);

// just invert the above values for reverse motion, // i.e. motor1APin = HIGH and motor2APin = LOW // control the speed 0- 255 speed_value_motor1 = 127; // half speed analogWrite(speedPin, speed_value_motor1); }

// output speed as // PWM value

The following is a circuit diagram for the project

Winkler, DC motor control with the Arduino board, p.2

And this is one possibility how it can look like on your breadboard (Fritzing screenshot):

Regular DC Motors vs. Gearbox Motors In most of your application when a rotary movement is necessary you will need force (torque) over speed. In this case, use a gearbox motor instead of a regular DC motor. The gearbox attached to a motors output shaft amplifies its torque and slows down its speed. If you are using a regular DC motor and adjust its speed with the Arduinos PWM output you will slow down its speed AND reduce its torque!

Winkler, DC motor control with the Arduino board, p.3

A good source for inexpensive gear motors is Solarbotics.com with their Gear Motor 2 1:224 offset shaft (see picture on previous page). You can also consider hacking a servo motor for an inexpensive continuously rotating gear motor (see: http://www.seattlerobotics.org/guide/servohack.html) rather than purchasing a regular gearbox motor. In most cases this technique will save you half the cost. We will continue with the next workshop that uses the Arduino board, the SN754410 motor driver IC and the motors and the base of a hacked RC tank as a starting point for a caterpillar track - based robot.

Winkler, DC motor control with the Arduino board, p.4

You might also like