Keeping the SkySpy under control…

Here’s the remote control I’ve put together.  Hardware is complete, and software isn’t too far off; all that missing is the message definitions that the controller sends to SkySpy and the code on the SkySpy to act upon those.  But before then, I want to get this controller to be a wireless access point, so that I can test the pair outdoors without needing to somehow connect them via the internet wireless phone hub in the house.

SkySpy Controller

SkySpy remote control

There’s a couple of digital joysticks where each has a switch too.  The left-side one will control up and down, the right side, forwards, backwards, left and right, and I’ll be using switches to trigger automated stable take-off or landing plus pressing both together will be an emergency shutdown.   It’s the switch actions I’m aiming to achieve first, and I think it’s gonna be a lot of trial and error – hence my need to get out of the house to do the testing, and therefore the independent WAP.

Other minor details – there’s a Ninja PiBow, a Lithium Ion battery and 3 breadboards on here.  The boards are particularly  perfect as they have six rows of connectors instead of five, and the power track points are aligned with the main board connects.  Together that means more connectors, more densely packed, and in this case, that means they fit under the Ninja Pi posts snug as a bug in a rug.

You’ll also note the +3dB antennas used in preparation for outdoor use both on SkySpy and the controller.

Presenting the SkySpy

SkySpy

SkySpy – a self-piloted quadcopter (eventually!)

The blades started spinning yesterday for the first time, so I thought I’d show what I’ve been up to after the turtle.  Although the blades are spinning, it’s not left the ground yet.  There’s a lot of work to simply get takeoff, and then have it level out without hitting something in the room (i.e. me!).  Currently it’s a drone – control is all within the Python script integrating the I2C PWM and motion detectors.  I have plans to add a second RPi as a controller, but currently I just rlogin to kick off the blades.  A ctrl-C on the python shuts them off pronto!

The body itself is a DJI Flamewheel 450 – the kit provides the body, motors, cabling and ESCs, leaving it to me to provide the control parts.

The Spy in the title comes from the RPi camera it will carry when available.

P.S. An ESC is an electronic speed controller.  It takes a PWM input, with a carrier frequency of up to 400Hz, and in each 2.5ms cycle, the signal is high for 1 – 2ms.  The ESC then takes this signal, converts it to a 3 phase equivalent (120o separation), feeds the result into 3 H-bridges which  control how long the 30A, 11.1V power is fed into each motor stator per cycle.  Note the current through the coils is always at maximum, but it is the time it is fed which controls the overall power and hence blade spin speed.  The ESC gets inductive feedback through the same cables driving the motors allowing it to fine turn the power it applies.

In my original whitterings about doing a quadcopter, I though the ESC could be replaced by Pis – ignorance is bliss!  Having learnt the above, I’ll leave the ESCs to the people that know how and leave the Pi to do PWM, acceleromer and operator control function!