Let's Make Robots!

cr1c1

 
Learn then repeat a sequence of moves. Also it speaks.

I have build this robot in 1994 but I think it is worth to mention it because it is not as dumb as his age may suggest.

The robot have two working modes: learning and executing.
In learn mode you teach the robot a sequence of moves (Forward, Backward, Left, Right, Stop) like you use a remote control for playing with a RC car. The robot acknowledge each command by speaking the command name, memorize the type of the command and the time to execute each command.
In execute mode the robot will replay the learned sequence.

These days many of the techniques used are long time deprecated but this short paragraph may explain something: altough I had some experience with parallel and unconventional processor architectures and parallel processing (multiprocessor systems and networks), A.I. related things like neural networks and genetic programming, in 1994 in Romania I only had VERY limited Internet acces at a University using a text only terminal - it was the years when search has been done using gopher. Basically, I had almost no direct informations/documents/experience about robotics.

The speech was created using a 1-bit digitized table of phonemes (really I do not remember where I have taken those, some ZX Spectrum game/application maybe) and plays them, bit by bit, to form the needed words.

Motor control was made with a bipolar transistor based H-bridge (did not known the term then, I have designed and made one) but due to low voltage of the power supply and low efficiency motors I had to find another solution. I have switched to differential power supply for motors and relay control (3V for each motor, no loss).

The keyboard was made from a piece of circuit board (no buttons available).

The vehicle base, wheel and motors are from a cheap toy made in Russia or China - a month ago I have seen a documentary on Discovery Science and found that the toy had the form of the first roving remote-controlled robot to land on the Moon, Lunokhod 1.

I really like to power it some day but I have doubts that it still works - maybe a cold winter will give me time to revive it for a video session :).

The CPU and interface board is made of:

  • Z80 CPU, 4MHz frequency;
  • Z80 PIO, dual 8 bit I/O port;
  • 1K of RAM;
  • 2K of ROM (I bet it have some free space).

It have a very small computing power compared to the actual microcontrollers.

System diagram:

Here are some pictures of a spare CPU and interface board:

And the mechanical part and motors:

Update 25.12.2010

To clarify some questions about the PCB: I have drawn the schematic in Orcad and developed the PCB with it. The actual drawing was made with a red ink that was etching resistant (I do not know the ink's name, type or original purpose) using something like a caligraphic pen head. The etching was done with FeCl3 (I am still using FeCl3 but I draw with permanent markers - still planning to use the press'n'peel foil that I've got a year ago...).

Regarding the software, I have not found any copy of the source code in my old data backups - maybe I will write an Arduino sketch to read that ROM.

Comment viewing options

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

The first and only computer I ever built used a Z80. It's great to see other projects that used them. Well done!  It would be really nice if you could get this up and running again.

"The first and only computer I ever built"..

Not sure if I'm to reply

"Showoff", or

"Hmm.. make a computer, cool idea! :)"

Sorry, In the good old days when Z80's ruled the world I had to build the equivalent of a modern microcontroller as part of an electronics course.

MIND = BLOWN

Good thing you still have it ! :) It would be nice to see it running again !

Ah, the legendary Z80... very cool =)

Looks like you made the PCB traces by hand, did you use an etchant-resistant marker, or a photo-resist coated PCB, or something else?

It's awesome!!

Z80 = Respect!

:D