Close

Entry 5: is this thing on yet?

A project log for Reverse Engineering: Brushless DC Motor Controller

With a pile of BLDC controllers lying around, and none that do exactly what I want: better to re-use the parts than start over from scratch!

jorj-bauerJorj Bauer 10/31/2018 at 03:150 Comments

It's been a while since I've updated this project - mostly because it's been sitting in a trailer doing nothing.

This is all for the motorized base of Geo, my full-size Imperial Dalek. Since I didn't finish before LIWho 5, I rolled it around on some casters instead. No big deal; I thought I'd come back around to it for LIWho 6.

Except there is no LIWho 6. The con is done and won't be coming back, so I've left this one rotting in storage. Bummed that my con is gone, I worked on other things... until they came back around.

LIGeek is organized by the same folks; they reached back out to ask if I'd be part of a panel on building these things. Which gave me some reason to pull Geo out of storage. I figured I should at least try to get the remote drive up and running; I was pretty close last year!

So after reverse engineering my reverse engineering work to remember where the heck I left it all off, I started building: first a new remote; then some new code for the Teensy; and then I'm back to fiddling with the brushless controllers. While the reverse is working well, I haven't yet wired in the brake line. It's now time.

You see, these wheels (and the base they're attached to) have a lot of intertia. Once they get spinning they don't really want to stop. My first pass just turns off the motors; the base still continues to roll. Why not run the motors backward? Because I can't. These controllers insist that the motor be stationary for some length of time before switching from forward to reverse (or vice versa).

I faced the same with Bob (my 40% scale Dalek) which also uses brushless motors. When I finally wired up the brake line, I rewrote its code to use the brake to decelerate; it makes a world of difference in the overall handling (not to mention that it actually keeps Bob in place when I want him to stay still on an incline).

So I figured I'd wire up Geo's brake line. It's just sitting there doing nothing!

Sadly, I have no pictures of this piece of the build - it was done fairly hastily. I snipped off the connector and wired in the brake line, nothing to it. A quick bit of re-coding, and one test run later ... only to find out that it's not an active brake line. If I put +5v on this line, it just stops trying to drive the motors; exactly the same result as if I'd stopped trying to make the motor spin.

Sigh.

What I really need is an active brake. It's a deceptively simple system, really. Normally you'd spin the motor by pulsing power in to each of the three electromagnet coils in sequence. A, B, C. A, B, C. A, B, C. When you pulse the power in to each coil, it forces the permanent magnets to move forward one partial rotation. Keep pulsing faster and it spins up.

When you want to actively brake the brushless motor, you just short out each of the electromagnet coils. The permanent magnets start to spin, which induces current in the electromagnet coil; but the coil is shorted, which induces an opposing electromagnetic force. The motor doesn't want to turn at all. Which means that an active brake needs to stop applying current to the motors, and instead short them out.

I did find that there's a pin labeled EBS with no wire attached - right above the CCW wire from my earlier log entry:

But in this case, finding the wire hasn't helped me any. Grounding it and pushing +5 through it don't seem to change the braking behavior, and unfortunately, I'm running out of time. Without the brake this build is a bit of a menace; it's really hard to change direction, because I'm at the mercy of Newton. I can probably make do with it and I can almost assure myself that I'll also wind up running it in to something unintentionally.

Unfortunately, this probably means I'm abandoning these controllers for this build. With a couple weeks left to showtime, I need to button this up and get it working as a whole; it's my least favorite part of the build, the "I'm throwing money in this pit until the problem goes away" phase...

Discussions