Fix headings

This commit is contained in:
Peter 2024-08-05 02:38:34 +08:00
parent 5f59059302
commit 9537655318

View File

@ -10,23 +10,23 @@ toc: true
Updating this as I add new projects this year. Updating this as I add new projects this year.
# Telemetrum ground station ## Telemetrum ground station
The Telemetrum's Teledongle ground station is out of stock everywhere. We should make our own. The Telemetrum's Teledongle ground station is out of stock everywhere. We should make our own.
## Success criteria ### Success criteria
- Receive signals from the [Telemetrum](https://altusmetrum.org/TeleMetrum/) flight computer over a distance of at least 10 kft. - Receive signals from the [Telemetrum](https://altusmetrum.org/TeleMetrum/) flight computer over a distance of at least 10 kft.
- Send data to a computer over USB virtual COM port in a format which can be interpreted in real time by the [AltosUI flight monitoring software](https://altusmetrum.org/AltOS/). - Send data to a computer over USB virtual COM port in a format which can be interpreted in real time by the [AltosUI flight monitoring software](https://altusmetrum.org/AltOS/).
## Scope ### Scope
- Make a PCB which contains a cheap microcontroller with USB support and the CC12xx or CC11xx radio transceiver. - Make a PCB which contains a cheap microcontroller with USB support and the CC12xx or CC11xx radio transceiver.
- Make sure the PCB has mounting holes so it can fit into a case. - Make sure the PCB has mounting holes so it can fit into a case.
- Use an SMA connector. - Use an SMA connector.
- Create software to copy the data from the receiver to the computer over USB through an intermediate MCU. - Create software to copy the data from the receiver to the computer over USB through an intermediate MCU.
## Hints and notes ### Hints and notes
- You must read this [protocol specification](https://altusmetrum.org/AltOS/doc/telemetry.html) for the AltusMetrum devices. Luckily, the Teledongle does minimal processing of the raw data, it only encodes it into an ASCII format before transmitting it over serial. - You must read this [protocol specification](https://altusmetrum.org/AltOS/doc/telemetry.html) for the AltusMetrum devices. Luckily, the Teledongle does minimal processing of the raw data, it only encodes it into an ASCII format before transmitting it over serial.
- You should look at the schematics and PCB layout for the Teledongle for inspiration https://altusmetrum.org/TeleDongle/. - You should look at the schematics and PCB layout for the Teledongle for inspiration https://altusmetrum.org/TeleDongle/.
@ -38,24 +38,24 @@ The Telemetrum's Teledongle ground station is out of stock everywhere. We should
- Try to place all/as many components on one side of the board only so you can use economic PCBA, which only places parts on one side. - Try to place all/as many components on one side of the board only so you can use economic PCBA, which only places parts on one side.
- Feel free to ask me for Altium training, and I will probably need to talk about RF design considerations - Feel free to ask me for Altium training, and I will probably need to talk about RF design considerations
## Future development ### Future development
- Make this a module card which can go into a standalone battery powered ground station which does not need a laptop to use. This can be helpful if our laptops run out of energy and there are no generators. - Make this a module card which can go into a standalone battery powered ground station which does not need a laptop to use. This can be helpful if our laptops run out of energy and there are no generators.
# WiFi-based video transmitter ## WiFi-based video transmitter
SAC now has a some award for the best live video downlink from a rocket. I think the best way in terms of quality would be to use WiFi equipment and transmit the video down using some directional antenna. This is a very ambitious project. SAC now has a some award for the best live video downlink from a rocket. I think the best way in terms of quality would be to use WiFi equipment and transmit the video down using some directional antenna. This is a very ambitious project.
## Success criteria ### Success criteria
- Milestone 1: Receive data at a rate of 4000 kbit/s over a distance of 10kft, LOS. - Milestone 1: Receive data at a rate of 4000 kbit/s over a distance of 10kft, LOS.
- Milestone 2: ??? - Milestone 2: ???
## Scope ### Scope
- Video transmitter on the rocket and receiver on the ground - Video transmitter on the rocket and receiver on the ground
## Hints and notes ### Hints and notes
- You should check this project out [wifibroadcast](https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmission-of-live-video-data/)... looks exactly what we need, it's designed for FPV drone applications. - You should check this project out [wifibroadcast](https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmission-of-live-video-data/)... looks exactly what we need, it's designed for FPV drone applications.
- Make a comparison of cost vs data rate? - Make a comparison of cost vs data rate?
@ -63,15 +63,15 @@ SAC now has a some award for the best live video downlink from a rocket. I think
- Laptops have PCIe NIC cards, check if an SDIO-based NIC is available which can be used on a raspberry pi - Laptops have PCIe NIC cards, check if an SDIO-based NIC is available which can be used on a raspberry pi
- An option is to use a COTS laptop and temporarily bring out the coax to a big antenna? - An option is to use a COTS laptop and temporarily bring out the coax to a big antenna?
# HPIB/GPIB to USB adapter for HP8560A ## HPIB/GPIB to USB adapter for HP8560A
We have an [old spectrum analyzer](https://www.petertanner.dev/posts/HP-8560A-spectrum-analyzer-as-a-frequency-generator/) which outputs data over [IEEE-488, or GPIB/HPIB](https://en.wikipedia.org/wiki/GPIB?&useskin=vector). We'd like to connect the spectrum analyzer to a laptop over USB. We have an [old spectrum analyzer](https://www.petertanner.dev/posts/HP-8560A-spectrum-analyzer-as-a-frequency-generator/) which outputs data over [IEEE-488, or GPIB/HPIB](https://en.wikipedia.org/wiki/GPIB?&useskin=vector). We'd like to connect the spectrum analyzer to a laptop over USB.
## Success criteria ### Success criteria
- Create one plot on your PC connected to the spectrum analyzer over your GPIB adapter, use [this software](http://www.ke5fx.com/gpib/7470.htm) to receive the plot. - Create one plot on your PC connected to the spectrum analyzer over your GPIB adapter, use [this software](http://www.ke5fx.com/gpib/7470.htm) to receive the plot.
## Hints and notes ### Hints and notes
- GPIB uses 5V so you may need to [level shift](https://en.wikipedia.org/wiki/Level_shifter?&useskin=vector) depending on the maximum GPIO voltage of your chosen microcontroller - GPIB uses 5V so you may need to [level shift](https://en.wikipedia.org/wiki/Level_shifter?&useskin=vector) depending on the maximum GPIO voltage of your chosen microcontroller
- You may choose to pick a microcontroller with USB transceiver built in, or a microcontroller combined with a UART-USB bridge IC. - You may choose to pick a microcontroller with USB transceiver built in, or a microcontroller combined with a UART-USB bridge IC.
@ -79,7 +79,7 @@ We have an [old spectrum analyzer](https://www.petertanner.dev/posts/HP-8560A-sp
- Search up "GPIB to USB" for other existing designs floating around on GitHub. - Search up "GPIB to USB" for other existing designs floating around on GitHub.
- You'll probably need to watch a video on choosing components. I have recorded slides that I've presented last semester, but any video online will do. - You'll probably need to watch a video on choosing components. I have recorded slides that I've presented last semester, but any video online will do.
## Milestones ### Milestones
1. Choose your parts (microcontroller mainly, and other major parts such as interface ICs or level translators) 1. Choose your parts (microcontroller mainly, and other major parts such as interface ICs or level translators)
1. Create a schematic (Once you get to this stage let me know so I can give you Altium training) 1. Create a schematic (Once you get to this stage let me know so I can give you Altium training)
@ -87,18 +87,18 @@ We have an [old spectrum analyzer](https://www.petertanner.dev/posts/HP-8560A-sp
1. Request design review and get the PCB made 1. Request design review and get the PCB made
1. Program the PCB (Should be simple since it's just adapting protocols, since this project is more about the PCB side than programming you can rip off some GPIB library code) 1. Program the PCB (Should be simple since it's just adapting protocols, since this project is more about the PCB side than programming you can rip off some GPIB library code)
# Flight Computer programming ## Flight Computer programming
While the hardware will be different, the concept of a flight computer doesn't really change. I will set you up with some breakout boards and you will program a flight computer on an STM32 microcontroller. While the hardware will be different, the concept of a flight computer doesn't really change. I will set you up with some breakout boards and you will program a flight computer on an STM32 microcontroller.
## Success criteria ### Success criteria
- Program a flight computer which can: - Program a flight computer which can:
- Set off a pyrotechnic charge using a basic relay when apogee and a set alittude is released - Set off a pyrotechnic charge using a basic relay when apogee and a set alittude is released
- Log information from all sensors to an SD card - Log information from all sensors to an SD card
- Extension: Maintain a radio downlink - Extension: Maintain a radio downlink
## Hints and notes ### Hints and notes
- The standard IDE is STM32CubeIDE, but if you hate Eclipse-based IDEs like me you can use the "Embedded tools" VSCode extension - The standard IDE is STM32CubeIDE, but if you hate Eclipse-based IDEs like me you can use the "Embedded tools" VSCode extension
- To use this extension you should install STM32CubeMX, STM32CubeCLT and STM32CubeProgrammer. - To use this extension you should install STM32CubeMX, STM32CubeCLT and STM32CubeProgrammer.
@ -108,11 +108,11 @@ While the hardware will be different, the concept of a flight computer doesn't r
- Look up libraries for your sensor part number to rip off. ST provides "platform independent drivers (PIDs)" which may be useful (you just need to implement the read/write function stubs by populating it with the appropriate code to call HAL functions) - Look up libraries for your sensor part number to rip off. ST provides "platform independent drivers (PIDs)" which may be useful (you just need to implement the read/write function stubs by populating it with the appropriate code to call HAL functions)
- Please don't hesitate to ask me questions, programming microcontrollers are quite fiddly. - Please don't hesitate to ask me questions, programming microcontrollers are quite fiddly.
# Squib driver demo board ## Squib driver demo board
Squib drivers are used in automotive applications to safely deploy airbags, which use e-matches just like in our avionics. The current avionics uses a current-sense amplifier and analog-to-digital converter. When an ADC interrupt is triggered, the microcontroller switches off the channel momentarily. This system is quite convoluted and failure prone, and having an automotive-certified part would remove this risk even if 10x more expensive. Squib drivers are used in automotive applications to safely deploy airbags, which use e-matches just like in our avionics. The current avionics uses a current-sense amplifier and analog-to-digital converter. When an ADC interrupt is triggered, the microcontroller switches off the channel momentarily. This system is quite convoluted and failure prone, and having an automotive-certified part would remove this risk even if 10x more expensive.
## Success criteria ### Success criteria
- Create a board of "any" size (it can be larger than normal, up to `100 mm * 100 mm`) which can accomodate an automotive squib driver. Ensure you use terminal blocks or some high-current connector for the pins that connect the driver to the squib/e-match. - Create a board of "any" size (it can be larger than normal, up to `100 mm * 100 mm`) which can accomodate an automotive squib driver. Ensure you use terminal blocks or some high-current connector for the pins that connect the driver to the squib/e-match.
- Make sure every other pin is accessible through a pin header - Make sure every other pin is accessible through a pin header
@ -122,29 +122,29 @@ Squib drivers are used in automotive applications to safely deploy airbags, whic
- Put LEDs and stuff on the board to indicate visually! - Put LEDs and stuff on the board to indicate visually!
- Some parameters to consider are the cost, how many channels are available per IC, the minimum voltage and firing current for example? - Some parameters to consider are the cost, how many channels are available per IC, the minimum voltage and firing current for example?
## Milestones ### Milestones
1. Choose your parts (Make a comparison table based on the parameters I suggested?) 1. Choose your parts (Make a comparison table based on the parameters I suggested?)
1. Create a schematic (Once you get to this stage let me know so I can give you Altium training) 1. Create a schematic (Once you get to this stage let me know so I can give you Altium training)
1. Create a PCB (Once you get to this stage let me know so I can give you Altium training) 1. Create a PCB (Once you get to this stage let me know so I can give you Altium training)
1. Request design review and get the PCB made 1. Request design review and get the PCB made
# ESP32 development board ## ESP32 development board
We typically use STM32 microcontrollers for flight computers, but ESP32 may be a good alternative since it has support for WiFi and BLE, which may simplify interfacing with the flight computer. One example of this is the Blue Raven flight computer, which has a mobile phone application. We typically use STM32 microcontrollers for flight computers, but ESP32 may be a good alternative since it has support for WiFi and BLE, which may simplify interfacing with the flight computer. One example of this is the Blue Raven flight computer, which has a mobile phone application.
## Success criteria ### Success criteria
- Make an ESP32 dev board with basics such as voltage regulator, USB connection. Also include a WiFi antenna on the board (either integrated into the PCB or using a pre-made sheet metal stamp antenna, ask me when you get to this stage) - Make an ESP32 dev board with basics such as voltage regulator, USB connection. Also include a WiFi antenna on the board (either integrated into the PCB or using a pre-made sheet metal stamp antenna, ask me when you get to this stage)
- Make sure it has headers spaced correctly so we can use it on a standard breadboard - Make sure it has headers spaced correctly so we can use it on a standard breadboard
- Look at arduinos for design ideas. - Look at arduinos for design ideas.
## Hints/notes ### Hints/notes
- I'm not too sure what the ESP32 ecosystem is like, I think it would be good to start off by doing a comparison of each of the parts (flash, ram, peripherals, pin count, cost...) and then we can decide which part to use. - I'm not too sure what the ESP32 ecosystem is like, I think it would be good to start off by doing a comparison of each of the parts (flash, ram, peripherals, pin count, cost...) and then we can decide which part to use.
- Ask me when you get to the antenna design stage which is in the PCB design phase (after schematics) - Ask me when you get to the antenna design stage which is in the PCB design phase (after schematics)
## Milestones ### Milestones
1. Choose your parts (Make a comparison table based on the parameters I suggested?) 1. Choose your parts (Make a comparison table based on the parameters I suggested?)
1. Create a schematic (Once you get to this stage let me know so I can give you Altium training) 1. Create a schematic (Once you get to this stage let me know so I can give you Altium training)
@ -152,19 +152,19 @@ We typically use STM32 microcontrollers for flight computers, but ESP32 may be a
1. Request design review and get the PCB made 1. Request design review and get the PCB made
<!-- <!--
# Analog video transmitter ## Analog video transmitter
## Success criteria ### Success criteria
- Receive at least 1 minute of video over a 10 kft LOS distance - Receive at least 1 minute of video over a 10 kft LOS distance
## Scope ### Scope
- Make a prototype setup to transmit and receive analog or digital video - Make a prototype setup to transmit and receive analog or digital video
- Use a raspberry pi to overlay text containing telemetry such as altitude, position, etc. - Use a raspberry pi to overlay text containing telemetry such as altitude, position, etc.
- Does not need to be a PCB yet - Does not need to be a PCB yet
## Hints and notes ### Hints and notes
- To be honest, I am not quite sure how this stuff works and I'm interested in learning as well - To be honest, I am not quite sure how this stuff works and I'm interested in learning as well
- Two ways I can see this being done: - Two ways I can see this being done:
@ -173,24 +173,24 @@ We typically use STM32 microcontrollers for flight computers, but ESP32 may be a
- Consider the differences in quality, error handling and bandwidth required when deciding between analog and digital video - Consider the differences in quality, error handling and bandwidth required when deciding between analog and digital video
- I'll update this once we get past a prototype - I'll update this once we get past a prototype
# Software defined gnss receiver ## Software defined gnss receiver
## Success criteria ### Success criteria
- Get position and altitude of the rocket through all stages of flight, including stages which exceed the velocity and/or altitude limitations of commercial GNSS receivers (510 m/s, 59,000 ft. See: [Coordinating Committee for Multilateral Export Controls](https://en.wikipedia.org/wiki/Coordinating_Committee_for_Multilateral_Export_Controls?&useskin=vector)) - Get position and altitude of the rocket through all stages of flight, including stages which exceed the velocity and/or altitude limitations of commercial GNSS receivers (510 m/s, 59,000 ft. See: [Coordinating Committee for Multilateral Export Controls](https://en.wikipedia.org/wiki/Coordinating_Committee_for_Multilateral_Export_Controls?&useskin=vector))
## Scope ### Scope
- Make a prototype/MVP system for doing this. It doesn't need to fit into a rocket or require self-powering at this current design phase. I will update the project when we have an MVP working. - Make a prototype/MVP system for doing this. It doesn't need to fit into a rocket or require self-powering at this current design phase. I will update the project when we have an MVP working.
- Test doing the post-processing on a single board computer. - Test doing the post-processing on a single board computer.
- Record enough data from launch to landing - Record enough data from launch to landing
## Hints and other notes ### Hints and other notes
- Capture raw [IQ](https://en.wikipedia.org/wiki/In-phase_and_quadrature_components?&useskin=vector) data from an SDR and do the post-processing in something like [GNSS SDR](https://github.com/gnss-sdr/gnss-sdr). Select an appropriate SDR which can digitize the L1 C/A GPS signal - Capture raw [IQ](https://en.wikipedia.org/wiki/In-phase_and_quadrature_components?&useskin=vector) data from an SDR and do the post-processing in something like [GNSS SDR](https://github.com/gnss-sdr/gnss-sdr). Select an appropriate SDR which can digitize the L1 C/A GPS signal
- This exists https://www.rtl-sdr.com/rtl-sdr-tutorial-gps-decoding-plotting/, but it seems to require a computer with windows installed to process the data. - This exists https://www.rtl-sdr.com/rtl-sdr-tutorial-gps-decoding-plotting/, but it seems to require a computer with windows installed to process the data.
## Future development ### Future development
- Miniaturize this setup and add a power system for use on a rocket - Miniaturize this setup and add a power system for use on a rocket
- Make a custom RF frontend specialized for the GNSS signals which is cheaper than buying an SDR - Make a custom RF frontend specialized for the GNSS signals which is cheaper than buying an SDR
@ -198,55 +198,55 @@ We typically use STM32 microcontrollers for flight computers, but ESP32 may be a
<!-- # Computer vision based rocket tracker <!-- # Computer vision based rocket tracker
## Success criteria ### Success criteria
- Create a system to track a rocket from launch to X ft (Until it becomes unrecognizable to the human eye or is obscured by cloud cover). - Create a system to track a rocket from launch to X ft (Until it becomes unrecognizable to the human eye or is obscured by cloud cover).
## Scope ### Scope
- Create a prototype of the system on a perfboard (Does not need a PCB implementation). - Create a prototype of the system on a perfboard (Does not need a PCB implementation).
- Must capture at least 15 minutes of video footage (enough for one launch) - Must capture at least 15 minutes of video footage (enough for one launch)
- Auto-zooms on the rocket - Auto-zooms on the rocket
- Must be self-powered either from Pb acid battery, generic powerbank or some self-contained power source - Must be self-powered either from Pb acid battery, generic powerbank or some self-contained power source
## Hints and other notes ### Hints and other notes
- Use a raspberry pi or some equivalent single board computer with **video processing capabilities** (Hardware-accelerated video encoder) and with enough processing power to do computer vision - Use a raspberry pi or some equivalent single board computer with **video processing capabilities** (Hardware-accelerated video encoder) and with enough processing power to do computer vision
- Should mount on a tripod - Should mount on a tripod
- Use several servos (pitch yaw and roll) and a servo to control the zoom (Search up zoom lens) - Use several servos (pitch yaw and roll) and a servo to control the zoom (Search up zoom lens)
## Future development ### Future development
- Incorporate this tracking system into the antenna tracker to improve on the RF-based tracking during launch - Incorporate this tracking system into the antenna tracker to improve on the RF-based tracking during launch
# --> ## -->
# Active tracking antenna ## Active tracking antenna
## Purpose ### Purpose
Antennas can be either directional or omnidirectional (Meaning the gain of the antenna is the same no matter how it is oriented). A directional antenna has high gain when oriented at the target, but poor gain if incorrectly oriented. This project will allow us to automatically orient an antenna so it has the maximum gain possible. Antennas can be either directional or omnidirectional (Meaning the gain of the antenna is the same no matter how it is oriented). A directional antenna has high gain when oriented at the target, but poor gain if incorrectly oriented. This project will allow us to automatically orient an antenna so it has the maximum gain possible.
## Success criteria ### Success criteria
- Track a water bottle rocket (for the first test iteration of the system), then track an L1 rocket! - Track a water bottle rocket (for the first test iteration of the system), then track an L1 rocket!
## Scope ### Scope
- Create a 2-axis gimbal system capable of supporting the [YAGI-868/914A](https://lprs.co.uk/assets/files/downloads/yagi-868-914a-antenna-datasheet-v1.3.pdf) Yagi-Uda antenna. Mass and dimensions are in the linked datasheet. There is no CAD model but feel free to measure the MMOI and other physical properties from the real antenna in the office. - Create a 2-axis gimbal system capable of supporting the [YAGI-868/914A](https://lprs.co.uk/assets/files/downloads/yagi-868-914a-antenna-datasheet-v1.3.pdf) Yagi-Uda antenna. Mass and dimensions are in the linked datasheet. There is no CAD model but feel free to measure the MMOI and other physical properties from the real antenna in the office.
- You may power the system off any power source you choose, we have a lead acid car battery you can use for the ground station in the office. - You may power the system off any power source you choose, we have a lead acid car battery you can use for the ground station in the office.
- At minimum create a perfboard prototype of the system using modules, or if you are feeling confident make a PCB as well. - At minimum create a perfboard prototype of the system using modules, or if you are feeling confident make a PCB as well.
- You don't need to make the tripod, feel free to buy something cheap from Aliexpress. - You don't need to make the tripod, feel free to buy something cheap from Aliexpress.
## Hints and other notes ### Hints and other notes
- A video of an antenna tracking system for a [drone](https://www.youtube.com/watch?v=8GCqYTDYZaM). This uses an ardupilot flight computer, but the same principles can be applied to the custom solution you will be developing - A video of an antenna tracking system for a [drone](https://www.youtube.com/watch?v=8GCqYTDYZaM). This uses an ardupilot flight computer, but the same principles can be applied to the custom solution you will be developing
- The gist of it is the target contains a GNSS receiver, and its position is transmitted to the ground station. The ground station has a GNSS receiver to get its location. From the two positions, you can find out where to point the antenna so it is facing the target. - The gist of it is the target contains a GNSS receiver, and its position is transmitted to the ground station. The ground station has a GNSS receiver to get its location. From the two positions, you can find out where to point the antenna so it is facing the target.
- This is a wikipedia article on [active tracking](https://en.wikipedia.org/wiki/Antenna_tracking_system?&useskin=vector), although in the context of microwave links with satellites. Still, the same principle applies. - This is a wikipedia article on [active tracking](https://en.wikipedia.org/wiki/Antenna_tracking_system?&useskin=vector), although in the context of microwave links with satellites. Still, the same principle applies.
# Build your own flight computer ## Build your own flight computer
## Purpose ### Purpose
A minimum viable flight computer for a competition grade rocket has at minimum the following functions A minimum viable flight computer for a competition grade rocket has at minimum the following functions
@ -268,7 +268,7 @@ Optionally, a flight computer may provide other functionality such as
You will prototype a flight computer on a breadboard, create a perfboard prototype then make a PCB of your flight computer which we will launch in a rocket! (Either your own if you are doing the L1 program or one of our members). You will prototype a flight computer on a breadboard, create a perfboard prototype then make a PCB of your flight computer which we will launch in a rocket! (Either your own if you are doing the L1 program or one of our members).
## Milestone 1: Perfboard flight computer ### Milestone 1: Perfboard flight computer
Create a flight computer on a perfboard using the following modules on a perfboard: Create a flight computer on a perfboard using the following modules on a perfboard:
@ -289,15 +289,15 @@ Create a flight computer on a perfboard using the following modules on a perfboa
- Linear regulator to step down voltage - Linear regulator to step down voltage
- Relay board - Relay board
## Milestone 1b: Programming ### Milestone 1b: Programming
We will program a basic flight computer using Arduino. Details to come, but it will include data logging and a way to deploy a parachute. We will program a basic flight computer using Arduino. Details to come, but it will include data logging and a way to deploy a parachute.
## Milestone 2: Incorporate GNSS tracking ### Milestone 2: Incorporate GNSS tracking
Since these modules are a bit more expensive, I'm going to share them around Since these modules are a bit more expensive, I'm going to share them around
- LoRa Sub-GHz radio - LoRa Sub-GHz radio
- U-blox GNSS receiver module - U-blox GNSS receiver module
## Milestone 3: Create a PCB based on these components ### Milestone 3: Create a PCB based on these components