To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.handyboardOpen lugnet.robotics.handyboard in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / Handy Board / 2195
2194  |  2196
Subject: 
Well, It works! :)
Newsgroups: 
lugnet.robotics.handyboard
Date: 
Wed, 21 May 1997 10:45:44 GMT
Original-From: 
root <ROOT@antispamSNOTNOSE.WIZARD.ORG>
Viewed: 
1626 times
  
Howdy all,

They say imitation is the sincerest form of flattery- Thank you Fred Martin
for designing such a cool board like the Handyboard!

I got one last summer hopefully to be one of the CPU's in my robot- but
alas it didn't have enough I/O ports to do what I needed- I tried hard to
design a board to expand it but I kept thinking "why am I doing all this
when a couple more chips gets me a complete board?" And so I designed the
"Gadget Board". And, thanks to you and some of the others around here who
helped me out, it works! I'm ecstatic! :):):)

The core of the board is very Handyboard-ish. It runs Interactive C for the
Handyboard with no modifications. Although there are differences in my board
and the Handyboard so functions that reference parts that aren't there
certainly won't work as expected. But otherwise it seems very compatible,
which of course was the intent :) Unlike the Handyboard it doesn't have
the onboard motor drivers (though it does have a stepper motor port), or the
IR communications stuff (although that would be easy enough to "tack on").
I tried to fit them onto the board, but at the time it was just too many
parts and wouldn't route. So I had to leave out something and since I was
only including them for compatibility, they had to go. Subsequently I
believe that I know how to route the board a better way and might be able
to squeeze them back in on another run. Dunno yet.

Most of the "onboard" stuff like switches and LED's and so forth are turned
into plugs on the Gadget board so these items can be located remotely. Also
the stepper motor port is designed "universally" using a pair of sip pad
strips that you can jumper up for whatever motor you have. I'm using a ua5804
stepper motor IC for the driver which claims to be able to handle 150mA which
is good enough for those surplus disk motors you see around (which I'm using
to rotate my "sensor head" turret. In my bot the steering and turret tilt
positioning is accomplished through servo motors so I'll just commandeer a
couple of output ports for that.

Anything that was not transferred from the Handyboard directly was left
"dangling" though so if you wanted those features for some reason, the hooks
are there on the board (though not all of them are obvious). One main
difference though was I used two 74138's to get 16 select lines, 8 for read
ports and 8 for write ports. I mapped them inside the same address space
though as the Handyboard so that any "stuff" this might break would be
minimal. Another change was adding a real expansion interface- two 26 pin
connectors laid out in such a way that typical additions only need the first
connector but all interesting signals are available between them both. This
is also a nice troubleshooting aid. If one were so inclined one could stick
headers or other connectors on it and create a bus- though with a 68HC11,
you really aren't going to want too much more- but maybe for some custom
peripherals or something.

Anyway- I also added a 32->4 bit mux on 4 of the CPU analog lines. I discovered
afterwards that I had hit upon almost the identical circuit that Fred used on
his expansion card :) Also I needed a SONAR (Ultrasonic Ranging System) on my
bot so I designed in a 16C84 PIC. But unlike the Handyboard its function is
more-or-less fixed to be a SONAR controller and I did not include programming
capabilities on the board (though probably an easy hack I'd guess). However, I
think you could probably modify it slightly to handle either my type of SONAR
setup or the Polaroid (better) setup (mine's just cheaper :) Also the remaining
analog ports (4 lines) are brought out to a header.

It also has simple shaft encoder circuitry to handle 4 shafts. It sends out
a selectable pulse train at 40KHz and uses a little RC circuit to "integrate"
the return pulses into an analog signal which is presented at the MUX ports.
Likewise it has simple IR Proximity circuitry to handle 4 proximity detectors.
They work in a very similar way except that they can be selected independently
from one another. In my bot the remaining analog mux ports are used mainly for
light (CDS cells) sensing, and temperature sensing (thermisters). A couple of
the temperature sensors are for ambient temperature sensing, the rest monitor
things like motor and battery (for charging) temperatures. I still have about
8 unused ports on my bot plus the original 4 leftover from the CPU.

Finally it has 32 digital input ports plus a handful of assorted unused ports-
probably about 8 altogether- (not including any CPU inputs TIC, SPI, etc)- 8
of them are intended for turret position feedback in my setup, a digital
output port designed to control a drive motor (fwd/rev outputs) but it is not
a DRIVE port meaning TTL level outputs, 24 digital output ports (again not
including any processor ports), and the Maxim RS232 driver onboard, as well
as headers for the other typical Handyboard parts and ports- LCD display,
Piezo Beeper, SPI port, etc.

The board itself measures about 7.5" long by about 4.5" wide- a little more
than twice the size of the Handyboard. There are some schematics up on my web
page http://www.vnet.net/wizorg but they are not the FINAL schematics! Meaning
that they probably contain a few minor bugs and/or differences and the motor
drivers in the schematics did not make it onto the board as explained above.
Also there are not any "real" pictures of it up there yet- I hope to get my
*&#^#$ video camera working again so I can get some. I think it has a broken
wire or something in the cable. I may have to operate :)

I'll be working to get the latest stuff up there soon- but I've got some more
documentation to write first so it may be as much as month or more. If enough
folks are interested I might be persuaded to make a "real run" of the board.
But it will definately need to be laid out again. I learned a lot about doing
"real" circuit boards- but unfortunately a lot of it came after I had the
prototype in my hands :)

So even if you want one and there are enough people to make it possible, it
will still take a little while to do that bit. If there is someone out there
though who wants to take on distribution (Prabal?) drop me a line and we'll
talk about it- at the moment I don't have any actual plans in mind to do any
thing more with it- but the design is there, it works (at least mostly so far:)
and it looks worthwhile if someone needs something slightly "bigger" than the
stock Handyboard. Not that I'm knocking the Handyboard in any conceivable way
shape or fashion- it ROCKS! :) Thanks again Fred Martin for designing such
a COOL board!


Now, after all this- I have one question- do you Fred Martin, or any of the
others out there know how to change the Pcode or whatever to allow a different
sized LCD display? I've got a 40x2 line display that I'd like to use but it
seems to insist on 16x2 in the code. Optimally someone would be able to help
me out with some byte offsets so I can just patch the code rather than
recompiling it?? Anyway, any information at all will be more than I know now
so anything is appreciated! :) Thanks in advance.


John Whitten
brat@naxs.com



1 Message in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR