time. Do not forget the diode D1. It will protect the
transistor from the high voltage pulse that results from
collapse of the magnetic field around the coil when the
microcontroller shuts off the transistor.
Two terminal blocks (TB1 and TB2) are provided: one
for the cable to the battery that powers the cutter, and
one for the cable leading to the cutter. You might be
successful using the same battery to power the cutter that
is used for the microcontroller and sensors, though there
is some risk of causing voltage sag that resets the
microcontroller.
Keep the power cable short and use a battery
designed for high current to minimize the chance of this.
Or, simply utilize a dedicated battery. We use an
Energizer 9V high output lithium battery and get about
nine watts of power dissipated in the nichrome wire —
enough to melt the cord.
Resistor R16 pulls the transistor base to ground. This
is a belt and suspenders arrangement that
might not be necessary because the
microcontroller pulls the base to ground
internally.
However, we did encounter problems
where the transistor caused the relay to close
when not called for by the code. We traced
the problem to RF interference, so added R16
for belt and suspenders confidence.
Digital Inputs
J13 and J18 are two-pin headers. One pin
of each can be used for digital input from an
external device. Both inputs are pulled up to
3.3V by a 10 KΩ resistor. Resistors R22 and
R23 protect the microcontroller pin from
excess current. We use 3.9K resistors if the
input is TTL logic level (5V high) or 220 Ω if
CMOS logic ( 3.3V high).
Analog-to-Digial Converter (ADC)
Near the center of the board is a
Microchip MCP3204 ADC. This is a four-
channel/12-bit device. Its 4096 units of
resolution are plenty for our purposes. The
chip includes a pin for an external voltage
reference. In the original board, we used the
3.3V supply as reference but we had
intermittent problems with sags in the
reference voltage.
Consequently, we added an LM4040 2.5V
voltage reference to provide a more stable
reference voltage. This device is not
temperature compensated, and the
temperature coefficient is 20-30 ppm/°C, so it
is important to keep it in a stable temperature
environment if possible.
Two of the four analog inputs to the ADCs (CH0 and
CH1) are accessible using three-pin headers J9 and J10,
accommodating analog temperature sensors such as a
TMP36. The three pins are for ground, Vref, and the
analog sensor signal, Vout .
We have also used these channels to interpret
voltages generated by the photometer circuits described
in two previous articles by Paul Verhage (N&V November
2007 and May 2013).
Inputs to ADC channels CH2 and CH3 are the two-pin headers J11 and J12. These are intended for use with
a thermistor such as Adafruit #372, providing the low half
of a voltage divider. We use a metal film precision resistor
for R5 and R14. These headers could also be used for any
other sensor that relies on a voltage divider, such as a
CdS cell-based light sensor.
32 June 2017
Pin Assignments
Pin Function
P0 I2C I2C-SDA P1 I2C-SCL
P2 Asynchronous
device TTL-RX P3
P4
Analog-digital
converter
ADC-CS
P5 ADC-CLK
P6 ADC-Dout/Din
P7 Output to optoisolator for high current driver
P8 Microcontroller Digital input for flight enable, pulled high
P9 Piezo buzzer alert
P10
Indicator LEDs
Green — Heartbeat (HB)
P11 Red — SD card mounted alarm (SD)
P12 Red — Satellite fix quality alarm (FXQ)
P13 Red — Mission box alarm (MBX)
P14 Drive relay 1
P15 Drive relay 2
P16
SD card
SD-CD
P17 SD-CS
P18 SD-DI
P19 SD-CLK
P20 SD-DO
P21
BCD input
Bit 0
P22 Bit 1
P23 Bit 2
P24 Bit 3
P25 Digital input to microcontroller, both pulled high P26
P27 Line cutter relay
P28 Reserved Prop — I2C/SCL
P29 Reserved Prop — I2C/SDA
P30 Reserved Prop — Tx
P31 Reserved Prop — Rx