This circuit is used to create a simple "edgebot" sumo robot. Being an edgebot refers that it will repeat the same backup/turn/go forward action when it's single edge sensor detects the edge of the ring. This version of the circuit is quite
simple, and always turns the same way. Although a single sensor is all you need
, it is wisest to wire up two sensors in parallel (one for each front corner of the robot), so it safely detects the edge with little chance of it falling off.
Theory of operation (How does it work?)
The circuit is based around the L293D motor driver chip, which has four high power buffers usually used to drive two small DC motors or a single stepper motor. The pair of transistors are configured as inverters that allow the inputs to the L293D to have one be "high" and the other "low". When the switch closes, the two capacitors charge up and turn the transistors on. The transistors invert both logic signals going to the motor driver which causes the robot to reverse and back up away from the edge. Turning on the spot happens when one motor spins forward and the other continues backward. This is set by two "time-out" circuits that are tied to the transistors. By having different resistor/capacitor values on the "time-out" circuit, one motor will revert to the default forward direction before the other.
Parts for the Mini-sumo:
- 1 x L293D
- 2 x 2N3904
- 2 x 47K
- 1 x 10K
- 1 x 2K
- 1 x 1N914
- 2 x 22uF caps
- 2 x gearmotors
- 1 x 9V battery
- 1 x Switch (2 are better). Can be built from spring wire and a thick copper wire.
- 1 x Power switch
- Construction material such as sintra, steel plate, carbon fiber or whatever you prefer.
Wiring Diagram of L293 Edgebot:
The reverse time here is set by the 22µF caps the 10K resistor and the 2K resistor. The difference between the two resistor values is what determines how much the sumo will turn. How high the values are will determine how long the sumo will reverse. For instance if you want it to turn the same amount but backup further then increase both values by 10K so the new resistor values are 20K and 12K.
This is the technical layout with the transistor inverters simplified to the electrical symbol and the L293 shown as a quad of buffers. With this it should be easier to visualize what's happening.
Dual Sensor Sumobot Circuit:
This circuit is more difficult to tweak and probably far from optimized, but if your interested here it is:
- This circuit has two edge sensors, when either sensor is hit it will start reversing then depending on which sensor was triggered will turn left or turn right.
- This works on a different principal than the edgebot circuit. In this circuit, the timing values are the same and the voltage that the capacitors are charged to determine the reverse time. By charging the capacitor through three series LEDs, the capacitor voltage is lower than the other capacitor. This means the L293 will "see" the input from this lower-voltage capacitor as a logic "low" before the other. To adjust how much the sumo turns, add more LEDs (in series) to increase the voltage drop.
- Adding a 5 second startup timer is as simple as tying the two enable pins together and attaching a capacitor between them and ground. The internal pull up resistor will gradually charge the capacitor and enable the chip. If you need further control over the startup time either add a resistor in parallel with the capacitor to increase the startup time or add a resistor from the enable line to Vcc to decrease the startup time. Running at 9V a 22µF cap with a 2M pull up resistor give close to a 5 sec startup, voltage will effect the startup time so I advise using a potentiometer.
© Solarbotics, 2002