Picaxe saved my car!

moxhamj

New Member
My car started overheating badly a few days back - actually it has been doing it for a while but the first hot day really caused the needle to go over half way up the dial. A quick check revealed the fan wasn't coming on, and further checks revealed the fuses and relays were all fine. The problem was the on board computer wasn't pulling a relay driver line low when it should be.

So, take it to the repairer and pay a king's ransom for a new onboard computer, or build a new controller using a picaxe? I chose the latter of course!

Hack into 3 wires (0V, 12V switched via the ignition, and the low side of the relay coil). A quick picaxe board with onboard 5V reg and relevant filtering. BC337 driver transistor. LM35 strapped to the water pipe near the radiator. Then some experimentation and this is the bit that picaxes are really good at. After a few iterations moving the chip from the car to the programmer board and it has been calibrated so 70C measured on the LM35 on the outside of the pipe corresponds with about 80C on the temp guage. readadc10 works better than readadc but it probably isn't that critical.

Turn on for 30 secs if over temp. The temperature really falls quickly when the fan comes on and a single burst of 30 secs is enough for another 3-4 mins of idling. Turn on for 10 secs when startup for diagnostic purposes.

Temp can be tweaked further if needed and this is the bit that is so much better than a pot which might shake and lose calibration. Plus a pot doesn't give control over the hysteresis or on time.

This isn't a "mission critical" application as the worst case scenario is it all fails and it is back to how it was before when the on board computer wasn't turning on the fan and the car had to be turned off at every traffic light. But I must say that there seem to be no problems with interference or resets or anything. It just works.

Now I have my own on-board car computer with a picaxe!
 

hippy

Technical Support
Staff member
Excellent. When my temperature sensor ( which was expensive enough in itself ) failed open circuit I just added a switch on the dashboard and ran wires to short it out. This is far more high-tech and probably not much more expensive / time consuming that running wires through bulkheads and modifying dashboards.

Turn on for 30 secs if over temp.
With the LM35 temperature sensor you should be able to monitor the falling temperature when the fan is on and switch it off earlier. Handy when temperature soars but then you move off again at speed and it air cools quickly. On at 80'C, off at 70'C or similar.

Think of all the fun you can have with PID and Fuzzy Logic designs :)

Turn on for 10 secs when startup for diagnostic purposes.
Presumably after a short delay ? You won't want the fan kicking in on that one day when the battery is a bit flat and it's struggling to crank the engine to start. Maybe you could add a signal to indicate if being started or running ?

This isn't a "mission critical" application as the worst case scenario is it all fails and it is back to how it was before when the on board computer wasn't turning on the fan
Assuming failure mode isn't devastating to the rest of the vehicle ;-)

The most common failure I found was in flexing wires causing them to break off sensors or break internally. Anything connected in some way to the engine block, like water pipes, tends to suffer severe vibration.

You can probably determine when the LM35 has gone open circuit ( wire fell off ) and put an alert Piezo under the dashboard. You could also add an over-temperature alarm as well so you can tell if the relay circuit or fan hasn't kicked in.

Now I have my own on-board car computer with a picaxe!
I do like "simple projects" like these because once you have something working it's so easy to make them more functional, although the art is knowing when to stop :)

Did you take any special precautions with the power supply design ? Either way it will be interesting to hear how well it stands up to the environment it's in.
 

LizzieB

Senior Member
After a few iterations moving the chip from the car to the programmer board
Aha, so you don't add the couple of extra parts and a header to be able to program the part in-situ? Seems to me that it's worthwhile to do that for a one-off or prototype.
 

moxhamj

New Member
Both solutions work - there are no hard and fast rules about the extra programmer parts. I soldered it into the car wiring too rather than use plugs. Whatever works.

Have discovered some interesting things about car cooling and I think I now have a better solution than the original system. It is a feed-forward problem. I have three modes of driving - highway, stop start traffic lights and hills. Highway doesn't need the fan. City driving does if it is rush hour, and hills are where it overheats. The problem is city driving followed by a hill. The fan needs to be on before attempting the hill otherwise it can't get rid of the heat fast enough while going up the hill due to the thermal mass of the engine. But how does one know that one is about to drive up a hill?

I've gone for running the system at a lower temp 65C as measured on the outside of a rubber pipe (vs the usual 82C measured directly). This means the fan is on a bit more than usual while in city driving. In highway driving it is still never on. The fan is likely to be on while waiting at the lights at the bottom of the hill. I run for 4 minutes once it detects over temp - enough to overcool the engine block a bit. The fan is never on while driving at 60KpH so it is mainly traffic lights that are the problem.

Has worked for a week now so probably out of the "infant mortality" stage. Outside temp has been over 35C most days this week so this is testing the system on hot days.

I guess a bigger radiator and double fan would also work but I like the <$10 picaxe solution.
 

papaof2

Senior Member
Monitoring engine vacuum (or throttle position) and RPM should give an indication of load.
Low vacuum (open throttle) + mid/high RPM = greater load, either speeding up or climbing a hill.

John
Currently doing a mental model of a serial GPS + PICAXE speedometer for the new vehicle that reads 5% high (error will increase as the tires wear) - and the dealer says "It's in spec of +/- 7%".
 
Top