Return to the Copters: Global Flying Things Update

Whoa, this site still exists.

I’ve been primarily working on a Silly Media Lab Vehicle project for the past 2 weeks or so, in the spirit of me having done so during all 4 years of my undergraduate career, which is why I haven’t been posting anything. It was actually kind of refreshing to work on a silly vehicle for someone else again. Since it’s not really my project to publicly expose all the fun innards, I’ll refrain from doing so for now. It’s not that fancy, however.

Anyways, with that project squared away for now, I’m gonna take a bit of time off… by returning to my rag-tag fleet of flying things. Whatever happened to Chibicopter anyway? The last update on that was like… mid-April. So it’s on first:

Chibicopter

Chibicopter was the project I settled on to complete for the Media Lab’s DIY Manufacturing class. Admittedly, as I usually tend to do, I treated the project far more as a personal project than a means to take the class seriously, and this was reflected in the reviews I received at the end of the class.  I ended up half-assing or straight up skipping several of the assignments at the beginning because I was far more interested in seeing it work. If anything, having to do it for class made me take it less seriously – it’s an interesting psychological effect that I see in many project based classes at MIT, where once your own stake is reduced in the project, you begin turning away from it or needing to push yourself through it.

Seeing several of my undergrad peers push themselves through the same project classes this past year that I went through (namely 6.115 and 6.131) with high aspirations at the beginning of the final project push made me realize one of those everything-in-moderation things: that if you try to do an epic project for a class, you probably will end up getting sick of it at the end, because the agenda is no longer fully yours to keep. My 6.115 and 6.131 projects were rather tame in scope by comparison, and my most “epic” class project, Segfault, was actually 90% done already by the time the class started, and I pretty much only built the analog PI controller.

But that’s besides the point. The real point is that Chibicopter is gonna need alot of rethinking before it will actually fly.

Here’s essentially what it ended up as:

Previously, I had appended a FTDI header for easier (okay, possible) programming – never really having explore the wireless bootloading any further. I’m also unhappy about going with XBee control now, because it limits the command input interface to something which can talk to an XBee – which i took care of with XBYPASS this time around, but that’s unrealistic for a product or even for my own amusement in the future since it involves two $20 pieces of hardware (XBees are expensive!). And then, in the middle of term, Hobbyking, as always, came out with a solution to my problems:

Well then.

This thing seems to work fairly well – it acts as a WiFi access point, so you literally connect to its network and transmit packets with an IP socket. It already had its data format decyphered, and another enterprising MITERS member therefore wrote an iPad app which used the iPad’s internal accelerometer to control a quadrotor using tilt alone (the stock Hobbyking provided app using virtual touchscreen joysticks which were kind of annoying to use). So really if I were to revamp Chibicopter (for another product design class?) I would just lob one of these things on it.

Feeding control inputs to it was never really the hard part. I had feared that the system dynamics of Chibicopter, being so tiny, will be faster than what I could stably control with only 50Hz command refresh rates (the servo pulse repetition rate). As a result, I “overclocked” the Arduino servo library to 100hz, the maximum speed that it can do with 4 servos.

The reason it’s limited is because the servo library starts each pulse sequentially – one has to finish before the other starts. Other approaches such as the KK Multicopter controller (which Hobbyking has a version of and which most of the MITERcopters use) start all the pulses at once and end them according to desired pulse length. This is how they achieve up to 495 Hz control – a 2000us pulse has a frequency of 500Hz, and a very small dead time is used between pulses. It’s a more complex approach and needs two timers on the ATMega chips, so you pretty much only have to be making a flight controller for it to make sense – maybe not a general-use Servo library.

I think 100hz is fast enough for Chibicopter, but the rest of the problem was mechanical. The arms are really floppy – Shapeways’ “White, Strong, and Flexible” sintered nylon is really all three of them. The props are also not very balanced, and because they are so small, were hard to balance. As a result, Chibicopter tended to resonate strongly, which was most likely overwhelming my IMU.

Oh, did I mention I soldered the IMU directly to the board, which is mounted directly to the frame? From past copter experience, I really should have seen this coming as very bad news from the start. Even worse was that it was soldered at one end so it was really its own stiff pendulum – if there is one thing your inertial measurement unit should not have, is its very own not-very-inertial dynamics.

Basically, what it comes down to is needing to totally redesign the thing for easier communication, more stiffness, and higher bandwidth. The final “test video” has already been out for a while – I got it to a condition which I was satisfied with for now in time for the end of term:

As can be seen, it’s pretty much fundamentally unstable at the moment, tending towards divergent oscillations. But it’s very cute while doing so.

I might not rebuild Chibicopter immediately, but when I do so again, I think it will move towards an all-PCB construction like the other very small copters that exist now. I’ve purchased a different style of motor which has real mounting holes (not like the mounting sticks of the 2 gram HXT motors).

tinycopter

Poor tinycopter.

Tinycopter has actually been remarkably reliable, though in various states of disrepair, since its last update in February. It doesn’t have much test video past that unfortunate first video because I would usually just fly it around without thinking about it. It’s been to several demo events since then, and is very stable and easy to fly.

One of the things I wanted to change about the design was the fact that the entire board was sitting on a giant block of memory foam. This seemed to be a great idea until the foam started disintegrating where I had glued it to the frame. I had to compensate by adding more CA glue, so eventually the foam became a stiff block in places. Usually you’d put just the IMU on foam or other shock-mounting substance. Another undesirable trait of the foam block was that if I crashed for any reason, the whole thing might shift angularly because one bundle of wires was pressing on a corner more, or something, the end result being that Tinycopter never really flies the same way twice. It was a bit unpredictable and the trim angles changed constantly.

Near the end of term, it was also starting to fall apart – the glue joint on the crossed Lincoln-log carbon fiber rod frame was coming apart, I had broken off one of the standoff landing legs, and one of the motors was temperamental. So I decided to rebuild the frame this past week and roll up all of the changes I wanted to make.

I decided to construct the frame using 3D printed joists for carbon fiber tubes (heeeeeeeeeey, that reminds me of something). The center cross piece holds the long tube and two short ones in an X shape, and allows me to clamp tightly on them with bolts. The outer ‘landing legs’ are intended to bolt through the motors’ mounting flange and use it as a giant meta-washer.

Here’s the frame fitted together, without any other hardware yet. I’m hoping this build isn’t going to be heavier than the current one – while the 3DP plastic adds a bit of weight, there are many other places on the current iteration which can afford to lose some. I ordered smaller (6A) controllers which will save a gram or two each, and alot of the big servo cable wiring will disappear, as will the chunk of dense foam.

Beginning the decommissioning of the old frame…

I decided to go for a more integrated wiring approach this time. Underneath the board is a ring of wiring that distributes battery voltage to the four controllers, with the control electronics in the middle. The IMU is now on a little block of foam (which has been made into a “foam flexure” through selective cutting, not really visible in the picture). It will be wired using tiny 30ga wirewrapping wire to further isolate it from vibrations.

Signal side wiring complete and board installed… See that there’s only one connector for each controller?

That’s why. I put the power and R/C signal wires next to eachother on a header so I can keep the wire lengths short and have one thing to plug in. The ESCs are of a much better form factor this time, and mount cleanly on the sides of the frame, secured with a zip tie through the board mounting standoff slots. The motor wires exit at the place they are needed.

I like this arrangement alot – pretty much only full integration of the ESCs onto the board is better for wiring cleanliness, but if I do that, then Tinycopter becomes a 5pcb.

And it’s back! Now with landing lights!

Besides accidentally wiring the motors up sideways (rotationally confusing which motor was which), I had to do relatively little tuning to get it flying again, since the hardware is pretty much the same. The gains were turned up some, since these ESCs appear to exhibit much better linearity than the previous ones.

Now to remember to take more video before I blow it up again – I’ve already succeeded in busting off all 4 landing leg things at least once each (but don’t worry, they are both gluable and easily remakeable!)

ballcopter?

I’m getting an urge to try this thing again. The previous attempts ended in dismal failurenearly a year ago (what actually happened at the end of that post was it not working at all and then biting Shane’s finger). These things are probably being mass produced by Sony now, or something, and have been built many times by other model hobbyists. But I still want to try my hand at it since I haven’t been able to produce a working one yet.

Since last year, I’ve figured out that my control approach was incorrect. I was trying to control the angle of tilt of the thing using the upper flaps. Really angle is controlled by the lower flaps and the upper set is used for translation. All flaps are used for rotation. It came to me that this was the proper method after I watched one of Ryan’s Giant 3D Foamies do a… I don’t know what you call it, but statically hover point straight up, like an airplane burnout – something planes should not be doing, but anyway.


Excuse the…uhhh…. bloodstain?

The ballcopter is exactly a small plane, flying straight up hard enough to offset its own weight, in a little hamster ball. Like how planes pitch up and down with the elevators on the tail, so ballcopters tilt and roll using their lower flaps. A ballcopter flying horizontally should reduce to the case of two orthogonal little planes.

I still have like 20 square feet of foamcore, so I might just go for trying the old design again with my New and Improved Control Solution. I’ve been recently more favoring carbon fiber hoops for a frame with 3D printed joists

and one more thing

No, that’s not actually a Cinestar 8.

Tinycopter Returns… Again!

It’s back!

Once again!

Part of the full-documentation project logging process is that everyone sees the painful and some times expensive vacillations between working and not working that a project goes through during its lifetime. This has happened with pretty much everything I’ve built and which is on this site. Usually it’s some kind of motor controller. But the most learning opportunities arise from the drift of a project about the boundary of dysfunctionality, so that’s why I still like this format over a finished and polished portfolio site.

Anyways, back to Tinycopter.

The first step of reconstruction was making the frame again – this was a relatively easy process since I still had square carbon fiber tube material remaining. The center joint was once again CA glued together. This time, I also left a little more material beyond the motors so the tube didn’t tend to split when the mounting screws were tightened.

While rummaging for hardware in a stockroom, I discovered a bin of glassware corks that I decided to turn into landing gear. I think this will work quite well – cork is pretty elastic but also very light, and not just squishy like something I’d find out of foam rubber in a similar size.

I obtained this big brick of memory foam from a disused mechanical engineering class (2.75) project. I’m going to just slap the entire electronics deck on top of a little brick of the stuff this time around. My experience with silicone tubing standoffs was less than satisfying since the tubing just tended to crack and shear with impact. Not trying to build Battlecopters here, but I’m definitely going to crash this thing infinity times, so a big surface of foam was still more advantageous.

To extract a small 2″ square memory foam block from it, I finally got a chance to legitimately use my hot-wire cutter that I built last year when I thought I was manly enough to work with pink styrofoam to build Chuckranoplan (sorry Ryan, I’m still afraid of making foamy things). The side effect of this is that now I have an asston of filet de mousse à mémoire, so if anyone else at MITERS feels like building an n-copter, it is available.

I bought a few 10A controllers from Hobbyking a few weeks ago in anticipation of eventually using them on a fresh build of Tinycopter. These things are pretty small and functional (having practically no settable parameters, not even throttle range calibration). Having flown Tinycopter using them, I also can’t recommend them too highly because their throttle appears to be nonlinear.  However, 6 dollars.

One thing I didn’t like, and which would have interfered with my mounting plans, was the big electrolytic cap that hangs off them and makes neither side very flat. This was a small ESC, and I had 1206 package 16v, 22uF ceramic capacitors left from Tinytroller work (remember that?). The electrolytic was only 100uf, so I elected to replace it with 3 SMT capacitors, making the end result very flat and clean. Maybe I could have used more, but I didn’t think the ripple currents of such tiny motors was enough to warrant it – and what I lose in capacitance I probably gained back in lower ESR since ceramic caps tend to be inherently low resistance.

So this is the plan. Superglue board to foam brick, then superglue foam brick to frame.

That’s seriously it.

I repacked the ESCs in heat shrink tubing, then superglued them to the foam brick. Ryan, is this how you build foamy planes?!!?

The tangentially located ESCs on this version allowed the wiring to be very clean and simple. It’s not nearly as big of a tangled ball as previous version, and the battery is now slung underneath the frame for easy access. Yeah yeah, pendulum effect, etc…. but on this scale, I have a feeling it doesn’t matter much at all.

And that’s it.

I ended up borrowing 2-56 standoffs from Shane again and impaled the corks upon them. The corks themselves weren’t structurally sound enough to just glue to the CF frame, so the standoffs provide a metal substrate which is directly mounted to the spare motor ears.

The Hobbyking 10A ESCs required alot of additional tuning of the controller before I got it to fly reliably. Their throttle seems to be quite nonlinear, and they are “punchier” at the beginning than the previous Turnigy Plush 18A controllers. This necessitated dropping the P and D gains down to 1.2 and 0.2 respectively, from their former values of 2.2 and 0.6! The difference between ‘slowly sinking’ and ‘slowly rising’ altitude is pretty much two left-stick ratchet clicks, which means it’s much harder to hold altitude.

All said, after some more loop tuning and poking, Tinycopter flies once more.