mirror of
https://github.com/peter-tanner/peter-tanner.github.io.git
synced 2024-11-30 03:50:18 +08:00
New content for S2 intake UWAA
This commit is contained in:
parent
96ff57f789
commit
5f59059302
|
@ -42,6 +42,116 @@ The Telemetrum's Teledongle ground station is out of stock everywhere. We should
|
|||
|
||||
- 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
|
||||
|
||||
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
|
||||
|
||||
- Milestone 1: Receive data at a rate of 4000 kbit/s over a distance of 10kft, LOS.
|
||||
- Milestone 2: ???
|
||||
|
||||
## Scope
|
||||
|
||||
- Video transmitter on the rocket and receiver on the ground
|
||||
|
||||
## 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.
|
||||
- Make a comparison of cost vs data rate?
|
||||
- This project is very ambitious and we will probably have to keep this text updated
|
||||
- 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?
|
||||
|
||||
# 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.
|
||||
|
||||
## 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.
|
||||
|
||||
## 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
|
||||
- You may choose to pick a microcontroller with USB transceiver built in, or a microcontroller combined with a UART-USB bridge IC.
|
||||
- You are meant to use these [bus transceivers](https://www.ti.com/product/SN75160B), but some designs have gotten away with not using them for single-device applications. It is up to you whether you want your adapter to be compatible with GPIB and accept multiple devices, or only for adapting one device to one usb.
|
||||
- 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.
|
||||
|
||||
## Milestones
|
||||
|
||||
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 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. 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
|
||||
|
||||
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
|
||||
|
||||
- Program a flight computer which can:
|
||||
- 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
|
||||
- Extension: Maintain a radio downlink
|
||||
|
||||
## 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
|
||||
- To use this extension you should install STM32CubeMX, STM32CubeCLT and STM32CubeProgrammer.
|
||||
- Use STM32CubeMX for configuring the GPIO pins/Alternate functions
|
||||
- You can also use STM32CubeMX to include a real time operating system (RTOS), which will make your life easier since it allows you to have threads which can allow for some "concurrency" (actually multitasking).
|
||||
- You may use C or C++, although I don't find many C++ features useful in this context.
|
||||
- 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.
|
||||
|
||||
# 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.
|
||||
|
||||
## 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.
|
||||
- Make sure every other pin is accessible through a pin header
|
||||
- Follow the application note/eval board design if one exists
|
||||
- Look up parts on mouser or digikey, search squib driver
|
||||
- Also see if any of these parts are available on JLCPCB directly for cheaper
|
||||
- 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?
|
||||
|
||||
## Milestones
|
||||
|
||||
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 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
|
||||
|
||||
# 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.
|
||||
|
||||
## 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 sure it has headers spaced correctly so we can use it on a standard breadboard
|
||||
- Look at arduinos for design ideas.
|
||||
|
||||
## 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.
|
||||
- Ask me when you get to the antenna design stage which is in the PCB design phase (after schematics)
|
||||
|
||||
## Milestones
|
||||
|
||||
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 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
|
||||
|
||||
<!--
|
||||
# Analog video transmitter
|
||||
|
||||
## Success criteria
|
||||
|
@ -84,7 +194,7 @@ The Telemetrum's Teledongle ground station is out of stock everywhere. We should
|
|||
|
||||
- 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
|
||||
- Is it possible to use an FPGA to process this signal in real-time? (It's apparently really hard to do... I searched and the latest real-time implementation is from 2013)
|
||||
- Is it possible to use an FPGA to process this signal in real-time? (It's apparently really hard to do... I searched and the latest real-time implementation is from 2013) -->
|
||||
|
||||
<!-- # Computer vision based rocket tracker
|
||||
|
||||
|
|
|
@ -11,7 +11,16 @@ tags: [getting started] # systems | embedded | rf | microwave | electronics | so
|
|||
|
||||
Welcome to UWAA avionics! Here's some resources I would recommend to get started and some commentary on them.
|
||||
|
||||
## Sites to bookmark/use
|
||||
## The essentials
|
||||
|
||||
Have a read of this section at minimum.
|
||||
|
||||
- [UWAA sharepoint](https://uniwa.sharepoint.com/sites/uwaaerospace/) - Our sharepoint which is where our files are kept. Pro tip: Use the onedrive app to access/synchronize the files in your local filesystem instead of having to download/upload through the web interface.
|
||||
- [GitHub](https://github.com/) - Make an account here and join the [UWAA organization](https://github.com/uwa-aerospace) (Ask for access and send me a message if you have sent a request). Also consider applying for the [GitHub student pack](https://education.github.com/pack) which offers free GitHub pro and free trials of tools from many software vendors (For example, cloud credits or domains).
|
||||
- [Altium Designer](https://www.altium.com/) - Primary ECAD software we use here. You'll need to go to your account to download it. License is through UWA Aerospace, I will add your student email to the Altium365 organization and the Altium license pool and you should get two emails (assuming you have not registered an altium account yet).
|
||||
- On Mac or GNU/Linux, you will need to use a VM.
|
||||
|
||||
## Other sites to bookmark/use
|
||||
|
||||
### Etc.
|
||||
|
||||
|
@ -19,8 +28,6 @@ Welcome to UWAA avionics! Here's some resources I would recommend to get started
|
|||
|
||||
### Tools
|
||||
|
||||
- [UWAA sharepoint](https://uniwa.sharepoint.com/sites/uwaaerospace/) - Our sharepoint which is where our files are kept. Pro tip: Use the onedrive app to access/synchronize the files in your local filesystem instead of having to download/upload through the web interface.
|
||||
- [GitHub](https://github.com/) - Make an account here and join the [UWAA organization](https://github.com/uwa-aerospace) (Ask for access). Also consider applying for the [GitHub student pack](https://education.github.com/pack) which offers free GitHub pro and free trials of tools from many software vendors (For example, cloud credits or domains).
|
||||
- [ChatGPT](https://chat.openai.com/) - I think everyone knows what this does by now. It's definitely useful, one issue related to avionics is, that if you get it to write firmware based on sensor-specific libraries, it may hallucinate functions or incorrect function signatures, since there is not much embedded code on the internet for specific sensors, compared to the amount of web dev code out there where it performs better.
|
||||
- [Circuit JS](https://www.falstad.com/circuit/circuitjs.html) - A real-time circuit simulator! You can modify components live while it is simulating, so it is great for experimentation. However there are [limitations](https://electronics.stackexchange.com/a/56902) compared to SPICE simulators, often times you will see this limitations manifest as convergence errors, but if your circuit is complex then it is best to copy it over to a SPICE simulator for a more accurate result after making it here.
|
||||
![circuitjs](/assets/img/2024-03-06-UWAA-starter-guide/circuitjs.png){: style="height: 300px" }
|
||||
|
@ -38,12 +45,10 @@ Welcome to UWAA avionics! Here's some resources I would recommend to get started
|
|||
|
||||
## Software to download
|
||||
|
||||
### Avionics essential software
|
||||
### Avionics software
|
||||
|
||||
Please download this software
|
||||
Your first project will likely involve one or more of these software packages, I will specify in the project brief.
|
||||
|
||||
- [Altium Designer](https://www.altium.com/) - Primary ECAD software we use here. You'll need to go to your account to download it. License is through UWA Aerospace.
|
||||
- On Mac, you will need to use a VM.
|
||||
- [Visual Studio Code](https://code.visualstudio.com/) - IDE for many languages, very customizable.
|
||||
- [LTspice](https://www.analog.com/en/resources/design-tools-and-calculators/ltspice-simulator.html) - Advanced circuit simulator. Also comes with model files for Analog Devices components, but is able to use third-party model files too.
|
||||
- Runs on Linux through Wine
|
||||
|
|
Loading…
Reference in New Issue
Block a user