Here's a detailed README file for your GitHub project:
Welcome to the TVC (Thrust Vector Control) Model Rocket Project! This repository contains the design, development, and implementation of a thrust vector-controlled model rocket, including all necessary code, hardware schematics, and data analysis tools.
This project aims to develop a model rocket with thrust vector control capabilities, allowing precise maneuverability and stability during flight. The rocket is equipped with sensors, actuators, and a control system designed to maintain its intended flight path and perform controlled maneuvers.
- Thrust Vector Control: Utilize servo motors to adjust the nozzle for flight stabilization and trajectory control.
- Data Logging: Collect flight data using sensors and log it to an SD card for post-flight analysis.
- Live Telemetry: Transmit real-time data from the rocket to a ground station for monitoring.
- Arduino-Based Control: Use an Arduino Uno for processing sensor inputs and controlling the servos.
- Modular Design: Easy-to-modify code and hardware components for customization and testing.
- Arduino Uno: Main microcontroller used for processing inputs and controlling outputs.
- MPU6050: IMU sensor for capturing acceleration and gyroscopic data.
- Servo Motors: Used for adjusting the rocket’s thrust vector.
- nRF24L01: Wireless module for live data transmission.
- SD Card Module: For logging flight data locally on the rocket.
- Battery: 11.1V 2000mAh 3C 3S1P Li-Ion Battery Pack for powering the control circuit.
- Arduino Code: Contains the main control algorithms and sensor integration.
- Python Scripts: For analyzing flight data and visualizing thrust curves, roll, and pitch control.
- NodeMCU ESP8266: Receives telemetry data and displays it on a connected device.
- Arduino IDE
- Python 3.x
- Required Python libraries:
matplotlib,numpy,pandas - Basic understanding of Arduino programming and circuit design
-
Clone the repository:
git clone https://github.com/shadybrook/TVC-ModelRocket-July2024.git cd TVC-ModelRocket-July2024 -
Set up the Arduino environment:
- Open the Arduino IDE and install necessary libraries:
- MPU6050 by Electronic Cats
- Servo library (built-in)
- RF24 by TMRh20
- Open the Arduino IDE and install necessary libraries:
-
Upload the Arduino code:
- Connect your Arduino Uno to your computer.
- Open the
TVC_Rocket.inofile in the Arduino IDE. - Select the correct board and port.
- Click on Upload.
-
Install Python dependencies:
pip install matplotlib numpy pandas
-
Prepare the Rocket:
- Assemble the hardware as per the schematics provided in the
/hardwarefolder. - Ensure all connections are secure and the battery is fully charged.
- Assemble the hardware as per the schematics provided in the
-
Launch the Rocket:
- Place the rocket on the launch pad.
- Power on the system and initiate the launch sequence.
-
Monitor Telemetry:
- Use the NodeMCU ESP8266 setup to receive and visualize telemetry data on your laptop.
-
Post-Flight Analysis:
- Retrieve the data from the SD card.
- Use the provided Python scripts in the
/data_analysisfolder to analyze and visualize the flight performance.
- Thrust Curve: Analyze the thrust curve data to optimize motor performance.
- Roll and Pitch Control: Visualize roll and pitch control effectiveness during flight.
- Center of Gravity and Pressure: Evaluate the rocket’s stability based on CG and CP calculations.
Contributions are welcome! If you have ideas for improvement or want to add new features, feel free to open an issue or submit a pull request.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Special thanks to the open-source community for providing valuable tools and libraries.
- Inspiration for this project was drawn from various model rocketry enthusiasts and educational resources.
