The Eternal Tragedy of the LOLrioKart

The saga continues.

There are three reasons why I work on the kart more than any sane person world. The first is if I’m not doing anything else at the moment and need a distraction from the tribulations of life. The second is if I’m preparing for an event or situation where it would be publicly seen… after all, a working model is better than a nonfunctional sculpture.

And the third is if I have a neat idea or cool part and it HAS to be implemented NAO.

Like some instrumentation. Because operation of the kart is always a game of power electronic dice, I decided that some kind of readout of system conditions was necessary. It just so happened that MITERS had some old skool panel meters hidden deep within its bowels.  There were a few interesting options, such as a leak rate meter… what on earth does that measure?

I decided to start with a simple battery voltage monitor, since I had no convenient Hall Effect sensor,  shunt, or other low-value resistor (besides the SwapFETs’ incredibly low 2 milliohms) or a real constant current supply to calibrate a current meter.

A semi-known fact is that most ammeters are in fact sensitive voltmeters. While it’s easy to make a loop of wire and a magnet respond to 10,000 volts, it’s not nearly as easy to do with 10,000 amps. So a resistor game is played to turn the 10,000 amps into a very small voltage, like 100 millivolts or something. Enough to tick a needle on a voltmeter that has “10,000 amps” written on it.

You can easily convert an “ammeter” to a voltmeter if the “full scale deflection” voltage and current draw are known.

I settled for this meter for the voltage monitor, since the other one actually says amps on it. This one measures “Current-volts-microns”.

I have no clue what kind of SI unit that is, but it was the winner because of its simple 1-millivolt-per-tick scale.

So let’s convert this 100-mV meter into a 100 volt meter.  To not explode the meter, it should span a voltage of no more than 100 millivolts (0.1V). In a 100 volt system, that means 99.9 volts must be dropped across a resistor in series with it before it’s connected to the circuit under scrutiny.

The meter drew approximately .5 milliamps (0.0005 amps) at full scale deflection. So the resistor in question must drop 99.9 volts while passing 0.0005 amps. Now just pimpslap Georg Ohm and you have the resistance value needed – (99.9 / 0.0005) = about 200,000 ohms. Actally 199800, but I didn’t have one of those, and the kart isn’t going into space or something.

…yet.

Zip tied to the kart.

Through this meter, I found out that the batteries drooped in voltage under a good hard launch from 61 volts (freshly charged) to about 56. So they’re not too dead.

Or they are, but even being completely fucked are still awesome just by virtue of being cacknormous.

In a continuation of Reason #3, I found a road blinkie. You know, those things on top of orange construction barrels. It contains a few amber LEDs, runs off D-cells, and automatically switches on and off via photocell.

Well that was easy enough. A half inch bolt threaded through a spacer and into the mounting point of the light and I had improved the road safety of the kart hundredfold.

Let’s move onto more imporant things. For the past while, the kart has been randomly cutting out. The 12 volt DC/DC converter has been resetting for apparently little reason – not just under acceleration, but even sitting still. I wasn’t sure what was causing it, but suspected some sort of transient effect scaring the DC/DC unit.

In tearing down the electrical system, I decided that it was a good time to build a more legitimate motor driver.

It was time to get away from the cobbled-together hardware PWM generator. Producing signals in software makes for a much more versatile controller that can be reconfigured easily. I happened to have some Arduini kicking around, and a Protoshield kit leftover from last year’s Überclocker build.

Rounding out the components is an IXYS 6 amp dual gate driver with isolated high side. Using a halfbridge driver like this lets the controller perform regenerative braking. The high side required an isolated power supply, so I yanked out this 12v-12v DC/DC converter-converter from another motor driver board. I wanted some more electrical isolation between the fragile microcontroller and the harsh environment of my non-EE projects, so I salvaged some optocouplers from some weird board that had to have been made in the 80s.

Finished a few hours later.

I was able to use the Arduino language’s built-in PWM command, so the software was extremely simple. Normally it operates at 500Hz – far too slow. But changing the timer/counter initial counts causes the PWMs to run substantially quicker. I ended up going with the 4kHz option.

The two gate outputs are on the bottom side of the board. The left is the high side, and the right is the low side. For now, to keep backwards compatibility, I left the high side unconnected in the kart.

Scoping the gate driver outputs. This was using some test code where I had independent control over each channel. The waveforms look good, except for a bit of twanging in the high side, which I suspect is just a ghetto scope probe.

Making the driver board fully modular meant that the system wiring could be cleaned up substantially. Before, I had a mess of signal wiring and power wiring all meeting at the terminal strip. However, I could now devote the entire terminal strip to power connections. The system DC/DC converter (a 12 volt, 3 amp unit) fans out into 5 outputs now, so I don’t have to try putting two wires into one terminal. Overall, everything became more organized.

So did it work?

No, of course it all blew up. The problem obviously does not lie within the gate driver system, because everything worked fine for about 20 minutes. Then the aforementioned DC/DC converter began repetitively cutting out.When it dies, the entire kart shuts off because the contactor opens up.

I had gotten into the bad habit of curing these brownouts by hard-cycling the battery switch to reset the converter. It worked a few times.

Then when I hit the switch again, the drive FET made a muffled popping noise and the kart jumped for a split second. Then all was quiet.

Okay, so this explosion wasn’t as spectacularly fire-filled as the other 5 or 6, but I still have to remove the whole electrical system to replace the brick. Amazingly enough, the gate driver assembly survived the whole ordeal.

Explanations that my EE friends (who still refuse to just build me a working controller, eh guys?) offered up include transients on the 12v rail resulting from inductive spikes coming from the contactor, or the lack of a local bypass capacitor  on the input side of the converter causing very short voltage dips to shut the converter off.

Either way, the DC/DC unit is now the problem child. The ghetto moves to another part of the city.

At least I got this cool Volvo dashboard gauge cluster  for free at Swapfest. Sort of defeats the purpose of me adding my own voltmeter.

The Ongoing Tragedy of the LOLrioKart

The next “broke” cycle has arrived. Once again, it’s (you guessed it) the motor controller, under mysterious and  nonintuitive circumstances.

But first, I am proud to announce that the kart is now able to stop.

That is, in under half a block’s distance.

Here’s the reason why. I bought a set of 140mm disc brakes and cable-actuated brake calipers from electricscooterparts.com, which incidentally sells all kinds of electric scooter parts. Now that I know that things like this exist, I wonder why the hell I didn’t spec them out for the kart originally.

Oh, right, because I didn’t know they existed. The quality of components seems to be about par for Orient-imported small vehicle parts; by which I mean the brake disc vent holes had burrs around the edges, the bolt circles were not quite concentric, and the left and right brake calipers were, while sharing the same mounting dimensions, different parts physically beyond being simple mirror images.

So it was out with the old and in with the new. I dismantled the front wheel assembly on each side and cleaned everything off.

The inside of the wheel rims were thoroughly caked in small brake band particles. The fact that there was little in terms of brake left over on the bands themselves probably contributed to the kart’s dismal stopping ability (read: none).

So extremely bald front tires.

The tread was not exactly deep on them to begin with, but all the rough handling, skidding, and serendipitous toe angle of the kart has essentially vaporized the tread off the tires. The rubber thickness is still adequate, but I just shouldn’t be driving in the rain.

Then again, there are bigger problems to expect if I try to drive in the rain.

Integrated wheel-o-brake hub, to be made from hugeluminum round stock. It carries the bolt pattern for the cheap wagon wheels on one side and the brake disc on the other, and is bored for a .5″ bore R8 type ball bearing. I tried my best to perform an interpolation of the intended bolt circle diameter using the three bolt holes on the brake disc.

Here’s the hugeluminum billet in question, set up in a position ripe for disaster. Real machinists and South Bend lathe lovers avert thine eyes.

I needed to turn this billet into two smaller billets, but our horizontal bandsaw was broken, the N51 auto shop’s was optimized for steel cutting, and I was not going to wrestle this through a conventional bandsaw. The last option was chucking it in the lathe and parting down the middle, which filled my imagination with vivid images of tooling setup explosions and broken back gear teeth.

However, with judicious use of centers and power crossfeed, disaster was averted, and I had two equally sized not-hugeluminum billets.

A little while later, a hub emerges. The bolt circle was drilled using my handy dandy indexing fixture.

Test mounting everything. Surprisingly, taking the average of the three bolt radii resulted in a disc that was centered with minimal wobble. It almost makes me think they did it on purpose or something…

Nah.

It’s time for Pretend-O-Brake. Here is a setup testing prospective brake caliper mount positions. The brake caliper was designed by real engineers, so there’s not a single straight line on it to reference dimensions from. Mounting it would be a nontrivial matter, so I decided to resort to some cheating in the form of the abrasive waterjet.

I designed a caliper mount based off existing part dimensions and alot of caliper-balling (eyeballing the dimension measured from an imaginary line projected off the end of your caliper tips, directed towards the feature in question).

Here’s the designed part. Just for kicks, I threw it into Inventor’s built-in ANSYS stress analysis add-on to see theoretically what might happen if I brake too hard. The verdict is that I could make this part out of jello and still have it be able to lock up the front wheels and skid.

Alright, so not jello, but at least birch plywood.

The mounting points for the calipers are slotted such that I have an ability to adjust them a small amount if I found that caliper-balling wasn’t enough.

A few hours later, parts cut out of some leftover half-inch aluminum. Abrasive waterjets are beautiful things.

You know that extra hole next to one of the caliper mounting slots? That was originally for a design-on-the-fly widget to connect the caliper mount to the steering pivot block. However, when I performed a test fit, I realized that I could just cut out a step in the caliper mount and have it slide over the block in question. Square objects cannot rotate over eachother by nature, and the Nut of Wheel-Retaining will hold everything in place.

Well then. Cutting down a portion of thickness is certainly easier than making two more whole parts.

The end result is a quasi-floating brake caliper. Better than a fixed one, IMO, in taking up for the lack of alignment inherent in stuff I build.

All mounted up. The spacer length between the wheel-o-brake and the steering pivot block required a bit of trial and error to get right, but once everything was cranked down, the assembly was solid.

Another view of the assembly, all cabled up.

And now duplicate for the other side, accounting for chirality.

It turns out that real brakes stop moving objects substantially better. I was able to lock up the front wheels and skid during runs in the hallway – sort of the opposite extreme of not being to stop at all, but at least I have the choice of locking up or not. The tires have substantially more traction outside on concrete, and I was not able to lock up (without stomping excessively hard), but that’s a good thing. Stopping distance from top speed was reduced to “under the length of the N52 parking lot”, scientific tests be damned.

Overall, I consider adding brakes to the kart a great success.

Guess what? It’s SWAPFEST time! LOLrioKart has been the unofficial promotional vehicle for Swapfest since May. This time, I could show up and have a fighting chance at not extensively damaging property or causing wanton personal injury.

Then I

Well, I sure as hell didn’t, but something did. I put the kart in a Prominent Advertising Position™, then went around to gather cruft. When I returned to start putzing it around, this happened.

As soon as the battery switch was engaged, the precharge resistor set on fire. This tells me that the ESC is stuck wide open, and so the Etek tries to drink all few hundred amps of its stall current through a 50 ohm, 1 watt straw. It, in turn, does not last long.

Because the ESC was damaged in the ON position, I elected to not hit the contactor button. At that exact moment, it would have taken off and landed in a pile of server parts. Servers are fundamentally more expensive than anything on this vehicle.

And thus I kept the kart off until I grabbed a friend and rolled it back into MITERS. I have not yet opened up the electrics to see what went wrong (besides it existing in the first place), but my suspicion is on the gate driver again.

Anyone have a real, 60 volt commercial DC motor controller of over 300 amps capacity they want to donate to the cause?

Swapfest finds

Swapfest is always an interesting adventure because of the variety of people it brings. By variety, I mean old ham radio enthusiasts. However, the distribution of cruft and oddities is quite Gaussian in nature. There’s tons of the usual – electronics supplies, small discrete components, computer parts. A steady amount of the esoteric but not out of the ordinary, such as vacuum tubes, antique radio equipment, and random shit from someone’s attic/basement/garage/hole-in-the-ground. But every once in a while, you stumble upon something that is so weird or awesome that “Holy Iridium Jesus” is the only proper response.

This is one of those finds. I was told that it is a military aircraft radio component of some sort, an early form of spread spectrum radio called a data translator. I prefer to call it AWESOMSESAUCE.

I didn’t have a real camera available, so the multi-kilopixel cell phone camera has to do. But I think the astonishing engineering detail is visible even from here. The thing is packed solid with conductors, tubes, motorized digital-to-analog converters, and crazy components that I don’t even know the function of. Seriously. A motorized DAC. It even has NUVISTORS. I don’t even know what the hell NUVISTOR is, but it sounds badass.

This is from an era when mechanical engineering and electrical engineering were truly intertwined and engineers had to have a deep understanding of eachothers’ practice. This is not like “mechanical engineers design a structure and the electrical guys slide a board in”. This is “your product is so incredibly part-dense that your fucking components are structural members.

I stand by my position that old people, no matter how weird they smell, are more hardcore than my current generation will ever be.

The only specs that my 3G-enabled friend could dig up was this milspec, which doesn’t really say anything besides “register for our website”. Anyone know what on earth it is?

At the $60 quote price, I was tempted to buy it just so I could put it in a display case. But a display case hardcore enough for this thing would have to be made from cast magnesium with solid hand-refined fused quartz windows and lit by radioactive phosphorescent compounds.

Anyway, to return to Earth, I got a few things that I could, you know, actually use. Past the supply refills for MITERS, I got this box of giant transistors.

A scan of the datasheet when I returned ousted them not as FETs, but IGBTs. Because the ginormoFETs that I bought at Swapfest the last few times were dubbed Swapfets, these are now Swapbutts, because IGBT is only properly pronounced “igbutt”.

The total count is

3x 1000v, 200A

1x 1200V, 150A

and a single 2000 volt, 300 amp unit. H00t.

I also got a Hot Wheels RADAR gun. This is a real RADAR gun, but with reduced power and sensitivity so small children can bite it.

Maybe now I can actually find out how fast I go? It’s also fairly hackable.