logo

> Home

V Circuits

 > Walker 2:14:1

 > Walker 2:14:2

> PCB "art"

> My robots

> uC-based stuff

> Legalities

Walker 2:14:2
74*14 quadcore with reversible 74*240 motor drive



This circuit started out the way so many of my projects do -- as a bastardization of several of Wilf's circuits. I started with Wilf's auto-startup quadcore, and was just going to build it the way Wilf presented it:

Wilf's auto-initializing quadcore

Later, it occurred to me that building this wouldn't really represent much of a "step up" from the Walker 2:14:1 circuit -- the driver circuitry is different, but the same functionality is provided ("vanilla" 2-motor walker). So instead, I grafted on driver circuitry from another of Wilf's posted circuits:

Wilf's reversing self-initializing quadcore

Here, notice that the two "spare" 74*14 inverters (so sadly wasted in the Walker 2:14:1 circuit ) are put to use implementing reversing logic; this logic is implemented via the enable inputs of the 74*240. Wanting to keep the ability to swap timing resistors in & out (note that this diagram shows variable resistors to allow for balancing each motor's run duration in each direction), I merged the core of Wilf's first circuit with the reversing logic and driver circuitry of the second diagram.

Here's a circuit diagram for this hybrid (indicator LEDs and associated current-limiting resistors not shown for clarity):

Walker 2:14:2 circuit

Note that here, as in the second of Wilf's diagrams ("Reversing MPNC uCore") above, motor 1 must be the walker's front motor, and motor 2 must be the walker's rear motor.

Here's the life-size PCB "artwork" for the Walker 2:14:2 circuit (if you have a 72 DPI display). A higher-res (x4) version is available here.

Walker 2:14:2 pcb (life-size)

Here are pictures of the top and bottom of a populated Walker 2:14:2 PCB (an earlier version than what's shown in the PCB "art"), on a 1/4" grid.

Walker 2:14:2 PCB top

Walker 2:14:2 PCB bottom

Here's how to lay out the components on a Walker 2:14:2 PCB (with a 72 DPI display, these images are 2 times the size of the actual PCB):

component layout

 

Parts list -- required items

Part ID

# required

Description

C1

2

0.22 uF filter capacitors

C2

1

10 uF capacitor

C3

4

0.47 uF monolithic capacitors (for quadcore timing)

D1

2

1N4148 small signal diodes (or similar)

R1

4

1 MOhm resistors (for quadcore timing)

R2

1

2.7 MOhm resistor

R3

1

100 KOhm resistor

J

1

2-pin jack

74*14

1

Hex Schmitt inverter IC for quadcore and reverser logic (I recommend the 74HC14)

74*240

1

Motor driver IC (I recommend the 74AC240)

8-pin DIP

1

8-pin DIP component socket

Parts list -- optional items (indicator LEDs w/ resistors)

Part ID

# required

Description

D2

4

Green T-1 LEDs

D3

4

Red T-1 LEDs

D4

1

Blue or Yellow T-1 LED (see below)

R4

7

1 KOhm resistor

The values for C3 and R1 determine the neuron firing times -- these are functions of the gear motors you use, the voltage you're running this circuit at, and the length of your walker's legs. I use Mac floppy eject motors (which are efficient, if a bit slow) and run the circuit at 5V, and find that C3 = 0.47 uF and R1 = 1 MOhm works well for me. Your mileage may vary.

The values for C2 and R2 govern the amount of time your walker spends in reverse; using the listed values results in about 10 seconds of reverse (at 5V). The value for R3 governs how long it takes to sense a reversing switch "touch" (i.e., it protects you against a "noisy" sensor). If you're connecting this card to a "springy" touch sensor, there's no need to mess with this value; if you're using a less-noisy sensor (like the Sharp IR proximity sensor), you'll want to reduce the value of R3, or replace R3 with a jumper wire. For what it's worth, with R3 = 100K and C2 = 10 uF, the minimum closing time to start reversing is about 1 second.

Note that the 74*14 and 74*240 ICs are "socketed," both to protect the ICs during soldering, and to allow for experimentation with IC subfamily. Similarly, the timing resistors and filter capacitors are plugged into individual sockets to allow for tinkering.

As is mentioned elsewhere, the 8-pin DIP socket allows a variety of "brain" cards to be swapped on and off a given walker.

The other components (8 green and red LEDs, and 6 associated 1 K resistors ) are there to show you when a given neuron is active.

For more information...


You can think of this circuit in two parts -- quadcore and driver. The 74*14 quadcore circuit is explained here; while the 74*240 reversing driver circuit is explained here. Note that Wilf pointed out an error in both my circuit diagram and PCB "art"; this has now been corrected (thanks, Wilf!).

Andrew Miller used to have a site up with a walker tutorial; his tutorial was adopted by Bram Van Zolen here when Andrew shut down his site. Andrew's tutorial is educational, but pretty font-intensive. Less "busy" versions are here and here. Note that Andrew's tutorial is based around an earlier version of a 74*14 quadcore, with a 74*245 driver (essentially an older variant of the Walker 2:14:1 circuit, with manual startup circuitry).

Chiu-Yuan Fang's "Miller" walker tutorial is here; he also has another 2-motor geometry here.

For a taste of the possibilities, you should check out Ian Bernstein's "BEAM-Online" megagallery of walkers here, and the Solarbotics.net Bestiary gallery of 2-motor walkers. If you're new to Nv nets and such, I'd recommend you check out the appropriate material at BEAM From the Ground Up.


This page was last updated on
Copyright © 2001 Eric H. Seale