Halya
Relevant Roles:
Avionics Bay Design | Sensor PCB | Flight SW | Cold-flow Testing
Relevant Roles:
Avionics Bay Design | Sensor PCB | Flight SW | Cold-flow Testing
22 foot long methane-LOX rocket
projected altitude of 40,000 ft
terminal velocity of mach 1.7
Competing in FAR Mars Competition
Sensor Board
Designed a custom Sensor PCB in ECAD and full flight software to track and recover Halya.
Features/Components:
Microcontroller: ESP32
Barometer (PHT), 6-DOF and 9-DOF IMU, GPS, CAN Transcievers
Able to accept 25V and 5V levels
Integrates into Modular Avionics Bay
Sensor PCB + CAN was 100% functional on first attempt
PCB Testing (1/25)
GPS Antenna
Flight State Machine + FSW:
Goals:
Utilize sensor data to (1) precisely track state of flight, (2) deploy drogue and main parachutes, and (3) recover rocket
Cover the many reasons that 60% of rockets fail, ranging from miswirings, power failure, etc.
Setup/Pre-ignition -> Liftoff -> Apogee -> 2000ft -> 1500ft -> 1000 ft -> Touchdown
Features:
FreeRTOS for state machine + scheduled sensor polling
Kalman filtered altitude readings.
Methodology
Use Upper avionics bay as primary flight computer
Voting Logic, if upper avionics bay's PHT, IMU, or GPS is inaccurate/not working, switch to other sensors on bottom bay.
Redundancy
4 methods of measuring altitude, acceleration, and angular acceleration
2 GPS, IMU integration (WIP) for tracking rocket
FreeRTOS + 1D Kalman Filtering (9/2 - 9/4)
Problem: Precise tracking of altitude and apogee is necessary for the altitude requirements of the FAR-MARS Challenge
Features/Components:
x = [altitude, velocity_z, bias]
ROS2 Python Node + real-time visualization of accelerometer.
30% improvement in apogee detection by tracking altitude velocity
Creating ROS2 Node to publish IMU acceleration vector and angles
Solution: Designed a Kalman Filter for altitude combining Altimeters & IMU.
Orange is raw altitude, Blue Kalman-filtered data is less noisy
Avionics Bay
Designed an avionics bay to safely store, power, and communicate between 4 PCBs.
Features/Components:
Very tight size constraints
Slots into struts, separable into two pieces
Distributes 25V of power across 4 PCBs
CAN Communication across 4 PCBs
2 Bays for Redundancy
Carbon-Fiber reinforced Nylon
Fitting into struts
Sensors and Relay Board on one half of Avionics Bay
DB-25 Connector chosen for secure connections, 25 pins, screws board into place
Testing Experience
Low Pressure Cold Flows:
Actuated 10 solenoids on GSE, and 7 solenoids on rocket for a successful electrical-side test of low-pressure rocket cold flow.
Utilized existing electronic hardware to monitor pressure of cold flow
documented improvements, learnings, and improved procedure after each successive test attempt.
Ground Station Equipment
First Low-Pressure Cold Flow
GSE Solenoid Boards (10):
Outputs 24V to Solenoids
Fills rocket with LOX, Methane, N2
DAQ System used for PT/TCs (Designed by previous members)
GSE Solenoid Test (2/2)
Putting up rocket structure for cold flow (2/2)
Altimeter Testing
Tested altimeter up to 20,000 meters / 65,000 feet, and compared performance to expected data online
Used vacuum chamber to collect data to characterize pressure and altitude offsets
Validated that our atlimeter has suitable ranges for Halya's flight and recovery
Linearized and compared data to online baselines for error
Rapid Emergency Depressurization System:
Standalone system to quickly and independently actuate 3 vents on rocket
Halya utilizes fail-open vents, so our REDS system works by cutting off power from the rocket and depressurizing in case of emergency. (Cutting off power causes rocket to vent fluids)
Prototype (2/3)
24V Power to Solenoid Valve
Default Output (24V)
Voltage Applied to MOSFET Gate
Voltage is cut off, opening the fail-open solenoid valves and venting the rocket
Additional Testing:
Pressure Transducers and Thermocouples DAQ:
Goal: track temperature of cryogenics (LOX, Methane, and LNG for safety purposes / boil-off).
Prototyped by using MCP9600 and T-type thermocouples to track temperature of cryogenics.
Successfully read accurate TC and PT readings during low-pressure cold-flows
LoRa Testing:
Successfully transmitted rocketry data for at least 5.7 miles (30,000 ft)
OOGA360 (2023)
Thrust-vectoring rocket (Fully manufactured + simulated)
Objectives: (1) Create a thrust-vectoring rocket which will fly straight up and end in an upright position without fins. (2) Familiarize myself with controls, MATLAB, avionics design, and machining.
Features include:
Custom PCB with 6DOF IMU, Altimeter, E-match capabilities
MATLAB simulation of 3D flight dynamics and thrust-vector control
Fully designed thrust-vectoring mount
Physical Specs:
Height: 18.5in
OD: 3in
Moment Arm: 8.4in
Dry mass: 520.84g
Total mass: 582.04g
Electronics:
Self-designed custom PCB for thrust-vector control, apogee detection and e-match ignition.
Features/Components:
Microcontroller: ESP32
E-match ignition
LPS22HHTR (Pressure Sensor)
LSM6DSO32TR (6-DOF)
Thrust-vector control with 2 servos
Micro SD card connector
Flight Dynamics Simulations
Process:
Use Thrust Curve to approximate thrust/burn time https://www.thrustcurve.org/motors/Estes/E12/
Calculates wind force and angular acceleration -> Uses measurements to find optimal servo angles
Computes thrust unit vectors in x, y, z -> Calculates appropriate forces (Fx, Fy, Fz).
Updates angular speed (omgY) and angle (thetaY).
Rotates forces based on the current angle.
Updates velocities (U, V, W), positions (X, Y, Z) and time (T).
Step 1: Plotting correct flight dynamics and simulating single axis thrust-vector control in constant speed winds ( 0 - 20 MPH)
TVC resulted in drastically decreased angular and translational offset in mild to moderate winds
Notes:
Wind currently acts in the +X direction
rods from graph show the direction the rocket is facing
RED X signifies end of TVC (solid motor burned out)
No thrust-vector control (1)
Note: Cyan (20MPH winds) has less horizontal distance traveled because it crashes into the ground. (I will eventually get better photos including axes and proper labels )
graph 3 shows there is no "one-size fits all" preset for translation and rotation. Different windspeeds lead to over/under-compensation from the TVC mount.
Dampened rotation only (2)
Dampened translation and rotation (3)
Step 2: Simulating thrust-vector control in 2-axes, optimizing dampening factors for apogee deployment
Pink arrow points in direction of wind