Questions about the conception of an OBC

Thread Starter

Etne

Joined Apr 5, 2019
3
Hello,
I’m a french student in an aerospace engineering school. I want to challenge myself so I decided to try to make an OnBoard Computer for a rocket designed by an association. I’m comfortable with C and C++, the programming part should be okay. I’m planning to use FreeRTOS to ease the development.

The association let me choose the board on which the software will run. And that’s where I need you as I know nothing yet about embedded systems. My question is :
Which board should I use for an OBC? The OBC will collect data, do computation, write files and transmit data through antenna all of this very quickly (that is why I chose a RTOS). I also would like to experiment before writing the rocket software, to be comfortable with all the concepts and technology. Ideally I would like to use the same board but I think that it will be an expensive one no? If yes, which board for a beginner like me should I use?

A last question, I learned to use a FPGA in my school, can it be useful in my project? When I look at the advantages, it says that they are slower than SoC...

Thanks a lot for your help and have a nice day!
 

Yaakov

Joined Jan 27, 2019
1,612
Welcomevto AAC, Etne!

It sounds like a very interesting project and quite challenging. To do this right you have to get more information about the physical parameters of the flight, and actual speed at which the data collection would have to operate. It might be best to do a hybrid system with an FPGA doing very specific heavy lifting tasks and the RTOS managing the results.

In any case, for a project like this, you should start out by writing a narrative of what you would expect the flight to be like. You can literally start from launch, and work out what will be required at each step. This description might reveal some things that are mutually exclusive and point at multiple processing elements (e.g.: FPGA + MCU), it will help you make a clear list of sensors you will need, and it might surprise you in some unexpected way. Even if it doesn’t, it will help with your communication with collaborators.

You should also try and find out as much as you can about operating conditions like temperatures, G forces, things I can’t think of right now, etc. This will help in selecting sensors and other devices properly and not discovering that something which looked good in theory fails in practice.

In an engineering project like this, the choice of a platform is based on many things. Sometimes it is based on the engineer’s personal knowledge of certain products—this is not a constraint for you. But that freedom is also a burden. You are only going to be able to guess if a particular platform is a good choice. To be sure people who are helping can be most helpful, information is key. Your narrative descriptions, drawings (for example block diagrams included all functional blocks) and even schematics if you can provide some, will help.

Good luck, you have a lot of work ahead, rocket engineering is hard! Seriously.
 

BR-549

Joined Sep 22, 2013
4,938
I would recommend a stm32 evaluation/discovery board. There are several to choose from. Some have accelerometers, wi-fi radio/GPS, and displays built in. Anything can be added.

Professional IDE programming. Low power. High speed. Lots of memory. RTOS.
 

Yaakov

Joined Jan 27, 2019
1,612
Is this board expected to control the flight system too? That's a hard real-time system that should be IMO on isolated hardware from the data/link processing side.
https://users.ece.cmu.edu/~koopman/des_s99/real_time/

It was my impression the system was purely telemetric. We had a capstone project group who decided they were going to make a guided missile. They very quickly learned what a difficult thing missile guidance is, but in the end, they actually managed to make something that demonstrated some control, and passed their proposed test. It was no military technology, but it did guide the missile over a short distance to a target. Very impressive.
 

Thread Starter

Etne

Joined Apr 5, 2019
3
Hello all !
First of all, thanks a lot @Yaakov for your wise advices, it helps me a lot. For the moment the system is just telemetric. Later we plan to do a more advanced rocket with flight system but for the moment let keep it simple.

@BR-549 I went ahead and I bought an stm32 (stm32f446re) board to get my hands on the system. I took a powerful (I think) MCU, who knows, it may be powerful enought for the project and I will be able to use it. Anyway, thanks for your advice.

@Yaakov you talked about FPGA, can they be useful knowing that there is little chance that I will have heavy computation to do? The most important part is telecommunication, we want to know everything from the rocket as fast as possible. We will be able to improve our system with all of these data later (and maybe make a new iteration of the OBC with flight system :D).

Again, thanks everybody for your help!
 
Top