Stuffination

Paint Bot: Frame

Paint Bot Frame

I built a frame that paint bot can be mounted on for testing.  I built it out of scrap lumber from the CMU Robotics Club.  The frame has the motors mounted near the top with the cables running through guides at the top of the frame.

Mounted Motor Cable Guide

I currently do not have any sort of painting mechanism mounted to paint bot.  I’m thinking about building a marker holder so I can test it a little easier than using spray paint.  Currently I just have a weight attached to the two cables to simulate the painting mechanism.

Frame

Paint Bot: Main Electronics Board

Paint Bot Electronics Board

I completed the main electronics board for Paint Bot in Mid-July.  The control board consists of an Arduino Microcontroller, a motor driver from Pololu and a custom circuit board (perf board) that does some interfacing for the sensors.  The board is mounted on a piece of 3mm acrylic.

Building a stepper motor driver.

Stepper Motor Driver

I’ve been working on trying to learn more about stepper motors.  In the past month or so I’ve learned that there are two varieties of stepper motor:  Unipolar and bipolar (and sometimes both!).  In all of the research I’ve been doing I came across a lot of great resources.  They are listed at the end of this post.

All of my interest in stepper motors comes from the fact that the Robotics Club recently received a large supply of nice stepper motors and because the original spray painting graffiti bot, Hektor, as well as some other recent Hektor-esque bots, used stepper motors for its control.  The particular motors that the Robotics Club obtained are 6-wire stepper motors.  This means they can be used as either unipolar or bipolar steppers.  This is very useful because it gives me a larger range of control options.  However, the motors run at an odd voltage (3.68 volts) which limits the range of available drivers ( I’ve only found 2 capable of driving these motors).  Due to the lack of available motor drivers for all these stepper motors we now have, I decided to build my own.

After doing some looking, I decided to control the motors in unipolar mode because the control circuit is simpler.  The circuit I build, which is based on this one, is basically 4 Darlington transistors which are used to toggle the coils on and off and some diodes for protection.  The stepper motor driver turns each one of the four half coils in the stepper motor on and off sequentially to drive it.  The original circuit uses a L297 stepper motor driver to handle sending signals to the Darlingtons, but, I didn’t have any on hand, so I just sent the signals sequentially from and Arduino.

To test the circuit, I didn’t want to potentially harm one of the nice stepper motors we have, so I was using an old stepper motor out of an IBM floppy drive.  I couldn’t find documentation so I couldn’t figure out what order to toggle the coils to properly step the motor.  I was able to get it to step some, but never rotate continuously.  It would step a bit one way, and then step back.  I believe my control circuit was ok, because the motor was able to step some.  The issue at this point may be the motor itself (just having it hooked up incorrectly) or my code.

I’m going to keep working with this circuit, maybe get an L297 to try out, or I’ve know some people who have used shift registers to accomplish the stepping.  I’m also going to try this out on some other motors as well.  Hopefully I will soon have a nice inexpensive stepper motor driver that other people in the club will be able to use for these nice motors we have.

List of stepper motor resources:

  • HobbyCNC
    • http://www.hobbycnc.com/
    • Has some nice information, and points at more
  • Wikipedia Labs/Books
    • http://en.wikibooks.org/wiki/Practical_Electronics/Stepper_Motors
    • Some good general information on steppers, and some control circuits
  • Northwestern University LIMS wiki
    • http://hades.mech.northwestern.edu/index.php/Unipolar_Stepper_Motor_Driver_Circuit
    • Great control circuit for unipolar steppers.  Mine is based on this one
  • Iowa University Stepper Motor Tutorial
    • http://www.cs.uiowa.edu/~jones/step/
    • Lots of info about steppers

Paint Bot Spray Mechanism

Over the past month or so I have been working on building a painting robot.  This robot will be able to paint a wall using spray paint in a graffiti-esque manner.  My initial inspiration, and thus similarity in design, was a robot called Hektor.  Hektor was a graffiti robot built as a project by Jürg Lehni with help from Uli Franke at écal, the University of Art and Design Lausanne.  More about Hektor here and écal here.

I just finished some testing on my spray paint can holding/spraying mechanism.  The video below shows the second test of the spraying mechanism.  In the initial setup the servo used to depress the spray nozzle couldn’t provide enough downward force all the time.  The second video shows an attempt at getting around this issue by the servo pressing on the nozzle from a different direction.

Second Spray Test:

Initial Spray Test:

I will probably end up modifying the spraying mechanism further so it is less of a hack to get it to depress the spray can nozzle.

The following pictures show the can holder and spraying mechanism during the build:

Spray Can Holder Spray Can Holder Spray Can Holder Spray Can Holder Servo Spray Can Holder

I’ve also finished building motors to move the spray can around.  When I get time, I’ll post something about the motor build.

Urban Search and Rescue

USAR

During the previous semester, as part of a class project, we built urban search and rescue robots.  We built the robots using the LEGO NXT set.  For our robot I built a custom pan-tilt mechanism to mount the camera we were provided with.

The pan-tilt used two servos and a custom microntroller board to interface the servos with the NXT.  The controller board also allowed for LEDs (used for illumination) to be turned on and off.

USAR

We controlled the robot over a bluetooth link via joystick.  It turns out that the NXT brick times out after 15 min no activity and that an open bluetooth does not count as activity.

In short, this project ruined my childhood and made me hate LEGOs.  The constraints of the project made it very difficult to build an effective robot.  However, a simple combination of wheels and treads let a build a robot to fit the constraints.

Ornithopter Project


As part of a class project, for Micro/Nano Robotics, we’re building an ornithoper.  The above video shows an example of the flapping mechanism.
For this project we will be building an ornithopter that uses passive wing pitching to increase the amount of total lift.  As the video shows, the flapping mechanism is complete.  The wings should be built within the next few days.

Stairbot: 1 Leg complete

Friday afternoon we were able to complete the first of four legs of Stairbot.  We were hoping to complete more than that, but, we currently only have enough servos for one leg and we’re waiting on the rest to arrive.  However, in the meantime, we will work on being able to control this one leg so when we add more, it will be easy to develop gaits.    To control Stairbot, we’re going to be tethering an Arduino to a computer for extra computational power,  to allow us to perform inverse kinematic calculations.

More updates to follow as more parts come in.

Stairbot Update

Stairbot Render

Stairbot is getting closer and closer to completion.  The above render is what the final version should look like.  We’ve decided to laser cut a lot of acrylic to build most of the leg and body structure.

We’ve ordered all of our electronics, and we should be receiving them soon.  Then we can start actually programming and getting gaits set up.  Our goal is to have the construction mostly completed by the end of the month, and start working on some basic motion control.

Below are some images from the build process.

Parts Shoulder Joint Shoulder Joint Parts

Sweet Line Following

I’m in a class called Introduction to Robotics.  In this class we have labs where we make robots to do things using the LEGO NXT Mindstorms kits.  (Part of) Our current assignment is to make a robot that can follow a fairly complex line.  In our team, I’m the Mechanical Engineer, so I built the robot.  Our Computer Scientist, Rich, wrote a really sweet line following program based on the general algorithm our group came up with.

I’m not going to reveal the black magics he used in his program, or our general algorithm, but, from the video you can probably deduce the general idea.  The line it follows is complex, containing both a 90 degree bend and a hairpin.  As you can also see in the video, the robot could follow this line indefinitely until its batteries die.

Micro Colony Sensor Board Build Gallery

Mini BOM

I managed to get a gallery of a step-by-step build of the MicroColony/Build18 sensor board uploaded.  This post details the sensor board itself a bit better.

We plan on building a better one that uses a multiplexor to allow us to have more than 5 sensors on the board.

Wiring the Mini Bom More Wiring Soldering 2 Mini BOMs Waiting to be bridged Soldering All done