Deathblades: Skatroller

That’s it – I’ve cast the die, thrown down the gauntlet, brought the house, and so on. I’ve registered for Otakon, which, besides being a peer cloud adventure, will be a thinly cosplay-veiled ground test for the Deathblades.

That means I actually have to finish and get moderately proficient at the delicate exercise of not getting skullfucked by the ground. Fortunately for me, Advanced Circuits did finally come through:

Check it out – it’s the updated Double DEC’er boards in AC’s nude color scheme. I elected to use their “Bare Bones” service because it doesn’t take very long. From the time I ordered (last Friday) to when I got them (today, Wednesday) was less than the time it took to get the SCHBs printed.

You know what – I don’t care if they have neither solder mask nor silkscreening. They’re conductive in the right places and insulative in the other. I can live with that… or give them a snazzy color scheme myself.

Unfortunately, when I said “waiting on you, Advanced Circuits” last time I actually meant “waiting on you, Digikey”. All the SMT and special parts needed to fill the Double DEC’er boards are in hyperspace at the moment, but they should rematerialize soon.

Here’s the consequence of designing in the lithium battery packs and then finding out they only fit in the “tall” configuration. I’ll be practically stepping on the Xbee the way things are turning out – and this isn’t even with the DECs in headers. They will have to be permanently attached to the carrier boards. Only a real fit will tell whether or not I’m truly space constrained.

In the worst case, I’ll make some spacer plates for the boot to be mounted a few millimeters higher.

Meanwhile, as I await the LAST PARTS SHIPMENT!!!!!!!!!, I will de-breadboard the hand controller and mount it to the wristpads. Here’s the fun part for today:

We begin with a Lilypad protoboard.

While I could have used any random-ass protoboard, the Lilypad boards just looked more elegant. Nothing will look in place zip tied to a skating accessory, so it might as well be cute, right?!

On the board I have already mounted a 14 pin socket for my favorite op-amp, the LMC6484.  Additionally, I’ve already set up the resistor divider and a connector to attach the FSR in the glove.

this is where it stopped being cute.

The Lilypads are “anti-perfboards”, which mean all the holes are connected together by a tiny trace which you can selectively cut to create conductive paths.

this is quite possibly the worst idea ever

The problem is that if your circuit is even moderately complicated, it takes forever to remember which little traces you forgot to cut or which traces, Robot Jesus forbid, shouldn’t be cut

it is much slower than point-to-point’ing with kynar wire or just bending component leads into eachother

After trace-snipping (which is not easy, I assure you, because it essentially involves digging up the fiberglass substrate) the op amp socket and the resistor divider, I had enough.

what the hell i dont even

I took the dullest razor blade we  had and, over the course of half an hour, scraped up every single trace in a grid pattern, leaving me with a normal perfboard and possibly contributing more to developing carpal tunnel syndrome than 3.5 years of build report typing ever did.

Then I continued.

“Rename N-dollar-sign-1 to ground? Of course.”

See, this is how I roll. Cranking the soldering iron to 850 degrees, its maximum, lets the tip melt instantly and cleanly through 30 gauge Kynar insulated wire-wrapping wire (which does not burn or smoke). It makes a quick and clean joint wherever I need it. Borrowing the concept of nets and buses from Eagle, I just connect one wire point-to-point-to-point before cutting off at the end.

Here’s the part where I have a brilliantly horrible plan and go nuts with it. I cut up a set of wire-wrapping sockets and used the legs as conductive spacers between the XBee Lilypad and the protoboard. The socket legs fit snugly into the Lilypad’s external connection holes.

The XBee’s 3.3 volt, ground, D0, D1, and V+ pads are all soldered to the protoboard’s pads below. One additional pad (“NC”) was secured just for more structure.

The result? A small, adorable Lilypad stack with the XBee on top and the glue circuitry on the bottom.

I couldn’t refuse the temptation of adding a power status LED in bright nuclear reactor meltdown blue. Hello, my name is excessive power consumption.

The XBee Lilypad’s onboard 3.3v regulator supplies power to all the logic.

Here’s the 100th build picture of the Deathbldes. Unfortunately not very dramatic. After verifying that the circuit still worked, I drenched the backside in Automotive Goop for insulation.

Goop is one of my most favorite adhesives because it’s rubbery and flexible (yet stiff in thin coverage),  dries and sets fast, and bonds everything.

After a few minutes, I remembered that Goop was in fact a glue and, thinking fast, shoved a piece of hook-side Velcro onto the Lilystack.

The entire top side of the wristpad is covered in fuzz-side Velcro, so this facilitates mounting without resorting to something more permanent, like sewing (AAAAAAAAHHHHHHH)

The battery holder got much the same treatment. Two CR2032 lithium coin cell holders are Goop’d onto a small piece of scrap aluminum. Another chunk of Velcro is attached to its back.

The system will run on 6 volts. This is subject to change, since this may be more drop and power dissipation than the very small regulator on the Lilypad can handle. I may change to a single high-capacity lithium polymer cell.

Here’s how the whole thing goes together!

Notice the other LED I’ve added to the top board. It’s connected to the ASC (associate) pin of the Xbee, so it blinks annoyingly and brightly if the XBee is powered and active.

From the side.

The two trimpots set the force response slope of the FSRs and the “enable threshold”.  It turns out that 25 to 20% is a better threshold than the 30% tested previously. I highly doubt the skatemotors will even produce enough torque to matter at 25% throttle anyway.

and it glows

That’s the important part. Green ASC blinkenlicht, and a blue steady power light.

Trying out a different configuration now. This is where having a huge Velcro surface comes in handy.

And a third. This one keeps the electronics out of the way of the wrist straps so I don’t have to remove all the electronics first before taking the wristpad off.

I’m very satisfied with how Skatroller turned out. The only problem turned out to indeed be power consumption. The two bright LEDs run straight off 3.3 volts, along with the XBee’s relatively strong hunger for power, meant the poor CR2032s went flat within 10 minutes.

Lame.

So expect the ASC light (at the minimum) to come off and the blue power light to get a resistor. Additionally, I’ll probably take myself up on the single cell lipo challenge. Three AA cells at 4.5 volts would make a good high capacity power source, but that’s extremely bulky.

Can XBees take a straight single cell Lipo (3.0 to 4.2 volts) without death?! Perhaps an A123 cell (2.7 to 3.6v)…  I mean,we totally don’t have any of those lying around at all.

digikey where are you

More P-P-P-Power than your Arduino has room for

Have you ever felt the urge to control multi-horsepower electric motors?

with an arduino?

Doesn’t quite work like that…

A few months ago, I did. During that time, Super LOLrioKart and the mini-CityCar were both looking for a compact 36 to 48 volt, 1-brushless-and-1-dc motor control solution of roughly the same power requirements. The attentive reader (all -2 of you) would notice that a few months ago, I didn’t yet possess the skills to design printed circuit boards, and I would be hard pressed to make a good power converter on the back of an Arduino protoshield, or a chunk of perfboard.

Actually, I’ve tried before, and it failed miserably.

But the cool thing about the MITERS clique is that there is alot of cross collaboration. Being mechanical engineers, Shane Colton and I naturally build electronics, power converters, and motor controllers (because those are totally things that mechanical engineers do). And so, at my constant (b)egging, he created the Hexbridge shield, and then refined it to version 2, which is more compact and… more functional.

And now, the (impending) torch has been passed to me. So my goal is to make this thing run a standard sensored brushless DC motor, kind of like a more elegant FVM. It would be the first time I code up a BLDC controller of any kind, Arduino or otherwise, and is the logical step after creating the Kartroller’s H-bridge drive.

The rundown on the Hexbridge shield (/Hexshield): 12-48 volts (nominal) operating range. 30 amps or so continuous operation, more (50-60+) with special attention and addons such as trace reinforcement. Six half-bridges grouped into two gangs of three, i.e. enough to make two BLDC motor controllers. The two gangs each operate off 1 Arduino PWM pin (namely, D9 and D10). The FETs are D2PAK IRFB3207 units, good to several quintillion amps and according to folklore, will desolder themselves long before burning up due to heat!

Because you the user programs the Arduino part, it really can be anything.

As noted, more shields can fit on top of the Hexbridge.

In this case, I’ve put together the Arduino WireBrushLess Tower, the future wireless brushless DC motor controller. The XBee radio module takes commands over the air and the Arduino can read them via its serial port. The idea is to have all of these controllable from a command console in order to make vehicles that go whichever direction you feel like without worrying about tangling control cables.

The small protoboard area next to the Xbee acts as a convenient signal interface stage. The long header presents 3 Hall Effect sensor inputs, logic power, and ground.

For now, I’ll forego the “wireless” part and just use a knob to control the thing. So, the small header is designed to take one knob as input.

In a coming post (when I get around to it), I’ll explain how the knob can actually be a very special magnetic absolute position encoder… for, you know, keeping track of the position of wheel modules which might spin more than 360 degrees at a time.

Here’s the knob wired up, along with some hall sensors.

… but from what are those hall sensors originating from?

The brushless Etek is my favorite Absurdly Large Load to test small controllers with. Everything from Turnigy airplane controllers to the DEC module has seen this thing. It’s both the largest “normal cheap motor” after Briggs and Stratton ditched the original Etek, as well as the smallest “big motor” that is easily available on the grey market.

I quickly whipped up some Arduino code using FVM as a guide for the state table. Overall, the process and structure are similar to what I made for Kartroller 6 – first arrange the outputs to account for the state of the system, then apply the throttle signal. In the case of Kartroller, the states were “forward” and “reverse”. With a BLDC motor like this, there are six states to cycle through to achieve one electrical revolution. “Reverse” on a BLDC motor is just stepping backwards through the table.

Here’s a video (10 megs .MOV) of some of the testing done with the Etek motor. Of course, it’s not a particularly strenuous test at all – the power supply limits itself to 3 or 4 amps at most. What it does show, however, is the built-in synchronous rectification topology that the IR21844s facilitate. Non-regenerative motor controllers will just let the motor coast if I let off the throttle, but a synchronous regenerative one automagically shuffles current in either direction to match the voltages between the motor back EMF and power bus.

Now, the problem with a power supply is that they generally do not approve of having current backfed into them. The voltage will spike as a effort to fight the inflow of current, and this power supply knew when to avoid getting hurt… That is why makers of regenerative controllers always advise putting a battery (or hugeasspacitor) in parallel between a power supply and the controller.

Well, that’s all for now. There are still three whole half-bridges left unused…