• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Building a traction control system

Status
Not open for further replies.

87handmedown

New Member
Hi all. I stumbled across this forum after spending many hours searching for help on my problem. I searched for several hours on here and didn't find what I was looking for (or maybe I did and I just didn't understand it) so I decided to formally join this site and talk to you guys. I do well with analog systems, but this new digital age is leaving me in the dust. I feel confident in my abilities to tackle this problem, I just don't know where to start right now. Enough background already, here's the situation.

I've got a vehicle/kart that me and some friends are building that is powered by a 4cyl motorcycle engine. It has manual brakes, and is fuel injected. We would like to have a traction control system on the car that reduces engine power in order to eliminate the large amounts of wheel spin that occurs under heavy acceleration, and reduce the over steer that happens when we get into the throttle too soon coming out of a corner.

My idea was to place three or four (two on the front, and then one or two on the rear depend on whether I used the drive gear, or both rear wheels) Hall sensors to create voltage signals. Once these voltage signals differ by a determined amount ( amount of slippage) I want a small system to activate one (or possibly two, depending on how much power we need to cut) relays that interrupt the signal to the injectors to stop one or two injectors from delivering fuel until traction is restored.

The problems are: I'm going to need to average the two front signals so the TCS doesn't activate when the car is turning, I have no idea how to do this. I don't know how to even begin to build the computer/system that is needed to determine slippage and activate my relays.

Like I said before, I have done a LOT of searching, probably close to 18 hours worth trying to figure this out. I did find one website where someone did something extremely similar. Here is the link
Project - Homemade Traction control

and I tried e-mailing him to get more details but his address is no longer valid.

I'm really frustrated right now because I really don't know much about these types of electronics and my searching hasn't netted me many results. I hope that this isn't an impossibly difficult project, as the above website makes it seem close to what I had invisioned, I just don't know how to get to that point. If any of you could offer me any advice at all, it would be greatly appreciated.

Thank you
 

kpatz

New Member
I would feed the outputs of the sensors (as X # pulses per wheel revolution) into a microcontroller (MCU). The MCU can count or time the pulses coming off each wheel and compare the speeds of the wheels. If the speed differs by an amount greater than the difference you get turning the tightest radius possible, then a wheel is slipping and you can activate your TC power reduction.

You could make it even more intelligent by monitoring the non-drive wheels as well. If both drive wheels spin (say during a hard launch), the difference in speed between the drive wheels and non-drive wheels can also activate the power reduction.

In addition to cutting off injectors, depending on how the ignition system is set up on the engine you could retard spark timing to reduce power as well (more smoothly than cutting off injectors).

Such a system could also be used to implement ABS, if you add a solenoid or something to regulate/modulate brake pressure.
 

tcmtech

Banned
Most Helpful Member
We would like to have a traction control system on the car that reduces engine power in order to eliminate the large amounts of wheel spin that occurs under heavy acceleration, and reduce the over steer that happens when we get into the throttle too soon coming out of a corner.
Step one. When traction is limited and too much power is available let off the gas!
Step two. When steering is a problem see step one.

Back in the old days they called that learning to drive.;)

It sounds crazy but that how the best drivers do it! :)
 

87handmedown

New Member
I would feed the outputs of the sensors (as X # pulses per wheel revolution) into a microcontroller (MCU). The MCU can count or time the pulses coming off each wheel and compare the speeds of the wheels. If the speed differs by an amount greater than the difference you get turning the tightest radius possible, then a wheel is slipping and you can activate your TC power reduction.
Awesome! My thoughts exactly. Here's where my brick wall is though. I don't even know where to look for an MCU, much less decide which one I need.

You could make it even more intelligent by monitoring the non-drive wheels as well. If both drive wheels spin (say during a hard launch), the difference in speed between the drive wheels and non-drive wheels can also activate the power reduction.
Yep, that's what I wanted to do!

In addition to cutting off injectors, depending on how the ignition system is set up on the engine you could retard spark timing to reduce power as well (more smoothly than cutting off injectors).
Spark retard operates much more smoothly, but once you get past 10* of reduced timing, your EGT's go through the roof... and that's bad.

Step one. When traction is limited and too much power is available let off the gas!
Step two. When steering is a problem see step one.

Back in the old days they called that learning to drive.;)

It sounds crazy but that how the best drivers do it! :)
Yes, but the best driver in the world, is still not faster than a computer. The maximum coefficient of friction (µ) occurs at a slip between tyre and road of 10% when dry, and around 5% when wet. The closer to 5 or 10% slip, the higher the chance of reducing the power too much, and hindering acceleration, but also the closer you are to using 100% of the available traction. The main reason for this is the response time of a human being. The fastest human reaction to a sense stimulus is 1/10th of a second, and the fastest acting throttle reacts in around the same time. This means there is a 2/10ths of a second lag between the wheel reaching a critical slip level, and the driver being able to change the amount of power being applied.

The computers you and I are typing on react a hell of a lot faster than 2/10th's of a second.

Doesn't a limited slip differential also help avoid wheel spin?
Yes, the good one's greatly reduce wheel spin by transferring torque to the other wheel. However, if the stationary (relative to the ground) wheel is already operating at it's maximum frictional threshold, transferring torque to it will do nothing but make it spin as well. This is why you have to reduce the engine power so that both wheels can maintain traction.
 

kpatz

New Member
Awesome! My thoughts exactly. Here's where my brick wall is though. I don't even know where to look for an MCU, much less decide which one I need.
There are tons of MCUs out there to choose from. Choose one based on number of I/O pins needed, memory (program and data capacity), speed, cost, electrical characteristics (supply voltage/current ranges), and on-chip peripherals (e.g. timers, comparators, A/D, D/A, serial interfaces, data EEPROM, etc.) You should use number of I/Os as your initial criteria. I would say 4 inputs for the wheel sensors, and 2 outputs for the injector controls, for starters. If you can retard spark timing, you'll need an output (possibly analog/PWM) for that. Maybe an input to allow a switch to disable the TC if desired, and an output tied to an LED that alerts the driver when the TC kicks in.
Spark retard operates much more smoothly, but once you get past 10* of reduced timing, your EGT's go through the roof... and that's bad.
So, retard the timing up to 10 degrees, and if you need more power reduction, then start killing injectors. This way you can tweak the power reduction based on the amount of slip you're experiencing.
 
Last edited:

87handmedown

New Member
There are tons of MCUs out there to choose from. Choose one based on number of I/O pins needed, memory (program and data capacity), speed, cost, electrical characteristics (supply voltage/current ranges), and on-chip peripherals (e.g. timers, comparators, A/D, D/A, serial interfaces, data EEPROM, etc.) You should use number of I/Os as your initial criteria. I would say 4 inputs for the wheel sensors, and 2 outputs for the injector controls, for starters. Maybe an input to allow a switch to disable the TC if desired, and an output tied to an LED that alerts the driver when the TC kicks in.
Ok, so I need and MCU with 5, possibly 6 inputs, and 3 outputs. Where, and how do I look for one? I'm sorry if this seems like dumb questions, but I honestly don't know.
 
Last edited:

bountyhunter

Well-Known Member
We would like to have a traction control system on the car that reduces engine power in order to eliminate the large amounts of wheel spin that occurs under heavy acceleration, and reduce the over steer that happens when we get into the throttle too soon coming out of a corner.
I thought the active traction control systems applied the brakes at each wheel as needed to synchronize their speed and stop wheelspin.
 

kpatz

New Member
I thought the active traction control systems applied the brakes at each wheel as needed to synchronize their speed and stop wheelspin.
It depends on the system... the better ones do this. The cheaper implementations merely cut engine power. I used to have a Saturn that did this... if a wheel slipped, it would retard spark timing and then cut fuel. If I was stuck in snow, I could put the gas to the floor and the engine RPM would stay below 1500 or so, and the car would sound like it was missing on a couple cylinders. ;)

For a go-kart with manual brakes, a braking TC system would be rather difficult to implement.
 

kinarfi

Well-Known Member
While working on a different project I ran into these and the spec sheet said something about anti skid, maybe it will help, look up LM2907 and LM2017 frequency to voltage converters
Kinarfi
 

87handmedown

New Member
The most popular ones are the MicroChip PIC, and your I/O requirements are pretty modest.
But where do I get them? I was looking at a few places online and I apparently also need to know my bit size requirements? How do I figure this out?

It forces both wheels to drive so you get more traction on takeoff. Back in the muscle car days, it was called posi-traction.
Takeoff, cornering, sliding... basically any time you're trying to put power to the ground. Also, posi-trac is just the GM brand name for their LSD. Ford calls theirs trac-lock. It's not a locker, even though the name might fool you, it's still an LSD.

I thought the active traction control systems applied the brakes at each wheel as needed to synchronize their speed and stop wheelspin.
It varies depending on the car, and the manufacturer. A lot of times, since the car's have the ABS already equipped and ready to go, the engineers just use that to slow the wheels down and stop spin rather than mess with the engine like I'm doing. Then you've got stability control, which is similar, but different still.


It depends on the system... the better ones do this. The cheaper implementations merely cut engine power. I used to have a Saturn that did this... if a wheel slipped, it would retard spark timing and then cut fuel. If I was stuck in snow, I could put the gas to the floor and the engine RPM would stay below 1500 or so, and the car would sound like it was missing on a couple cylinders. ;)
Speaking of which, is it possible to have this TCS not kick on below a certain rpm, so the engine isn't stalled or bogs down.

While working on a different project I ran into these and the spec sheet said something about anti skid, maybe it will help, look up LM2907 and LM2017 frequency to voltage converters
Kinarfi
Thanks a lot! Checking on them right now.
 

kpatz

New Member
Speaking of which, is it possible to have this TCS not kick on below a certain rpm, so the engine isn't stalled or bogs down.
You'd need to feed an rpm signal into the PIC and have the software not cut power (or restore power) below a certain RPM. But, for a go-kart that isn't going to be driven on slippery pavement/snow/ice, that's probably not necessary since you'll probably be pretty "wide open" before slippage occurs.
 
Status
Not open for further replies.

EE World Online Articles

Loading
Top