TractionControlArm is a module under development

It is based on the ARM processor to handle traction control functions. It is intended to provide acceleration, deceleration, lateral g-force and (most importantly) traction data to the main board.

Can we get some update on current state ?

We thought about merging with VemsFrontier/ArmEfi, but dropped: 4 LM1815 is just too many, why not add an ARM than and with CAN we have this board anyway.

Divider or no divider needed? - before input CAP pin.

VR signal with 20-60teeth per wheel? or more ?

1986-1992 RX7 w/ ABS has 91 teeth per wheel on the front, unknown on the back, but probably the same

90m/s at 1.5m circumference is 60 rot/s = 3600 Hz. 4 of these is .... I think 10kHz is not too bad for ARM: irq handler will be slim.

Unless we find 360 tooth monsters (as we do with crank), divider shouldn't be needed.

Dave Blundell says: "At this point, the only outputs planned for the board are to drive ABS modulation solenoids so that this board could function as a complete ABS system in addition to traction system if it was desired."

Proposed method of action:

Proposed actions when receiving traction event: (actions taken by board receiving CAN data. TractionControlArm should output a percentage of slip correct, the mainboard does the rest.)


Corner weight the car. At the cg center in the horizontal plane, mount a box. In this box will be... (assuming cg center is x = 0inches, y = 0 inches)

This will give us x,y,z accels and x,y,z rolls and roll rates!!!!! Literally it will give us everything. The vertical, lateral, and longitudal accels mentioned are all single axis accels, just mounted in a different direction.

Benifits are supper long. Some things that come to mind are both road course playout w/ 3d car playback, drag race playback, and poor man engine tuning.

Benifits: - Decided to add them

[I own one of these devices.] I would love to have this integrated into VEMS because I can then compare against a/f and timing to improve my runs. Alot of it is going to require post processing. It is priceless information. The unit that I have requires all kinds of lat/long roll stuff because its a 2d single accel. Then to make things even more powerful is to have the 4 wheel pwm inputs to detect slip. This can be used to determine if you are slipping wheels or you need to tune at that rpm/speed.

One of the things I didnt think about, which this document brought up was "Direct modulation of ABS solenoids."

How is this for cost?

Proposed hardware:

Proposed algorithms for detecting traction issues: (in rough working order of importance)

  1. VR sensor - wheelspeed differences in excess of threshold (relatively easy on 2 wheel drive, not so easy on 4wd)
  2. Without VR sensor: compare accelleration versus delta RPM. If delta RPM is > acceleration by a threshold, then wheels are spinning (marcell's note: I don't think this would work. usable RPMdot is a black art in itself, the actual gear would need to be known, and the g-based acceleration is also disturbed by roadbumps). (dave's note: fair enough, but its a software approach and wouldn't cost anything but codespace and time to implement)

Proposed VR sensor -> ARM interface:

Proposed types of traction problems:

Differing wheelspeeds that are acceptable:

Proposed calibration algorithm:

Question of which 2 axis tilt sensor to use (todo: datasheet links):

I don't really mind if PWM or AIN is used. I estimate that ADXL213 precision would be appr. the same as ADXL203 in practice. Note that these beasts are more precise at 25C. Do we want a board temperature here too (hint: yes) -Marcell

So it looks like the ADXL213 will be the tilt sensor of choice for the simple reason that it is cheaper. -Dave

Anyone have any recomendations for *cheap* temperature sensors for use onboard?

Yes, an NTC with a pullup resistor. If you are short of ADC inputs (ARM's 4 might be enough), we should add MCP3208. Since this board would often be used as a standalone logger (logging acceleration and a few other parameters) a few extra lowpass-filtered input is a must.

Further input welcome

MembersPage/PatrickB suggested these inputs: All available as resistive or voltage output sensors.


A link to a ACC Essay called Calculating Logitudinal Wheel Slip and Tire Parameters Using GPS Velocity. This is good stuff for implimenting with Traction control. The standard speed sensor will give us the needed wheel velocity, while the accelerometers will give us absolute velocity (accels will supliment the gps data)

A link to a three axis gyro G sensor circuit: and for circuits (Using Tokin CG-16D angular rate gyros and ADXL202-EB accelerometers to an Mega163) -Johan

Some Tech:

ADXRS300 Gyro (BGA):

ENC-03M gyro 35$? (4pin SMD):

See also: TractionControl/Algorithms