This is revision A of the Servo4 module.

Servo4 Module (Revision A)

Table of Contents

1. Introduction

The Servo4 module can control up to 4 servos with complete opto isolation. The reason for the optoisolation is to prevent power surges from the servos from accidentally triggering voltage spikes on the logic power bus.

2. Programming

Command
Name
Action Bit Description
8 7 6 5 4 3 2 1 0
High Low Set Send 0 0 0 0 0 0 0 s s Set servo ss to position hhhh hhhh llll llll, which specifies the pulse width in multiples of .20µS.
Send 0 h h h h h h h h
Send 0 l l l l l l l l
Low Set Send 0 0 0 0 0 0 1 s s Set the low order 8-bits of servo ss to llll llll.
Send 0 l l l l l l l l
High Get Send 0 0 0 0 0 1 0 s s Get the high order 8-bits of servo ss and return as hhhh hhhh.
Receive 0 h h h h h h h h
Low Get Send 0 0 0 0 0 1 1 s s Get the low order 8-bits of servo ss and return as llll llll.
Receive 0 l l l l l l l l
Enables Set Send 0 0 0 0 1 e e e e Set the enables for the servos to eeee.
Enables Get Send 0 0 0 1 0 0 0 0 0 Return the current enable bits as eeee.
Receive 0 0 0 0 0 e e e e
Common
Commands
Send 0 1 1 1 1 1 1 x x Standard common command. See specifications for details.
Receive 0 d d d d d d d d
Select Send 1 a a a a a a a a Select the module with an address of aaaa aaaa. A time-out indicates that the module is not selected.
Receive 0 0 0 0 0 0 0 0 0

3. Hardware

The hardware consists of a circuit schematic and a printed circuit board.

The parts list kept in a separate file -- servo4.ptl.

3.1 Circuit Schematic

The schematic for the Servo4 module is shown below:

Servo4 Schematic
The bus is connected to the 2×5 shrouded conenctor N5. The two CAN bus signals are fed into the PCP2551 CAN bus transceiver U2. The output of U2 is fed to the UART transmit and receive signals on the PIC16F688 microcontroller U1. The four signal wires RC0-RC3 are connected to the light emmitting diodes of U3 through 470 Ohm current limiting resistors R1-4. BPWR (pins 1 and 10) and BGND (pins 2 and 9) from N5 are routed to pins 2 and 1 respectively on connectors N1-4 to provide power for the servos. The servo signal wires are pulled to BGND via the 10K Ohm resistors R1-4. Whenever the one of the light emitting diodes in U3 is activated, the corresponding NPN transistor in U3 pulls the servo signal up to BPWR.

3.2 Printed Circuit Board

The printed circuit board files are listed below:

servo4_back.png
The solder side layer.
servo4_front.png
The component side layer.
servo4_artwork.png
The artwork layer.
servo4.gbl
The RS-274X "Gerber" back (solder side) layer.
servo4.gtl
The RS-274X "Gerber" top (component side) layer.
servo4.gal
The RS-274X "Gerber" artwork layer.
servo4.gml
The RS-274X "Gerber" mask layer.
servo4.drl
The "Excellon" NC drill file.
servo4.tol
The "Excellon" tool rack file.

4. Software

The following files are available:

servo4.ucl
The µCL source code for the Servo4 module.
servo4.asm
The Servo4 module assembly code file.
servo4.lst
The Servo4 module listing file.
servo4 .hex
The µCL Servo4 Intel® Hex file.

5. Issues

The following fabrication issues came up:


Copyright © 2006-2007 by Wayne C. Gramlich. All rights reserved.