Overview
The intended function of the I2C Pancake board is to monitor pressure transducer and strain gauge readings from within towerside RLCS to track the loading of nitrous oxide into the rocket during a fill operation.
...
Firmware: https://github.com/waterloo-rocketry/rlcs/tree/i2c_pancake_sw/src/i2c_pancake_pic
Photo:
...
Technical Description
This board is intended to be mounted inside the RLCS towerside box and connected to the other RLCS boards using the 5-wire I2C daisy-chain ribbon. The mounting holes on the I2C Pancake board are in the same positions as for the I2C Relay board, which allows the I2C Pancake board to be easily mounted in the RLCS towerside box. The I2C Pancake board supports up to 3 strain gauges and up to 2 pressure transducers (PTs). The heart of this board is a PIC16F 8-bit microcontroller. The purpose of the strain gauge is to measure the mass of the oxidizer tank or of the rocket; the measured mass is used to estimate the amount of nitrous oxide in the tank. The purpose of the PT is to measure the pressure of nitrous oxide in the fill plumbing. The measurements taken by the I2C Pancake board are sent to the I2C bus master (Arduino Mega in the RLCS towerside box) and ultimately passed down to the human RLCS operator so that the operator can continuously monitor the state of the system during a fill operation.
...
Both the 5 V and 12 V power supply connections are protected by polyfuses.
Firmware
The analog data measured on each of these sensors is reported using the I2C interface. The I2C address of the I2C Pancake board is set by the gang of 4 dip switches at the bottom of the board; the firmware continuously polls these switch states and updates the I2C address accordingly. This dynamic addressing system allows multiple I2C Pancake boards to be connected to the same I2C bus without an address conflict. The I2C Pancake fulfills I2C slave read requests. For example, the I2C bus master (Arduino Mega) will send an I2C read request to a given I2C Pancake board by specifying its unique I2C address, and the I2C Pancake board will comply with this request, returning a set of 5 8-bit integers representing the sampled values of the 5 sensors.
Current Status
This board was designed in October 2020 (COVID-19 dark ages), and the RLCS/DAQ architecture has evolved significantly since that time. In recent revisions of the RLCS/DAQ architecture, the I2C Pancake board has been made mostly obsolete by the sensing capabilities of the new DAQ system and the data monitoring functions of Omnibus.
...