Our Remote Launch Control System (RLCS) is the electronic system that controls the automatic valves and actuators to remotely fill and ignite the rocket. It is composed of two boxes:
"Clientside" houses a number of switches to control the actuators. It sends commands to
"Towerside", which receives commands from clientside and actually controls the actuators.
In addition to controlling various actuators, RLCS has a few other responsibilities.
Towerside must collect critical information such as its battery voltages and the current draw of the ignition wires (which we use to determine if the ignition succeeded) and broadcast that data to clientside.
Clientside must recieve this critical information from towerside and display it on a built in LCD.
Towerside must additionally collect simple external sensor data at competition. Since we can only rely on RLCS to have a working radio link, we must pass critical sensor data (such as the mass of the rocket, to determine how full of oxidizer it is) through RLCS rather than DAQ.
Clientside must both display this additional sensor data and broadcast it over a usb connection to a computer that will plot and log it.
Towerside must be able to, instead of directly controlling an actuator, issue CAN commands to the rocket via its live telemetry breakout. This is used for actions such as arming the recovery pyrotechnics (via remote arming) or opening the injector valve to launch the rocket.
Towerside must be able to receive CAN messages from the rocket, parse important status information out of them (such as the status of the recovery pyrotechnics), and pass this information on to clientside.
Clientside and Towerside communicate over a UART link. We use a pair of XBee Pro S3Bs which give us a transparent wireless UART link. We have recently (static fire 5) encountered some reliability issues with these modules. We have also started running DAQ over a pair of long-range antennas that provide a transparent ethernet link (similarly to how the XBees provide a transparent UART link), and so have also obtained a pair of UART to ethernet converters which should allow us to use the DAQ antennas to run RLCS at competition if the XBees aren't working.
Safety
Since RLCS is responsible for handling the dangerous parts of launching the rocket, it must be extremely fail-safe and well-tested. Under no circumstances should there be any possibility of actuators changing state when there are personnel near the engine.
The first component of this safety assurance is the double lockout system. Both clientside and towerside have keyed-alike key switches which prevent the key from being removed when activated. On towerside, this keyswitch being activated disarms the system, and on clientside the
key is required to arm the system. When personnel have to approach the tower, they first remove the key from clientside (disarming it) and take the key with them to insert into towerside (disarming it as well). This removes any possibility of clientside being armed while there are are personnel at the tower.
Towerside is also designed to fail safely. For any actuator to actuate two separate actions must be taken: first a relay determining the direction to actuate must be set and then a second relay must be enabled to provide power to the actuator. This design prevents any single component failure from being able to perform an undesired actuation.
Clientside
Mechanical
Clientside is built into a pelican air 1400 case. The electronics are mounted to a laser-cut plywood plate which is friction-fit into the body of the case. Mounted to the inside of the case lid is a small 3d-printed box which houses the XBee and its antenna. Clientside is powered off of a single 3S lipo which is mounted to a holder in the bottom of the case (below the electronics plate).
Electrical
The electronic components making up clientside are as follows:
An arduino mega, the brains of the operation
A 4 line LCD to display status information (valve states, battery voltages, ignition currents) to the operator.
A potentiometer to adjust the LCD's contrast (critical for usability in the desert).
The XBee in its enclosure.
An RGB LED used to indicate the connection status of the XBEE
The 3S lipo battery
A power switch
Power board, a custom PCB which regulates the lipo voltage down to 5V and 3V3 for the arduino / other electronics
A key switch which does not allow the key to be removed when turned. This switch is required to be activated to perform any actions that may affect the state of towerside.
8 illuminated missile switches which control 8 (theoretical) generic actuators on towerside. The missile switches are illuminated when clientside is armed.
One additional missile switch which opens the injector valve (aka launches the rocket).
The big red button which controls power to the ignition coils.
Two additional missile switches to select which ignition coil (primary or secondary) the big red button should trigger. Exactly one of these switches must be on for the big red button to have any effect.
The overall electrical operation is relatively simple. The arduino uses its GPIOs to read the switch inputs, control the LEDs, and talk to the LCD and towerside (via the XBee).
Software
It's 4am and I don't understand it lol. There is a rewrite in progress.
Towerside
Mechanical
Towerside is built into a pelican air 1555 case. All of its core electrical components are mounted to a laser-cut plywood plate which is mounted to the bottom of the case by bolting (for removability) into 3d-printed standoffs which are VHB taped to the bottom.
Our custom PCBs for towerside all share a common hole pattern, a grid of which is cut into the plywood plate. There are additionally non-standard hole patterns for an arduino mega and two 3S lipo holders.
Electrical
The electronic components making up towerside are as follows:
An arduino mega, the brains of the operation
Power board shield, a custom PCB which regulators the lipo down to 5V and 3V3 for the arduino / other electronics. This board also provides voltage sensing for the two lipos, has a two-digit 7-segment display for status information, and an SD-card slot for logging.
A 3S lipo battery that is used to power the electronics.
A second 3S lipo that is used exclusively for powering our actuators / ignition.
A number of I2C relay boards. These boards are daisy chained over an I2C bus to the arduino and each one has the two relays and circuity required to drive a single actuator.
Two power switches, one for each lipo (so the arduino can be turned on independently of the actuators)
A key switch which does not allow the key to be removed when closed. This switch disarms towerside (in software). The arduino reads from this switch over GPIO.
An external connector for the XBEE to communicate with client side. This is connector the arduino over a UART link.
A copy of live telemetry breakout. This is used to communicate with the rocket CAN bus, for example to open the injector valve. This is connected to the arduino over a UART link.
Software
It's 2pm and I don't understand it lol. A rewrite is in progress.