- Joined
- Jan 18, 2009
- Messages
- 3,172
- Reaction score
- 1,383
Those are great little computers, although actually not that small.
I assume the same remark would be true for an Arduino? I hope to get into these devices someday, but not so much if they are the wrong choice for rocketry.One orher limitation of the non-microcontroller Pi devices is that they're not a real-time OS. Really cool and powerful devices, and I have several, but for flight control you want something with real-time OS like the RP2040 or other microcontroller.
Arduino is a microcontroller and so is more suited for real-time applications compared to a Raspberry Pi(except the RP2040 which is a microcontroller) Typically Arduino devices are small and underpowered compared to other microcontrollers but they're extremely common and cheap so a very good place to get started and learn but I'd go with something more powerful like an ESP32 or Teensy to do actual flight control.I assume the same remark would be true for an Arduino? I hope to get into these devices someday, but not so much if they are the wrong choice for rocketry.
I assume the same remark would be true for an Arduino? I hope to get into these devices someday, but not so much if they are the wrong choice for rocketry.
The classic Arduino form factor is a little big and a little underpowered IMHO. The smaller Cortex-M0 boards (e.g., Adafruit Trinket M0) are probably what I would use from scratch, though the smaller ATmega328-based Arduinos (e.g., Sparkfun Pro Mini 328) are still sufficient for lots of stuff.
Those are great little computers, although actually not that small. I have use them for several things, including to drive a picture frame:
https://github.com/JohnCoker/pictureframe
HAAAALP! I DIDN'T KNOW THEY'D CUT OFF TICKET SALES! I WANNA REGISTER!What heada said.
Bruce and I are running a "get started with" Arduino session at vNARCON on Sunday, if you're interested.
HAAAALP! I DIDN'T KNOW THEY'D CUT OFF TICKET SALES! I WANNA REGISTER!
I assume the same remark would be true for an Arduino? I hope to get into these devices someday, but not so much if they are the wrong choice for rocketry.
I have heard (for lack of a better term) complaints about Arduino not being real-time or not multitasking or not enough RAM, etc since around the same time I heard about Arduino.I assume the same remark would be true for an Arduino? I hope to get into these devices someday, but not so much if they are the wrong choice for rocketry.
Ah, the good old days of efficient code and minimal RAM and power usage! How fast will the loop execute? What's the settling time on your controlled device? And as you noted, it's often not how fast you can sample, but how fast you need to sample, or how low of a rate can you get away with?I have heard
I have heard (for lack of a better term) complaints about Arduino not being real-time or not multitasking or not enough RAM, etc since around the same time I heard about Arduino.
Please don't assume I am speaking negatively about those expressing such concerns. I believe that its' lower statistics when compared to a desktop PC are irrelevant when the needs of the project are concerned. Often I feel that my $ is wasted when I load a sketch that uses 5-10% of available memory and like many people find myself considering ATtiny procs that use less power and give me just the IO I need for my project.
RAM limits teach us to write efficient code. Did I create a global long when a boolean would have worked? Did I remember to F my serial.prints in my debugging code? What in a given includeLibrary, am I adding and what do I actually need?
One YouTuber (forgive me I forget which) broke down loop speed and did his best to count how many times his code actually completed and started over per second. A hint at the answer is the "M" in mHZ!!! Speed to look for something happening/changing and respond of course isn't 8million or 16million times per second but at what point is something "slow"? 500,000Hz, 100,000Hz, 10k... 1,000 times every second make a check on our altitude?
BMP280 claims 1m resolution and hesitates to give an answer on how fast you can ask it again.
I find thrustcurve data and openrocket sims generally sample or sim around 0.1 to 0.2 seconds at a time (or perhaps just display that). Given a Soyuz cluster as an example:
If I know and trust the data, I can sequentially fire motors in flight just at the end of a burn OR fire the next just 0.1 seconds before the previous begins to reduce thrust from peak.
Probably a bad example above honestly as an IC555 can do that with a few caps and resistors.
I'm in same boat, I've got a lot of catching up to do.Ah, the good old days of efficient code and minimal RAM and power usage! How fast will the loop execute? What's the settling time on your controlled device? And as you noted, it's often not how fast you can sample, but how fast you need to sample, or how low of a rate can you get away with?
My class way back when was on the Motorola 6800 microprocessor. We thought 16 bits and 16 MHz was really something back then!
If all you want to do is control recovery events, go with a commercial device. I have Quarks and love them. They're well proven and optimized already for the task. Where a custom setup comes into play is where you want to do something that isn't available on a commercial device, e.g. active flight control.I'm in same boat, I've got a lot of catching up to do.
There's a lot of interesting stuff available cheap and I've made a start trying to learn a little of it. The question is, rocket wise, do I really need anything more sophisticated than a $20 Eggfinder Quark to pop two parachutes?
Good for you! Even if you never use it, you learn a little more about what the ol' Quark is doing! Plus it's good brain exercise for us old retired types!I'm in same boat, I've got a lot of catching up to do.
There's a lot of interesting stuff available cheap and I've made a start trying to learn a little of it. The question is, rocket wise, do I really need anything more sophisticated than a $20 Eggfinder Quark to pop two parachutes?
Enter your email address to join: