Chibi-Mikuvan The Extended Universe Edition: Water Cooling Loop and Digital Dash

It must be awkward observing your own viscera from the perspective of your own husk.

Now that the summer season here in the shop has settled down and people are well on their way to wrecking my laser cutter, I’m advancing on the checkoff list before the Detroit Maker Faire and its associated PPPRS race. I’m like, signed up noncommittally and everything. Through a web form. That’s some serious confidence right there.

water cooling

Last time, I mentioned the water cooling circuit and electronic dashboard. Recall that the motor I ended up investigating and deciding on is a water-cooled boat motor, and I’ve been running it without any water cooling. This has been somewhat tolerable – it is actually quite efficient, and even during the hard garage runs, I was able to do 2 or 3 back to back and not feel that the motor was nearing burnout temperature. However, all of this is was done in mild weather, at night. I’m sure that if the daytime temperatures were much higher, it would be a greater risk to run the motor that hard. Bottom line is, why buy a water cooled motor and not water-cool it!? I could have sprung for its longer air-cooled cousin if I didn’t want to mess with that.

The water cooling circuit I had imagined was going to be quite simple. This wasn’t going to have to dispose of a kilowatt or more. I ran some rough numbers and expected that at 100 amps continuous (all day, which will never happen), the motor is going to only dissipate about 150 watts. A modern workstation PC’s graphics card along can shit more than that at any point in time. The plan was to base this system off a computer liquid cooling rig. I scouted eBay for used water cooling kits for a little while before Mike handed me a Powermac G5 pump and radiator, first revealed a few posts back.

So that was taken care of! The only missing from this kit was a reservoir. Now, I could have been crafty and just made a whole closed loop using the pump and radiator alone, but a reservoir would be helpful for topping off the system and allowing expansion space (I have zero cred here – real-Mikuvan’s coolant expansion tank is the hose looped back onto itself and pointed away from the battery so any spurting pressurized coolant goes straight down…)

So that’s how I went to the grocery store, bought a jar of pickled olives, and ate the whole thing. That was a very uneasy evening.

I made some “panel mount” barb fittings for 6mm ID Tygon tubing and attached them to the can lid using my favorite adhesive/sealant, Goop. It’s rubberized, so it’ll be both watertight and somewhat flexible. The other end of these fittings end in a non-barbed tube that I extend down into the jar as a pickup and……dropoff? tube.

It took a while to come up with a component placement, since the only left over space was immediately behind the seat and in front of the electronics case, which is not a very good airflow spot. So I did what I could for the location. The big board it all sits on is 6mm hardboard. I purchased several (dozen) sheets from a local wood products distributor as prototyping material for 2.00gokart and the shop in general, so plenty was left over. I’m just going to use this hardboard as-is. It’s not very afraid of water (unlike MDF), and is quite rigid.

The jar mounting bracket was produced on an Up Mini, one of the handful of hobby-class 3d printers accessible by students in my shop. I designed it while shuffling component placement in my head – I knew this bracket would be needed, just didn’t know exactly where yet.

Installing the tubing was quite straightfoward. Near the motor, the 6mm tubing steps down via a custom 3d printed adapter to 4mm tubing to attach to the motor. Hello, flow restriction. Designing these adapters was a fun excursion into the world of fluid systems design. They were made using the lab Objet (high resolution resin printing) machine.

McMaster wanted to charge me $7 each for these damn things, so I figured having a $33000 state of the art rapid prototyping machine knock one out …uhh, I guess I really have no case here. I think these fittings will still work if made with a hobby FDM printer, but there would likely be sealant involved to fill the filament low spots.

Testing on a power supply, I found out that the pump wanted 0.4 amps at 12 volts by itself. Yikes – the little hacked 5V BEC units I was using to produce 12V (I have hogsheads of these) can realistically only sustain about 1 amp when jacked to their new output voltage. I was already needing 1 amp for the contactor.

Solution: Just whip up another one in like 5 minutes. AUX runs the pump, LOGIC is dedicated to the Arduino, contactor, and sensors. I have 0.5 amps left to add gaudy lighting.

Here’s the completed water cooling loop! After a little leaking, all the O-rings seem to have found their seats and I haven’t noticed any more drops on the ground.

I ran this thing around the shop “track” (meaning the conveniently rectangular closed loop building at night when everyone’s gone) for half an hour, doing 55 lap or so (I may have lost count). I ran the battery straight down, and the motor could best be described as “lukewarm”. Maybe warm water for hand and face washing temperature. This was with no additional airflow to the radiator besides what leaked behind the seat through that cutout in the mounting plate. Without power data to back it up, I can’t really draw firm scientific conclusions, but yes.

As the weather gets hotter here, I’ll most likely set up the 2.00gokart test track one weekend and just try and keep running as long as possible. I think the addition of this system will help the reliability greatly.

the digital dash of science

One thing that has been bugging me about Chibi-Mikuvan is indeed the utter lack of science on it. Because of my use of the 150A Anderson connectors, I don’t have any instrumentation that can jack in the middle between the battery and motor controller. I mean, besides making yet another why-did-you-even-bother-adapter.

I conceived the idea of rolling my own wattmeter, or perhaps Anal Cyclist Cycle Analyst, after finding the datasheet for the current sensors that are integrated inside the Ford Fusion hybrid battery, the LEM DHAB S/34 series. It was easy enough to read, as an isolated Hall Effect loop sensor, and I could put it any where. It’s also easy to rig a voltage divider to sense the battery voltage. With those two pieces of information, I was basically satisfied (I could go totally insane and add way too many features and datalogging to boot, but…)

First off, removing the ridiculous connector shell on the current sensor and attaching a pigtail of wire to it. Protip: The cheapest source of 4 conductor shielded high quality cable is old USB cables. Almost all of the signal cabling on this thing is made of hacked up computer cables!  8 conductors? Ethernet. 9 conductors? DB-9… nobody uses those any more. USB has 4 conductors and an outer shield that could be another.

Next, I swung by Microcenter and got a Sparkfun serial LCD kit. Imagine my surprise when I found out it was not one of their integrated one-board sLCDs, but a cleverly packaged Arduino. Well hell, I could have made that with the onboard Arduino. Oh well.  I was looking for a sLCD in particular because I wanted the simpler interface, and not actually having to resort to using all 8 pins of an Ethernet cable to run the otherwise parallel signals.

I designed this mounting bracket in about half an hour, to be slowly worked on by the Up Mini, while I wrote LCD code. For some reason, I’ve been all about those flexural snap fits lately.

Here it is being produced. I’m basically an Up salesman, so I’ll take this opportunity again to plug these machines. They just work. Extremely well – they’re still the only machines I’ve dealt with which produce truly breakaway support lattices. Even an old Dimension BST machine.

I have a personal Up Plus, and the shop has an Up Mini.

Getting this LCD up and running was quite easy. I basically followed the Sparkfun datasheet and instructions. I couldn’t get it to change baud rates, however, despite trying that command a few times. So for now, it’ll just talk slowly. (I typically run my Arduino-related serial things at 57.6Kbaud).

I used the remainder of the USB cord to run the LCD from the handlebars to the electronics box. This wiring job is almost approaching unserviceable – I’m strongly considering a full refactor into something more accessible and serviceable prior to the Detroit Maker Faire, now that I know what connections need to be made and what could be done better. For instance, I have a few 12V, 10A DC/DC converter modules that could replace the two smaller hacked ones and run all the gaudy lighting I want. 

On the breadboard are some of the signal interface circuitry for the current sensors and voltage sense. Just simple R’s and C’s, they form low pass filter networks to help smooth the sensor readings. I’m not sampling thousands of times a second here…

With two cables now snaking up to the handlebars, I used some left over wire-twizzlers (proper name: spiral wire or cable loom) to constrain them. It looks almost professional!

Here’s the end result!

I spent way too much time in the code measuring the length of the digits to keep them at the correct offsets such that the units’ letters (V, A, W) didn’t move. The digits have enough space in front to add a negative sign for regenerative braking. Volts have 2 digits, Amps has 3, and Watts has 4. The LCD refreshes 5 times a second, which makes it a bit flickery, but I still can catch glimpses of the levels that the measured physical variables hit.

I’d say this setup is definitely more dashboard than instrumentation. Instrumentation would imply I investigated and know the level of precision attainable with the parts and the potential error and uncertainty in each one of those indicated measurements. Which, no. This was calibrated with a Harbor Freight voltmeter. There is literally nothing between it and just flat out guessing.

Here is the current version of the Chibi-Mikuvan running code. I’m posting it primarily because of the LCD interface code – the rest of it is a big fancy servo tester knob (I have fathoms of those).

I’ve been thinking of a potential next step with this code, now that I have the ability to read the battery current directly. The idea is to use something similar to RageBridge’s current limiting scheme in order to follow the time-current curve of the PRS series fuse. The fuses specified, MIDI style fuses from Littelfuse, are slow-blow ones which give you a moment of surge current capability, so I’m thinking about a way to try and push that envelope with current limiting – no matter how hard you punch the throttle, it will stay (ideally, just barely) within the transient limit of the fuse.

Something I have to think about now, though, is how to make a “Chibi-Mikuvan adapter” to hitch it to real-Mikuvan, though if we have enough go-karts coming from here, it’s easier to just borrow or rent a trailer.