Tuesday, June 26, 2012

Quadcopter Build Status

  In this post I will be covering the final assembly of the quadcopter frame and the mounting of the electronics.
Picture 1 - Wiring

  In picture 1 you can see that most of the wiring is connected.  I have soldered 3mm plugs to the ESC and motor leads and covered them in shrink wrap.  I have soldered the ESC power leads into the yellow XT-60 battery plug and covered it in shrink wrap.  I still need to attach three of the four ESC signal wires to the Arduino, and I still need to attach three more 3-pin connectors for getting the receiver signals to the Arduino.  Everything needs to be mount and or tied down.  Nylon nuts on the nylon screws are holding the arms to the lower plate.  This keeps the arms from falling apart when I have the top plate off and gives me slightly more height room for the wiring and components.

Picture 2 - Components mounted
  In picture 2 I have everything mounted to the lower plate.  The four ESCs have been zip tied.  The Arduino is attached with double sided foam tape and a zip tie.  The pins of the FTDI port point out so I can program it without removing the top plate.  The square sensor board with the gyro and accelerometer is attached with double sided foam tape.  The battery connector is held on with a zip tie and a small block was placed under the wires to help keep the connector from tilting too much due to the force from the tie.  Two of the ECS have the power part of their signal wire attached to diodes that then connect to the Arduino and receiver.  If the BEC part of one ESC dies, then the second one will back it up.  The white signal wires from the ESC are all connected to the left side of the Arduino.  The white wires that bring the signal from the receiver (not shown) connect to the right side of the Arduino.  The extra wires from the ESC are zip tied in the center to keep them from bouncing around and hitting the sensor or getting into some other form of trouble.  The nuts on top of the arms allow me to to pass wires over the arms and helps to solve some of the wire routing problems I might have had otherwise.  I will not win any beauty contests with this layout, but it should be durable and functional.

Picture 3
  In picture 3 I have used nylon nuts to attach the top plate.  The R/C receiver and battery are attached with a high durability and high strength version of velcro.  I may use a rubber band over the battery to insure that it stays on, but it currently seems to be very well attached without it.  I decided to place the battery on top as I intend to play around with mounting a small camera under the body for my own entertainment.  The battery also reduces the pendulum effect of having too much weight too far below the height of the propellers.  This should make it easier for the control system to keep the aircraft stable.

Picture 4
  In the low angle shot shown in picture 4,  You can easily see the XT-60 battery connector.  I may eventually mount this connector on a short pig-tail to allow it to reach the top surface.  This would allow me to rotate the battery 180 degrees and prevent the battery wires from looping quite as far out in front of the aircraft.  Not a huge issue right now.

Picture 5
  Picture 5 shows the quad with propellers attached.  These are 8x4.5" (200x125mm) slow flyer propellers I bought in matched counter rotating sets online.  So far they seem like they should work quite well.  The air frame is designed to allow for up to 9" (225mm) propellers before they start to extend over the body.

Picture 6
  Picture 6 is taken from the side of the quad opposite the battery connector.  I am using an 6 channel Orange receiver from Hobby King.  I seems to work great and it's hard to beat the price.  Below the receiver you can see the FTDI port pins from the Arduino peeking out.  In this position it is very easy for me to connect to and re-program the Arduino.

  The distance between opposite motors is 16.25" (410mm) center-to-center.  The distance between adjacent motors is 11.5" (290mm) center-to-center.  So when flying forward this quad would fit through an opening slightly less than 20" (500mm) wide.   The final aircraft ready-to-fly weighs 20oz (570g).  This is a little heavier than I was planning, but nothing to get excited about.  Preliminary testing indicates that at 100% throttle it generates about 60oz (1700g) of thrust.  With a 3:1 power to weight ratio, I anticipate that it should fly well.  Even with a light camera hanging below it it should be stable although it will probably start feeling a bit sluggish.  I will probably be attaching a set of helicopter training gear to the bottom to help cushion my inevitable mistakes as I learn to fly this thing ( I have never flown a quad before ).

  In the next post I will be talking about stability testing and tuning.

   That is all for now.  Let me know if you have any questions.

  Thanks for reading and please sign up on the right if you want to be automatically notified when I post more updates.


<< Previous Quadrotor Post | Next Quadrotor Post >>


  1. those arms are CF, right? im sorry to say this, but you are screwed :( since you drilled into them for the center plate and motor mounts you will crack them down the long side within the first crashes as the CF only goes "down" the tube, not around. those holes drastically reduce their strength. some sort of clamp would've been better.the double arm thing might help, but i dunno. oh, and maybe the nylon will break first? everything else looks like a good project though.

  2. Yes, they are extruded carbon fiber. So far they have been more durable than I expected and I have had no problems even though I've crashed a number of times. We'll see how it lasts over time.

  3. Hi Phillip,

    I am working on a similar project - doing everything from scratch - my own PCBs, soldering, and programming. My board is based upon the Microchip PIC24H MCU. For attitude calculation I am using Bill Premerlani's DCM algorithm.

    My quad flies, but from time to time it goes into "shaking" mode - roll and pitch go up and down to about 20-30 degrees. I suspect that the issue is in my control algorithm - I control roll and pitch independently in the Earth frame, while they are related when there is both roll and pitch in play.

    Would you mind sharing the logic of your control loop?

    Thank you,
    --Alex Zarenin

    1. Alex,

      That sounds like a fun project. I'd love to see more.

      I currently control stability in the aircraft frame to prevent cross coupling and reduce complexity. In auto leveling mode, my pitch and roll inputs create a 3d unit vector. That unit vector is then translated to the aircraft frame. If the aircraft's attitude matches the RC input, then the translated vector will not have any X or Y components. If the vector does have X or Y components in the aircraft frame, then those numbers can be directly input into the stability system to adjust the aircraft's attitude to match the desired orientation.

      Oscillations like you are describing seem like they could be indications of room for PI tuning improvements as well.

      I hope to write an article describing my control loop in more detail at some point in the near future.

      Let me know if youhave any more questions. Thanks,


    2. Philip,

      Sorry for the delay - was kind of busy building data logger for my quad. On the bench for PID tuning I use XBee to collect telemetry wirelessly from the quad, but taking my laptop to the flying field to capture real-time telemetry is kind of excessive, so I designed a data logger board which take the UART input (same as XBee), but stores it on MicroSD.

      I did some PID tuning - primarily reducing the Kp and Kd; my original PID was rather tight trying to get the fastest response to controls/disturbances, but, apparently, this also introduced some level of instability...

      My RC controls are being interpreted in the Body frame - so if I pull the elevator stick it is interpreted like I want to have nose to go up by so many degrees.

      I build 2 stands to test Pitch/Roll response/stability and Yaw control without actually flying - I can e-mail you pictures of these stands (which now I am planning to combine into one with 2 degrees of freedom) if you are interested. My direct e-mail is Alex@Zarenin.com.