HL-2B - Arduino flight controller - Weight shift helicopter
607 views · Published 24 August 2018 · 3:47 · Indexed 29 October 2026
Channel: RCmags · 2018 · Entertainment
This version of the HL-2 has only a few major modifications from the last iteration: - The main rotor blades were extended and the hover collective pitch of the blades was decreased. This allowed the blades to operate at a slightly lower angle of attack and increased their area along with the speed of the air flowing past them. Additionally the external tip weights of the blades were removed and no overbalance was present. Only enough mass was concentrated at the leading edge to prevent the onset of flutter. - The servo arms were replaced with longer ones and the linkages were placed farther from the pivot of each servo. This allowed the rotor to be tilted more for a given deflection of the servos. - An Arduino Nano along with an MPU-6050 6-axis gyro was attached to the helicopter. The arduino was programmed to receive signals from the gyro and radio receiver, decode them, combine them, then output this new information as signals the servos and tail rotor ESC could use. These alterations were done for the sole purpose of providing augmented stabilization to the helicopter via the arduino. By using a modified proportional-integral algorithm where the integral term "decayed" with time, the aircraft was stabilized about all rotational axes. In order to use this algorithm effectively, the reaction time of the control system had to be sufficiently high, hence the increase in servo throw. Likewise, the longer and more unstable blades also improved the ability of the rotor to react quickly to control inputs. By far, the most challenging part was filtering vibrations from the raw gyroscope signals. Given the helicopter had high frequency vibrations from the motors, and low frequency vibrations from the main rotor, a compromise had to be found between filtered signal reaction time and its ability to damp most of the vibration noise. As the control system could only force the fuselage to oscillate at frequencies of around 2 to 4 hertz, the filtered signal only had to be fast enough to track this motion accurately. All other frequencies could be ignored. To achieve this, three complementary filters (exponential filters) were used to filter the raw gyro signals, in addition to a glitch filter ( a deadband ) that compared the raw signal to the value of the first complementary filter. By successively filtering the previously averaged value, a high reaction time was possible while also damping most higher frequency vibrations.