After attending Jon Oxer’s fantastic talk at lca2008, “Joining Second Life to the Real World”, and purchasing one of the Arduino kits he had for sale, I’ve spent a bit of time reading up on both the board itself and stepper motor controllers. So this weekend I finally started putting something together.

For a while dad and I have been ‘dreaming’ of fitting up a throttle-by-wire system to the (as yet not quite finished) race car. This has the advantages of being more flexible  than a mechanical system as well as having the capability of multiple (potentially non-linear) throttle maps (ie one for road and one for track).
We looked for a kit that offered such a thing however having found nothing, we put the idea on the “good idea only” pile (We did also investigate pulling one out of a factory TBW car, but all have the controller built into the ECU making it an expensive proposal). The Arduino though is nearly the perfect device to act as the controller!

So anyway, without dragging on too long (I’ve not done much hardware stuff like this so it has been a series of ‘woohoo’ moments over simple things), I’ve so far managed to hook up a unipolar stepper motor (Pilfered from an old HP inkjet), a 1k pot and a darlington array to the Arduino and set the position of the stepper based on the position of the pot. The position is decided by an array lookup so having different maps should be a simple matter of changing arrays. This is, in a very rudimentary way, the same thing that a TBW system does (with the pot being a throttle position sensor and the stepper being hooked up to the carby actuator).

So whilst its still a LONG way from the end goal, its a step in the right direction. I quickly learned that the stepper motor I’m using will need to be replaced as I’ll need one with some form of position reference feedback (eBay seems to have heaps). We’ve also briefly discussed hooking the Arduino up to the pulse counter on the front wheel, adding another pulse counter on a rear wheel and creating a basic traction control system. To do this though I’d need to read up a bit on how the Arduino goes at pulse counting. Interestingly, having accurate pulse counting would also make something like cruise control a reasonably simple addition.
So lots of possibilities and lots of this to play with over the next few months :)