Kartroller 6: The Wrapup

Unhappy aluminum spacer is unhappy.

As of about right now, LOLrioKart features a full bidirectional and regenerative motor controller. This might not be true soon since I still have to perform stress tests, but nobody can point at me and say PICS OR IT DIDN’T HAPPEN either because there are pics and it did happen!

Continuing from Day 1, here’s most of the high current bus wiring. I was able to salvage much of the weird grounding strap/braid from the previous controller to use on this one, since it had much shorter wiring spans. The braid is much more flexible than the equivalent amount of ~6 gauge wire, and passes right through the copper screw lugs.

Also in the picture is the large 10 ohm power resistor that shunts the contactor. It’s the precharge resistor for the bus capacitors. I included a check in this iteration of the software to prevent the motor driver from outputting any power if the contactor itself is not latched. When not latched, the logic can still draw power through the resistor.

Check out the double bus capacitors. Some 8 gauge noodle wire links the caps in parallel and also to the  gigaFETs next to them.

It turns out that 3900uF of bus capacitance isn’t really enough, so I might have to double-deck the caps later on.

Now comes the enormous 375A Anderson powerpole. Since the whole controller is upside-down this time, I decided to put the Etek on connectors. I received a set of these for my birthday as a gag gift (they were spraypainted red and black to prevent me from plugging them in backwards!).

The pigtails are 2 gauge welding cables. The kart seems to feature  a very diverse conductor menagerie, ranging from 10 to 2 gauge. Overall, the longest runs get the biggest gauge, so I think it all balances out.

It’s time for mounting! I found some abnormally long wood screws, so just decided to use them to mount the controller instead of trying to use machine screws and tapping plywood like last time.

I was too lazy to actually draw out the mounting hole pattern on the wood first, so I just set the controller up on the machined standoffs and dimpled the wood in the center of each hole with a punch. Then the wood screws were too large to thread themselves into the wood without splitting, so I pilot drilled the dimples. All the precarious controller balancing and punching probably came out to more effort than just drawing the mounting pattern, but hey…

The main battery connector and power switch are located across from eachother, joined with the shortest possible wiring runs. Overall, I cut a few inches out of the amount of wire needed to link all the parts together.

Here’s a look under the upside-down controller. I probably could have dropped the standoff height another half inch so the wires keep themselves in place.

Alright, now we get to my favorite part of this controller design – the entire reason why I chose the Epic Heatsink of Epicness and the upside down design: the case mod.

Two 120mm LED fans park right on top of the Epic Heatsink and tap off the 12 volt line. They are probably the worst possible choice for real controller fans, since they flow as much air as I do by sleeping, but look at how awesome they are.

I dropped the assembly in for a quick test spin of the drivetrain. To my utter surprise, nothing exploded on application of battery power. This is a new development in the line of Kartrollers – generally I have to rebuild it every time I plug it in. The precharge circuit works much faster than the old one now, and without danger of being set on fire by the motor trying to pull current through the bypass resistor.

Downside: That’s probably the most awkward possible place for the battery switch.

Well that didn’t last long. The first wheels-up test resulted in a sudden and mysterious total system shutdown after entering a particularly stiff period of motor braking. No fire, just a sudden crowbar-like effect. After half an hour of diagnostics (the gate driver chips were both toasted and replaced), the controller worked again… barely.  It managed to spin a small test motor at about…. 10 RPM or so.

The above high-side scope trace led me to discover that, horrifyingly enough, I was using bootstrap diodes at almost twice their rated blocking voltage.

The bootstrap diodes are pointing towards the brown capacitors in the picture.

I randomly picked some diodes out of our “power diode” bin which turned out to be 1n5819s on closer inspection – rated to 40 volts absolute maximum. First off, the kart battery was 60+ volts charged, and on regenerative braking, the voltage spiked beyond that. Hitting the brake hard most likely resulted in a mortal blow for both diodes, momentarily firing( x >> 12.0) volts into the 12v auxiliary bus.. This caused the DC/DC converter to freak out and shut down, powering everything off.

Better than setting everything on fire.

The diode carcasses still conducted a little, just barely enough to make the high side FETs also  conduct just a little to run the test motor.

The solution was to replace them with some more random diodes from the bin. This time, they were 1n4007s, good to $MORE_VOLTAGE_THAN_THE_KART_SHOULD_EVER_SEE (namely, 1000 volts).  The test motor almost flew off the table, a good sign.

The negative current is a sign of the regen brake working! Negative current in this case means it’s going back into the battery bank.  This was captured by revving the kart drivetrain up to full speed (a scary ordeal with it balancing delicately on an automotive jack, by the way… if it fell off, it would probably have broke into TMRC) and then letting off the throttle. The synchronous H-bridge took care of the power conversion.

So what always happens after I quickly check that the vehicle works in midair?

Yup. With the reverse switch and brake pot still dangling precariously off the terminal strip, I hurriedly threw the throttle back on and took the kart out for a hallway joyride.

…but not before rigging myself an easily accessible emergency stop. The little chunk of wire is normally wedged into the contactor switch terminals, turning it on. Making sure I was tied to it at all times meant that I could quickly disengage the contactor if… stuff happened.

Fortunately, it wasn’t necessary. There’s not any test video since I decided to save face in case the whole thing detonated in the middle of the hallway, but rest assured video is forthcoming. After doing the drooping-wire test run, I decided to clean everything up and actually consolidate the controls into one easily-accessible location.

…yeah, um, so my user interface design skills need some work.

But the whole thing is conveniently located and fulfills its requirements. The Big Red Switch is a legitimate emergency stop button now! It opens up a normally closed circuit when I pound on it, turning off the contactor. As some people may remember, the previous kartswitch was actually a normally open button, so you had to push to engage and pull to disengage.

The direction selector is located next to the Big Red Switch , and above it is a potentiometer to adjust the drag braking force. This pot should really be a logarithmic pot, since the filter time constant calculation behaves exponentially near zero – very fine adjustment of the pot yields very large coast/brake differences at the “coast” end of travel.

The current-voltage-micrometer makes a return.

And here’s the whole nest from the other side.  I was lucky to find an “INCREASE OUTPUT” knob, which really should have been reserved for cruise control.

The nest enters into the terminal block in a neat and orderly fashion.

A new day and an overnight trickle charge on the batteries means plenty of testing and fire to come! Stay tuned for more pics and video of Syncrec LOLrioKart!