I’ve been slowly working on my own autopilot system for more than half a year. I spent most of my time gathering knowledge and components. The last few weeks I worked a bit more intense on the project and it paid off: the stabilisation and servo controller are finished. They have been tested successfully and proved to be reliable!
Now, what can my module do:
- Calibration on startup (defining min and max values for the sensors, and the neutral point)
- Manual mode: Pass transmitter signals to the servo’s
- Stabilized mode: Read the desired roll- and pitch angle from the transmitter sticks and stabilize the plane in those desired angles. This stabilization works with thermophiles. They sense the temperature difference between the ground and the sky.
- (mode is determined by a slider on the RC-transmitter)
- Delta mixing is done in the microcontroller so it’s not required on the transmitter (makes it easier to read pitch and roll input signals seperately)
- DSP filtering. The PPM signal is taken from the receiver before any DSP-filtering is done, so we need to do it ourselves to eliminiate glitches. Features:
- Checks if every PPM frame has the same number of channels.
- Checks if every pulse in the PPM frame is within a valid range (1ms and 2ms).
- When a bad frame is received: keep the last valid positions. Go to failsafe positions after 2 seconds.
- Read input from UART instead of RC-transmitter (interfacing to other microcontroller or PC)
I tested the stabilization unit on a small delta wing (40cm span) because I see no use in testing it in an easystar :-)
Module on the bottom of the wing:
Sensors on top of the nose, slightly pointing up:
Now some showing off :-)
The stabilization works so well I can launch the plane with the transmitter on the ground! When I give full left, the plane understands this as “go as much left al long as you can still see the horizon”. Considering the IR-sensor lens of 100 degrees, this will probably be about 40-50 degrees.