Wednesday, April 8, 2009

A different project

Whilst I sort out some annoying rs232 problems with my Arduino, I have been working on a couple of little projects, one of which I can show a bit of today.

This starts with a little history. I have always been interested in flying contraptions, and a while ago, on an impulse, I purchased a LAMA V4 RC Helicopter (below).

The LAMA is a basic, easy to fly, Coaxial helicopter. Obviously, as soon as I had learnt to fly it, I started modifying it. Since then, it has been converted into a small, light-weight platform for some future robotics experiment.

...A year passes...

Now, to the present, and I will show you a video. This is the LAMA in it's current state, being flown relatively badly.

The important thing about this video is the details, specifically that I have inserted a PICAXE-08M chip in between the output of the RC receiver and the back-and-forward tilt servo on the helicopter. The point of this is to test the accuracy of the PICAXE's pulsin and pulsout commands. The program on the PICAXE simply listens for a pulse from the RC receiver's servo connector then repeats that pulse, sending it to the servo. The PICAXE is installed as shown in the following two images (click to enlarge).

The point of all this is to verify that the PICAXE is capable of accurately and quickly repeating Servo control signals. This has been verified, as the helicopter flew as well as it did before the modification, with there being absolutely no difference in the fidelity or response of the servos. Based on this, I intend to connect an accelerometer (possibly this one at Maker Shed) to this PICAXE, allowing the helicopter to maintain a steady forward/back position in space. This will be expanded to left/right as well after the accelerometer's integration is finished.

The most awesome part of this experiment is the simplicity. Anyone, with a $5 IC, can interface and interfere with the signals to an RC servo, and do so in a high-accuracy manner. Adding to this simplicity is the fact that (in this case, at least) the PICAXE is powered from the power supply to the servos, which was 5V.

The PICAXE-08M code for this example is as follows:

'read a pulse in
pulsin 4,1,w0

'pulse it out
pulsout 0,w0

goto main

The circuit is simple too (click to enlarge):

I just have to name whatever it will become now. How about PICopter.