I am working on a wheel speed sensing and traction control system as part of our schools Formula SAE race car. Basically, it has more power than traction (about 80HP/500 pounds) and we don't have much time to practice driving it, so the more help we can get in the traction department, the better (especially in the acceleration/drag race event). The basic principle is to compare the speeds of the front (non driven) and back (driven) wheels to determine how much slip/loss of traction there is. Apparently, about 10% slip is best. If the back wheels are spinning too fast, the throttle is cut electronically (strict throttle by wire is prohibited for obvious reasons, but just cutting fuel/spark isn't) to limit the slip (and hopefully maintain it with decent control). I plan to use a CAN bus around the car, both for the wheel speed sensing, and other data transfer (shifting information, other sensors in the future). I have designed a wheel speed sensor (there will be 4 copies of it) that will mount on the kingpin assembly - it has a hall effect sensor, PIC10F or 12F (timing pulses), MCP2515 CAN controller, and a CAN transceiver IC that hangs on the bus. Hopefully the CAN transceiver will make it pretty easy - all it needs is SPI data from the PIC. The other end will be a bit more difficult. I still haven't worked out the algorithms yet. I think it will likely consist of a similar CAN interface feeding a 16F or 18F PIC (some of the 18's also have a built in CAN interface). This PIC will have 4 outputs so it can individually cut cylinders. I think this PIC should probably be done in C to make it easier to try new algorithms. I would appreciate comments on the system outlined above. What I am wondering about the most is the feedback loop. I don't have much experience dealing with feedback systems. What I am thinking is that it would probably be a good idea to measure the loop gain and bandwidth of the system once we have the hardware put together. We need to know how fast the engine will respond to cutting differing amount of cylinders for a given amount of time (it seems that this will change with engine speed and load also). Or is this too much to keep track of and it would be better just to do a trial and error algorithm? Thanks for any help/advice you can give. Andy Meng LeTourneau University Formula SAE Race Team _______________________________________________ http://www.piclist.com View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist