This details the implementation of a simple battery current meter, as part of a larger cluster of gauges and indicators. It's part of an ongoing R&D project [that, in hindsight, occupies a period from early 2005 well into 2010 and beyond] -- to give a Prius some of the geek-appeal instrumentation that Toyota doesn't care to provide for the mainstream driver. Well, not that Prius drivers are particularly mainstream, by and large, but whatever. This car desperately needs some real *gauges*.

[This is also one of my earliest pages about the Prius, which is why it's stylistically klunky, and you can probably see some minor evolutionary changes through later pages on other topics. Over a subsequent update or two I see no reason to change this page in any profound way; I will always be a fan of simple, accessible web pages designed to *provide information*, not be an exercise in fluffy HTML design.]

Overall, the cluster currently has a vacuum gauge [aka "how hard is the engine working"], a tach, a voltmeter for the aux battery, and the current meter. The panel itself and many of the other parts are part of a completely rebuilt dashboard from a project-truck I was doing over 20 years ago, and it's ironic that much of this first saw light of day in something that got 12mpg with a good tailwind. I'm not one to throw stuff like this away so I still had it all around. The triangles of LEDs, originally for directionals, will eventually become some other sort of indicators -- I'm thinking to mirror the U/V/W phase drives to MG1 and MG2 with them.

The little black-taped bar down in front of the panel is a piece of plastic with some LEDs glued on top, for illumination at night. A complete kludge, but it works well enough.

Back view of the cluster through windshield. Much still remains to be filled in, but this whole unit just lifts right out and can be taken back into the shop for mods and additions. At this point in time, things are just sort of kludged in for proof of concept. What's nice is that visually, from driver's eye to lower edge of windshield, there's plenty of room to drop something in here and not interfere with any sightlines.

Getting the vacuum line up to the dash was a *bitch*. There are a couple of obvious spare passages through one of the two firewall glands on the right-ish where wiring passes through, which appear to be the proper "official" way to penetrate the firewall, but getting *to* either side of this area involves, in the words of a friend who's installed too many car stereos, an intense session of kundalini yoga. In this case the gland is way behind the engine block in front, and up behind the air-conditioning box inside. But there's a convenient vacuum tit on the right side of the intake manifold, normally sealed off with a rubber cap, and the firewall gland isn't too far from that, so it all seems entirely appropriate. Six feet of hose still isn't quite enough to reach across to the gauge, though, once a certain amount of length is used up getting through and heading up behind the air-conditioner.

But I didn't do this page to talk about vacuum gauges. This is all about having a simple, realtime visual indication of current into and out of the battery, to get a better idea of where some of the system's energy is going. There are times when the MFD shows battery charging, but the SOC doesn't rise. So, a tool to ferret out what's going on is clearly needed.

There are a couple of options for sensing current. Resistive shunts are old-school, involve invasive cutting of a lead, and have many accuracy and thermal issues. Hall-effect sensor modules with built-in conditioning electronics are commonplace now, and in fact the Prius uses them for its own current-sensing needs. Magnetoresistive sensors are also gaining popularity but those are probably still a bit too exotic for this relatively simple need. So it boils down to: buy a completely separate sensor and wrap the right electronics around it, or tap into the existing one? Clamping a sensor around one of the orange wires just going into the inverter and bringing the output right through to the dash is sort of appealing, but subsequent information has tipped the choice over to simply monitoring the same input the battery ECU does. I also save on not springing $20 or more on an extra sensor and the glue to power it, and since most of the modules are one-piece donuts that don't actually *clamp*, it avoids having to mess with the battery leads at all to thread another sensor on.

There is prior art in the "tap the sensor" area, described in Graham Davies' current meter page for a first-generation car, and a little research indicates that it's the correct approach for this one as well.

The first problem, of course, is getting at the battery electronics. The hybrid battery box is under the panel just behind the seat backs... which is difficult to remove, in fact; besides the two luggage hold-down ring bolts, there are three hidden plastic clips in a triangle across the top of the pack, and unclipping those without breaking them is an interesting bit of plastic-bending. But as most other panels and parts inside the car, it's all just bendable plastic and with a little careful persuasion, pops right off.

Down to the bare-metal battery box. That topmost bracket on the left seems structural in some way -- connects very sturdily to the LHS shock-tower and under the seat. Almost like it's designed to lift the battery box up out of the way during a severe frame-bending side impact or something.

One *does* want to do most of this work with the service plug removed, per the many loud cautions in the service manual about working around the high voltages. But of course for powering things back up and testing, everything has to remain connected and live. Working around this stuff is not really that different from working around household electricity -- certainly to be respected, but it's not going to leap out and zap you unless you do something stupid. The innards of TVs and monitors are probably more dangerous, and I'm well used to working on those too.

A few bolts later, along with displacing the back seat and left trim panel, we've got the business end of the battery box open. It's conveniently under a separate piece of covering metal, so the batteries themselves remain covered. The white current-sensor donut is attached to the forward wall at the left, with the lowermost orange wire run through it.

Oooh, the service plug seems to be back in! Danger, will robinson! Here we are powered up and live, and what's with that paper clip hanging out of the computer??

The paper clip, in fact, is a quick-n-dirty tap of the yellow wire that brings the current-sensor output to the ECU. Initial readings to confirm Wayne Brown's earlier findings can be taken this way. The sensor's power is +5 and ground; its output sits at 2.5VDC and swings higher or lower depending on magnitude and polarity of measured current. I couldn't find any specific info on the Denso part# 131400-0050, but the LEM Electronics HAIS-200-P or the Tamura L01Z200S05 work almost identically so it seems to be fairly standard operation. With the wire run through as in the Prius, negative voltage swing means charging, positive means discharging. That's exactly how the meter will work -- when speaking of "battery current", one should think of it supplying power as "positive". Obviously, if the donut were 180ed or moved to the other lead, the output would swing opposite, but then the brain-box would be *very* confused.

About to start the real installation. Tools brought out, the box open, wires hangin' out in the breeze, a HOT SOLDERING IRON sitting on top of the battery pack ...

To make life easier I simply remove the contacts from the current-sensor plug. The wedge-like "official tool" that Toyota recommends making a few of is sitting there next to it, and it *does* work really well. Once the leads are out of the connector and separated, it's easy to slit the insulation and lay bare just enough of the wire to attach the tap harness to.

The main relays are right here; they're mounted at rather odd angles. The whole battery box has a cheezy, non-deburred feel to it, like those cheap PC cases that you can cut yourself to ribbons working inside of. And those connections look to me like they can just *barely* deal with 100 amps. The pack is fused for 120A in the service plug.

Tap leads spliced in and taped, ready to sleeve up and reassemble. The output connector is also shown. The sensor output is fairly low impedance -- maybe 100 ohms internal resistance, typical of an op-amp output stage, but just to be safer I take it through a 1K resistor so that if something bad happens downstream, it won't affect the ECU's idea of what's going on. I would use a higher value except that my tap has to run all the way up to the dash, so it should be able to swing a solid signal through a long [albeit shielded!] cable.

This is a change from the original idea of dropping the entire buffer circuit *here* in the battery box. It's now all up at the cluster, making it more accessible. After determining the relative "strength" of the sensor's output, I figure that it's safe to run externally as long as it's nominally shielded and protected against transients. Other people have confirmed this, too.

And here comes the cable that will carry sensor output and +5V to the dash. It's a piece of old balanced mic cable -- 2 wires + shield, and a robust sheath that can protect itself fairly well against most physical quirks of the route it takes. The matching male connector for the tap harness is soldered on and beaded with a little hot-melt for insulation and rigidity. After being plugged together, the entire connection is loosely wrapped in gaff tape and shoved down behind the ECU.

The output wire routed around past the left end of the back seat, and along the door-edging trim toward the front along next to the stock harness.

Almost finished the run to the front. The wire next dives in under the kick panel and thence upward to the dash. It's pretty easy to run through all this stuff, including behind the panel on the middle door pillar. Plenty of room to end-feed it, even with the connector attached.

The real circuit isn't even built yet. For initial testing, the battery-box wire arrives here, into a proto-board so the driver circuit can get a "real life" test before being committed to more permanency. Eventually will go onto a real circuit board mounted behind cluster, as part of several other bits of support electronics for subsequent hacks.

The buffer circuit is just a simple pair of op-amp followers; one providing a fixed 2.5V reference [or more properly, the current sensor's Vcc/2] and the other buffering the donut output. The op-amps can source/sink 20mA or so and the meter only needs half a mil at full deflection, so that gives plenty of stability. Still using the DMM to sanity-check readings. Seeing a nice solid 2.5V at "ig-on", when no battery current is possible, and so in this state the reference trimpot is used to zero the meter. We should be done at this point, but something's not quite right...

A little force-charging. DMM and the analog meter aren't matching very well; calibration probably has to be revisited and I know the cluster in general does *not* have a very solid ground connection yet. But for an analog thing to just swing around and show approximate flow, it's good enough for now.

Close up of the meter. I have no clue where I trashpicked this thing, but it's perfect for reading +/- 100A in this case. With an 1.8k series resistor, it's pretty much a +/- 1V FSD voltmeter to read the buffered current-sensor output deviation from 2.5 V. Basically, one volt output deviation == 100A.

Slightly more than forward creep, but not quite enough to overcome the parking brake. Surprisingly little current appears needed for a gentle launch, though.

And even in its kludged, under-construction state, the panel looks totally cool at night!

The simple circuit to read the current sensor output and drive the meter. The 5V supply is only used to derive the reference voltage; the op-amp power comes from the normal 12V. I was originally going to use the 5V for power too but the non-rail-to-rail op-amp can't drive *quite* high enough. Fortunately, the 324 *can* get within one junction of negative, so there's plenty of headroom there to read a -100 amp level.

_H* 050505