Developer

ArduIMU Quadcopter part II (mini)

Hi all,
I have finished my second quadcopter with ArduIMU. This time is a "mini" version with only 28cm from rotor to rotor and has the new Jordi´s magnetometer integrated!.
This tiny machine is fantastic, with a great stability. Look at the hands-off part of the video inside house!!
Very funny :-) Video:


Specs:
Motors: 1811 2000Kv 10grams brushless motors
Props: standard 5x3
ESCs : Turnigy 6A
Batt : 2S610 Lipo
Weight (RTF) : 180grams
Again it´s a very cheap and easy setup. Because I use standard propellers I mounted left and right motors with some twist. I´d really love arduIMU flat hardware...


Look at the PPM output Rx, Is this a new 2.4Ghz receiver form DIYDrones?
No, it´s a "lighweight" (4.1grams) mix between Spektrum AR6110 Rx and Jordi´s PPM encoder. This is nice for DIY projects...


The code is improved from the old version. This one has the magnetometer integrated so now we don´t have drift
on yaw axis, better implementation for the D term on the PID controler (more responsive to user inputs), same safety improvements, fast ESCs update rate (166Hz), new PID tunning...

But this history had an interesting lesson for me... The prototype you see here are really the second one, the first one was a dissaster... (flys bad...)
Do you want to know the "small" difference between them? This:


For the first one, I use an U shaped aluminium arms to save some weight. Well this shape is very bad in torsion and generates a lot of vibrations. This vibrations saturate the gyros (our gyros are quite sensible on vibrations because the low internal resonant frecuency). You could see here a graph of the gyro output value vs Throttle and you can see clearly the effect...


I change the arms to the square shape (8x8mm) and problem gone!! Perfect stability... :-) Vibrations are our enemy (Lesson learned)

Here is the new source code: Quad1_mini_20.zip (see notes.txt inside)
Schematic (conections): Photo1 Photo2
Old post (first version) here

New ArduPilot Mega will be a perfect platform for Quad´s also, so stay tuned...

Jose.

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • hellow, jose!
    I have a Question about ESC setup.
    What does it mean ? "All ESC must have the same throttle range (I adjusted manually)" in the notes.txt file
    I can't understand - manually adjust throttle range.
    Could you explain about that?
    I think when Tx turn on and power is supplied to 4 ESCs ,they are calibrated with same throttle range?
  • Hi, Fouad.
    Why don't you try another ppm hacked receiver like hitec or corona 72mhz receiver?
    It's easy to hack ppm pulse train. ..
  • Looking further into it , it seems that it is hardware failure as only ch1 oscillates:
    I got these readings while I pushed ch1 far right
    Radio Channels:1926,1496,1407,1518,1101,1226,1017,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1935,1494,1405,1516,1104,1219,1018,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1500,1494,1406,1516,1104,1220,1017,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1924,1496,1404,1517,1106,1219,1017,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1500,1497,1407,1517,1108,1218,1018,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1926,1495,1404,1514,1105,1220,1016,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1500,1496,1404,1513,1104,1218,1017,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1500,1495,1402,1518,1105,1219,1016,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1926,1499,1400,1518,1103,1218,1016,0,
    Move throttle stick to bottom to start !!!
    Radio Channels:1500,1507,1405,1517,1105,1220,1017,0,

    Only ch1 jumps back to neutral , I'm assuming that this is wrong , I'll try to rout it out to different Chanel on the ppm encoder.
  • Jose,
    First of all thanks for this very nice and easy quadcopter.
    I followed up the instructions and built one large quadcopter (linke in first post) but used Quad1_mini_20.zip
    I'm using Spektrum dx6i + ar6110 + PPM encorder from diydrones store.

    I'm facing one problem:
    Channel 3 variable seems to be oscillating , the following dump I took while I had half throttle

    17,-12,-773,0.29,14Ch:,1468,1468,1039,1468
    -17,-12,-773,0.29,15Ch:,1468,1468,1039,1468
    -16,-13,-774,0.29,14Ch:,1468,1466,1450,1468
    -16,-13,-774,0.29,16Ch:,1468,1468,1243,1468
    -16,-13,-774,0.29,16Ch:,1468,1468,1243,1468
    -16,-13,-774,0.29,14Ch:,1472,1467,1551,1467
    -15,-14,-774,0.29,14Ch:,1470,1467,1294,1467
    -15,-14,-774,0.29,15Ch:,1470,1467,1294,1467
    -15,-14,-775,0.29,14Ch:,1469,1468,1578,1468
    -14,-14,-775,0.29,14Ch:,1469,1468,1307,1468
    -14,-14,-775,0.29,15Ch:,1469,1468,1307,1468
    -14,-15,-775,0.29,16Ch:,1468,1469,1588,1469
    -14,-15,-775,0.29,14Ch:,1468,1468,1312,1468
    -14,-15,-775,0.29,15Ch:,1468,1468,1312,1468
    -14,-15,-775,0.29,14Ch:,1468,1468,1174,1468

    as you see I got 1578 a couple of times but soon it was changed, this results in oscillating pulse to the motors ?
    Other channels has perfect figures corresponding to their sticks.
    This problem remains for max_channels 7 or 8

    Can somebody help?
    Regards
  • Developer
    Robert, this graphs comes from an Excel (send me a PM and I can send to you if you have interest). To measure the gyros I used the serial port and output gyro value and ch3 (throttle) value, then I loaded into an excel...
    Thanks Yun,
    Yes, you can use any receiver with ppm output. You have to be sure that ch1 is aileron, ch2 Elevator, ch3 Throttle and ch4 Rudder (this is the typical futaba order).
  • I read your source now?
    like undefine SPEKTRUM 1, I can use hacked hitec or corona receiver.

    // #define SPEKTRUM 1 // Spektrum radio
    ....
    #if SPEKTRUM==1
    ch1 = channel_filter(RxGetChannelPulseWidth(2),ch1_old); // Aileron
    ch2 = channel_filter(RxGetChannelPulseWidth(3),ch2_old); // Elevator
    ch3 = channel_filter(RxGetChannelPulseWidth(1),ch3_old); // Throttle
    ch4 = channel_filter(RxGetChannelPulseWidth(4),ch4_old); // Ruder
    ch_aux = channel_filter(RxGetChannelPulseWidth(6),ch_aux_old); // Aux
    ch_aux2 = channel_filter(RxGetChannelPulseWidth(5),ch_aux2_old); // Aux2
    #else
    ch1 = RxGetChannelPulseWidth(1); // Read radio channel values
    ch2 = RxGetChannelPulseWidth(2);
    ch3 = RxGetChannelPulseWidth(3);
    ch4 = RxGetChannelPulseWidth(4);
    //ch_aux = RxGetChannelPulseWidth(6); // Aux
    //ch_aux2 = RxGetChannelPulseWidth(5); // Aux
    #endif
  • Jose! nice Quad?
    Can I ask something?
    Can I use 72M hacked hitec or corona receiver without ppm encoder?
    What's ppm signal order? spectrum ppm order is different from hitec or corona.
    spectrum : throttle-aileron-elevator-rudder-aux...
    hitec or corona : aileron-elevator-throttle-rudder-aux...
  • Jose - do you have bigger images of the graphs separately, and what software did you use to measure your gyro's? have you tried expanding foam inside of the arms? The irregulatities formed by the foam should neutralize any vibration. Nice quadcopter!
  • Never mind. I saw in the picture the mag is a separate board.
    Should you (or can you) mount the mag away from the Flat ?
    Will this work on a bigger + frame that could carry camera or FPV stuff ?
    Earl
  • I got the ArduIMU flat but the magnetometer is on a separate board in my setup. The Flat doesn't have the manometer on it or does it ?
    Also, are you going to integrate the U-Blox GPS into this ?
    Earl
This reply was deleted.