3 ms·
Unfortunately , I'm not too good at documenting my stuff and the most I've done in that regard is to take photos and show people what I've made on a rocket disc
by polishdude20 6y ago
Unfortunately , I'm not too good at documenting my stuff and the most I've done in that regard is to take photos and show people what I've made on a rocket discord channel I'm a part of. Here's a photo of the PCB after it was put together!
https://i.postimg.cc/PqdsVszZ/IMG-20201105-172236.jpg https://i.postimg.cc/PqdsVszZ/IMG-20201105-172236.jpg
The top circuitry and chip are the Bluetooth circuitry. The PCB antenna is hidden away under the top CYGNUS solder mask. It's got three servo channels, two high current pyro channels that can be variables controlled to deliver a variable current using PWM, it's using a BMI088 as the IMU , a MS something or other chip (can't remember off the top of my head) as the altimeter. It's got 16Mb of flash which is that chip to the top left next to the microcontroller. It's got an SD card port for data storage, buzzer, neopixel LED and a buck converter for converting the LiPo 11V to 5V efficiently as well as a linear regulator for converting from 5V to 3.3V. lemme know if you've got any questions!
- pcdoodle 6y agoNice Bosch IMU? I'm working on a design using the BMX160 (10 DOF Sensor). What bluetooth chip is that? Are you using a PCB trace antenna?
- polishdude20 6y agoYep Bosch IMU, the Bluetooth chip is the NRF8001 and yeah it's using a PCB trace antenna!
- avmich 6y agoIt would be great to have a website with details and a forum for discussion, questions can be very specific to post here. E.g. what tools do you use to write code? How do you control temporal properties of the code? How do you process orientation information, do you use floating point of the microcontroller?
- polishdude20 6y agoAs it just so happens I've created a github repo for the project complete with schematics and board files, images and specs. https://github.com/polishdude20/CygnusX1 https://github.com/polishdude20/CygnusX1 The code is written in C++. You can use the Arduino IDE or platformio which is a VScode extension for working with microcontrollers. I use platformio since it's got syntax highlighting and other stuff. The Arduino IDE is really barebones. The board is really close in software to an adafruit feather m4 (same chip and bootloader as well as some config files that I modified). For controlling the temporal properties, I'm not sure what you mean? The microcontroller runs functions and runs in a loop. You can get certain functions to run every time the loop is executed or have them run at intervals. So there's a setup function that runs once and only once at the beginning which I use to initialize all the sensors and other things. Then inside the loop function I've got various timers triggering at various intervals to run certain functions like checking sensors, converting data, saving data etc. Processing orientation info starts with the raw gyro values. So I get rad/sec or deg/sec out. Then use a bunch of quaternion math to figure out the yaw, pitch and roll of the rocket in flight. Yes, floating point numbers are used :)
- polishdude20 6y agoAlso, if you're interested, I'm part of a discord channel for this kind of stuff. There's a guy on YouTube called bps space who does this. To get invited to the channel you've gotta pay $5 per month on his Patreon though. It's super worth it if you want to get into this. There's tonnes of people on there willing to help