Monday, February 27, 2012

First flight ...

Here is the fists flights of the quad copter:




Note: Very windy conditions and still so stable !!!

At the flight time test ... amazing more than 10 minutes (14 to be more precise) with 4Ah Lipo. This is good time for a quad copter. 

Monday, February 20, 2012

Simple PID adjustment

I was just hit by a idea:
Adjusting PID parameters can be a pain in the ass if the adjuster have no idea what is he doing.
Adjusting as we fly it:
Step 1: have a flyable backup parameters that you can switch with a flip of a finger so you wont crash. This backup can be determined by holding the drone in your hand and see the response but for perfect parameters we need a method to calibrate PID inflight.
Step 2:use one of the AUX channels to activate PID adjustment P parameter (I and D are calculated), than use a VR (futaba like) to adjust the parameter until comfortable fly. I and D parameter can be calculated by the board using Ziegler-Nichols method.
Step3: as soon you have comfortable fly behavior (no woble), land and save the parameters.

The I and D parameters can be determined later by trial and error or/and using http://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method , but the P is important and makes the thing fly. I think we can have the P manual determined by inflight calibration and the I and D calculated by the Ziegler-Nichols method.

Usual the Roll/Pitch PID parameters are the same values for a Quad/Hexa/Octo copters. So why not adjust manually inflight the P parameter same for Pitch and Roll and let the I and D be calculated with the method Ziegler-Nichols. Like this you can achieve the best PID parameters.

Many of the people around here use wifi/bluetooth serial transceivers to do this from GUI. I think it can be implemented (like in flight calibration) to be available from tx also.

It is just a idea, so please do not jump on me. My quad-copter is calibrated by hand with trial and error. Same is my tri-copter.

I got this idea from experimenting with my helicopter the gyro gain in rate and head-hold. I use a VR potentiometer from my futaba to adjust the sensibility of head hold gyro until no wobble than I land my helicopter and check the settings (the value of the channel) and set it as default parameter for that helicopter.

I think this will solve the PID adjustment problem that many have and is not so difficult to be implemented in multiwii software so I will give it a try to code it and keep you informed.

Tuesday, January 31, 2012

Mongoose Multiwii 1.9 Download SourceCode

As I promised here is the current source code:
 
http://www.4shared.com/rar/wFnVAFjM/Mongoose_Multiwii.html

I will give more details for calibrating if you can not find it on MultiWii forum.

You can see in the picture below what board you must select for MONGOOSE 16MHz version:

As soon I will have time the difference that need to updated for multiwii will be posted on multiwii forum and hopefully will be included in the main distribution of the multiwii so we can get the updates directly from multiwii.

I will work from this point (the source you can download already) to implement and experimentation of the fuzzy logic to replace current PID controller and I will keep updating this blog with the latest implementation.

With the good willing of the Ckdevices guys I will receive the second MONGOOSE board and with this one I will develop the helicopter auto stabilization system and a flybarless controller.

So actually 3 projects will be in development from this point forward:
1- Flying Drone
2- Helicopter autopilot / Flybarless system. 
3- A mini quadrocopter less than 200g
I can say this: MONGOOSE is perfect for mini quadrocopter. For this mini I will use 1 Cell LiPoLI and build a small version of the quadrocopter to have fun indoor (in the comfort of your home).

Connecting motors and Radio Receiver to MONGOOSE

I have finally connected all the motors and made everything work.
Here are some pictures:



The next picture is the motor orientation:
The connection should be like this:
Motor Front Left: Pin  3 (PB3)
Motor Front Right: Pin 10 (PB2)
Motor Rear Left: Pin 9 (PB1)
Motor Rear Right: Pin 5 (PD5)
Servo Camera Stab: PD6
The PPM sum from my receiver I had to connect it to PD2 (Atmega328 pin 32)
As you can see you have to manual solder the pin 32.


I have added the Atmega 168 pin map because is the same with 328P. You can see the PB3 (Motor Front Left) is connected to MOSI connector that is available on Mongoose.

With some tweaks and bells I have managed to change the multiwii 1.9 to work with mongoose ckdevices board.
Here is the configurations I have tried:
Before i will release the source code, I need to wait a better weather so i can properly fly and test the quadrocopter. I tried some flying indoor in my house but the space is very limited and I did not wanted to risk crashing before I fly it. I did a little hover in Acrobatic mode (gyro only) in my house and it looks promising.
Today was minus 23 C degrees outside and full of snow and until 4-5  February it seems will be same cold outside so no chance to fly it.
Feel free to ask any questions about the connection diagram.


Saturday, January 14, 2012

The project goes on

As i promised here are some pictures about the work in progress. I Hope this will guide you how to do it if you will choose the materials i choose to build this Quadrocopter.

  
As you ca see in the picture above, i had to manual solder pin 32 because i will need to have a hardware interrupt to read the PPM SUM from the radio receiver. To do this, you will need a soldering iron and some soldering skills.
My advice is to attach a small development PCB board and build there the POWER PINS, RX Pins and so on. Try to solder as little as you can on the MONGOOSE PCB or you could damage it if you solder many times.


As you can see I have soldered the RX plug to the PCB I have attached near MONGOOSE that i will call from now on  POWER BOARD.
The signal PPM SUM must go to pin 32 of the AtMega 328, the +5V and the GND of the RX and MONGOOSE must be connected in parallel.
The red and black wire will come from one ESC with +5V to power the mongoose and RX receiver.
When you will power the electronics ( Mongoose and RX receiver) from a +5V power source, it is safe to plug in the FTDI USB to USART (Serial). When FTDI and external power are plunged in  the MONGOOSE and RX will be powered by the external power and FTDI will get his power from USB.



In the above last picture I have powered the Mongoose and RX from a NIMH batery that gives +5V trough red and black wire and also FTDI is plugged in and connected to USB so as i said before it is safe to power like this, no smoke will be produced.






 In the pictures above you can see I have mounted the ESC on the quadrocopter frame. The pictures explain more than I could explain with words.
Now that i have soldered the ESC to motors and to the signal cables, I have to solder them to MONGOOSE digital PINS and also solder the servo for camera stabilization to the power board. 
  

Monday, January 9, 2012

Mongoose 9DOF arrived

In the meanwhile the Mongoose finally arrived.
I have to say i am very impressed with the job they did building this little powerful device. Of course the first thing i did was to mount the pins on the serial header so i can connect it with the FTDI USB to USART. and see if all works.
I was somehow expected to see it working but not as good i saw it working. Very fast response, ZERO problems and the size, well the size is comparable to pro mini and i am afraid that if i will snooze i will break it. It does look fragile but it is very robust device and very well built

I decided first to use MultiWii as base code and make the modifications to work with Mongoose board and do not worry i will make it public with parameters and so on. Actually i will make modifications of the default values to work with my setup, so if any of you will buy the parts i was using you will get a flying multicopter out of the box.

As soon i will have a flying version of the software based on multiwii (PID based) and win my prize from ckdevices :P, i will start working on a fuzzy version of the stabilization control that will be build from scratch based on mongoose.

I will post some photos tonight of the work done as soon i get home from work.