go_away

Author Topic: Stacking PCBs  (Read 2711 times)

0 Members and 1 Guest are viewing this topic.

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,132
  • Helpful? 109
Stacking PCBs
« on: November 08, 2008, 03:59:34 PM »
So lets say we have a $50 robot board, Axon etc as the mother-board (brain).

We may also have a motor controller board, encoders, sound amplifier for speech, GPS, various other small PCBs.

Mounting these in a small chassis may require me to 'stack' the boards on top of each other using 'stand offs'. A larger robot chassis may allow me to put them side by side.

How boards are placed may effect 'noise' from one board to another.

If you are creating a one-off robot then you know what space you are coping with - but: for a 'generic' PCB board design - are there are any standards in terms of PCB sizes and fixing screw positiions? Eg if you buy boards from different suppliers then will they all marry up if you want to stack them?

I guess my question is to do with posting 'Eagle board' designs in the tutorials. Is anyone aware of any existing standards for PCBoards and 'more importantly' where 'fixing holes' should be drilled??


Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: Stacking PCBs
« Reply #1 on: November 08, 2008, 08:18:29 PM »
There is no standard. Everyone make their boards as they see fit. I think the primary concern is size, as make it as small as can be. Perhaps using boards made by the same manufacturer MAY be compatible for stacking. For example, There is the SSC32 and BrainBoard from Lynxmotion that use the same hole spacing.

Some months ago we (the users from this forum) thought about creating Modules that would be able to be stacked, with 2 or 3 standard sizes, with buses to run the signals and power, and so on. The idea was very cool, but unfortunately people volunteering for this has less time and energy to take this project to an end. I would really like this idea to get alive again, and even became an international standard for manufacturers so there would be less wires on a robot. I allways hate to see a robot full of dangling, meshy wires...
Check out the uBotino robot controller!

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,658
  • Helpful? 169
    • Society of Robots
Re: Stacking PCBs
« Reply #2 on: November 08, 2008, 10:07:48 PM »
It might be hard to get any particular set of standards because robots vary too much. A Grand Challenge robot and a micro robot shouldn't be constricted to the same standards . . .

That being said, the one thing we did agree on with the SoR standard was the screw hole size, allowing for both 4-40 and M3. Its pretty common industry wide too.

But if I were to make a circuit designed for microrobots, I'd end up breaking that standard . . .

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,132
  • Helpful? 109
Re: Stacking PCBs
« Reply #3 on: November 08, 2008, 11:33:46 PM »
Ok - so I'm going nowhere - thought that would be the case.

So lets open it out to a 'robot bus' - for example using single/dual inline headers/sockets to 'stack' boards on top of each other (by clipping together), or alongside each other (with a cable). Assuming the pins were organised: Gnd, 5v, Motor Supply,  Uart#1, I2C, IO Port A, B, C, D, E etc so that the least common pins (ie bigger controllers) were on the outside then a small bot could have a smaller bus. A 'brain' board could then be changed between a smaller ATMega8 and a 40 pin ATMega32 with no other changes.

Why am I hung up about this - making electronic stuff modular and compatible with a larger number of processors.

This may also be impossible.  So the only standard is 'screw size'?

What about headers/sockets? A photosensor, or servo may just need the normal 3 pins (gnd, +ve, signal) from the $50 header but what about a board that needs say: gnd, +ve, and 3 I/O pins. You could use 3 servo leads for the IO pins but each one also does gnd and +ve so there is a lot of duplication and excess wire. Or do you have a power supply (gnd, +ve) cable and then a 3 pin header that goes to 3 IO pin signals. The std Molex headers aren't polarised so can let you connected things back to front. So should there be a standard for power, vs UART, vs IO: ie Molex, or KK, or shrouded headers. My main reason for suggesting something is that when I go back to a board I designed 6 months eariler then I have to resort to the schematic to work out how to connect it even though I designed the thing!!!


Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,658
  • Helpful? 169
    • Society of Robots
Re: Stacking PCBs
« Reply #4 on: November 09, 2008, 12:11:21 AM »
the old thread on robot standardization:
http://www.societyofrobots.com/robotforum/index.php?topic=2968.0


Quote
My main reason for suggesting something is that when I go back to a board I designed 6 months eariler then I have to resort to the schematic to work out how to connect it even though I designed the thing!!!

My own personal standard is that everything should be clearly labeled and highly intuitive. If you can't remember, someone else using your board definitely won't!

Offline Ro-Bot-X

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: Stacking PCBs
« Reply #5 on: November 09, 2008, 08:26:55 AM »
I2C interface is the easiest and the best way to interconnect modules. So an I2C bus (GND, SCL, SDA, VCC) and a power bus (GND, VCC, VDD) is enough. The rest can be the 3 pin headers, also UART can be a 3 pin header.

It is hard to desigh some board universal, that would fit any or all projects without resorting to the schematic to see how things are connected. I allways go back to the schematic to see how I have connected the pins to the hardware so I can make the proper defines in the program.

You can make special connectors for special devices on the board and use jumper wire to connect them to the actual microcontroller pins, or use dip switches, so you can have that pin connected to the 3 pin rail or to the special connector. This way you can connect a hardware PWM pin to the servo header or to the motor controller header. But I think it makes the board more complicated and prone to noise. So, there are 2 ways: a board designed to work with specific devices or a board that is designed to work with anything in general, like the Axon.
Check out the uBotino robot controller!

Offline WebbotTopic starter

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,132
  • Helpful? 109
Re: Stacking PCBs
« Reply #6 on: December 02, 2008, 12:53:58 AM »
It seems like someone else got the same idea....
Its big, its expensive etc
www.rswww.com/edp
Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

 


Get Your Ad Here

data_list