SCINI Main Bottle Microcontroller Pins

Organization: Project SCINI at Moss Landing Marine Labs
Date: December, 2007
Disclaimer:This material is based on work supported by the National Science Foundation under Grant No. ANT-0619622 (http://www.nsf.gov). Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.
Version: Mark I (2007 deployment)

This document describes the pin assignments by physical function and software name for the main bottle electronics microcontroller in the SCINI ROV. The Crumb 128 schematic should be used to match up pin names to the actual pins on the device. The Atmel manual is the definitive reference and specification for how these pins function and their technical limitations.

Port Overview

Port C
Digital outputs, such as laser and light control. These pins output either 0 or 5 volts and can be left floating when unused.
Port B and E
Some of the pins on these ports are used for PWM generation. If properly reference to the microcontroller's ground, these outputs are suitable to be sent directly to a servo or electric speed controller.
Port F
Analog inputs to the ADC converter. Voltage should be bounded between 0 and 5 volts, though accuracy is poor close to 5 volts. These inputs should *not* float; tie them to ground if unused.

Inputs

All analog inputs undergo crude software smoothing; the smoothed values are accessible as smoothed_inputs[x] in software and by the number plus 10 via the minimalist protocol (ie, smoothed humidity is available as number 21).

Pin Number [1] Variable Function
F0 10 analog_inputs[0] Temperature
F1 11 analog_inputs[1] Humidity
F2 12 analog_inputs[2] Depth
F3 13 analog_inputs[3] Rotation (X?)
F4 14 analog_inputs[4] Rotation (Y?)
F5 15 analog_inputs[5] Acceleration (X?)
F6 16 analog_inputs[6] Acceleration (Y?)
F7 17 analog_inputs[7] Acceleration (Z?)
[1](1, 2) Refers to the decimal number used for getting/setting in the minimalist ROV protocol used for serial communications.

Outputs

Pin Number [1] Variable Function
E3 00 PWM1 PWM [2] output #1 (side thruster control)
E4 01 PWM2 PWM [2] output #2 (side thruster control)
E5 02 PWM3 PWM [2] output #3 (side thruster control)
B4 06 OC0 Analog output by means of signal rectification; 8-bit. Used for lights dimming.
B5 03 PWM4 PWM [2] output #4 (side thruster control)
B6 04 PWM5 PWM [2] output #5 (main thruster control)
C0 50 PORTC[0] Laser control
C1 51 PORTC[1] LED Lights control (on/off)
[2](1, 2, 3, 4, 5) These PWM channels are theoretically 16 bit but are controlled with 8 bit signals (only a small range of the 16 bit space results in valid control signals). The pulses are between 1.5 and 2 microseconds with a 40 microsecond gap between (these figures are approximate based on my memory and should probably be nailed down with a scope). This standard is based on fiddling with a servo controller and scope.