Thursday, January 29, 2009

Weeling Project (cont...)

Finally I start to look in deep to the weeling ratio (I intend to buid an ECU capable to show me if rear weel is spinning by flashing a LED).
The SW must do:
6. LED must blink (flash) proportionally to the spinning ratio:
  • slow spin -> LED is blinking slow
  • high spin -> LED is blinking very fast

The Angular speed is:

while the Tangential speed is:

where r (weel radius) can be derived from the weel circonference lenght:
r = 2 x PI x r

Therefore we have:

what I mean in the picture is that at low speed the front and rear weels can not slip, therefore at low speed it can be calculated the
WeelRatio = RPM_REAR / RPM_FRONT.

The SW must be updated then to calculate such ratio every time the bike is running slow, for example every time the bike speed is between 10 Kh/h and 20 Km/h and save it to a dedicated static variable, as for example:
float fWeelRatio;

During fast accellerating phase, the instant weels ratio can be compared with the stored fWeelRatio variable and the LED can be driven proportionally as described in the following draw:

The thresholds (i.e. 120%, 130%, etc..) can be used defined in a configuration flash area without the need to recompile the project each time.
The software will be updated soon...

1 comment:

Max said...

I forgot to mention explicitely that the idea to calculate runtime the WeelsRatio is due to the acknoledge that the weels circonferences varies day by day: in fact depends from temperature, inflating pressure and driver weight. So, it is a good idea to recalculate each time just before a ride...