Multiple Arduino DUEs have been used in a primary-secondary (Master-Slave) configuration for STAJe- phase 1, such that a primary microprocessor, A0, controls all the secondary microprocessors, A1-A5. Communication between the primary and secondary microcontrollers is via I2C protocol. All except A5 (located in the Ejection Module) have shields (custom made PCBs) which house a micro-SD card reader, current and voltage sensors and an a 6DOF IMU. High fidelity data is stored on the SD card of each secondary microcontroller.
Furthermore, A0, being the controller, has two additional shields (Fig 2):
- A LORA shield (COTS transceiver module) which is responsible for transmitting limited flight data down to the ground control stations. The LORA shield also has a GPS module which is connected to a patch antenna; and
- A GPS shield (custom made PCB with COTS components) houses a second GPS module, the patch antenna for which is placed in the plunger (rear section of the payload). This approach increases the probability of GPS data being received throughout the flight trajectory (Fig 1).
The secondary microcontrollers (A1-A4) sit inside a 3D printed structure designed to protect them during impact with the ground. It is a 3D printed structure made from plastic and referred to as the Cage as shown in Fig 3. Each of these secondary microcontrollers are connected to their own Collection Board (custom made PCB) which collects data from eight pressure transducers and ten RTDs (Resistance Temperature Detector). These measurements are made along the forebody of the payload in every quadrant. The pressure transducers communicate with their respective microcontroller (A1-A4) via a multiplexer and I2C protocol while the RTDs, use the SPI protocol.
The Cage also houses A0 and a Raspberry Pi 4B which is connected to three IR cameras.
The programming ports of all the microcontrollers are connected to a USB-C hub which is accessed via the umbilical hatch (Fig 1). This enables:
- pre-flight monitoring of all the electronic components via umbilical to the ground station, ensuring proper functionality; and
- reprogramming of the microcontrollers as required.
Finally, the power for the payload is provided by a bank of Lithium-ion polymer batteries. These are located in front of the Cage. This location for the batteries was chosen to assist with making the vehicle aerodynamically stable. Again, this type of integration between the mechanical and electrical systems is not uncommon in any system, however, flight vehicles have their own unique requirements.
It should also be noted that the Cage is located aft of the ballast weight. This is strategical, so that the momentum of the payload is biased to the front of the cage. This maximizes the probability of successfully recovering the SD cards on each of the microcontrollers.
2.1 Microcontroller Shield
The concept of using a shield was introduced to reduce the wiring. It is argued that this approach reduces the complexity and the potential for failures during flight. Two shields were designed using Fritzing software, one for A0 and the other for A1-A4 (Fig 4). Both the shields have slightly different functionalities:
The aims of this shield are to:
- provide flightworthy access for control all the secondary Arduinos A1-A4 (in the Flight module), A5 (in the Ejection module) and the Raspberry Pi via I2C (WIRE) and Serial connections, respectively;
- simple routing of the digital ports required for internal communications;
- record inertial measurements along the centerline of the vehicle [4];
- store data collected by A0 on an SD card;
- measure the voltage supplied to A0 from the batteries via an analog port;
- measure the current being supplied to A0 via an analog port; and
- detect the launch through detachment of the umbilical.
In addition to the capabilities listed for A0, the A1-A4 shields also have a multipin plug used to communicate over SPI and I2C (WIRE) to their respective Collection boards. It should be noted that the I2C communication from A0 to A1-A5 is via the WIRE port on A0, but the WIRE 1 port on A1-A5. The communication of A1-A4 with their respective Collection Board is via WIRE. This ensures that additional pullup resisters are not required.
All COTS components were initially individually tested to ensure component compatibility with Arduino DUE, after which the PCB was designed.
2.2 Collection Boards
The first flight of the STAJe- program is required to have four separate rows of temperature and pressure measurements along the length of the payload, as per the scientific requirements. Each row will be measured by a single transducer assembly. Each assembly consists of the transducer mount, the assembly mount, and the Collection Board (custom PCB) which is populated with the components [4]. Similar to Power PCB, the designing of Collection Boards also required a mechanical and an electrical interface for bolt hole alignment. The transducer mount and Collection Board work together to secure the transducers in place, ensuring the location of measurement is accurate.
As seen in Fig 5, the Collection Board is a four-layer PCB which is used to mount all the electrical components of each sensor module which was designed using Autodesk Fusion 360 software. Each sensor module contains ten RTD amplifiers (MAX31865), eight pressure transducers (MPRLS), a multiplexer (TCA9548A), and a multipin header [4]. All sensors are ultimately routed to this header, either directly in the case of the RTD amplifiers, or via the multiplexer in the case of the pressure transducers. This is so that the secondary microcontroller which the Collection Board feeds to, can access all transducers via the header.
The transducer assemblies are mounted to the inside wall of the vehicle [4]. As such, considerable effort was required to ensure the transducers and mounting structures could withstand the rigors of the flight. The RTD amplifiers are assembled on the top layer facing the inside of the Flight Module. While the RTDs and pressure sensors are positioned on the bottom layer closer to the payload skin as shown in Fig 5.
2.3 Power PCB
The Power PCB provides power to the entire payload. It is a two-layer custom designed PCB which sits on top of the battery pack as depicted in Fig 6. The electrical design of this board was relatively simple, however, integration into the mechanical design was not. The need to develop designs which meet the electrical and mechanical requirements can be time consuming. This was largely overcome by using a step file provided from the mechanical designers to define the PCB shape along with the bolt hole orientation. The design of the board was then possible using Fritzing software for board development.
The board consists of:
- an optically coupled relay which enables switch from external power supply to internal battery power. This is controlled by A0 and is initiated 120s prior to the expected launch time; (The payload boots up on external power supplied through the umbilical)
- a regulator which converts the power supply voltage to 5V necessary for the PI;
- circuitry for battery charging. This PCB is directly connected to the battery cells which have a specific arrangement. Three battery cells connected in series to make up one bank, and five such banks are connected in parallel to provide a maximum voltage of 9.6V.
It is interesting to note that there is no battery management system on board. Instead, a parallel charging approach controlled externally has been implemented.