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

Motorcontrol

This document outlines the agenda for a robotics workshop that will teach participants how to build and program their own robot. The workshop will cover assembling a standard robot platform, using an Arduino microcontroller board to control motors via an H-bridge motor controller. Future sessions will cover integrating sensors and programming the robot. Participants are directed to online resources for specifications of the motors and motor controller as well as ordering sensors for the next session on integrating sensors.

Uploaded by

Henry Cocha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Motorcontrol

This document outlines the agenda for a robotics workshop that will teach participants how to build and program their own robot. The workshop will cover assembling a standard robot platform, using an Arduino microcontroller board to control motors via an H-bridge motor controller. Future sessions will cover integrating sensors and programming the robot. Participants are directed to online resources for specifications of the motors and motor controller as well as ordering sensors for the next session on integrating sensors.

Uploaded by

Henry Cocha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

Soire Pratique

Build your own robot


Motor control
Part 1:
Introduction
and assembling the standard platform

1
10/21/2012

Roadmap SP 2012-2013 (sem 1)


1.
2.

3.
4.
5.

The brains: Arduino


The muscles: motor and power (today)
The eyes: sensors (5/11)
More brains: programming
(19/11, 20h)
Sumo Competition (26/11)

10/21/2012

All info online!


http://www.ieee-sb-leuven.be/node/108
Motor spec:
http://www.pololu.com/catalog/product/1120
Controller spec:
http://www.pololu.com/catalog/product/2135

10/21/2012

Frame assembly

10/21/2012

Soire Pratique
Build your own robot
Motor control
Part 2:
Using the standard motor controller

H-bridge

40

10/21/2012

http://www.stemulate.org/2012/06/28/solid-learning-robot-dc-motors/

The motor controller


Dual-H-bridge motor driver
Motor supply voltage: 211 V
Logic supply voltage: 27 V
Output current: 1.2 A continuous (1.5 A
peak) per motor
Two possible interface modes: IN/IN
(outputs mostly mirror inputs) or
PHASE/ENABLE (one pin for direction
and another for speed)
41

10/21/2012

The motor controller


Undervoltage, overcurrent,
and thermal shutdown
Reverse-voltage protection circuit
Compact size with the form factor of a
14-pin DIP package =>it can fit on your
breadboard
Youll have to solder the leads yourself
(ask help i.s.o. burning your controller!)
42

10/21/2012

The motor controller

43

10/21/2012

Turn 1 wheel back and forward


setup
int
int
int
int

enablePin = 5; // enable of motor controller connected to digital pin 5


phasePin = 4; // phase of motor controller connected to digital pin 4
modePin = 7; // mode of motor controller connected to digital pin 7
turn_direction = LOW;

void setup() {
pinMode(modePin, OUTPUT);
pinMode(phasePin, OUTPUT);
}

44

10/21/2012

Turn 1 wheel back and forward


loop

void loop() {
digitalWrite(modePin, HIGH); // put motor controller in phase/enable mode
digitalWrite(phasePin, turn_direction); // switch turn direction
// turn harder from min to max in increments of 5 points:
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
analogWrite(enablePin, fadeValue); // sets the value (range from 0 to 255)
delay(30); // wait for 30 milliseconds to see the effect
}
// turn slower from max to min in increments of 5 points:
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
analogWrite(enablePin, fadeValue); // sets the value (range from 0 to 255)
delay(30); // wait for 30 milliseconds to see the effect
}
if(turn_direction == LOW)
turn_direction = HIGH;
else
turn_direction = LOW;
}
45
10/21/2012

Next session (in 2 weeks)


Sensors
Bring sensors or order them with us
Order as soon as possible! (This week)
See you all next session!

46

10/21/2012

You might also like