Servo

From BitWizard Wiki
Revision as of 18:09, 15 February 2012 by Tom (talk | contribs)
Jump to navigation Jump to search
The SPI_Servo PCB
The SPI_Servo PCB

This is the documentation page for the SPI_servo board.

Overview

This module enables you to easily control upto 7 servomotors over an SPI interface, while needing minimal resources from your CPU. The PCB is equipped with two SPI connectors, so daisychaining multiple SPI modules is an option. This allows you to control the LCD with only 4 data lines (MOSI, MISO, SS and SCK). This is not only pin-saving, but is is also possible do daisy-chain multiple modules (we will be releasing additional boards with other functions in the very near future)! The board can be used with all microcontrollers, such as the Atmel AVR, Arduino/Freeduino boards, Microchip PIC, etcetera. Other computers/boards with an SPI interface (such as the Raspberry Pi) should also be able to control this module.

External resources

Datasheets

The CPU: http://www.atmel.com/dyn/resources/prod_documents/doc8006.pdf

Additional software

Related projects

Pinout

The pinout is standard for servo-motors; Pin 1 is GND (near the edge of the board) Pin 2 is VCC (5V) Pin 3 is data

LEDs

The only LED is a power-LED.

Jumper settings

Solder jumper (on bottom layer): ICSP-Enable. CAUTION! Pin 1 and 2 are connected by a narrow PCB track. Cut this if you want to change this jumper setting. 1-2: Default: Both SPI connectors connected in parallel. 2-3: ICSP enabled; programming the MCU over the 6-pin connector marked SPI3 (near the edge of the board) is enabled.

Programming

To control the servos, you need to send things over the SPI bus to the PCB. The protocol is explained here.

The software

Default operation

Future hardware enhancements

  • Add extra power connector for servo power

Future software enhancements

Changelog

1.0

  • Initial public release