Digital Signal Processing Reference
In-Depth Information
Robotics Connection
http://www.roboticsconnection.com
4355 Cobb Parkway
Suite J148
Atlanta, GA 30339
A wide array of various sensor and GPS boards is available from:
Spark Fun Electronics
http://www.sparkfun.com
2500 Central Ave.
Suite Q
Boulder, CO 80301
A longer list of robot parts vendors and sites can be found at:
http://users.ece.gatech.edu/~hamblen/4006/robot_links.htm
13.10 Laboratory Exercises
1. Develop a counter design to find the dead zone of a converted R/C servo motor. The dead
or null zone is the time near 1.5ms that actually makes the servo motor stop moving. As
in the example motor driver code, send a width adjusted pulse every 20ms. You will need
a resolution of at least .01ms to find the dead zone, so a clock faster than the example
code is required. For example, the motor might actually stop at 1.54ms instead of 1.50ms.
Use the clk_div FPGAcore function to provide the clock. The design should increase the
width of the timing pulse if one pushbutton is hit and decrease the width if the other
pushbutton is hit. Display the width of the timing pulse in the seven-segment LEDs. Use
a Cyclone DIP-switch input to select the motor to examine. By hitting the pushbuttons,
you should be able to stop and reverse the motor. The dead zone will be between the
settings where the drive wheel reverses direction. At the dead zone, the drive wheel
should stop. Settings near the dead zone will make the motor run slower. Record the dead
zone for both the left and right motor.
2. Using the dead zone settings from problem 1, design a motor speed controller. Settings
within around .2ms of the dead zone will make the motor run slower. The closer to the
dead zone the slower the motor will run. Include at least four speed settings for each
motor. See if you can get the robot to move in a straight line at a slow speed.
3. Develop a speed controller for the robot drive motors by pulsing the drive motors on and
off. The motors are sent a pulse of 1ms for reverse and 2ms for forward at full speed. If
no pulse is sent for 20ms, the motor stops. If a motor is sent a 1 or 2ms pulse followed by
no pulse in a repeating pattern, it will move slower. To move even slower use pulse, no
pulse, no pulse in a repeating pattern. To move faster use pulse, no pulse, pulse in a
repeating pattern. Using this approach, develop a speed controller for the robot with at
least five speeds and direction. Send no pulse for the stop speed. Some additional
mechanical noise will result from pulsing the motors at slow speeds. See if the robot will
move in a straight line at a slow speed.
4. Use an IR LED and IR sensor to add position feedback to the motors. You can build it
yourself or a similar servo wheel encoder kit built by Nubotics is available from
Acroname. Some sensor modules are available that have both the IR LED and IR sensor
mounted in a single plastic case. For reflective sensors, mark the wheels with radial black
Search WWH ::




Custom Search