Let's Make Robots!

3 Helix Wings

Flies autonomously with directional control

I started this project quite a while ago.   My first inspiration came from a hobby parts site: http://www.hobbycity.com.  They advertised a new brushless motor (hexTronic 2 gram) that was very light and a matched ESC that was 1 gram (tgy dp 3a 1s).  Another inspiration was the low voltage small Arduino from SparkFun (Arduino Pro Mini 168). 

I chose three rotors, but I think four might have been optimal since you can balance torque with half the props going one direction and the other going the opposite direction.  Counter acting torque is yet to be worked out.

For control, I see a lot of math in my future.  I've read a few articles on Kalman filters and I understand the concept, but so far I've not seen any good descriptions on creating/generating the parameters of the filter.


3759560399_8a0a476888.jpg

 I'm about ready to start code development.  The chassis is carbon fiber, Kevlar, Dyneema and epoxy.  The motor holders also include pieces of rubber band.  I'm using the rubber bands for a compression fitting,  pull on the rubber band, put the motor in, and release.  This holds the motors very well.


Electronics

I've got the electronic parts I need.  (The battery is not showing in this picture)  Upper left is my Arduino mini pro 328, below that is a Bluetooth module from Sena (the smallest I could find).  In the middle is a three axis magnetometer (for this, I still need to determine if it can supply valuable information).  Upper right is a 3 axis accelerometer (only 8 bits resolution, I may need more...).  Lower right is three brushless motor controllers.

Version 0017 of the Arduino environment has a new standard servo library.  I will be using this because the motor controllers use an RC signal for control input.  The accelerometer communicates via SPI, the Bluetooth module communicates via serial, and the magnetometer has a few options for communications.

I purchased another Arduino board in case I need some more computing power.  I also thought of MicroMega's floating point processor if the math gets too hairy.

Next, I will be figuring out the best I/O wiring solution, and then I will setup one motor for some experimentation.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

wow!!!
I wan't to build one of these some day!!

I've seen your work on Zezinho and said the same thing to myself.  My daughter saw a video of your robot "dancing" and was thrilled.  She will not be as impressed with 3 Helix Wings...
ah ah!  :D
if you add some leds, buzzers, a couple of sensors to your Helix and I'm sure it will be a thrill to all of us, and to your daughter  :D

Ambitious project you have here.

Hope you go through with it and not give up. 

Here is a suggestion to you; "start with making a led blink, then go from there". I'm not sure how good you are with these things, but point is that its always important to understand the basics, before proceeding from there. 

 Good luck - and make it FOSS :)

I've got the basics of embedded programming down (programming financial systems by day helps).  It is the control aspect of the programming that gives me pause.  I love to experiment, so I'm hoping I don't get too frustrated.

Later,

im thinking of building a 4 rotor heli , why do you use brush less motors? do bruhed motors make to muche noise? i thinking of using the tiny pager motors from solarbotics .
I don't have any numbers, but brushless motors provide more power per weight (and volume?) than brushed motors. 

On the negative side, they have an additional requirement of some kind of controller.  The motor controller I chose is about 1 gram and costs about $15.  The input into the controller is a RC servo signal.

The method of speed control is a difference.

For a brushed motor, the electricity traveling through the motor (as measured by average current, I think) controls the speed of the motor.  This can be achieved with pulse width modulation from a microcontroller.  My gut feeling is that you are essentially weakening the motor in order to slow it down, the result is less torque for slower speeds.

For brushless motors, a different method is used to control speed.  There are usually 3 coils in a brushless motor (let’s call them a, b, and c).  The sequence varies, but is something like: power a & b, next power b & c, next power c & a, then repeat.  The speed at which this sequence is run determines the speed of the motor (one sequence loop does not equal on revolution).  The amount of electricity sent through each coil does not depend on the speed of the motor (something called micro-stepping is an exception).  So, the motor maintains torque at slower speeds.

I could be wrong…

 

ok ,its just small pager motors would be cheaper :)  but to get a contoler for these would cost me $50 :( so it probably evens out, how do you plan to control yours? theres not counter balance.

Yes.  I have a big enough budget on this robot to get some good hardware.  I've been a tinkerer for a long time, but never really finished anything this ambitious.  I hope the extra cash and this forum will give me the extra push to finish.

As for counter balance, I’m thinking of inverting one of the motors (and prop) while turning the motor the opposite direction.  There are props that allow you to reverse the motor, but I doubt I can find the same prop with this opposite directionality.  I can now see why most robots of this type have four rotors, two one direction and two the opposite to balance evenly.

I will be posting an update this coming week with a shot of my controllers and sensors.

 
a big budget helps but i dont have one, and im looking at about $150-180 for a robot that may never work:(