Thursday, December 29, 2011

[Quadcopter]Autodesk Inventor preliminary CAD drawings

I've been using Inventor 2012 to model the quadcopter and experiment with motor mount designs.

Top center view. The electronics mount plate has been removed, but the bolts are still there.

Center exploded view

Center exploded view #2

Motor exploded view and yes, the prop does spin :)

Motor mount design #1

Motor mount design #2

Motor mount design #3

Motor mount design #4

Motor mount design #5 has a sheet steel base with CF pieces to
reinforce the  bends of the steel. 
Full view of quadcopter

Another view of the quadcopter

Bottom view

[Quadcopter]Propellers

APC 11x4.7 SF CCW and CW props
11x4.7 Slo-Fly CCW and CW props
3 CCW and 3 CW props

Wednesday, December 21, 2011

[Quadcopter] Control board

Here are some pics of the DIY MultiWii control board i made for the quadcopter which is alot cheaper and works just as well as the more expensive CIRUS boards. Its based on the breadboardduino, then I just added pin headers for the ESCs, Rx, and the IMU.
Quadcopter specific part of the control board.
The Rx needs to have 5v, GND and then signal for each Rx channel.
Each ESC needs GND and Signal connected, then one ESC will have 5v connected to power the board.
Serial adapter and IMU attached, Sugru to reinforce the headers.

Back of the board; like a rats nest, i know :)
I could have laid the wires flat against the board, but its done and works.
Front



Tuesday, December 20, 2011

Pololu 9DOF MiniIMU

The 9DOF package contains: L3G4200D 3-axis gyro; a LSM303DLM 3-axis accelerometer and 3-axis magnetometer. It arrived yesterday (Dec 19), and so I tried out Pololu's provided AHRS(attitude and heading reference system) sketch for Arduino. Pololu 9DOF MiniIMU website

the output looks like this on the serial monitor: (the first value is (in aircraft terms) roll, second is pitch, third is yaw.)
!ANG:13.54,-21.50,-90.32
!ANG:13.55,-21.54,-90.29
!ANG:13.47,-21.55,-90.24
!ANG:13.48,-21.58,-90.23
!ANG:13.46,-21.58,-90.25
!ANG:13.50,-21.54,-90.28
!ANG:13.51,-21.54,-90.28
!ANG:13.40,-21.54,-90.21
!ANG:13.32,-21.52,-90.14
!ANG:13.36,-21.49,-90.14
!ANG:13.35,-21.45,-90.17
!ANG:13.38,-21.40,-90.18
!ANG:13.32,-21.36,-90.15

With this working, i have nothing to do really (maybe read the enormous RC Groups forum for more background info) before the rest of the quadcopter parts from hobbyking to arrive.



Saturday, December 10, 2011

Arduino Tap Back

I saw a video on the arduino forum of someone using a piezo to detect taps/knocks etc, and then play them back with a vibrating motor. I though it'd be pretty fun ot make one too, but i instead used the LM386 amp from my previous project and the tone() function in arduino to play back the tones.

I hooked up the piezo like so:

















and then the lm386 to a digital port like:












CODE: 

#define spkr 4 //digital pin to lm386
#define piezo 5 //analog pin piezo is on
int timeFirst;
int loopnum = 0; //# of times a tap is detected
int timeSecond;
int TapDelay;
int timeStore[15]; //how many taps you want to record
int lengthtest;
void setup()
{
  Serial.begin(9600);
  noTone(spkr);
}

void loop()
{
  int sensorValue = analogRead(piezo); //read the piezo value
  Serial.println(sensorValue, DEC); // print to serial for debug
  if (sensorValue > 50) //physically taping on the piezo gives results to around 400
  {                    //its about 30 when still
    if(loopnum!=0) //run only if its not the first tap detected
    {
      timeSecond = millis(); //record time tap happened
      TapDelay =(timeSecond - timeFirst); //how long between taps
      timeStore[loopnum]=TapDelay; //write time between taps to array

      Serial.println();
      Serial.print("# of taps detected: ");
      Serial.println(loopnum);
    }
    timeFirst = millis(); //record time at tap to calc time between next tap and current tap
    ++loopnum; // increase by one so that next tap delay is written to next array value
  }

  lengthtest=millis();
  if((lengthtest-timeFirst)>2000 && loopnum>0) //2000msec is how long to wait before playback after last tap
  {
    Serial.print("playback");
    for(int x=1; x<=loopnum; ++x) //go through timestore array and play taps with the recorded delays
    {
      tone(spkr, 300);
      delay(175); // how long to play each tap for
      noTone(spkr);
      delay(timeStore[x]);  //delay between taps
    }
    loopnum=0; //reset tap counter
  }
  delay(175); //delay to reduce amount of data, one tap can count as multipule because the arduino sample too often.
}

[Quadcopter]Been a while...

The last few weeks I’ve been scouring the rcgroups.com forum, which has anything RC(remote control) related, for information on building a quadcopter.

I’ve come up with this design, and just recently ordered it:
Turnigy Nano-Tech 4000mah 35-70C LiCo
Turnigy Accucel-6 50W 5A Balancer/Charger
KDA 20-22l 17A brushless motors
11x4.7 CW+CCW props
Turnigy 25A Plush ESCs
Custom CF(carbon fiber) 1000mm frame
Turnigy 9X 9ch 2.4ghz transmitter and receiver
MinIMU9--Gyro, Accelerometer, and Compass
LED strips, wiring, small bolts, heat shrink, small 480p camera

Its more of a weight lifting quad, but it should be able to do some flips/3D tricks. It all came from hobbyking.com except for the sensors and the props, which came from quadroufo.com and pololu.com, respectively.

Here are buddy codes so that you can get some of the products i bought for cheaper:
Socket Head Bolt 4x20mm (10 pack), Socket Head Bolt 4x16mm (10 pack), 30min epoxy, 300x100mm 1.5mm CF sheet, Turnigy Plush 25Amp ESC, KDA 20-22l
all found here: RC International

Shipping:
Props: shipped December 12, arrived December 15
MiniIMU: shipped December 15, arrived December 19
HobbyKing: Dec 12th; two weeks for backorder, two more weeks for shipping