Close

Minimalism in QuadCopter Design

A project log for Drone Swarm

Drones of varying complexity swarm an area, forming a distributed sensor and actuator network.

les-hallLes Hall 03/16/2015 at 12:540 Comments

Someone (I have a tough time with names) followed this project and made an insightful comment about my control system. I was trying to make a stable quadcopter without a gyro - and that's a nono! Mainly because the copter would spin out of control without angular information. I should know better having actually bought a toy quadcopter that was so low in cost that it had no gyro, resulting in very unstable flight. Not to mention I did some test engineering work for the Navy on the Harrier's equivalent internal sensor. I should know better!

What drew me into it was minimization, or the excessive exercise of same. I really want to make a very small quadcopter so it can be used in new ways, so I want to use the ATtiny84 processor (which is an Arduino chip with only 14 pins) and the smallest sensor package possible. I thought that perhaps I could do some temporal decision based control by mounting the sensor offset from the copter's origin and detecting common-mode signals between X and Y, then differentiating between drift and rotation by observing the copter's reaction to control signals. I may just try that while I'm waiting for parts to arrive which will take at least a week and a half (sigh on a tight budget right now).

But really you do need the right system in place, so I must choose between using a second accelerometer mounted opposite the first or a wonderful little $20 part sold by Adafruit. I know I can read the analog signals of the dual accelerometer approach easily, but the other part presents a problem with the software. I went ahead and tried to compile the example program provided after installing all the Adafruit control libraries and dontchaknowit it ALMOST works on an ATtiny84. The problem was that the soft serial library is required on the ATtiny85 and when I fixed those errors then i got errors from the Wire library and at that point i quit because I don't know of any softWire equivalent library or other fix. Also the program may not fit on the 8k of space available, not sure about that.

This left me exploring minimalism alternatives including other chips and so on and looking into all that is required, on my slim budget, i decided to punt and just go with a dual accelerometer solution. I certainly will, however, attempt the single accelerometer hack just to see if it works.

Les

Discussions