e01a032.PDF

(262 KB) Pobierz
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
GENERAL INTEREST
Wobbler
a robot that doesn’t drive or walk, but ‘wobbles’!
Design by A. Vreugdenhil
Just its unusual method of motion alone makes the mini-robot an eye-
catching appearance. It is an extremely simple design, because it consists
of hardly anything else besides a processor, two sensors and two little
motors. Nevertheless it is possesses a great deal of dexterity when it
comes to avoiding obstacles. The moment it ‘spots’ one, it will make an
evasive manoeuvre and is off, on its two funny rotating legs.
touches the ground.
Strictly speaking, the unique
under-carriage was the motivation
towards the ‘birth’ of Wobbler. The
idea surfaced at one moment and
from there it just became a chal-
lenge to find out whether this
method of movement would work in
practice or not. The other parts were
quickly added afterwards: two IR
sensors for vision (IC3, IC4), two dri-
ver stages for the motors (IC2) and
for the ‘brains’ a simple processor
(Atmel 89C2051) with a small piece
of software.
The finished shape measures
about 5 ? 5 ? 3.5 cm and the
schematic of Figure 1 shows how lit-
tle is involved from the electronic
perspective. An additional advan-
tage of this simple design is that
Wobbler is quite affordable; apart
from the printed circuit board the
builder is unlikely to spend more
than about thirty pounds for all the
parts.
Behaviour
The intentions for Wobbler were to
make it behave in such a manner
that it is able to freely move about its
living environment and be able to
avoid obstacles. Its living environ-
The most remarkable aspect of this little robot
is undoubtedly its unique method of move-
ment. It does not actually have any wheels,
but has two cams that function as a kind of
paddle, driven by a couple of miniature
motors. The dimensions of the cams
are such that they protrude a little
below the underside so that the
creature pushes itself off and ‘wob-
bles’ forwards every time a cam
32
Elektor Electronics
10/2001
855740176.273.png 855740176.284.png 855740176.295.png 855740176.305.png
GENERAL INTEREST
ment consists of a marked out ter-
rain of arbitrary size, surrounded by
an edge of about 5 cm high.
Our mini-robot does not react to
light or dark; its aspirations amount
to not much more than to casually
stroll (‘wobble’) over its terrain, all
the while keeping an eye on any
fixed or moving obstacles. Whenever
an object appears within its approx-
imately 10 cm sized field of view, it
will take action to avoid it.
Two infrared detection sensors
type IS471F (IC3, IC4) function as
‘eyes’. This is not an ordinary light
sensitive detector, because this
clever little IC contains a modulator,
demodulator, oscillator and a voltage
regulator. The sensor transmits an
infrared pulse train via an external
infrared LED (D1, D2) and subse-
quently looks if a nearby object has
reflected this pulse train. When this is
the case, the output of the sensor
will go ‘low’.
The significant advantage of this
LED/sensor combination is that at
reacts only to the transmitted pulse
train and is therefore not affected by
ambient light. Problems may arise
however, when two Wobblers face
each other unexpectedly. But even
this could be solved with a small
change to the software, if necessary.
Because Wobble has to be able to
move forwards and backwards, it is
necessary for the motors (M1, M2) to
rotate in both the clockwise and anti-
clockwise direction. This requires a
reversing circuit for the DC motors in
the form of an H-bridge. This could
be built from discrete parts, but
nowadays ready-made building
blocks are also available. The L293D
IC used here contains two H-bridges
complete with built-in freewheeling
diodes; take note of the suffix ‘D’,
because the regular L293 does not
contain these diodes. M1 and M2 are
two miniature DC motors with built-in
reduction gears. The operating volt-
age is 3-6 V and the speed is 22-
44 rpm. Further details can be found
in the parts list. Other motors with
comparable specifications may also
be used.
For the central processing unit an
80C2051 from Atmel (IC1) was
selected. The flash-EPROM con-
tained within provides ample room
for a simple program. The processor
has the additional advantages that it
+5V
C3
8
16
20
10µ
35V
AB
2
3
1
IN1
OUT1
K1
RST
12
13
14
15
16
17
18
19
1
M1
P1.0
P1.1
EN1
2
3
7
IC1
M
P3.0
P3.1
IN2
IC2
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
6
7
8
9
6
P3.2
P3.3
OUT2
89C2051
11
P3.4
P3.5
OUT3
K2
M2
L293D
10
M
IN3
11
9
P3.7
EN2
IS4 71F -SH
15
14
X1
X2
IN4
OUT4
10
5
4
R1
X1
45
12 13
1
2
3
4
C1
C2
22p
22p
12MHz
1
3
2
4
IC5
+5V
+
7 805
+5V
D3
1N4001
IC3
IC4
Bt1
1
2
3
4
C7
C6
1
2
3
4
D 1
D 2
9V
C4
C5
390n
390n
LD271
LD271
10µ
35V
10n
IS471F-SH
IS471F-SH
010038 - 11
Figure 1. The electronics consists of little more than a processor, a motor drive and two
sensors.
is readily available and inexpensive
to program. And also, a free BASIC-
compiler is available that can gener-
ate code up to 1 kbyte in size. This
compiler goes by the name ‘BAS-
COM-LT’ and the programmer is the
‘BlowIT’. You can obtain more infor-
mation on the web site
www.mcselec.com from the com-
pany MCS Electronics in Zaandam,
the Netherlands, who developed the
compiler.
shows the completely built up PCB.
The introductory photograph of the article
illustrates that the prototype was constructed
in just about the simplest way imaginable.
The mini-motors are attached with cable ties
and the chassis is a short length of T-profile
aluminium that was made to fit with a little
filing and drilling. The battery also acts as the
supporting element for the circuit board; they
are joined with two small pieces of hook and
loop fastener (Velcro).
The ‘legs’ or ‘paddles’ or ‘cams’ or what-
ever best describes them are made from per-
spex (a.k.a. Plexiglas). They may be fastened
to the motor shaft with a small drop of glue,
if a suitable hole is drilled in the underside
first. The length of the paddles has to be
determined experimentally and is quite criti-
cal. If they are too long, then Wobble will tilt
too far forward when moving; it this point it
will sense the ground as an obstacle and
‘back paddle’ continuously. This is boring and
definitely not the intention. If the legs are too
short, then it will react as it should, but will
have insufficient ability to push off and as a
result move very slowly. The length of the
paddles in our prototype measured 18 mm
from the centre of the shaft to the end.
All that said, the mechanical construction
is so simple that an evening of tinkering
should suffice to get the robot to wobble.
Construction
The necessary electronics for the
robot are so modest that the printed
circuit board ( Figure 2 ) can be made
pleasingly compact. As can be seen,
room has been made available for a
9-V-battery in the centre of the PCB.
Small SIL connectors are placed on
the PCB to make the connections to
the battery and the two motors. In
order to increase the directivity of
the sensors, the prototype was fitted
with makeshift blinkers, consisting
of a few pieces of tin soldered
together (if the sensor continuously
sees the stray light from the LED it
will give a false alarm). Figure 3
10/2001
Elektor Electronics
33
855740176.001.png 855740176.012.png 855740176.023.png 855740176.034.png 855740176.045.png 855740176.056.png 855740176.067.png 855740176.078.png 855740176.089.png 855740176.100.png 855740176.111.png 855740176.122.png 855740176.133.png 855740176.144.png 855740176.155.png 855740176.166.png 855740176.177.png 855740176.188.png 855740176.199.png 855740176.210.png 855740176.221.png 855740176.232.png 855740176.243.png 855740176.246.png 855740176.247.png 855740176.248.png 855740176.249.png 855740176.250.png 855740176.251.png 855740176.252.png 855740176.253.png 855740176.254.png 855740176.255.png 855740176.256.png 855740176.257.png 855740176.258.png 855740176.259.png 855740176.260.png 855740176.261.png 855740176.262.png 855740176.263.png 855740176.264.png 855740176.265.png 855740176.266.png 855740176.267.png 855740176.268.png 855740176.269.png 855740176.270.png 855740176.271.png 855740176.272.png 855740176.274.png 855740176.275.png 855740176.276.png 855740176.277.png 855740176.278.png 855740176.279.png 855740176.280.png 855740176.281.png 855740176.282.png 855740176.283.png 855740176.285.png 855740176.286.png 855740176.287.png 855740176.288.png 855740176.289.png 855740176.290.png 855740176.291.png 855740176.292.png 855740176.293.png 855740176.294.png
 
GENERAL INTEREST
Although it is governed by only a
few simple rules, the program is
nonetheless put together in such a
way that it appears that Wobbler is
able to cleverly deal with every situ-
ation in its environment.
The program can easily be
changed of you would like to modify
its behaviour. In addition to the pro-
grammed controller a diskette with
the program and source code is
available from Elektor Electronics
Readers Services (refer to parts list).
The software is not available as a
free download from our website
because of contractual agreements
with the author.
Because the hardware is
extremely simple, relatively small
changes to the software will obtain
good results. To make Wobbler
appear a little more ‘intelligent’, it
would be possible to have it make a
small turn after some random time.
Enthusiastic tweakers will undoubt-
edly think of many more variations
after experimenting a little.
+
COMPONENTS LIST
0
C2
R1
K3
D3
C3
Resistors:
R1 = 100k
C4
010038-1
IC5
C5
Capacitors:
C1,C2 = 22pF
C3,C4 = 10 µ F 35V
C5 = 10nF
C6,C7 = 390nF
C1
K2
K1
Semiconductors:
D1,D2 = LD271 or general-pur-
pose IRED
D3 = 1N4001
IC1 = 89C2051 (programmed,
order code 010038-41 )
IC2 = L293D
IC3,IC4 = IS471F-SH
IC5 = 7805
Miscellaneous:
X1 = 12MHz quartz crystal
Bt1 = 9V battery (PP3)
M1,M2 = mini motor with reduc-
tion gear, 3-6 V, 22-44 rpm (Con-
rad Electronics order code
242543-50)
K1,K2 = 2-way SIL header with plug
PCB, order code 010038-1 (see
Readers Services page or Elektor
website)
Disk, project software and source-
code files, order code 010038-11
(010038-1)
Figure 2. Printed circuit board and component
overlay for Wobbler’s electronics.
Software
The control program written for Wobble is
stored in IC1 and is only 312 bytes in size. It is
both simple and logical by design.
– After switching on, the robot is instructed
to move forwards for about 5 seconds. If
one of the motors initially turns backwards
then the corresponding connector has to be
reversed.
– Subsequently, the sensors are checked. If
one of the sensors observes an obstacle,
then Wobbler will first go backwards for 5
seconds, followed by an evasive turn for 3
seconds.
– Following this, it moves forward once more
and checks the sensors all over again.
While moving backwards the sensors are
ignored, because it does not make much
sense to do otherwise.
– When both sensors simultaneously detect
an obstacle, if for example, it faces a wall
after an evasive manoeuvre, then it will
move backwards for 3 seconds and turn
about its axis for 4 seconds.
Figure 3. The construction of the PCB is not a major undertaking.
34
Elektor Electronics
10/2001
855740176.296.png 855740176.297.png 855740176.298.png 855740176.299.png 855740176.300.png 855740176.301.png 855740176.302.png 855740176.303.png 855740176.304.png 855740176.306.png 855740176.307.png 855740176.308.png 855740176.309.png 855740176.310.png 855740176.311.png 855740176.312.png 855740176.313.png 855740176.314.png 855740176.315.png 855740176.002.png 855740176.003.png 855740176.004.png 855740176.005.png 855740176.006.png 855740176.007.png 855740176.008.png 855740176.009.png 855740176.010.png 855740176.011.png 855740176.013.png 855740176.014.png 855740176.015.png 855740176.016.png 855740176.017.png 855740176.018.png 855740176.019.png 855740176.020.png 855740176.021.png 855740176.022.png 855740176.024.png 855740176.025.png 855740176.026.png 855740176.027.png 855740176.028.png 855740176.029.png 855740176.030.png 855740176.031.png 855740176.032.png 855740176.033.png 855740176.035.png 855740176.036.png 855740176.037.png 855740176.038.png 855740176.039.png 855740176.040.png 855740176.041.png 855740176.042.png 855740176.043.png 855740176.044.png 855740176.046.png 855740176.047.png 855740176.048.png 855740176.049.png 855740176.050.png 855740176.051.png 855740176.052.png 855740176.053.png 855740176.054.png 855740176.055.png 855740176.057.png 855740176.058.png 855740176.059.png 855740176.060.png 855740176.061.png 855740176.062.png 855740176.063.png 855740176.064.png 855740176.065.png 855740176.066.png 855740176.068.png 855740176.069.png 855740176.070.png 855740176.071.png 855740176.072.png 855740176.073.png 855740176.074.png 855740176.075.png 855740176.076.png 855740176.077.png 855740176.079.png 855740176.080.png 855740176.081.png 855740176.082.png 855740176.083.png 855740176.084.png 855740176.085.png 855740176.086.png 855740176.087.png 855740176.088.png 855740176.090.png 855740176.091.png 855740176.092.png 855740176.093.png 855740176.094.png 855740176.095.png 855740176.096.png 855740176.097.png 855740176.098.png 855740176.099.png 855740176.101.png 855740176.102.png 855740176.103.png 855740176.104.png 855740176.105.png 855740176.106.png 855740176.107.png 855740176.108.png 855740176.109.png 855740176.110.png 855740176.112.png 855740176.113.png 855740176.114.png 855740176.115.png 855740176.116.png 855740176.117.png 855740176.118.png 855740176.119.png 855740176.120.png 855740176.121.png 855740176.123.png 855740176.124.png 855740176.125.png 855740176.126.png 855740176.127.png 855740176.128.png 855740176.129.png 855740176.130.png 855740176.131.png 855740176.132.png 855740176.134.png 855740176.135.png 855740176.136.png 855740176.137.png 855740176.138.png 855740176.139.png 855740176.140.png 855740176.141.png 855740176.142.png 855740176.143.png 855740176.145.png 855740176.146.png 855740176.147.png 855740176.148.png 855740176.149.png 855740176.150.png 855740176.151.png 855740176.152.png 855740176.153.png 855740176.154.png 855740176.156.png 855740176.157.png 855740176.158.png 855740176.159.png 855740176.160.png 855740176.161.png 855740176.162.png 855740176.163.png 855740176.164.png 855740176.165.png 855740176.167.png 855740176.168.png 855740176.169.png 855740176.170.png 855740176.171.png 855740176.172.png 855740176.173.png 855740176.174.png 855740176.175.png 855740176.176.png 855740176.178.png 855740176.179.png 855740176.180.png 855740176.181.png 855740176.182.png 855740176.183.png 855740176.184.png 855740176.185.png 855740176.186.png 855740176.187.png 855740176.189.png 855740176.190.png 855740176.191.png 855740176.192.png 855740176.193.png 855740176.194.png 855740176.195.png 855740176.196.png 855740176.197.png 855740176.198.png 855740176.200.png 855740176.201.png 855740176.202.png 855740176.203.png 855740176.204.png 855740176.205.png 855740176.206.png 855740176.207.png 855740176.208.png 855740176.209.png 855740176.211.png 855740176.212.png 855740176.213.png 855740176.214.png 855740176.215.png 855740176.216.png 855740176.217.png 855740176.218.png 855740176.219.png 855740176.220.png 855740176.222.png 855740176.223.png 855740176.224.png 855740176.225.png 855740176.226.png 855740176.227.png 855740176.228.png 855740176.229.png 855740176.230.png 855740176.231.png 855740176.233.png 855740176.234.png 855740176.235.png 855740176.236.png 855740176.237.png 855740176.238.png 855740176.239.png 855740176.240.png 855740176.241.png 855740176.242.png 855740176.244.png 855740176.245.png
 
Zgłoś jeśli naruszono regulamin