I mentioned Project Hugo in the site update a while back and an idea I’ve been toying with is implementing a CAN bus for my 22 year old car, a Mini Thirty.  I say I’ve been toying with the idea, one of my friends at the pub starting talking about the advantages of CAN bus and after that I couldn’t resist!

In the Mini and most classic cars there is a “simple” wiring loom that uses simple techniques to get the job done.  For example, for the headlights and rear lights there is a switch on the indicator stalk that connects to a relay, this relay has a connection to the battery and to the lights.  Simple, does the trick but as every light and device has a couple of wires each the loom soon becomes complex, a bugger to wire, troubleshoot and if nothing else heavy!

The idea behind CAN bus is that each component of the car is networked and listens on a single bus and has a power feed.  This means that you only have to run a ring of cables around the car that each component connects to rather than having separate wires for each component.  There is a diagram on the following site that explains it quite nicely;
http://canbuskit.com/what.php

(Not an endorsement of the product, just a handy diagram.)

With regards to developing a CAN bus I purchase a dev kit which appropriately comes in a can!  It’s the Stallaris LM3S2965 and was about £55 from Farnell.  I’m still getting to grips with it and to be honest I haven’t managed “Hello World” yet.  As awesome as the .NET Gadgeteer, Netduino and Arduino undoubtedly are it’s always good to be reminded of that fact.  This project will include a steep learning curve but will be well worth it in the end.

For those wondering why I’m going to this much effort the answer is simple;  Why not?

It’s going to be a slog but the result is a wonderful little car with 1950’s styling, a modern Honda engine and massively updated everything.  It’ll allow me to integrate a modern car alarm very easily, I’ll be able to connect to a PC for diagnostics and control the components of the car programmatically too.  For example, if I want to have the side repeaters switch on in a constant mode with the headlights to act as running lights I can, same goes for the fog lights switching on with the main beam.  The beauty is that this behaviour would be switchable on the fly and I’d be able to add other behaviours too such as a rain sensor to activate the windscreen wipers and light sensors to switch on the headlights too.

This is without a doubt shaping up as the biggest project I’ve taken on so far but should be well worth it in the end.  More posts as it happens.

 

5 Responses to CAN Bus Project

  1. Jay says:

    Interesting project. I had considered doing something similar but would probably use I2C as the CAN bus components seem to be expensive. I2C would require a lot more attention to noise control but I am used to using it in high noise environments so don’t see that as a major problem. I think a single bus master would work OK for the control of the components you mention. CAN bus works well where there are a lot of sensors sending data but a bus with two are three sensors doesn’t need the capability.

    Keep us posted on how things are going with the dev kit.

    • Keegan says:

      Hi Jay,

      I’ll admit I’ve often considered scrapping CAN and going with an Arduino or similar based option using I2C but noise, compatibility with alarms and sensors along with reliability of the Arduino itself controlling my lights and indicators put me off the idea. Could be a good and cheap proof of concept though. That, or I could create a CAN interface bridge but that may make things messy.

      Hmm….

  2. Ryan says:

    Just wondering what progress you have made with this as I’m looking into doing something similar. Why are you worried about the Arduino’s reliability? Just curious, I hadn’t considered that yet.

    • Keegan says:

      It’ll be running the lights for my car, including headlights and brake lights. Just a bit nervous I guess. Haven’t got any further either, too many projects!

  3. […] started with this idea back when I though implementing CAN was a good idea but I’ve since learned how much of a pain wiring looms are so sod that!  […]

Leave a Reply

%d bloggers like this: