Pages: [1]   Go Down
Author Topic: Launch Control for Formula Car  (Read 1862 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello all,

I am a very new user to Arduino's and was looking for opinions on my project.  First off I have watched many tutorials on the programming and do have a general grasp of it as well as having some experience with Boolean Logic and PLC's (at least as much as you can get with a B.S. in Mechanical Engineering).

I am part of the Lafayette College Formula SAE Team (we basically make a miniature F1 car with a Yamaha R6 engine).  Part of the competition is an acceleration test which leads to a problem of spinning the rear wheels.  All the top teams have launch control to prevent this spin and this is where the Arduino comes in.

My idea was to mount some sort of proximity sensors in one front tire and one rear tire and monitor them using the "analogRead" on the Arduino.  From there I would develop code so that when the rear tires (Drive wheels) was spinning faster than the front tires I would somehow cut power to the drive wheels (haven't figured out how to interface to a Yamaha R6 engine yet).  Ideally this would be controlled using a PID setup so the wheels would stop spinning as soon as possible because the whole phenomenon should last no more than 3 seconds and the faster it all happens the faster the car is.

Ideas for programming, feasibility, or hardware?

Thank you all so much and I look forward to hearing the suggestions!
Logged

Dubuque, Iowa, USA
Offline Offline
Edison Member
*
Karma: 44
Posts: 2460
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If these cars have a locked differential then putting an encoder on one rear wheel and watching for any sudden changes in rotational speed should be sufficient. Your "encoder" could consist of a ring of magnets on the axle or rim used in conjunction with a hall effect sensor (which would detect every time a magnet passed under the sensor) or black and white markings used in conjunction with an optical detector. A hall effect sensor would be preferred as it would not be affected by ambient light or dirt, etc. -- this is the method that most bike computers use.

Example of an optical detector: http://www.pololu.com/catalog/product/1217
Hall effect sensor: http://www.sparkfun.com/products/9312

If your differential is not locked then all you would need to do is watch for differing rotational speeds in each of the rear wheels. In either case you'd need a bit of trial and error to figure out a good threshold for how much rotational change is too much in order to know when to retard the power to the wheels.
Logged

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17259
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Ideas for programming, feasibility, or hardware?

Should be possible. I know for a different but similar application on full size cars that require knowing the speed of each wheel and that is anti-lock braking system. They have a simple magnetic sensor monitoring each wheel and if they detect a 'lock-wheel' condition during breaking it will release and pulse the hydraulic pressure to that wheel's brake cylinder to allow the wheel to starting rotating again. Turns out that on my Buick LaSabre they came up with a 'free' function by utilizing the same sensors to detect low tire pressure. By comparing the rotation speed of each wheel if one or more wheels are different then the others then it knows that at least one the tires is low on tire pressure due to the tires different effective circumference thus different rpm then the other wheel(s).

Anyway, no reason you couldn't mount small magnets on the wheels or brake disks and sense it with a hall effect digital switches. The arduino would effectively need to measure the frequency of each rear wheel compared to one of the front wheel's frequency and take action if the delta exceeds a specific amount.

Lefty
« Last Edit: June 23, 2011, 01:16:14 am by retrolefty » Logged

Greenville, IL
Offline Offline
Edison Member
*
Karma: 15
Posts: 1328
Warning Novice on board! 0 to 1 chance of errors!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


   One way would be rpm increase per second. Meaning that the engine can only accelerate at a certain predetermined rate. You can get the rpm off of the crank or cam position sensor. The front sprocket probably already has a sensor on it for vehicle speed.


Mark
Logged


Offline Offline
Jr. Member
**
Karma: 1
Posts: 95
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

As others have said you can get the front/rear wheel speed using a hall effect sensor. In the acceleration test you will probably spin both wheels equally (as its straight and flat) so you can probably get away with only measuring the speed of one of the rear wheels, but depending on your dif and other aspects, you might want to measure the speed of both rear wheels and use the largest value.

You have two options to slow the engine and regain grip.
1. Cut the throttle
2. Apply the brakes

Cutting the throttle will require either an electronic throttle or some interface with the engine ECU/Fuel pump/injection system (ECU is probably the 'best' method but it will depend on what is easiest. There are websites that help you interface with ECUs).

Applying the brakes requires an interface with an electronic braking system (i.e. ABS) but I don't think formula student cars are allowed ABS so this will be a little tricky. Also braking will stress the engine and slow the front weheels too (which may mean you need to breake a lot to regain grip on the rear wheels. So I would suggest cutting the throttle

As for code, there is a PIR library that will make it reasonably easy to complete the PIR calcualtions.
* Read inputs that correspond to the front/rear wheels
* Covert the raw input into an RPM
* Calculate rear wheel slip percentage = [1 - (Front rpm/rear rpm)]
* Compare the wheel slip to the maximum allowed wheel slip
* Calculate how much you need to cut the enginer (PIR calcs)
* Perform the engine cut
* Goto the start

I suggest you make the maximum allowable wheel slip a variable that is easy to chage quickly via a laptop (or maybe even controlable by the driver using some buttons with and LED read out?!). As to get the maximum acceleration you want a small amount of wheel slip (~5% as a VERY rough rule of thumb). I suggest you read up on drag racing as those guys know how to hook a car up off the line (google "60 feet times, tips and trick" - or similar).
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 76
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
glad too see people thinking about launch control, but isnt a bit late to start adding bits on to the car? The competition is coming up quick.

You dont want to apply brakes.

Launch control is not about stopping wheel spin. Its about getting the car off the line as quickly as possible.
A little bit of spin is quicker. (not a lot though) Just go out in a fast car and you'll get the idea with the TC turned off. Mash your foot ot the floor and you wont be moving, just smoking. Get just a little bit of slip with balcned throttle and clutch and you'll be off with a little bit of smoke.

HAving a set rate throttle increase is a good idea, but the problem with this is that condition will change. Wet weather will need a much less agressive setting. And if your on a race track the track will have "rubbered in" and give you more grip than if your testing else where. So this isnt the best method.

You can have a adjustable differential so remove power from the spinning wheel shif that power to the wheel with traction.

Next is a throttle retard, this is what is done in most powerful road cars. Merc famously have a car too agressive setting so when you put your foot down the traction controll (which is essiently what were talking about) comes down and stop your acceleration.

That would be the best way to do it :-) a little bit of throttle retard to help the driver get the wheel spin under control.

Proper launch control, also takes charge of your clutch. I'm assuming your running the sequential gearboix with the motor bike engine and a manual clutch.

I would stuggest you spend time on the rest of the car :-) as a decent driver can easily match the lauch control, its for fat middle aged men to show off with wheel spin and smoke :-)

An interesting idea though, I don't think there is launch control on our teams car this year.

Another idea is maybe to retard the ignition insteaf of cutting the throttle. As its a bit softer and will keep things moving and can we done very quickly.


« Last Edit: June 24, 2011, 12:24:55 pm by mellink » Logged

Greenville, IL
Offline Offline
Edison Member
*
Karma: 15
Posts: 1328
Warning Novice on board! 0 to 1 chance of errors!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


   One way would be rpm increase per second. Meaning that the engine can only accelerate at a certain predetermined rate. You can get the rpm off of the crank or cam position sensor. The front sprocket probably already has a sensor on it for vehicle speed.


Mark


  I believe that Kawasaki and Ducati have been using this kind of traction control for the last couple years. They do not have a front wheel sensors to find rear wheel spin but rather they have an adjustable acceleration curve. Wet tracks have a strict setting and high grip has minimal restriction.

 I would think having front wheel feedback would be better but, you can predict wheel spin more quickly at the source of the power, the engine.

Mark
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you all for the suggestions!  To address a few things we already missed this years competition unfortunately (Michigan in May) so we are focusing on next years competition.  Tomorrow I am going to purchase the materials and sensors for the initial setup.  I am going to start out with two hall effect sensors because theoretically our Taylor Race Differential should be putting nearly equal power down in the straight line.  I am going to get the sensors working in addition to a driver controls (Arming/Power-Switch, Amount of Wheel Spin Control-Potentiometer, and Amount of Retard/Sequential Power-Potentiometer).  The rules make it very difficult to mess with the braking system and we have a mechanically actuated throttle body which is also difficult to control.  I will therefore look into controlling the power through the ECU.  I am still undecided on using sequential power or retarding it so any further discussion on that would be appreciated.

As for having a good driver I agree with mellink completely but the problem is this... picture a bunch of 22 year old "boys" with minimal driving experience trying to get 12000RPM to hook up quickly, while managing a clutch, when none of us (including myself) are fantastic at driving standards.  Unfortunately our school does not found driver training so I am going for the fool proof method for this car and cars in the future.  However, I agree wholly that a computer will never defeat a good driver.

Thank you Targettio for the suggested coding outline and I will be making use of the optimal slip ratio (I read Milliken Race Car Dynamics, very dry but if you want to know about suspensions that is your book).

Keep your eyes open to my posts as soon as I start struggling with this I will be all over this forum searching for answers.  Good luck to all your own projects!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 14
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In my experience of motor sport launch control systems most of them use a soft ignition cut which will cut every other firing event per cylinder.
i'm not sure how  the arduino could be interfaced with the R6 engine control unit, but there is probably a way, i expect there is a built in soft cut rev limiter as standard to prevent over reving the engine you might find a way of overriding this setting.

as for sensors i would be aim to use a hall effect sensor like the following:
http://www.efi-parts.co.uk/index.php?productID=198
and a trigger wheel like this:
http://www.efi-parts.co.uk/index.php?productID=220

with a bit of work you could probably make the trigger wheel yourselves if you have access to the right kit.

i think the best form of reference for detecting wheelspin would be a comparison of RPM vs front wheel speed, you can probably tap in to the RPM signals from the ECU to the rev counter quite easily, so only need to fork out for the one sensor to measure front wheel speed.

Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 76
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
As for having a good driver I agree with mellink completely but the problem is this... picture a bunch of 22 year old "boys" with minimal driving experience trying to get 12000RPM to hook up quickly, while managing a clutch, when none of us (including myself) are fantastic at driving standards.  Unfortunately our school does not found driver training so I am going for the fool proof method for this car and cars in the future.  However, I agree wholly that a computer will never defeat a good driver.

Its unlucky you dont have anyone who has any karting expereience etc. I normally see people fighting to be the driver at our place. 12000rpm sounds bad but theres minimal torque, so its not the worst engine in the world :-)

I think that a very good computer in the car can flatter a good driver and annoy a excellent one, but you don't want to have to be concentrating to get aounrd a corner in a normal road car imagine how triering that would be! But saying that the electronics in the new BMW I have to say are bloody amazing its like sitting in a laptop. If your really gunning around corners the car seems to planted and if its going to let go all the car settles down veyr quickly. UBER IMPRESSED with it.

Good luck and keep us posted on what you do. Do you have a blog about the build i'd love to read as i'm hoping to do the student race car in a year or 2 its a final year project so far i've just been sneaking into the work shop to talk to the guys.
Do a few caterham day that would help you alot similar sort of idea, less weight more power sort of car.
Logged

Pages: [1]   Go Up
Jump to: