Personal tools
You are here: Home SirBot Modules Main Board
Document Actions

Main Board

by Sébastien Lelong last modified 2008-06-04 21:24
Author: Sebastien Lelong, The SirBot Project, 2005-2008
Revision History
Revision: 409 Initial creation
Revision: 441 Convert to REST
Revision: 538 include 16F88: changed doc and diagrams
$Revision: 593 $ convert mainboard to Eagle, add i2c bus
Abtract

The Main Board is the central electronic board of the SirBot Project. It contains a microcontroller which is able to control every SirBot Modules (external/daughter boards).

This board has a integrated RS232 module for serial communication with a PC, and also includes a I2C bus, making this board open to external communications.

This board is based on PIC 16F88, and doesn't support PIC 16F628 anymore. 16F88 has more memory, ADC (analog-to-digital conversion), and mostly it can be programmed using a bootloader. You may want to use the included python version of TinyBootloader, fully tested, which perfectly works under Linux (see python version pytbl.py in the 3rd party SirBot distrib).

Note:You may want to access to previous mainboard diagrams, which supports both 16F88 and 16F628 microcontrollers. This current version is far better though, since it includes an I2C bus. It is also better documented and cleaner thanks to Eagle schematics/diagrams. Finally, a major change is about connectors: previous board used a single "big" connector, this one uses two connectors: one for PORTA, another for PORTB. Upcoming boards will exclusively be based on these.

Electronic diagram

The Main Board corresponds to the following diagram:

mainboard_sch

There are 3 main parts:

  • power supply (7805)
  • RS232 module (MAX232)
  • PIC 16F88 microcontroller
Note:This board needs a (at least) 9V/500mA power supply, not regulated (there is a voltage regulator on the board).

Microcontrollers pin diagrams

The following pictures show pin diagrams for 16F88 microcontroller. Several pins are reserved, mainly for communication purpose (USART and I2C pins).

16F88.jpg

Connection specifications

The Main Board provides two bus connections:

  • one for PORTA
  • another for PORTB

Every external modules can access one or both of these connectors, so they can be plugged-in and controlled by the Main Board. Thus, these buses provide communication capabilities between every boards and must respect the following specifications:

  • each connector has 10 pins
  • for each connector, 8 pins are connected to the microcontroller
  • 2 pins are used to provide power supply to other modules.

The connection diagrams are the following:

../buscable/bus_spec_portB.jpg
../buscable/bus_spec_portA.jpg
Note:Some pins must not be used, such as MCLR pin RA5, some may not be used, such as those used in communication (RB2/RB5 for serial, RB4/RB1 for I2C). A good practice is to consider RA5, RB2, RB5, RB4 and RB1 as reserved pins.

Electronic assembly

The following pictures show the components implementation on the board, and the copper side. Light blue areas are here to fill gaps, so etching is faster. (using PCB toner transfer, it also helps the paper (or transparent) to stick to the board)

mainboard_top.png
mainboard_bottom.png

You may want to download PosctScript versions (1:1 scaled) if you plan to reproduce this board.

PostScript 1:1 scaled
mainboard_print.ps mainboard_mirror_print.ps

Results

mainboard_up.jpg

Component view of the main board

mainboard_down.jpg

Reverse view of the main board

mainboard_facade.jpg

Facade view

mainboard_ov.jpg

Complete overview


Powered by My Hands Powered by Jalv2 Hosted by Google Code