|Author:||Sebastien Lelong, The SirBot Project, 2005-2008|
|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|
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.|
The Main Board corresponds to the following diagram:
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).|
The following pictures show pin diagrams for 16F88 microcontroller. Several pins are reserved, mainly for communication purpose (USART and I2C pins).
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:
|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.|
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)
You may want to download PosctScript versions (1:1 scaled) if you plan to reproduce this board.