Analog board will be used mainly for monitoring Third module is planned to be Analog board which will make acquisition on all analog signals (voltages, currents, temperatures, etc) and pass to ADC inputs of the MCU.Here is also Interface for sensors using I2C bus which is also isolated. Here all signals are isolated and power supply's for the outputs are switchable with current limit. Second module is the IO Board which contain input from RC receiver and output for motors and servos.First module is the flight controller with power supply and storage (uSD).About the HW, for now I have 2 modules designed, total of 4 modules was the plan. I chose RM48 Herculles series microcontroller from TI because they are designed for safety critical applications implementing ARM Cortex R4 dual core in lockstep architecture. Thanks for the replay Jakub, I'm sure that I'm not alone in this type of design, but all available flight controllers on the market today are very far from safety critical system.We have similar points in our designs, and almost anyone have modular design at the beginning of the project (me also ). If this computer fails, flight controller can still perform basic navigation and return home/land safely. I decided to keep flight controller as simple as possible and move all advanced stuff to onboard computer. Moreover, if you plan to use this flight controller in more complex systems (for example drone with extra navigation features, cameras, advanced flight patterns), you need to decide which functions should be done by flight controller itself and which should be done somewhere else. Things to consider when designing safe flight controller: - what happens if one of the modules (if modular) or components (if not modular) fails: does it bring down other parts of the system (for example by short circuiting power lines) - how to manage redundacy: there always has to be a joining point where redundant systems meet and information from one of them is delivered to servo/motor - how to manage EMC: shielding, isolation - how to manage vibrations (very important for every flight controller!) - how to manage temperature drifts and temperature compensation - how to communicate different modules - flight controller is as safe as it is aware: what happens if you loose GPS signal (jamming)? I did a lot of thinking on these topics and I believe I have an answer to every question, but I don't want to suggest anything just yet - my solution may not be perfect and you may come up with much better ideas. I tried looking into it, but the documents were either hard to find or hard to get through and I eventually decided to focus on engineering rather than fulfilling requirements, that may not be reasonable for this particular system. As far as military systems go, there are some special MIL standards to follow. One of the projects on my "to do" list is to make a very good hardware (based on what I did before) that will be compatible with Ardupilot code (minor modifications in low-level code required). Ardupilot runs on Pixhawk platform which is good for basic flying but lacks in EMC, accuracy and reliability. These days my approach to reliable flight controller would have been very different: there is a great amount of software work done in Ardupilot project. With bad software, even the best sensors will be of no use. Even the cheapest gyros and accelerometers should get you flying if you have good software. Currently available hardware (sensors) are good enough. The key to flight controller is software. I also did EMC testing and the whole system outperformed expectations (mostly thanks to metal shielding and isolation). The idea was that parts of this system could be used independently, for example IMU/INS. It was a modular design, meaning that there was a separate unit for INS, separate unit for GPS, magnetometer and barometer, separate unit for main flight controller and yet another unit for power management and motor/servo outputs. It was designed mainly for high reliability, immunity to strong electric and magnetic fields, modularity and accuracy. The first one was simple in hardware (STM32F4 + MPU6050) and was used to work on the software, the second one was an overkill in terms of hardware (full isolation of power and communications, modular design, triple redundancy of sensors, high-quality sensors, CAN bus, wide input voltage range, etc). Zarko, Among a few unfinished attempts, I have designed 2 flight controllers that actually flew.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |