Maiden-Flight RaspberryPylot

RaspberryPylot made it!
With perfect weather and a great ground-team supplying me with food, the RaspberryPylot successfully completed its maiden-flight today. A laptop with gamepad, a wifi-connection using two simple USB dongles, an I2C servo controller and a Raspberry Pi and it’s ready to go:

 

Control via the gamepad was very comfortable and easy. Two analogue sticks for elevator, rudder, and ailerons. Two buttons to increase and decrease throttle and another two buttons to control the ailerons as flaps (flaperons). We didn’t test the master/slave mode today, but one can attach two gamepads and use one master button to switch between both with independent control profiles for each mode. In principle one could pass over the control of only one single axis at a time.

Many thanks to the CRRCSim team for creating such a fun way of training pre-flight.

Cheers
Tim

13 Replies to “Maiden-Flight RaspberryPylot”

  1. Hi Tim,

    wie ich sehe bist du wieder im RC Geschäft gelandet ;). Immer wieder schön nach langer Zeit mal wieder auf deiner Seite zu stöbern…Gruß, Martin

  2. Very cool Tim!
    We seem to have similar, nerdy hobbies these days, though I’m not doing anything as DIY as you are. I have been flying a Bixler II plane lately which is a copy of the Easystar. I put it together with some modifications and have been playing around with FPV for it. I’m also doing a lot of fun things with multicopters, FPV and aerial photography and video. We will have to meet up again some day and have a flight day with all of our great toys. Hope you’re doing well man.

    Oh, and happy birthday!!

    -Ben

  3. Hi Tim,

    I’ve always fancied having a go at building and flying an Easy Star II glider, but the cost of a receiver and transmitter makes the whole build seem quite expensive. By using the Raspberry PI and wi-fi dongles (I could even use my phone instead of a laptop) this seems like a great idea.

    What components would you suggest to go with the Easy Star II kit to get up and running – i.e. motors/servos/PI plug in boards etc?

    Thanks,

    Alex

  4. Hei Alex,

    I am using the brushless motor ‘Maxi Dancer’ from Kontronik and the YGE 18 motor controller. As the motor is a bit too large for the Easy Star II, I attached it to the outside of the gondola which works quite well.

    Cheers
    Tim

  5. Slight change of plan. I have ordered a Bixler 2 ARF kit and just added a 20A ESC and 11.1v LIPO battery. The ESC didn’t come with anything soldered so I have to wait for connectors to arrive before I can test the motor. I did manage to get one of the servos to move.

    Do you have any diagrams or pictures you could share with me? How about source code or a getting started guide?

    Thanks

  6. It is interesting to see you using MAVLink, I can see the heart-beat message and message 70 – RC channel override. Is there any reason for using that over some simple text stream i.e. “move servo1 90degrees” etc?

    I wanted to try using the PI’s own servo driving ability before buying a controller. Your RPyPCA9685 library has a useful function to set position which converts to servo pulses. Do you have any simple formula or maths to convert from a joystick input to PWM – i.e. pulse width and frequency? I was looking at using RPIO.PWM

  7. Regarding MAVLink, as an engineer I do like standards 😉 Why reinvent the wheel? Also standards can enable interoperability across implementations.

    The PWM conversion is simple linear interpolation: suppose you have an input signal between InLow=-100 and InHigh=+100 which you want to convert to the range OutLow=1ms and OutHigh=2ms pulse width the ratios are (SignalIn-InLow)/(InHigh-InLow) = (SignalOut-OutLow)/(OutHigh-OutLow) which gives: SignalOut = (SignalIn-InLow)*(OutHigh-OutLow)/(InHigh-InLow) + OutLow if I didn’t do any mistakes solving this after shoveling snow for two hours 😀

    The pulse width for servos is usually absolute between 1ms (turn to one side) and 2ms (turn to other side), if I remember correctly, this is repeated at 50Hz.

    http://en.wikipedia.org/wiki/Linear_interpolation
    http://en.wikipedia.org/wiki/Servo_(radio_control)

  8. Hei Karel,

    I haven’t use the RaspberryPylot in a long time, but your plan sounds great! Awesome concept to use the wifi un-associated, that would certainly work well for the control side as well.
    Let me know if you make any progress on this. I’m really curious.

    Tim

Leave a Reply

Your email address will not be published. Required fields are marked *