Zero2 Microrobot

Article for Maplin Magazine

@ 25 November 2009
document history

For Maplin Magazine, typed by Colin, edited DB 13Jun06

                      ZEABO MICROROBOT                  David Buckley

* May be used by any computer with RS 232 facility
* Stepper Motor controlled
* Designed to draw Logo graphics
* Half millimetre/half degree resolution
* Pen Colours easily changed
* Uses ordinary felt-tipped pens 
* Built-in two-tone horn and LED indicators
* Built-in line follower
* Onboard bus connector for easy expansion with 
  plug-in speech board and obstacle detectors etc.

What is ZEABO, is it a turtle - yes; is it a robot vehicle - yes; 
is it even another buggy - yes. ZEABO is all of these and much more 
besides - it is whatever you want it to be.
	While the idea of electronically controlled robot vehicles is
by no means new it is only in the past few years with the widespread use 
of microcomputers that it has become a practicality. One of the most 
frequent questions asked about computer-controlled robot vehicles is : 
"What can you do with it?". However, no one asks the same about a ball,
they have been around for such a long time that everyone knows.
	ZEABO in its primary mode has a ready built function, that of 
drawing Logo graphics, but it is also equipped with LED's to be turned 
on and off, a two-tone horn that can be sounded and a line-follower. 
Add-on boards provide speech, obstacle detection and hole sensing so that 
it doesn't fall off the edge of the table. 
Like a ball, what you actually do with ZEABO is up to you. 

General Description
ZEABO is 180mm long, 150mm wide and 90mm high with a transparent 
Shell and Baseplate. This is a feature essential to Turtle Microrobots 
used in Logo programming where viewing of partly completed patterns is 
	The machine is driven by two Stepper-motors, each controlling a 
wheel in half millimeter steps. The pen is raised or lowered by a third 
Stepper-motor. These three motors and the pen lift mechanism are mounted on 
a rigid aluminium framework, a 'Pelvis', which in turn is mounted on 
the transparent baseplate. Towards the front of the baseplate there is a nylon 
glider, or toe, to prevent ZEABO falling over. All the electronics are mounted 
on a 4inch by 2 1/2inch PCB which in turn is fastened to the Pelvis. At the 
top of the PCB is a socket, similar to a telephone connector socket but with 
a different polarization, to take the power and control umbilical. All 
the works are protected by the easily removable cover; in buggy mode leave 
it off. The umbilical is held clear of the pen by the wire loop halo which 
plugs in the top of the body.
	To allow ZEABO to be independent off the make of computer used to 
control it, the computer end of the umbilical plugs into a special box 
which includes connectors for the serial ports of the Commodore 64, BBC-B,
Spectrum and a 25 way industry standard RS 232 D type connector for all 
other computers including Amstrad, MSX-machines and the QL.

Mechanical Construction
Some of the parts such as motor drive bosses and rubber axle supports 
are bonded together with adhesive and this is done in the factory so that 
only a screwdriver is necessary to complete the assembly, instructions for 
which are included with the kit.

Electronic Construction
The PCB is very densely populated with components and consequently 
has to be double-sided with fine tracks and many plated-through holes; 
because of this it is supplied as a ready assembled and tested item onto
which plug the leads for the three motors and the speaker. ( Having the
circuitry ready built in this way should be seen as similar to buying an
integrated circuit as opposed to trying to make an equivalent circuit from
discrete components).

Circuit Description
A 6402 UART is wired to accept and send serial data, 8 bits, parity disabled
2 stop bits at 4800 baud.
	The received data is split into high and low nibbles as in Figure 4, 
D7 is discarded and D4 D5 D6 are used to address a 3 to 8 line 
analog decoder. The Data-Received output of the UART which goes high when 
a received byte has been transferred to the output buffer and is stable, 
is routed through the decoder to form the select clocks S0 to S7. Only 
S0 to S2 are actually used and these enable the Drive Motor Latch, the 
Pen Motor Latch and the Indicators Latch as appropriate. S0 is also used 
to route the line follower output to the UART for transmission back to the 
computer. The latches used have Q and not Q outputs and from the latches at 
address 0 and 1 these are routed through Darlington drivers to control
the stepper motors. Two more Darlington drivers are used to switch the 
LED's at address 2. The other two data bits at address 2 are used to 
gate two oscillators, the outputs of each being routed to the speaker.

Circuit Expansion
	All the necessary signals and power are routed to a 16 pin
socket in the centre of the PCB to enable expansion boards to be simply 
plugged on the front. For those boards which need a Ready line, such as 
speech boards, D7 of the parallel data accepted by the UART is available; 
it is intended that this line be wired so that any peripheral board can 
pull it low.

Add - Ons
One of the problems with umbilical-controlled vehicles is the umbilical 
itself and one add-on that shortly will be available is an infra- red 
communications link. For the vehicle end there will be a backpack containing 
a rechargeable battery and an infra-red receiver/transmitter unit with 
a complementary infra-red unit at the computer end.
	Most animals have learned the value of audible communication and 
while R2D2 may get away with squeaks, where humans are concerned speech is 
much more understandable, hence another add-on board will be a programmable 
speech system which will plug onto the Expansion Bus connector.
	Two other add-on boards that will plug onto the main board will be 
one for detecting obstacles in ZEABO's path and another for detecting holes 
or edges of tables or simply a coloured border round ZEABO's territory to 
prevent it straying.

Programming ZEABO
	Figures 4, 5 and 6 give complete details for controlling ZEABO in its 
basic form. This is easy to do even from BASIC but to follow a line or 
detect obstacles bitwise comparison is needed and some versions of BASIC 
do not support this. In these cases it is necessary to write a routine in 
machine code. Such sets of routines are available for the Commodore, BBC 
and Spectrum either to interface to Logo or to be called from BASIC.


Robots are going to play an increasing role in all our lives in one 
way or another and they are not going to get any simpler. In a few years'
time, I should not be surprised to see robots controlled by multiprocessor 
systems with a couple of megabytes of RAM and gigabytes of storage on laser 
disc. So now is the time to get into Robotics while robots are relatively 
easy to understand and ZEABO is an excellent and affordable way to learn.

IMPORTANT - SD7 and SD6 have changed: SD7 not used; SD6 wireORed ready, pulled high, only used by expansion connector
IMPORTANT - SD7 and SD6 have changed: SD7 not used; SD6 wireORed ready, pulled high, only used by expansion connector
IMPORTANT - SD7 and SD6 have changed: SD7 not used; SD6 wireORed ready, pulled high, only used by expansion connector
25Nov09 note re SD7, SD6 change added twice more
22Jan07 note re SD7, SD6 change added