The “Avionics” subsystem works with anything that is related to an Unmanned Aerial Vehicle’s electronics. Specifically, the subsystem’s primary goal is the creation of proper infrastructures for achieving flight and collecting necessary data during it. This includes the construction and maintenance of the aircraft’s electronics, but also the manufacturing, programming, and calibration of the appropriate sensors.
On the topic of the first category, the “Avionics” subsystem chooses the proper Li-Po (Lithium-Polymer) battery, which powers the motor, and, thus, the propeller of the aircraft. In order for a proper choice to be made, the subsystem co-operates with the members of the “Structural” and “Aerodynamics” subsystems, in order for aircraft mass, battery placement, route plan, et cetera, to be added to the calculations.
The aircraft’s control during flight is also of vital importance and it is achieved via the vehicle’s control surfaces. Specifically, each control surface is actuated by a servo-motor, activated by Pulse-Width-Modulated signals, which correspond with the actions of the Remote Pilot. Each servo-motor is also connected to a shared receiver circuit. The receiver communicates with the Pilot’s transmitter, and thus, a remote control is made possible. Choosing, installing, and properly connecting these servo-motors is a primary duty of the subsystem.
Sensors are used for the collection of necessary data. They measure the most basic units related to the flight of an aircraft, e.g., position, location, velocity, altitude, and atmospheric pressure. The majority of sensors used are ready-made and widely available on the market, compatible with the Arduino platform, and programmed by the Avionics subsystem, depending on the operational requirements. Everything is placed inside the aircraft’s fuselage as a single measurement unit with the purpose of collecting accurate data during the aircraft’s test flights.
Many of the above-mentioned factors can be measured using the Global Positioning System. The previous generations of the subsystem decided to use the sensor Ublox neo 6m, which contains an integrated system capable of communicating with satellites in the atmosphere. Hence, the subsystem has already implemented the respective libraries. The code was written taking into consideration that the transmission systems planted in satellites transmit certain constant-length “sentences“ that contain encoded information regarding the receiver’s location. These “sentences” received by the neo 6m’s receiver are decoded by being parsed and so, the desired information is acquired. Thus, the exact location and the relative velocity of the aerial vehicle with respect to a human in the ground are successfully calculated.
For the measurement of the aircraft’s exact Euler angles or altitude, the subsystem traditionally uses the sensor “MPU6050” which is also Arduino-friendly and houses a 3-axis gyroscope, a 3-axis accelerometer. The team has also implemented a library in C++ -a programming language compatible with the Arduino IDE- so as to be able to acquire and process essential data regarding the angle, the angular velocity, and acceleration.