Shop OBEX P1 Docs P2 Docs Learn Events
Multi-processor Stamp Configuration — Parallax Forums

Multi-processor Stamp Configuration

Bill ChennaultBill Chennault Posts: 1,198
edited 2007-09-23 15:06 in BASIC Stamp
All--

A few--a VERY few--of you have asked me to keep you updated on my "bit-signaling, multi-processor Stamp" configuration that will drive my skid steer. In the initial version, a single BS2p40 will act as a master, sending instructions to at least four BS2 slaves. Two of the slaves will watch the 128 CPR encoders in the gear motors and send feedback to the master for decision-making and instructions to the two Stamps that control HB-25s, which in turn control the gear motors.

To achieve my original thinking, I have dedicated five pins of each slave to five pins of the master. This means that if I use five pins on each slave (I won't . . . the encoder BS2's don't need that many) then I will have used 20 pins on the master. Obviously, I tossed in a little extra circuitry.

Here is the breadboard pretty much bare except for the BS2p40, some resistors (1k between master/slave pins), and jumper wire. By the way, I will run the BS2p40 off one of the VDD outputs of a BS2 OEM.

Layout.jpg

And here is the (mostly) populated breadboard . . .

With%20OEMs.jpg

As always, your criticism helps me A LOT!

--Bill

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
You are what you write.

Comments

  • metron9metron9 Posts: 1,100
    edited 2007-09-23 03:53
    Hi Bill. I read some of the previous posts you have on this project but I am not clear if you are talking about a real skid steer or a robot but I had an suggestion on your signaling that could reduce your pins to just 2.

    If you use the same kind of signal that DMX uses. Use the Shiftin and shiftout commands on a buss line with redundant signals. Hold the clock line low for a fixed time in milliseconds. The slaves all set up to shift in 4 bytes. The master sends 4 bytes using shift out. So all the controllers have all of the data for each controller. Byte 1 is for controller 1 ... byte 4 is for controller 4. The master keeps sending the same 4 bytes over and over. You could also add a parity byte to test for errors or valid data.

    You may want to dedicate one pin on each processor slave to a emergency stop pin where the controller makes the pin high for normal operation and low to signal a fatal error condition.

    If you are using this in a real skid steer you may want to check out http://www.polyzen.info for circuit protection. Digikey sent me two proto boards last week for free evaluation, if I can hand solder these little buggers I may use them in my digital tachometer gauge board.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Think Inside the box first and if that doesn't work..
    Re-arrange what's inside the box then...
    Think outside the BOX!
  • Bill ChennaultBill Chennault Posts: 1,198
    edited 2007-09-23 12:19
    metron9--

    My little bot is a skid steer. (When I build a house, I will be looking for a real one!)

    It is apparent you grasp what I am trying to do . . . a hardware intensive approach that will "guarantee" performance. I like your idea and will do some research to see if I can determine the instruction cycles necessary to implement an approach like yours versus mine. (I have not figured mine out either. Is there a an online Parallax-supplied instruction cycle datasheet?)

    Your idea about "emergency stop" is great. I thought about it and then decided that I would dedicate a Stamp to just handling sensors. Still, your idea would be simple to implement and probably should be used, as well.

    Thanks for the help.

    --Bill

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You are what you write.
  • PJAllenPJAllen Banned Posts: 5,065
    edited 2007-09-23 14:03
    Bill, looks like you've stuffed some BS2-OEMs into your protoboards there.· If one of those gets nudged into the other/s... well, it'll just·totally suck.··

    May I·suggest more space between them?··Or maybe some insulation (electric tape) on the solder-side of the BS2-OEMs, so that the regulator heat-sinks won't·constitute this·short-circuit hazard.
  • mobile_bobmobile_bob Posts: 50
    edited 2007-09-23 14:34
    Bill:

    this is fantastic to see that you are working on a master slave project

    i too have been working on just this sort of thing over the last 6 months or so

    the reason i went this direction was two fold,

    one, i didn't want to learn a ton of code to try and get done on a single chip, and

    two, i wan't a hardware heavy approach that is very redundant and reliable

    so far i have stepped a bit different in direction, but integrating the bs2 into an automation direct dl305

    platform, to make smart controllers out of the oem control modules,

    i want my master to do all the thinking, and the slaves to take control of separate functions

    this allows the slaves to be very good at what they do, without having to stop and process information

    and the master is left without having to do routine functions and be able to spend all its time making decisions

    anyway it is really interesting to see someone working with a master/slave arrangement

    which processor are you using for the master, i need 20 pins of I/O on my master

    and am looking at all options

    anyway i like it!

    bob g
  • Bill ChennaultBill Chennault Posts: 1,198
    edited 2007-09-23 15:02
    PJ Allen--

    Regarding the heat sinks touching the solder-side of the next BS2-OEM: I had exactly the same thought and will either put piece of electrical tape on the backs of he OEM's or simply space them out a bit more since it appears that I will have more than enough room on the breadboard.

    --Bill

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You are what you write.
  • Bill ChennaultBill Chennault Posts: 1,198
    edited 2007-09-23 15:06
    bob g--

    Ha! Great minds think alike! (However, in my case you might not want that to get out!)

    I am currently using a BS2p40 for a master. I imagine I will stay with that device since I need AT LEAST 24 pins. Currently, to program it I simply pop it out and stick it in a PDB. Soon, I will have a DB9 built for it that I can R&R as necessary.

    Since I am newbie, I do not know what dl305 is!

    --Bill

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    You are what you write.
Sign In or Register to comment.