Let's Make Robots!

Well, Chris the Carpenter has been hard at work since MakerFaire perfecting a design for a robot kit that can do... anything. Well, almost anything. OK, a lot of things. Cool things that we usually ask basic robots to do. He calls it the Tadpole, and it is very neat.

I'm working with Chris to create some designs that operate without a microcontroller, Inspired by the SpurtBot designs from Rostock University and my own work in this area.

Here's the third one, based on the Tadpole Educational model, with the Spurt add-on to the chassis to allow the solderless breadboard to be extended in front of the robot and inverted so sensors can point to the floor.

 

<INSERT PIC OF ROBOT>

 

In the breadboard layout below, the two 2-pin headers at the top corners are for connection to the motors. The right header is for the right motor; the left header is for the left motor. If either motors spins backwards, simply disconnect if from the header and reverse the connection by swapping the two wires. The battery connections are the black and red wires at the bottom corners.

 

Above: Fritzing Breadboard Layout

 

Here's the schematic for the circuit I came up with.

 

(click for larger image)

The photo resistor controls both motors through the relay. As long as there is enough light, both motors drive forwards. If the robot runs into a shadow, the left motor should spin full time when the battery is connected. Its speed is reduced by passing the positive battery connection through four 1N4004 diodes, dropping the voltage. The resulting loss of speed will enable to right motor to turn faster than the left when it is turned on by the sensor. The right motor is controlled by the sensor. It should only spin when the sensor detects a reflection. The NPN transistor is triggered by the sensor, which then allows a connection from the right motor to ground. When the right motor is activiated, it will run faster than the left and keep the robot turning in towards the line.

Component List:

  • (2) BC337 NPN transistors
  • (1) DPDT non-latching relay (Shinmei RSB-5-S, Jameco Part #139977 used here)
  • (1) 1N4004 or similar diode
  • (1) Light Dependent Resistor (LDR) (Jameco Part #202403, 200k Ohm in dark)
  • (1) 10k Ohm potentiometer (Jameco Part #2118791 used here)
  • (2) 2-pin male-male headers for connecting motor leads to breadboard
  • (2) 1-pin male-male headers for connecting power and ground
  • Some solid core hook up wire for making connections on the breadboard

Other Versions:

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
merser's picture

and you posted this. I tried eagle, then fritzing, then diptrace and then finally went back to eagle and knuckled down to learn it.
Eagle is good for making pcb's but I love the graphics in fritzing so I thought it might be useful to know.
I redrew your graphic, hope you don't mind. I'll attach it. It was a bit of practice for me.

To do curved wires make sure you have align to grid checked under the view menu and just hold ctrl while clicking and dragging the wires.
I think I'm getting to grips with making parts now, just have to work out how to create and edit svg files now.

ignoblegnome's picture

Thanks for the tip on curved wires. I'll try that out!

One of the challenges laying out the circuit on a mini-breadboard is to place the parts like transistors without obscuring the leads of parts behind it.

merser's picture

Yeah I agree it causes confusion if the wire covers the connections at the breadboard. I was trying to avoid that but it seems in my last edit I did this to the top npn. I might have another edit and fix it. I also am inclined to reduce the number of grey wires needed by better placement of the pair of npn's.
One thing that wouldn't work for me is the "bring forward" or "send to back" feature where you can swap what lies on top of what or at least I think thats what it's meant to do.

ignoblegnome's picture

I can't get the 'bring 'forward' or 'send backward' features to work either.

Another challenge is sometimes what works as an effiecient layout on the actual breadboard looks ugly in the Fritzing layout. This is the case with the transistors. It is easier and requires less jumper wires to place the two transistors near each other. In Fritzing, this looks aweful because the built in 'tilt' of the transistor graphic obscures other things from view. 

I'll be updating this post with actual pictures of the breadboard, and you will see that the layout is fine.

merser's picture

Yes it would be nice if perhaps the angle of the breadboard could be changed for a better view in Fritzing. I guess in the end schematic view is the best way to represent a circuit but breadboard view could be so much prettier for instructional purposes.

btw I'm sure the layout is fine : D

merser's picture

I love the graphics that can be created with Fritzing in breadboard view.  Great for educational use and documenting. The pcboard view is not too bad either.
However I found the parts editor confusing to use. I have had a couple of tries but have not succeeded so far in saving anything.
I wonder if you used the curved wires feature it might tidy it up a bit, also try rotating the bottom npn 180 degrees instead of bending the wires.
If you've got any tips on part making I'd love 'em.

 

ignoblegnome's picture

I just got started with Fritzing, so I really have no tips.

The parts are a bit limited, but people do submit new parts that you can import into the contrib bin. I tried to find a relay that would work for me, but I had to resort to using a generic IC.

I didn't know about the curved line option, but I will check that out. I can't simply rotate the NPN transistor, because then the rouned side will be facing the wrong way, swapping the emitter and the collector. I would have to rotate it out of the page and show the back-side in order to keep it facing the right way.