Electric (non-) Pullcopter With Hard Drive Motor

2.4K220

Intro: Electric (non-) Pullcopter With Hard Drive Motor

This was a weekend project I was inspired to do for the Make It Fly contest. I'm currently a Bachelors Industrial Design student at the Eindhoven University of Technology, continuing my studies after the summer break. This was a great exercise to get back to playing with Arduino, motor control, and a bit of soldering again.

I wanted to make a proper electric tribute to those ubiquitous hand-operated pullcopters. Taking away the childhood fun of ripping pullcopter cords, this chrome-topped upgrade allows you to prime the propeller and launch it anytime you want, annoying your friends with the press of a button.

STEP 1: Breadboard Testing and Programming

Although wiring this circuit was very simple, breadboarding is always a good idea! Doing so also made it easier to probe the circuit with my oscilloscope.

PWM is a bit finicky sometimes with speed controllers. I've always been a bit lazy on the programming side- I simply used trial-and-error with the default servo library and a pocket oscilloscope to find the corresponding servo values for 5-10% duty cycle.

/*Simple code for the electric brushless pullcopter, running on an MH-ET Attiny88 
 * and outputting to a 45a Anoel brushless ESC. 
 */


#include <Servo.h>


Servo esc;  


int pos = 0;    // variable to store the esc position
int buttonPin = 3;
int escPin = 4;
int escLimLower = 35; //5% duty cycle
int escLimUpper = 155; //10% duty cycle


void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  esc.attach(escPin);
}


void loop() {


  //slowly ramp up speed, break loop and return to 
  //off position immediately if button released.

  if (digitalRead(buttonPin) == LOW) {
    for (pos = escLimLower; pos <= escLimUpper; pos += 1) { 
      esc.write(pos);
      delay(10); //delay for determining ramp-up time
      if (digitalRead(buttonPin) != LOW) break;
    }
    while(digitalRead(buttonPin) == LOW) esc.write(escLimUpper);
  }
  else {
    esc.write(escLimLower);
  } 
}


I needed to test the scavenged motor myself to find some optimal operating parameters. I started at the default 12V for hard drives, but found that it could run with up to 22V without it getting too warm. The final operating voltage was, however, set at 15V after the boost converter (boosting from the LiPo's nominal 3.7V) was revealed to be struggling at much higher voltages.

For the ESC control, I decided to do a ramp up from 0 to 100 instead jumping straight to the max value. If this was not done, the ESC exhibited some unintentional behavior like unpredictable sudden jerks, or even going into calibration mode. Once the motor is spinning, the value can be dropped down immediately. This ESC has a braking function, allowing the propeller to be flung off quite well.

STEP 2: Propeller and Motor Interfacing

The motor adapter and propeller were designed to fit using a spiral/double-helical keyed design, commonly used for pullcopters. The push-side of the key has a shallow twist angle, ensuring that the propeller is hooked onto the motor as long as it doesn't decelerate. Once this happens, the propeller's momentum carries it along the deeper angled sides of the key, twisting off and releasing on its own.

STEP 3: Assembly

The assembly required is relatively straightforward, though I soldered the components so that took some time. Regarding how everything comes together, the motor mount fits in between the two side handle pieces and is clamped in place (with keyed flanges) to prevent it from slipping. Heat set inserts were used in the left side to have a better interface with the screws in the right side.

The handle was designed so that each of the electronic module boards is held in place by purpose-built brackets. This keeps everything nice and tidy.

STEP 4: Choose Your Propeller

I designed a couple of propellers to have fun with, ranging from 2-5 blades. The ideal propeller for this setup at 15V was the three-bladed one, which weighed in at around 6g; it allowed the motor to get to the highest RPM out of all the propellers and also flew the highest.

STEP 5: Final Iteration: Ergonomics and Aesthetics

From left to right in the first picture, the leftmost piece is the first test jig for figuring out module board placement; next to it is the intermediate design for the handle, and the final design is on the right.

Final changes were made to the handle to improve tactility and appearance, adding some chamfers, fillets, and little elements here and there. A bottom lip lets you stand the handle up, and the tapered shape feels nicer in the hand. The rounded button edges also matches the aesthetics better.

I wanted to reprint all the plastic parts anyways since drying my PETG, and the results look so much better!

STEP 6: Build Your Own!


That's it! Check out the video above to hear the satisfying mechanical keyswitch click, and the surprising volume of the propeller.

Here are all the Fusion 360 files to build your own if you like. Have fun, and feel free to ask any questions if you need help!