Design Report for Formula SAE Drivetrain

advertisement
Design Report for Formula SAE
Drivetrain
F11-77-FSAE
4/19/2012
SIUC
FORMULA
Racing
2012
Prepared by Saluki Engineering Team #77
Eric Schackmann (Project Manager)
Skyler Johnson
Dustin Kull
Danny Grohmann
Aaron Zscheck
Kathy Grimes
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Design Report for Formula SAE
Drivetrain
From:
Saluki Engineering Company
Engineering Resource Center
College of Engineering
Carbondale, IL 62901
(618)-553-0396
Formula SAE Team #77
Project: F11-77-FSAE
Prepared by:
Eric Schackmann (Project Manager)
Skyler Johnson
Dustin Kull
Danny Grohmann
Aaron Zscheck
Kathy Grimes
4/19/201
Transmittal Letter
Saluki Engineering Company
Southern Illinois University Carbondale
College of Engineering - Mailcode 6603
Carbondale, IL 62901-6604
eschack@siu.edu
Department of Mechanical Engineering
Southern Illinois University Carbondale
Carbondale, IL 62901-6603
(618)-453-7031
Dear Dr. A. Weston:
On behalf of our team, I would like to thank you for giving us the opportunity to design and
build this project. We believe that we have met all of you criteria and you will be satisfied with
our work.
The racecar built for the 2012 Formula SAE competition includes an optimized intake system
made from carbon fiber to reduce weight, an exhaust that has been re-routed to the side of the car
and satisfies the noise level requirement, a traction control system, and a digital dashboard
display.
Items that have also been designed are an oil pan that allows the engine to be mounted lower and
a pneumatic shifting apparatus.
Thank you again for selecting our team for this project. It was a pleasure working with you.
Sincerely,
Eric Schackmann
Project Manager, Formula SAE
Saluki Engineering Company
1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Acknowledgments
The Saluki Engineering Company Team 77 would like to sincerely thank the individuals and
groups that have helped us on our design of the quarter scale formula one racecar.








Dr. Kanchan Mondal from the ME Department for his guidance, expertise, and
funding.
Dr. Glafkos Galanos, ECE Department Chair, for providing funding that allowed
us to complete our project.
Tim Attig in the ME Machine Shop for assistance in machining components and
use of shop.
Center for Advanced Friction Studies for our recognition of our project and
funding.
Dr. Rasit Koc, ME Department Chair, for his enthusiasm and funding of our
project.
Dr. Lizette Chevalier, Acting Associate Dean, for her enthusiasm and funding of
our project.
Dr. Haibo Wang from the ECE Department for assistance in grounding issues of
the Arduino.
Dr. Alan Weston, Dr. Kay Purcell, and Frances Harackiewicz for their guidance
us on a proper senior design project.
2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Table of Contents
Transmittal Letter (SJ)
1
Acknowledgements (DG)
2
Executive Summary (AZ)
4
Project Description (ES)
5
Cost Estimates (ES) (SJ)
7
Schedule of Construction (ES)
8
Conclusion and Recommendations (AZ)
9
Appendices
Arduino ADK Technical Specifications
1.1
Programming code: Dashboard and traction control (KG)
2.1
Programming code: Shifting (KG)
3.1
FSAE Rules and Regulations
4.1
References
4.5
Subsystem Descriptions
Intake Manifold (AZ)
A1
Exhaust (ES)
B1
Oil Pan (DK)
C1
Axles (DK)
D1
Shifting Apparatus (DG)
E1
Dashboard (KG)
F1
Traction Control (SJ)
G1
3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Executive Summary
The design outlined in this report pertains to the FSAE drivetrain. The prototype drivetrain was
completed in April of 2012. The subsystems included in this project are the intake manifold,
exhaust, oil pan, axles, digital dashboard, traction control system, and a pneumatic shifting
system. The goal was to increase the airflow through the engine by improving the intake and
exhaust efficiency, thus increasing power. We will also be reducing the weight of the axles,
lowering the overall weight of the vehicle and the rotating mass that the engine needs to turn.
The oil pan design will allow the engine to be placed lower giving a much more ideal center of
gravity, allowing for better handling. The traction control system will allow for maximum power
transfer to the wheels, and reducing wheel slip giving the driver better control of the vehicle. The
pneumatic shifting system is also meant to give the driver better control of the vehicle, with
faster shift times and allowing the driver to keep both hands on the wheel at all times.
The total cost of the drivetrain system as a prototype is $3,174.92 and there is a breakdown of
each of the subsystems in the cost report.
The report contains a detailed description of the overall system, a breakdown of each subsystem
and its functionality, and a financial report detailing what each subsystem cost.
4
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Project Description
The proposed project was to build an improved drivetrain for the SIU Formula SAE Racing
racecar. The car is to be entered in the 2012 competition that will be held in May at Michigan
Motor Speedway. At last year’s competition, SIUC placed 60th overall. It is the 2012 team’s goal
to improve on the design of the racecar to propel us to a Top 25 finish.
The racecar built for the 2012 Formula SAE competition includes an optimized intake system, an
exhaust that has been re-routed to the side of the car, a traction control system, and a digital
dashboard display. Items that have also been designed are an oil pan that allows the engine to be
mounted lower and a pneumatic shifting apparatus
The intake manifold has been constructed from carbon fiber which is very lightweight and
reduces the overall weight of the car. The rerouted exhaust and redesigned oil pan allows the
engine to be mounted lower, thus reducing the racecar’s center of gravity. The traction control
system reduces power lost due to wheel slip. The digital display gives the driver crucial
information about the car’s performance. Lastly, the pneumatic shifting apparatus provides fast,
accurate shifts while allowing the driver to keep both hands on the wheel.
Upon completion of this project, a fully functional FSAE racecar was built using the drivetrain
designed. Our goals, which were to increase the power output of the engine and to improve the
overall performance and ergonomics of the vehicle, have been satisfied.
5
6
Cost Estimates
The total material costs for the final product are estimated at $3,174.92. Various manufacturing
techniques were used to create these products.
Cost of Prototype
Subsystem
Amount
Intake
$ 266.34
Exhaust
$ 575.39
Oil Pan
$ 153.92
Axles
$ 797.00
Shifting Apparatus $ 656.16
Dashboard
$ 366.47
Traction Control
$ 359.64
Total
$ 3,174.92
Cost to Implement
Subsystem
Amount
Intake
$ 266.34
Exhaust
$ 583.39
Oil Pan
$ 153.92
Axles
$ 797.00
Shifting Apparatus $ 663.26
Dashboard
$ 75.46
Traction Control
$ 359.64
Total
$ 2,899.01
7
Schedule of Construction
Description
Order intake Parts
Order Exhaust Parts
Order Shifter Parts
Order Digital Display Parts
Orders Traction Control Parts
Machine Aluminum For Intake
Cut Pipe and Mandrel Bends to Specification (Exhaust)
Machine Components for Shifting Apparatus
Assembling Components for Shifting Apparatus
Adhere Aluminum Parts Together (Intake)
Tack Pipes into place (Exhaust)
Lay Carbon Fiber (Intake)
Weld Pipes (Exhaust)
Attach Slip on Muffler (Exhaust)
Tack Pipes into place (Exhaust)
Machine Timing Wheels (Traction Control)
Write Code (Digital Display)
Soldering, Write Code, and mount circuit board (Traction Control)
Mount Circuit Board (Digital Display)
Adhere Aluminum to Carbon Fiber (Intake)
Final Completion
Start
Stop
Date
Date
4-Jun
8-Jun
4-Jun
8-Jun
4-Jun
8-Jun
4-Jun
15-Jun
4-Jun
15-Jun
11-Jun
12-Jun
11-Jun
12-Jun
8-Jun
11-Jun
11-Jun
12-Jun
12-Jun
13-Jun
12-Jun
13-Jun
13-Jun
22-Jun
13-Jun
14-Jun
14-Jun
14-Jun
15-Jun
18-Jun
15-Jun
18-Jun
18-Jun
19-Jun
18-Jun
19-Jun
19-Jun
19-Jun
22-Jun
23-Jun
23-Jun
Time and Dates are based on a 40 hour work week. Any system that is not accounted for did not
present sufficient data for schedule
7
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Conclusion and Recommendations
Many of the engineering problems encountered were due to fitting components within the frame.
The frame was not completely designed when work began on this project, nor did we have a
complete rendering of the engine to accompany the model of the frame. This caused a problem
because the frame fits so tightly around the engine and the driver, and not all the systems had
enough room to fit in the confined space. The pneumatic shifting system was unable to fit on the
car because the cylinders could not fit on the engine. The initial intake manifold and the
dashboard display had to be modified to fit within the space allowed by the frame.
For the electrical systems on the traction control, shifting system and the dash board display we
would have used printed circuit boards if we had more time. The printed circuit boards are easier
to solder and look much more professional. In addition, given more time on the Arduino board,
we would have developed a better filtering circuit to eliminate noise issues as the board inputs
are extremely sensitive. We could use the opto-isolators to protect the board from spikes in
voltage that could destroy the board. Another problem with the Arduino board is that it is
currently powered by a small 9V battery that is not secured very well. We see now that it would
be better to have wired it to the vehicle battery.
We did run into some problems with designing the axles. This problem came from the fact we
were reusing the hubs from last year, which limited what we could do as far as the diameter of
the axles. This and our inability to hollow the axles were due to limited funding.
9
Appendices
Arduino ADK[1]
Arduino ADK R3 Front
Arduino ADK R3 Back
Arduino ADK Front
Arduino ADK Back
Overview
The Arduino ADK is a microcontroller board based on the ATmega2560 (datasheet). It has a
USB host interface to connect with Android based phones, based on the MAX3421e IC. It has 54
digital input/output pins (of which 14 can be used as PWM outputs), 16 analog inputs, 4 UARTs
(hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP
header, and a reset button.
The ADK is based on the Mega 2560.
1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Similar to the Mega 2560 and Uno, it features an ATmega8U2 programmed as a USB-to-serial
converter.
Revision 2 of the MegaADK board has a resistor pulling the 8U2 HWB line to ground, making it
easier to put into DFU mode.
Revision 3 of the board has the following new features:


1.0 pinout: added SDA and SCL pins that are near to the AREF pin and two other new
pins placed near to the RESET pin, the IOREF that allow the shields to adapt to the
voltage provided from the board. In future, shields will be compatible both with the board
that use the AVR, which operate with 5V and with the Arduino Due that operate with
3.3V. The second one is a not connected pin that is reserved for future purposes.
Stronger RESET circuit.
For information on using the board with the Android OS, see Google's ADK documentation.
Schematic, Reference Design & Pin Mapping
EAGLE files: Arduino_ADK-Mega_2560-Rev3-reference-design.zip
Schematic: Arduino ADK_Mega_2560-schematic.pdf
Pin Mapping: PinMap2560 page
Summary
Microcontroller
ATmega2560
Operating Voltage
5V
Input Voltage (recommended) 7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins
54 (of which 14 provide PWM output)
Analog Input Pins
16
DC Current per I/O Pin
40 mA
DC Current for 3.3V Pin
50 mA
Flash Memory
256 KB of which 8 KB used by bootloader
SRAM
8 KB
EEPROM
4 KB
Clock Speed
16 MHz
1.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Power
The Arduino ADK can be powered via the USB connection or with an external power supply.
The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery.
The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power
jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER
connector.
NB: Because the ADK is a USB Host, the phone will attempt to draw power from it when it needs
to charge. When the ADK is powered over USB, 500mA total is available for the phone and
board.The external power regulator can supply up to 1500mA. 750mA is available for the phone
and ADK board. An additional 750mA is allocated for any actuators and sensors attached to the
board. A power supply must be capable of providing 1.5A to use this much current.
The board can operate on an external supply of 5.5 to 16 volts. If supplied with less than 7V,
however, the 5V pin may supply less than five volts and the board may be unstable. If using
more than 12V, the voltage regulator may overheat and damage the board. The recommended
range is 7 to 12 volts.
The power pins are as follows:




VIN. The input voltage to the Arduino board when it's using an external power source (as
opposed to 5 volts from the USB connection or other regulated power source). You can
supply voltage through this pin, or, if supplying voltage via the power jack, access it
through this pin.
5V. This pin outputs a regulated 5V from the regulator on the board. The board can be
supplied with power either from the DC power jack (7 - 12V), the USB connector (5V),
or the VIN pin of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses
the regulator, and can damage your board. We don't advise it.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50
mA.
GND. Ground pins.
Memory
The ADK has 256 KB of flash memory for storing code (of which 8 KB is used for the
bootloader), 8 KB of SRAM and 4 KB of EEPROM (which can be read and written with the
EEPROM library).
Input and Output
Each of the 50 digital pins on the ADK can be used as an input or output, using pinMode(),
digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or
receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of
20-50 kOhms. In addition, some pins have specialized functions:
1.3
Formula SAE Drivetrain
F11-77-FSAE








4/19/12
Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16
(TX); Serial 3: 15 (RX) and 14 (TX). Used to receive (RX) and transmit (TX) TTL
serial data. Pins 0 and 1 are also connected to the corresponding pins of the ATmega8U2
USB-to-TTL Serial chip.
External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt
4), 20 (interrupt 3), and 21 (interrupt 2). These pins can be configured to trigger an
interrupt on a low value, a rising or falling edge, or a change in value. See the
attachInterrupt() function for details.
PWM: 0 to 13. Provide 8-bit PWM output with the analogWrite() function.
SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS). These pins support SPI
communication using the SPI library. The SPI pins are also broken out on the ICSP
header, which is physically compatible with the Uno, Duemilanove and Diecimila.
USB Host: MAX3421E. The MAX3421E communicate with Arduino with the SPI bus.
So it uses the following pins:
o Digital: 7 (RST), 50 (MISO), 51 (MOSI), 52 (SCK).
NB:Please do not use Digital pin 7 as input or output because is used in the
communication with MAX3421E
o Non broken out on headers: PJ3 (GP_MAX), PJ6 (INT_MAX), PH7 (SS).
LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH
value, the LED is on, when the pin is LOW, it's off.
TWI: 20 (SDA) and 21 (SCL). Support TWI communication using the Wire library.
Note that these pins are not in the same location as the TWI pins on the Duemilanove or
Diecimila.
The ADK has 16 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different
values). By default they measure from ground to 5 volts, though is it possible to change the
upper end of their range using the AREF pin and analogReference() function.
There are a couple of other pins on the board:


AREF. Reference voltage for the analog inputs. Used with analogReference().
Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset
button to shields which block the one on the board.
Communication
The Arduino ADK has a number of facilities for communicating with a computer, another
Arduino, or other microcontrollers. The ATmega2560 provides four hardware UARTs for TTL
(5V) serial communication. An ATmega8U2 on the board channels one of these over USB and
provides a virtual com port to software on the computer (Windows machines will need a .inf file,
but OSX and Linux machines will recognize the board as a COM port automatically. The
Arduino software includes a serial monitor which allows simple textual data to be sent to and
from the board. The RX and TX LEDs on the board will flash when data is being transmitted via
the ATmega8U2/16U2 chip and USB connection to the computer (but not for serial
communication on pins 0 and 1).
A SoftwareSerial library allows for serial communication on any of the ADK's digital pins.
1.4
The ATmega2560 also supports TWI and SPI communication. The Arduino software includes a
Wire library to simplify use of the TWI bus; see the Wire library for details. For SPI
communication, use the SPI library.
The USB host interface given by MAX3421E IC allows the ADK Arduino to connect and
interact to any type of device that have a USB port. For example, allows you to interact with
many types of phones, controlling Canon cameras, interfacing with keyboard, mouse and games
controllers as Wiimote and PS3.
Programming
The Arduino ADK can be programmed with the Arduino software (download). For details, see
the reference and tutorials.
The ATmega2560 on the Arduino ADK comes preburned with a bootloader (the same on Mega
2560) that allows you to upload new code to it without the use of an external hardware
programmer. It communicates using the original STK500v2 protocol (reference, C header files).
You can also bypass the bootloader and program the microcontroller through the ICSP (InCircuit Serial Programming) header; see these instructions for details.
The ATmega8U2 firmware source code is available in the Arduino repository. The ATmega8U2
is loaded with a DFU bootloader, which can be activated by:


On Rev1 boards: connecting the solder jumper on the back of the board (near the map of
Italy) and then resetting the 8U2.
On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2 HWB line to
ground, making it easier to put into DFU mode. You can then use Atmel's FLIP software
(Windows) or the DFU programmer (Mac OS X and Linux) to load a new firmware. Or
you can use the ISP header with an external programmer (overwriting the DFU
bootloader). See this user-contributed tutorial for more information.
Automatic (Software) Reset
Rather than requiring a physical press of the reset button before an upload, the Arduino ADK is
designed in a way that allows it to be reset by software running on a connected computer. One of
the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the
ATmega2560 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line
drops long enough to reset the chip. The Arduino software uses this capability to allow you to
upload code by simply pressing the upload button in the Arduino environment. This means that
the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with
the start of the upload.
This setup has other implications. When the ADK is connected to either a computer running Mac
OS X or Linux, it resets each time a connection is made to it from software (via USB). For the
following half-second or so, the bootloader is running on the ADK. While it is programmed to
ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first
few bytes of data sent to the board after a connection is opened. If a sketch running on the board
receives one-time configuration or other data when it first starts, make sure that the software with
which it communicates waits a second after opening the connection and before sending this data.
10
The ADK contains a trace that can be cut to disable the auto-reset. The pads on either side of the
trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to
disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum
thread for details.
USB Overcurrent Protection
The Arduino ADK has a resettable polyfuse that protects your computer's USB ports from shorts
and overcurrent. Although most computers provide their own internal protection, the fuse
provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse
will automatically break the connection until the short or overload is removed.
Physical Characteristics and Shield Compatibility
The maximum length and width of the ADK PCB are 4 and 2.1 inches respectively, with the
USB connector and power jack extending beyond the former dimension. Three screw holes allow
the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8
is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.
The ADK is designed to be compatible with most shields designed for the Uno, Diecimila or
Duemilanove. Digital pins 0 to 13 (and the adjacent AREF and GND pins), analog inputs 0 to 5,
the power header, and ICSP header are all in equivalent locations. Further the main UART
(serial port) is located on the same pins (0 and 1), as are external interrupts 0 and 1 (pins 2 and 3
respectively). SPI is available through the ICSP header on both the ADK and Duemilanove /
Diecimila. Please note that I2C is not located on the same pins on the ADK (20 and 21) as the
Duemilanove / Diecimila (analog inputs 4 and 5).
10
Programming Code: Dashboard display and traction control
#include <stdio.h>
//constant pin input and outputs
const double Analog_Tachometer = 14; // inputs voltage level which tells the RPM
const int pin_T0 = 15; // output Aqua LEDs - 10000 - 10999 rpm
const int pin_T1 = 16; // output Green LEDs - 11000 - 11999 rpm
const int pin_T2 = 17; // output Orange LEDs - 12000 - infinity rpm
const int pin_S0 = 19; // output A - Bit 0 of 16 seg display 1 of ticksRev
const int pin_S1 = 20; // output B - Bit 1 of 16 seg display 1 of ticksRev
const int pin_S2 = 21; // output C - Bit 2 of 16 seg display 1 of ticksRev
const int pin_S3 = 22; // output D - Bit 3 of 16 seg display 1 of ticksRev
const int pin_S4 = 23; // output A - Bit 0 of 16 seg display 2 of ticksRev
const int pin_S5 = 24; // output B - Bit 1 of 16 seg display 2 of ticksRev
const int pin_S6 = 25; // output C - Bit 2 of 16 seg display 2 of ticksRev
const int pin_S7 = 26; // output D - Bit 3 of 16 seg display 2 of ticksRev
const int ticksRev1 = 27; // inputs a high if hits a tick on front wheel left
const int ticksRev2 = 28; // inputs a high if hits a tick on front wheel right
const int ticksRev3 = 39; // inputs a high if hits a tick on rear wheel left
const int ticksRev4 = 40; // inputs a high if hits a tick on rear wheel right
const double Analog_Gear1 = 29; //inputs which gear it is in
const int pin_G0 = 30; // output A - Bit 0 of 16 seg display Gear
const int pin_G1 = 31; // output B - Bit 1 of 16 seg display Gear
const int pin_G2 = 32; // output C - Bit 2 of 16 seg display Gear
const int pin_G3 = 33; // output D - Bit 3 of 16 seg display Gear
const int pin_G4 = 34; // output wire to High for Neutral (the \ part of the N) of the 16 seg
display Gear
const int Warn1 = 35; // input of oil warning
const int Warn2 = 36; //input of coolant warning
const int pin_Warn1 = 37; //output flashing heat warning
const int pin_Warn2 = 38; //output flashing Pressure cool warning
//variables for things that are not input or outputs
double anTach = 0.0;
int digTicksRev = 0;
double anGear1 = 0.0;
int warnOil = 0;
int warnCoolant = 0;
int MPH = 0;
int t1 = 0; //Sensing period
int t2 = 0;
int t3 = 0;
int t4 = 0;
double N_t1 = 0.0; //ticks per period
double N_t2 = 0.0;
2.1
double N_t3 = 0.0;
double N_t4 = 0.0;
int P = 20; // number of teeth per rotation = 20
double B = 0.0; //Wheel rotation in one period
double n = 0.0; //rotations per second
double w = 0.0; //radians per second
double r = 9.75; //radius of wheel = 9.75 inches
double v = 0.0; // velocity of wheel feet per second
double v_rr = 0.0; //rear right wheel
double v_rl = 0.0; //rear left wheel
double v_fr = 0.0; //front right
double v_fl = 0.0; // front left
void setup() {
pinMode(pin_T0, OUTPUT);
pinMode(pin_T1, OUTPUT);
pinMode(pin_T2, OUTPUT);
pinMode(pin_S0, OUTPUT);
pinMode(pin_S1, OUTPUT);
pinMode(pin_S2, OUTPUT);
pinMode(pin_S3, OUTPUT);
pinMode(pin_S4, OUTPUT);
pinMode(pin_S5, OUTPUT);
pinMode(pin_S6, OUTPUT);
pinMode(pin_S7, OUTPUT);
pinMode(pin_G0, OUTPUT);
pinMode(pin_G1, OUTPUT);
pinMode(pin_G2, OUTPUT);
pinMode(pin_G3, OUTPUT);
pinMode(pin_G4, OUTPUT);
pinMode(pin_Warn1, OUTPUT);
pinMode(pin_Warn2, OUTPUT);
pinMode(Analog_Tachometer, INPUT);
pinMode(ticksRev1, INPUT);
pinMode(ticksRev2, INPUT);
pinMode(Analog_Gear1, INPUT);
pinMode(Warn1, INPUT);
pinMode(Warn2, INPUT);
Serial.begin(115200); //baud rate set to max
}
//All Functions-----------------------------------------------------//ticks and time to speed
double v_ftsec(double N_t, int T_o) {
2.2
int P = 20;
double pi = 3.14159265359;
double r = 9.75;
B = N_t/P;
n = B/T_o;
w = n*2*pi;
v = w*r; //for each wheel
return v;
}
//function to change the analog voltage to a number
//Depend on input voltage and what the total voltage it could
int ana_to_dig(double ana, int anaVoltTotal, double mult) {
int digi = 0;
//formula to change to a digital number is (mult)*ana/anaVoltTotal
digi = (mult)*ana/anaVoltTotal;
return digi;
}
//dec to binary
char *dectoBinary(int dec) {
int c, d, count;
char *pointer;
count = 0;
pointer = (char*)malloc(4+1);
if( pointer == NULL ) {
exit(1);
}
for(c= 3; c>= 0; c--) {
d = dec>>c;
if( d & 1) {
*(pointer + count) = 1 + '0';
} else {
*(pointer + count) = '\0';
}
count++;
}
*(pointer+count) = '\0';
return pointer;
2.3
}
//Warning lights (when to turn on)
void flash_warn(int whichWarn) {
if(whichWarn==0) {
digitalWrite(pin_Warn1, HIGH);
delay(150);
digitalWrite(pin_Warn1, LOW);
} else if(whichWarn == 1) {
digitalWrite(pin_Warn2, HIGH);
delay(150);
digitalWrite(pin_Warn2, LOW);
} else if(whichWarn == 2) {
digitalWrite(pin_Warn1, HIGH);
digitalWrite(pin_Warn2, HIGH);
delay(150);
digitalWrite(pin_Warn1, LOW);
digitalWrite(pin_Warn2, LOW);
} else {
digitalWrite(pin_Warn1, LOW);
digitalWrite(pin_Warn2, LOW);
}
}
//End Function Group-------------------------------------------------void loop() {
N_t1 = analogRead(ticksRev1);
N_t2 = analogRead(ticksRev2);
N_t3 = analogRead(ticksRev3);
N_t4 = analogRead(ticksRev4);
double ticksRev = (N_t1 + N_t2) / 2;
anTach = analogRead(Analog_Tachometer);
digTicksRev = digitalRead(ticksRev);
anGear1 = analogRead(Analog_Gear1);
warnOil = digitalRead(Warn1);
warnCoolant = digitalRead(Warn2);
//SKYLER INFO
//digtickscount = number of ticks in 1 second
int millisTickstart = millis();
int digtickscount = 0;
2.4
while ((millis() - millisTickstart) < 1000) {
if (digTicksRev == HIGH) {
digtickscount++;
}
}
//Traction Control System
/*P = 20; // number of teeth per rotation = 20
B //Wheel rotation in one period
n //rotations per second
w //radians per second
r //radius of wheel = 9.75 inches
v // velocity of wheel feet per second
*/
// actual speed of car
v_av = (v_fr + v_fl)/2
// choose fastest rear wheel v_r
if (v_rr > v_rl){
vr = v_rr
} else {
vr = v_rl;
}
// calculating slip
s = vr - v_av;
// if v_av < 10 & s > 3
// output 1
// if v_av >10 & s > 3
// output 2
//Digital Speed Portion
double MPH_with20 = v_av*.6818181818;
MPH = round(MPH_with20);
//Serial.write("the output is %d", MPH);
2.5
char *pointer1;
char *pointer10;
int place_1 = MPH % 10;
int place_10 = MPH/10;
pointer10 = dectoBinary(place_10);
pointer1 = dectoBinary(place_1);
digitalWrite(pin_S0,(int)pointer1[3]);
digitalWrite(pin_S1,(int)pointer1[2]);
digitalWrite(pin_S2,(int)pointer1[1]);
digitalWrite(pin_S3,(int)pointer1[0]);
digitalWrite(pin_S4,(int)pointer10[3]);
digitalWrite(pin_S5,(int)pointer10[2]);
digitalWrite(pin_S6,(int)pointer10[1]);
digitalWrite(pin_S7,(int)pointer10[0]);
//End Digital Speed Portion
//Begin Gear Portion
char * pointerGear;
int Gear = ana_to_dig(Analog_Gear1, 5, 2);
switch(Gear) {
case 2:
digitalWrite(pin_G0,LOW);
digitalWrite(pin_G1,LOW);
digitalWrite(pin_G2,LOW);
digitalWrite(pin_G3,LOW);
digitalWrite(pin_G4, HIGH);
break;
default :
pointerGear = dectoBinary(Gear);
digitalWrite(pin_G0,(int)pointerGear[3]);
digitalWrite(pin_G1,(int)pointerGear[2]);
digitalWrite(pin_G2,(int)pointerGear[1]);
digitalWrite(pin_G3,(int)pointerGear[0]);
digitalWrite(pin_G4, LOW);
}
//End Gear Portion
//Warning/Dummy Lights
int warn = 3;
if ((warnOil == HIGH) && (warnCoolant == HIGH)) {
warn = 2;
} else if((warnOil == HIGH) && (warnCoolant == LOW)) {
2.6
warn = 1;
} else if((warnOil == LOW) && (warnCoolant == HIGH)) {
warn = 0;
} else {
warn = 3;
}
flash_warn(warn);
//End Warning/Dummy Lights
//Begin RPM
long Tach = ana_to_dig(Analog_Tachometer, 5, 3000);
if (Tach<10000) {
digitalWrite(pin_T0, LOW);
digitalWrite(pin_T1, LOW);
digitalWrite(pin_T2, LOW);
} else if((Tach>=10000) &&(Tach<11000)) {
digitalWrite(pin_T0, HIGH);
digitalWrite(pin_T1, LOW);
digitalWrite(pin_T2, LOW);
}else if((Tach>=11000) &&(Tach<12000)) {
digitalWrite(pin_T0, HIGH);
digitalWrite(pin_T1, HIGH);
digitalWrite(pin_T2, LOW);
}else if(Tach>=12000) {
digitalWrite(pin_T0, HIGH);
digitalWrite(pin_T1, HIGH);
digitalWrite(pin_T2, HIGH);
}
//End RPM
}
//EOF keep to run file properly
2.7
Programming Code: Shifting
const int button_ShiftDown1 = 23; // the pin that the pushbutton is attached to
const int pin_SDS = 22; // SDS
const int button_SlowClutch1 = 35;
const int button_Clutch1 = 31;
const int pin_Cex = 30;
const int pin_Cin = 34;
const int button_Upshift1 = 27;
const int pin_sigIgnCut = 24;
const int pin_Upshift = 26;
//const int button_Neutral1 = 13;
// Variables
int button_ShiftDown = 0;
int button_SlowClutch = 0;
int button_Clutch = 0;
int button_Upshift = 0;
//int button_Neutral = 0;
int prevbutton_ShiftDown = 0; // previous state of the button
int prevbutton_Upshift = 0;
//int prevbutton_Neutral = 0;
int prevbutton_Clutch = 0;
int prevbutton_SlowClutch = 0;
boolean ShD = 'FALSE';
boolean NeT = 'FALSE';
boolean ClT = 'FALSE';
boolean SlC = 'FALSE';
boolean UpS = 'FALSE';
//NEEDED FOR DEBOUNCING BUTTONS DUE TO NOISE/EXCESS VIBRATION
long time_start_ShiftDown = 0; // the last time the output pin was toggled
long time_start_SlowClutch = 0; // the last time the output pin was toggled
long time_start_Clutch = 0; // the last time the output pin was toggled
long time_start_Neutral = 0; // the last time the output pin was toggled
long time_start_Upshift = 0; // the last time the output pin was toggled
long on_time_req = 60; // the debounce time; increase if the output flickers
void setup() {
pinMode(button_ShiftDown1, INPUT);
pinMode(button_SlowClutch1, INPUT);
pinMode(button_Upshift1, INPUT);
//pinMode(button_Neutral1, INPUT);
pinMode(button_Clutch1, INPUT);
pinMode(pin_SDS, OUTPUT);
3.1
pinMode(pin_Cex, OUTPUT);
pinMode(pin_Cin, OUTPUT);
pinMode(pin_sigIgnCut, OUTPUT);
pinMode(pin_Upshift, OUTPUT);
//pinMode(pin_Downshift, OUTPUT); //ONLY NON PNEUMATIC
Serial.begin(115200); //baud rate set to max
}
void clutch() {
digitalWrite(pin_Cin, HIGH);
digitalWrite(pin_Cex, HIGH);
Serial.write("Clutch");
}
void slowClutch() {
for(int i = 0; i<1075; i+=60) {
digitalWrite(pin_Cin, LOW);
digitalWrite(pin_Cex, HIGH);
delay(30);
digitalWrite(pin_Cex, LOW);
delay(30);
}
Serial.write("\nslow clutch");
clutch();
}
void shiftDown() {
digitalWrite(pin_Cin, HIGH);
digitalWrite(pin_Cex, HIGH);
delay(170);
digitalWrite(pin_SDS, HIGH);
delay(30);
digitalWrite(pin_SDS, LOW);
delay(50);
digitalWrite(pin_Cin, LOW);
digitalWrite(pin_Cex, LOW);
Serial.write("\nshift down");
}
void upShift() {
digitalWrite(pin_sigIgnCut, HIGH);
Serial.write("ECU = 1");
delay(60);
digitalWrite(pin_sigIgnCut, LOW);
3.1
Serial.write("ECU = 0");
digitalWrite(pin_Upshift, HIGH);
delay(30);
digitalWrite(pin_Upshift, LOW);
Serial.write("\nupshift");
}
/*
void neutral() {
digitalWrite(pin_sigIgnCut, HIGH);
delay(2000);
digitalWrite(pin_Upshift, HIGH);
digitalWrite(pin_sigIgnCut, LOW);
delay(10);
digitalWrite(pin_Upshift, LOW);
Serial.write("\nneutral");
}
*/
void loop() {
int reading_ShiftDown = digitalRead(button_ShiftDown1);
int reading_Clutch = digitalRead(button_Clutch1);
int reading_SlowClutch = digitalRead(button_SlowClutch1);
int reading_Upshift = digitalRead(button_Upshift1);
//int reading_Neutral = digitalRead(button_Neutral1);
//Clutch debounce
if (reading_Clutch != prevbutton_Clutch) {
Serial.write("\nClutch activated");
int readClutch[30] = {};
readClutch[0] = reading_Clutch;
int output = 1;
for (int i = 1; i <on_time_req; i++) {
readClutch[i] = digitalRead(button_Clutch1);
delay(2);
if ((output == readClutch[i]) && (output == 1)) {
output = 1;
} else {
output = 0;
}
}
if (output == 1) {
digitalWrite(button_Clutch, HIGH);
}
button_Clutch = output;
Serial.write("\nbutton_Clutch = ");
Serial.println(button_Clutch, 2);
3.1
}
//SlowClutch debounce
if (reading_SlowClutch != prevbutton_SlowClutch) {
Serial.write("\nSlowClutch activated");
int readSlowClutch[30] = {};
readSlowClutch[0] = reading_SlowClutch;
int output = 1;
for (int i = 1; i <on_time_req; i++) {
readSlowClutch[i] = digitalRead(button_SlowClutch1);
delay(2);
if ((output == readSlowClutch[i]) && (output == 1)) {
output = 1;
} else {
output = 0;
}
}
if (output == 1) {
digitalWrite(button_SlowClutch, HIGH);
}
button_SlowClutch = output;
Serial.write("\nbutton_SlowClutch = ");
Serial.println(button_SlowClutch, 2);
}
//Upshift debounce
if (reading_Upshift != prevbutton_Upshift) {
Serial.write("\nUpshift activated");
int readUpshift[30] = {};
readUpshift[0] = reading_Upshift;
int output = 1;
for (int i = 1; i <on_time_req; i++) {
readUpshift[i] = digitalRead(button_Upshift1);
delay(2);
if ((output == readUpshift[i]) && (output == 1)) {
output = 1;
} else {
output = 0;
}
}
if (output == 1) {
digitalWrite(button_Upshift, HIGH);
}
button_Upshift = output;
Serial.write("\nbutton_Upshift = ");
3.1
Serial.println(button_Upshift, 2);
}
//ShiftDown debounce
if (reading_ShiftDown != prevbutton_ShiftDown) {
Serial.write("\nShiftDown activated");
int readShiftDown[30] = {};
readShiftDown[0] = reading_ShiftDown;
int output = 1;
for (int i = 1; i <on_time_req; i++) {
readShiftDown[i] = digitalRead(button_ShiftDown1);
delay(2);
if ((output == readShiftDown[i]) && (output == 1)) {
output = 1;
} else {
output = 0;
}
}
if (output == 1) {
digitalWrite(button_ShiftDown, HIGH);
}
button_ShiftDown = output;
Serial.write("\nbutton_ShiftDown = ");
Serial.println(button_ShiftDown, 2);
}
UpS = (prevbutton_Upshift != button_Upshift);
ClT = (prevbutton_Clutch != button_Clutch);
//NeT = (prevbutton_Neutral != button_Neutral);
SlC = (prevbutton_SlowClutch != button_SlowClutch);
ShD = (prevbutton_ShiftDown != button_ShiftDown);
if(button_Clutch == HIGH) {
clutch();
button_ShiftDown = digitalRead(button_ShiftDown1);
if (button_ShiftDown == HIGH) {
digitalWrite(pin_SDS, HIGH);
delay(50);
digitalWrite(pin_SDS, LOW);
}
}else if((button_Clutch == LOW)&&(button_SlowClutch == HIGH)) {
slowClutch();
3.1
digitalWrite(pin_SDS, LOW);
while(true){
digitalWrite(pin_Cex, HIGH);
digitalWrite(pin_Cin, LOW);
button_Clutch = digitalRead(button_Clutch1);
if (button_Clutch == HIGH) {
break;
}
}
}else if((button_Clutch == LOW)&&(button_SlowClutch == LOW) && (button_ShiftDown
== HIGH) && ShD) {
shiftDown();
}else {
digitalWrite(pin_Cin, LOW);
digitalWrite(pin_Cex, LOW);
digitalWrite(pin_SDS, LOW);
}
if((button_Upshift == HIGH) && UpS) {
upShift();
}
/*
if((button_Upshift == HIGH) && (button_Neutral == HIGH) && NeT) {
neutral();
}else if((button_Upshift == HIGH) && (button_Neutral == LOW) && UpS) {
upShift();
}else if((button_Upshift == LOW) && (button_Neutral == HIGH) && NeT) {
neutral();
}else if((button_Upshift == LOW) && (button_Neutral == LOW)) {
}*/
prevbutton_ShiftDown = button_ShiftDown;
prevbutton_Upshift = button_Upshift;
//prevbutton_Neutral = reading_Neutral;
prevbutton_Clutch = button_Clutch;
prevbutton_SlowClutch = button_SlowClutch;
}
//EOF ALWAYS LEAVE THIS SPACE
3.1
FSAE Rules and Regulations[2]
Rules and Regulations For Intake [FS]
B8.4 Air Intake System
B8.4.1 Air Intake System Location
All parts of the engine air and fuel control systems (including the throttle or carburetor, and the
complete air intake system, including the air cleaner and any air boxes) must lie within the
surface defined by the top of the roll bar and the outside edge of the four tires. (See Figure
below).
B8.4.2 Any portion of the air intake system that is less than 350 mm (13.8 in) above the ground
must be shielded from side or rear impact collisions by structure built to Rule B3.24 or B.3.31 as
applicable.
Surface Envelope
B8.4.3 Intake Manifold – The intake manifold must be securely attached to the engine block or
cylinder head with brackets and mechanical fasteners. This precludes the use of hose clamps,
plastic ties, or safety wires. The use of rubber bushings or hose is acceptable for creating and
sealing air passages, but is not considered a structural attachment.
B8.4.4 Intake systems with significant mass or cantilever from the cylinder head must be
supported to prevent stress to the intake system. Supports to the engine must be rigid. Supports
to the frame or chassis must incorporate some isolation to allow for engine movement and
chassis flex.
4.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
B8.5 Throttle and Throttle Actuation
B8.5.1 Carburetor/Throttle Body
The car must be equipped with a carburetor or throttle body. The carburetor or throttle body may
be of any size or design.
B8.5.2 Throttle Actuation
The throttle must be actuated mechanically, i.e., via a cable or a rod system. The use of
electronic throttle control (ETC) or “drive-by-wire” is prohibited.
B8.5.3 The throttle cable or rod must have smooth operation, and must not have the possibility of
binding or sticking.
B8.5.4 The throttle actuation system must use at least two (2) return springs located at the
throttle body, so that the failure of any component of the throttle system will not prevent the
throttle returning to the closed position.
Note: Throttle Position Sensors (TPS) are NOT acceptable as return springs.
B8.5.5 Throttle cables must be at least 50.8 mm (2 in) from any exhaust system component and
out of the exhaust stream.
B8.5.6 A positive pedal stop must be incorporated on the throttle pedal to prevent over stressing
the throttle cable or actuation system.
B8.6 Intake System Restrictor
B8.6.1 In order to limit the power capability from the engine, a single circular restrictor must be
placed in the intake system between the throttle and the engine and all engine airflow must pass
through the restrictor.
B8.6.2 Any device that has the ability to throttle the engine downstream of the restrictor is
prohibited.
B8.6.3 The maximum restrictor diameters are:
- Gasoline fueled cars – 20.0 mm (0.7874 in)
- E-85 fueled cars – 19.0 mm (0.7480 in)
B8.6.4 The restrictor must be located to facilitate measurement during the inspection process.
B8.6.5 The circular restricting cross section may NOT be movable or flexible in any way, e.g.
the restrictor may not be part of the movable portion of a barrel throttle body.
B8.6.6 If more than one engine is used, the intake air for all engines must pass through the one
restrictor
Rules and Regulations-Drivetrain [FS]
B8.12 Transmission and Drive
Any transmission and drivetrain may be used.
B8.13 Drive Train Shields and Guards
B8.13.1 Exposed high-speed final drivetrain equipment such as Continuously Variable
Transmissions (CVTs), sprockets, gears, pulleys, torque converters, clutches, belt drives and
clutch drives, must be fitted with scatter shields in case of failure. The final drivetrain shield
must cover the chain or belt from the drive sprocket to the driven sprocket/chain wheel/belt or
pulley. The final drivetrain shield must end parallel to the lowest point of the chain
wheel/belt/pulley. (See figure below) Body panels or other existing covers are not acceptable
unless constructed from approved materials per B8.13.3 or B8.13.4.
Comment: Scatter shields are intended to contain drivetrain parts which might separate from the
car.
4.2
Percent Male with Helmet
B8.13.2 Perforated material may not be used for the construction of scatter shields.
B8.13.3 Chain Drive - Scatter shields for chains must be made of at least 2.66 mm (0.105 in)
steel (no alternatives are allowed), and have a minimum width equal to three (3) times the width
of the chain. The guard must be centered on the centerline of the chain and remain aligned with
the chain under all conditions.
B8.13.4 Non-metallic Belt Drive - Scatter shields for belts must be made from at least 3.0 mm
(0.120 in) Aluminum Alloy 6061-T6, and have a minimum width that is equal to 1.7 times the
width of the belt.
The guard must be centered on the centerline of the belt and remain aligned with the belt under
all conditions.
B8.13.5 Attachment Fasteners - All fasteners attaching scatter shields and guards must be a
minimum 6 mm Metric Grade 8.8 (1/4 in SAE Grade 5) or stronger.
B8.13.6 Finger Guards – Finger guards are required to cover any drivetrain parts that spin while
the car is stationary with the engine running. Finger guards may be made of lighter material,
sufficient to resist finger forces. Mesh or perforated material may be used but must prevent the
passage of a 12 mm (1/2 in) diameter object through the guard.
Comment: Finger guards are intended to prevent finger intrusion into rotating equipment while
the vehicle is at rest.
Rules and Regulations for Exhaust [FS]
ARTICLE 10: EXHAUST SYSTEM AND NOISE CONTROL
B10.1 Exhaust System General
B10.1.1 Exhaust Outlet
The exhaust must be routed so that the driver is not subjected to fumes at any speed considering
the draft of the car.
B10.1.2 The exhaust outlet(s) must not extend more than 45 cm (17.7 in) behind the centerline of
the rear axle, and shall be no more than 60 cm (23.6 in) above the ground.
4.3
B10.1.3 Any exhaust components (headers, mufflers, etc.) that protrude from the side of the
body in front of the main roll hoop must be shielded to prevent contact by persons approaching
the car or a driver exiting the car.
B10.2 Noise Measuring Procedure
B10.2.1 The sound level will be measured during a static test. Measurements will be made with a
free-field microphone placed free from obstructions at the exhaust outlet level, 0.5 m (19.68 in)
from the end of the exhaust outlet, at an angle of forty-five degrees (45°) with the outlet in the
horizontal plane. The test will be run with the gearbox in neutral at the engine speed defined
below. Where more than one exhaust outlet is present, the test will be repeated for each exhaust
and the highest reading will be used.
B10.2.2 The car must be compliant at all engine speeds up to the test speed defined below.
B10.2.3 If the exhaust has any form of movable tuning or throttling device or system, it must be
compliant with the device or system in all positions. The position of the device must be visible to
the officials for the noise test and must be manually operable by the officials during the noise
test.
B10.2.4 Test Speeds
The test speed for a given engine will be the engine speed that corresponds to an average piston
speed of 914.4 m/min (3,000 ft/min) for automotive or motorcycle engines, and 731.5 m/min
(2,400 ft/min) for “industrial engines”. The calculated speed will be rounded to the nearest 500
rpm. The test speeds for typical engines will be published by the organizers. An “industrial
engine” is defined as an engine which, according to the manufacturers’ specifications and
without the required restrictor, is not capable of producing more than 5 hp per 100cc. To have an
engine classified as “an industrial engine”, approval must be obtained from organizers prior to
the Competition.
B10.3 Maximum Sound Level
The maximum permitted sound level is 110 dBA, fast weighting.
B10.4 Noise Level Re-testing
At the option of the officials, noise can be measured at any time during the competition. If a car
fails the noise test, it will be withheld from the competition until it has been modified and repasses the noise test.
Rules and Regulations for Shifting Apparatus
ARTICLE 13: COMPRESSED GAS SYSTEMS AND HIGH PRESSURE HYDRAULICS
B13.1 Compressed Gas Cylinders and Lines
Any system on the vehicle that uses a compressed gas as an actuating medium must comply with
the following requirements:
a. Working Gas-The working gas must be nonflammable, e.g. air, nitrogen, carbon dioxide.
b. Cylinder Certification- The gas cylinder/tank must be of proprietary manufacture,
designed and built for the pressure being used, certified by an accredited testing laboratory
in the country of its origin, and labeled or stamped appropriately.
c. Pressure Regulation-The pressure regulator must be mounted directly onto the gas
cylinder/tank.
d. Protection – The gas cylinder/tank and lines must be protected from rollover, collision
from any direction, or damage resulting from the failure of rotating equipment.
4.4
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
e. Cylinder Location- The gas cylinder/tank and the pressure regulator must be located either
rearward of the Main Roll Hoop and within the envelope defined by the Main Roll Hoop
and the Frame (see B3.2), or in a structural side-pod. In either case it must be protected by
structure that meets the requirements of B3.24 or B3.31. It must not be located in the
cockpit.
f. Cylinder Mounting- The gas cylinder/tank must be securely mounted to the Frame, engine
or transmission.
g. Cylinder Axis- The axis of the gas cylinder/tank must not point at the driver.
h. Insulation- The gas cylinder/tank must be insulated from any heat sources,
e.g. the exhaust system.
i. Lines and Fittings- The gas lines and fittings must be appropriate for the maximum possible
operating pressure of the system
References
[1] http://arduino.cc/en/Main/ArduinoBoardADK
[2] 2012 Formula SAE Rules: SAE International 2012
4.5
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Subsystem: Intake Manifold
Table of Contents
Functional Description
A1
Parts List
A1
Prototype Cost List
A2
Implementation Cost List
A2
Time to Build
A3
Fault Analysis
A3
Appendix
Drawing A1 Injector holder
A1.1
Drawing A2 Manifold
A1.2
Drawing A3 Runner base
A1.3
Table A1 Pre-design table
A2.1
Table A2 Pre-design
A2.1
Table A3 Pressure drop table
A2.2
References
A3.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Functional Description
The intake manifold allows the engine to breathe. It needs to flow air efficiently through a 20mm
restrictor. Tuning this and the exhaust manifold together will help overall power produced by the
engine. I have calculated the runner lengths, length and diameter of the inlet, and volume of the
manifold using the equations in table A1, A2, and A3. The equations used are [1]:
4 ∗ tan⁡(
𝜔𝐿1
)
𝑎
𝐴2
𝜔𝐿2
𝜔𝑉
∗ cot⁡(
)−
𝐴1
𝑎
𝑎𝐴1
Setting theses equations equal to each other gives the rest of the dimensions needed to complete
the intake. Using these dimensions and working around the frame, an intake model was made.
This is in drawing A2 below. The runner bases were designed to fit in the rubber grommets
already on the engine while allowing the injector spay to atomize; the runner bases and the
injector seat is shown in drawings A1 and A3. The manifold design was then verified in ANSYS
Fluent using pressure drops that occur at the valve when they open (see table A1).
Parts List
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Parts List- Intake
#
1
2
3
4
5
6
Item
Runner Base
Injector Seat
Aluminum Epoxy
Manifold Top
Manifold Bottom
Aluminum to Carbon Epoxy
Company
Speedy Metals
Speedy Metals
Aremco
US Composits
US Composits
MSC
Part #
805
FG-CFT5750
FG-CFT5750
611905
Qty
4
1
1
1
1
1
Speedy Metals [2] Aremco[3] US Composits [4]
A1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Prototype Cost table
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Prototype Cost List- Intake
#
1
2
3
4
5
6
Item
Runner Base
Injector Seat
Aluminum Epoxy
Manifold Top
Manifold Bottom
Aluminum to Carbon Epoxy
Company
Speedy Metals
Speedy Metals
Aremco
US Composits
US Composits
MSC
Part #
805
FG-CFT5750
FG-CFT5750
611905
Unit Cost
$18.63
$5.86
$95.00
$41.50
$41.50
$63.85
Qty
1
1
1
1
1
1
Total Cost
Total Cost
$18.63
$5.86
$95.00
$41.50
$41.50
$63.85
$266.34
Unit Cost
$18.63
$5.86
$95.00
$41.50
$41.50
$63.85
Qty
1
1
1
1
1
1
Total Cost
Total Cost
$18.63
$5.86
$95.00
$41.50
$41.50
$63.85
$266.34
Implementation Cost Table
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Implementation Cost List-Intake
#
1
2
3
4
5
6
Item
Runner Base
Injector Seat
Aluminum Epoxy
Manifold Top
Manifold Bottom
Aluminum to Carbon Epoxy
Company
Speedy Metals
Speedy Metals
Aremco
US Composits
US Composits
MSC
Part #
805
FG-CFT5750
FG-CFT5750
611905
Time to Build
Item
Order Parts
Machine Aluminum
Adhere Aluminum Parts Together
Lay Carbon fiber
Adhere Aluminum to Carbon fiber
Time
1 week
17 hrs
2 hrs
1.5 weeks
2 hrs
A2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Fault Analysis
One of the main concerns using the carbon fiber is that it may not be strong enough on the flat
surfaces to deal with the sudden pressure changes within the manifold. Last year’s intake was
made of aluminum and there was noticeable flexing when the throttle was rapidly opened. The
current intake will be reinforced to ensure that it will not have any problems with strength. The
other areas of concern are where the epoxies are being used; both types of epoxies have been
researched and should be strong enough. Extra care will be taken when dealing with the
application of the epoxies also.
A3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Appendix
Drawing A1 Injector holder
A1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
A1.1
Drawing A2 Manifold
A1.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
A1.2
Drawing A3 Runner base
A1.3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
A1.3
Table A1. Pre-design model for intake manifolds in internal combustion engines
RPM RPS Q(24) f system
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
5500
6000
6500
7000
7500
8000
8500
9000
9500
10000
10500
11000
11500
12000
12500
13000
13500
14000
14500
16.7
33.3
50
66.7
83.3
100
117
133
150
167
183
200
217
233
250
267
283
300
317
333
350
367
383
400
417
433
450
467
483
ω
3
50
314.2
3.3
110 691.2
3.6
180 1131
3.9
260 1633.7
4.2
350 2199.2
4.5
450 2827.5
4.8
560 3518.7
5.1
680 4272.8
5.4
810 5089.6
5.7 950.1 5969.3
6
1100 6911.9
6.3 1260 7917.3
6.6 1430 8985.5
6.9 1610 10117
7.2 1800 11310
7.5 2000 12567
7.8 2210 13887
8.1 2430 15269
8.4 2660 16714
8.7 2900 18223
9
3150 19793
9.3 3410 21427
9.6 3680 23124
9.9 3960 24883
10.2 4250 26706
10.5 4550 28591
10.8 4860 30539
11.1 5180 32549
11.4 5510 34623
L1
(m)
1.7
0.77
0.47
0.33
0.24
0.19
0.15
0.13
0.11
0.09
0.08
0.07
0.06
0.05
0.05
0.04
0.04
0.04
0.03
0.03
0.03
0.03
0.02
0.02
0.02
0.02
0.02
0.02
0.02
4L1
(m)
6.806
3.094
1.891
1.309
0.972
0.756
0.608
0.5
0.42
0.358
0.309
0.27
0.238
0.211
0.189
0.17
0.154
0.14
0.128
0.117
0.108
0.1
0.093
0.086
0.08
0.075
0.07
0.066
0.062
8L1 (m) 12L1 (m) Overlap
13.6115
6.187
3.7809
2.6175
1.9444
1.5123
1.2153
1.0008
0.8402
0.7164
0.6187
0.5401
0.4759
0.4227
0.3781
0.3403
0.3079
0.2801
0.2558
0.2347
0.216
0.1996
0.1849
0.1719
0.1601
0.1496
0.14
0.1314
0.1235
20.4172
9.2805
5.6714
3.9263
2.9167
2.2685
1.8229
1.5012
1.2603
1.0745
0.928
0.8102
0.7139
0.634
0.5671
0.5104
0.4619
0.4201
0.3838
0.352
0.3241
0.2994
0.2774
0.2578
0.2402
0.2244
0.21
0.1971
0.1853
226.86
206.23
189.05
174.5
162.04
151.23
141.78
133.44
126.03
119.39
113.42
108.02
103.11
98.63
94.52
90.74
87.25
84.02
81.02
78.22
75.61
73.18
70.89
68.74
66.72
64.81
63.01
61.31
59.7
#18.1
#18.2
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
1.13E-14
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-1.72E-14
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
-2.94E-15
3.894
-1.834
-5.778
-9.593
-13.609
-17.939
-22.634
-27.727
-33.252
-39.275
-46.029
-56.294
-55.606
-64.711
-72.983
-81.485
-90.437
-100.27
-94.302
-117.11
-128.02
-139.07
-150.78
0
-172.23
-185.19
-198.39
-213.96
-223.25
Table A2. Pre-design
A2.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Speed
of
Volume
Sound D1 (m) A1 (m2)
D2 (m) A2 (m2)
Lsecondary
(m3 )
(m/min)
a
5.6715 0.038 0.001134 0.031995 0.000804 0.128948498 0.0025
Table A3. Pressure drops at the valve
A2.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
degree
cam
Sec.
0
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
275
280
290
300
310
320
330
340
350
360
0
3.47E-05
6.94E-05
0.000104
0.000139
0.000174
0.000208
0.000243
0.000278
0.000313
0.000347
0.000382
0.000417
0.000451
0.000486
0.000521
0.000556
0.00059
0.000625
0.00066
0.000694
0.000729
0.000764
0.000799
0.000833
0.000868
0.000903
0.000938
0.000955
0.000972
0.001007
0.001042
0.001076
0.001111
0.001146
0.001181
0.001215
0.00125
Pressure Pressure Pressure Pressure
Cyl 1
Cyl 2
Cyl 3
Cyl 4
101
101
96.252
101
92.224
101
88.916
101
86.328
101
84.46
101
83.312
101
82.884
101
83.176
101
84.188
101
85.92
96.252
88.372 92.224
91.544 88.916
95.436 86.328
100.048 84.46
101
83.312
101
82.884
101
83.176
101
84.188
101
85.92
101
88.372
101
91.544
101
95.436
101
100.048
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
84.964
87.056
89.868
93.4
97.652
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
98.536
96.252
92.224
88.916
86.328
84.46
83.312
82.884
83.176
84.188
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
96.252
92.224
88.916
86.328
84.46
83.312
82.884
83.176
84.188
84.964
85.92
88.372
91.544
95.436
100.048
101
101
101
101
References
A2.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
[1] J. Benajes, “Predesign Model for Intake Manifolds in Internal Combustion Engines,” SAE
Technical Paper Series, pp.1-11, February 24, 1997
[2]http://www.speedymetals.com
[3]http://www.aremco.com
[4]http://www.uscomposites.com
A1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Subsystem: Exhaust
Table of Contents
Functional Description
B1
Parts List
B2
Prototype Cost List
B2
Implementation Cost List
B3
Time to Build
B3
Fault Analysis
B3
Appendix
Drawing B1 Side view of exhaust
B1.1
Drawing B2 Front view of exhaust
B1.2
References
B2.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Functional Description
The main goal of the exhaust is to exhaust gases from an internal combustion engine to the
environment while keeping these gasses out of the driver’s obstruction. Along with this, the
exhaust limits the noise from the engine. The goal for our competition is to limit the noise levels
to 110 decibels.
The 2012 racecar operates using the Kawasaki Ninja ZX-6R 4-cylinder engine. Each cylinder
will exhaust gasses from the engine. This year the team will be using a 4-2-1 system. This means
there are four header pipes in which two each flow into one collector pipe, Y-pipe. These two
collectors will then flow into the final Y-pipe which connects to the muffler.
Mild steel was selected as the material of pipe to be used. This was chosen because of its high
resistance to heat along with its availability. It also allows for a much easier machinability than
with other materials such as stainless steel and titanium while being much less expensive.
One of the main tasks in designing the layout of the exhaust was to keep the collector pipes as
close to the motor as possible. By keeping it tight to the engine, it allows the exhaust to exit out
the port just in front of the motor and wrap around allowing the exhaust to exit toward the rear as
shown in the appendix B1. By allowing the exhaust to exit through the rear, it avoids all contact
with the driver while reducing backpressure caused by the air force in. Without the access to a
mandrel bender, a bender that will not crimp the pipe, pre-bent sections of pipe were purchased
with the smallest radius available, two inches. With all this, we were able to keep the exhaust
wrapped relatively tight.
The muffler used for the 2012 racecar is a Muzzy Carbon Fiber Slip on Exhaust muffler. This
muffler provides us with a very light weight solution, only weighing 3.5 lbs. Along with the light
weight it gives a low decibel allowance. In the event that the noise level exceeds 110 dB,
additional fiberglass can be packed into the muffler.
B1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Parts List
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Parts List- Exhuast
#
1
2
3
4
5
6
7
Item
Mild Steel J Bend 1-3/8" 2" Radius
Mild Steel J Bend 1-3/4" 2" Radius
Mild Steel J Bend 2" 3" Radius
2 into 1 Collector 1.375" to 1.75"
2 into 1 Collector 1.75" to 2"
Exhaust Flange
Muzzy Carbon Fiber Slip on Exhaust
Company
Part #
Qty
JEGS
555-319200
4
JEGS
555-319215
1
JEGS
555-319222
1
Cone Engineering, Inc CL2-138175-MS 2
Cone Engineering, Inc CL2-17520-MS 1
Klistom 1 Warehouse
3510
4
Indysuperbikes
5739
1
JEGS [1] Cone Engineering Inc [2] Klistom 1 Warehouse [3] Indysuperbikes [4]
]
Cost of Prototype
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Prototype Cost-Exhaust
#
1
2
3
4
5
6
7
Item
Mild Steel J Bend 1-3/8" 2" Radius
Mild Steel J Bend 1-3/4" 2" Radius
Mild Steel J Bend 2" 3" Radius
2 into 1 Collector 1.375" to 1.75"
2 into 1 Collector 1.75" to 2"
Exhaust Flange (on hand)
Muzzy Carbon Fiber Slip on Exhaust
Company
Part #
Unit Cost
JEGS
555-319200
$14.99
JEGS
555-319215
$14.99
JEGS
555-319222
$19.99
Cone Engineering, Inc CL2-138175-MS $21.50
Cone Engineering, Inc CL2-17520-MS $21.50
Klistom 1 Warehouse
3510
$
Indysuperbikes
5739
$415.95
Qty
4
1
1
2
1
4
1
TotalCost
Total Cost
$59.96
$14.99
$19.99
$43.00
$21.50
$
$415.95
$575.39
B2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Cost of Implementation
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Implementation Cost List- Exhaust
#
1
2
3
4
5
6
6
Item
Mild Steel J Bend 1-3/8" 2" Radius
Mild Steel J Bend 1-3/4" 2" Radius
Mild Steel J Bend 2" 3" Radius
2 into 1 Collector 1.375" to 1.75"
2 into 1 Collector 1.75" to 2"
Muzzy Carbon Fiber Slip on Exhaust
Exhaust Flange
Company
Part #
Unit Cost
JEGS
555-319200
$14.99
JEGS
555-319215
$14.99
JEGS
555-319222
$19.99
Cone Engineering, Inc CL2-138175-MS $21.50
Cone Engineering, Inc CL2-17520-MS $21.50
Indysuperbikes
5739
$415.95
Klistom 1 Warehouse
3510
$2.00
Qty
4
1
1
2
1
1
4
Total Cost
Total Cost
$59.96
$14.99
$19.99
$43.00
$21.50
$415.95
$8.00
$583.39
Schedule of time to build
Item
Time in Hours
Order All Components
7 Days for Arrival
Cut Pipe and Mandrel Bends to Specification
2
Tack Pipes into place
4
Weld in pipes
2
Attach Slip on Muffler
0.5
Fault Analysis
When the exhaust exits the engine, harmful CO2 emissions are emitted. With the exhaust running
out the side of the car, emissions are closer to the vehicle than that of a normal vehicle. To
remove these emissions, side pods are used in the car and the exhaust is looped around toward
the rear. Therefore, the exhaust is emitted behind the driver and is contained inside the pod.
Along with this the muffler does not guarantee the car to emit a decibel rating below 110 dB. By
choosing the Muzzy Carbon Fiber Oval muffler, the outside can be removed and more fiberglass
can be packed allowing for more muffling of the exhaust.
B3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Appendix
Drawing B1
B1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
B1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing B2
B1.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
B1.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
References
[1] http://www.jegs.com
[2] http://www.coneeng.com
[3] http://www.kustom1warehouse.net
[4] http://www.indysuperbike.com
B2.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Subsystem: Oil Pan
Table of Contents
Functional Description
C1
Parts List
C1
Fault Analysis
C1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Functional Description
The oil system of the 2012 racecar is primarily made of the oil pan, oil pickup, and oil pump.
The oil pan and oil pickup tube with be reused from stock so the only redesign on the system will
be of the oil pan itself. There was one main reason for the redesign of the oil pan, to lower the
engine. For the 2012 racecar, as much was taken into consideration during the design of the
entire car to lower the center of gravity to make the car handle better. By lowering the center of
gravity of the car, this creates a lower roll center on the vehicle and creates less body roll under
lateral accelerations. Since the engine, which is mounted directly behind the driver, is
approximately 25% of the overall weight of the car, affects the center of gravity of the entire car
greatly due to its positioning. Being that the oil pan is at the lowest point on the entire car, it is
crucial to make the oil pan more “shallow” while still keeping the same amount of oil capacity
for proper cooling of the oil before it is recycled through the engine. Since the pan will be almost
1.5” lower than the stock pan, baffles have been designed to slow down the flow of oil during
increased lateral accelerations due to the lowered center of gravity.
The material chosen to construct the oil pan was 6061 aluminum due to its high strength and
thermal diffusivity. The outer ring that provides the bolting flange to the bottom of the engine
block will be cut from 0.25” material using a CNC waterjet machine. This will ensure that the
holes are all accurate and everything will fit properly so that there will not be any oil leaks. The
sides and bottom of the oil pan will be cut from 0.070” aluminum sheet and welded together.
This makes the construction of the pan actually very easy where all of the pieces are fitted
together like a puzzle and just welded together.
#
1
2
Item
6061 Aluminum 0.25" plate
6061 Aluminum 0.070" sheet
Company
speedy metals
speedy metals
Part #
Unit Cost
$ 25.22
$ 42.90
Qty
Total Cost
1
$ 25.22
3
$ 128.70
Total Cost $ 153.92
Fault Analysis
Failure of this oil pan could be something as simple as low oil pressure during high lateral
accelerations. This would be caused to oil not surrounding the oil pickup tube because of
improperly placed baffles or an incorrectly shaped oil pan. Due to its placement within the
frame, this part should never fail mechanically because it should not come in contact with the
ground at any point in time. However, if the oil pressure happens to drop under lateral
accelerations it should be only for a very short period of time and we will be able to monitor this
through the ECU by data logging the oil pressure sensor output. If the oil pan does fail,
additional baffling could be added to try to reduce the movement of the oil inside the pan.
C1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Subsystem: Axles
Table of Contents
Functional Description
D1
Parts List
D1
Fault Analysis
D1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Functional Description
The axles of a racecar are one of the most important parts of a racecar’s drivetrain system. The
axles are the part of the car that transmits torque from the output of the transmission to the
wheels, through the tires, and into the pavement. The design of these parts becomes difficult
because in order to maximize performance of the overall vehicle, weight must be removed from
every designed part going onto the car. Since the axles have to transmit such a high amount of
torque, it becomes a delicate balance between strength, stiffness and weight.
At the beginning of the design process, various constraints were taken into consideration because
of other design decisions made for the car.
1. Length
2. Material
3. Splined ends
The length of the axles was decided by the geometry of the suspension and chosen CV (constant
velocity) joint. The material, titanium, was chosen because the material was on hand and least
expensive to us. The spline that was chosen for the ends of the axles was chosen to fit the tripod
set up for the Taylor Race CV joints that are being used. With all of these constraints set up, the
only variable for design of the axles is the major diameter of the spline shaft itself. These axles
have been designed to withstand a torque of over 1000 ft.-lb.
Parts List
#
1
Item
Titanium 6al-4v 1.25" x 5' round stock
Company
onlinemetals.com
Part #
Unit Cost
$ 797.00
Qty
Total Cost
1
$ 797.00
Total Cost $ 797.00
Fault Analysis
Any failure in this part of the racecar will result in demobilization of the car at the time of the
break. These parts are precision machined and will be a one-time use until failure. However, as
a back up, there will be an extra set of the same axles built from 4340 high strength steel in case
one of the titanium axles does fail under loading.
D1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Subsystem: Shifting Apparatus
Table of Contents
Functional Description
E1
Subsystem Interactions
E1
Fault Analysis
E2
Parts List
E3
Prototype Cost List
E4
Implementation Cost List
E5
Time to Build
E5
Appendix
Drawing E1 Power switching circuit schematic
E1.1
Figure E1 Image of finished prototype circuit
E1.2
Drawing E2 Push button schematic
E2.1
Drawing E3 Tank mount
E3.1
Figure E2 Paddle shifters assembly
E4.1
Drawing E4 Top paddle mount
E4.2
Drawing E5 Bottom paddle mount
E4.3
Drawing E6 Right paddle
E4.4
Drawing E7 Left paddle
E4.5
Drawing E8 Cylinder mount
E5.1
Drawing E9 Shifter actuator mount
E5.2
Drawing E10 Clutch actuator mount
E5.3
References
E6.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Functional Description
The shifting of the engine is a crucial part of driving any vehicle. A shift is essentially the engine
being placed from one gear to another to match the appropriate speed of the car. The faster that a
system is capable of shifting up and down the faster a lap time is possible. The car will be
configured with a pneumatic system that is controlled by two contact buttons that control
clutching, and two steel paddles to control shifting. These paddles will be attached to a top
mounting plate that will allow movement in and axes. The paddles placed on the steering wheel
will be capable of manipulating an up shift and a downshift through miniature contact switches
that are attached to a bottom paddle mount. The switches will send a signal to the Arduino
microcontroller (Arduino) that will run a simple program for each switch. The same concept is
used on the contact buttons for clutching with respect to the electrical aspect. From the Arduino
signal output is controlled to the Clippard pneumatic solenoids that allow them to open or close
accordingly. The solenoids receive air from a 4500 psi Nitrogen tank were air passes through
appropriate regulator, fittings, and polyurethane hosing at 110 psi. Once the solenoid is open the
air activates one of the two cylinders for clutching or shifting.
The process of upshifting is controlled by the Arduino board that receives an input from the
contact switch. Contact switches are connected to the digital inputs of the Arduino with a pulldown resistor to eliminate noise current. Once the contact switch is pressed the Arduino runs a
program that will send a current to the Electronic Control Unit (ECU) to stop the engine and fuel
for a period of 60 milliseconds (ms). During the 60 ms the Arduino will also send an output
signal for 30 ms that switches power by a mosfet to increase the voltage and current needed to
the upshifting solenoid allowing air in to activate an upshift. Downshifting is similar to
upshifting except the output signal to the ECU is changed to the clutch exhaust and clutch input
solenoids that are activated at the same moment for a total time of 250 ms.
The clutch is controlled by another separate contact switch that when held down will
activate the input and exhaust solenoids to stop transmitting power from the engine to the
wheels. Slow movement is also needed for the car when approaching the start of a race therefore
a slow release of the clutch is needed. This function is accomplished by another contact switch
controlled by the Arduino that sends a signal to the exhaust solenoid. The signal sent is a 30 ms
pulse for 30 ms to allow air to exit the cylinder and allow the car to move slowly.
Subsystem Interactions
The shifting apparatus system is a vital subsystem to the drivetrain. The vehicle will not work
without it and is linked to multiple subsystems.
Shifting is controlled by the Arduino that is shared with the traction control and display
subsystems. The traction control may perhaps turn on when shifting from a lower to higher gear
if slipping of the tires happen. The display will show when a shift has occurred by the 16segment display.
The exhaust and intake will show signs of flow change when the ignition cut is occurring. This
will be a small change and will hold very little bearing over the subsystems.
E1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Fault Analysis
With any shifting system it is imperative that failure cannot occur with any components. The
paddles for shifting could be susceptible to break or flex when the driver is actuating them. The
mounts that the paddles and buttons are attached to must also be capable of withstanding flexing
or breaking. The proper thickness and material are chosen so this will not happen.
The contact switches operate at a maximum 0.5 amp current level. They are susceptible to failure
due to poor assembly and life cycle. The switches need to be mounted in such a manner that the
solder will not break. The electrical life cycle of a standard contact switch is 50,000 cycles and
should be replaced every two years to prevent failure. The signal that is sent from the contact
switches interacts with the Arduino. The Arduino is prone to electrical interferences that could
randomly activate the program. This is counteracted by a debouncing function that is written into
the program. The solenoids will be inclined to fail in the electrical since due to life cycle and
exposed to current for long periods of time. The life cycle of the solenoids are approximately one
billion cycles and should not be exposed for long periods of time. The solenoids should be
replaced once every five years and be placed in neutral or turned off when long signal exposer is
apparent.
With any pneumatic system there is an apparent danger in working with high levels of pressure
and strict guidelines must be followed. The air in the system must be nonflammable to insure
that any leaks that might occur would not cause the components to explode. The system must be
protected from rollover, collision from any direction, or damage resulting from the failure of
rotating equipment. The entire air system must be located rearward of the main roll hoop and
within the envelope of the car. The tank and cylinder must be positioned in such a manner that
the axes of the components are not directed at the driver. Neither can they be located near any
heat sources such as the exhaust system so no expansion of the air could deform components.
The regulator must be mounted directly to the air supply. All components must certified and
operate within the limits of their maximum pressures allowed. These basic guidelines are
followed to accommodate the FSAE rules.
Given that during a race any of the failures above would occur except tank explosion the race
could still be completed if the engine was still in a gear other than neutral. Once race is
completed the system could be corrected assuming that no permanent damage has occurred to the
car. The only possibility that permanent damage could occur was if the tank exploded and caused
damage to the engine or main structural component.
Testing showed that the neutral button was not needed as long as the car was in a stopped
position the upshift was sufficient if in first gear. Due to complications the system was not
capable of being tested thoroughly enough to be installed. These complications were of the
random firing that was later resolved by the debouncing function. The mounting of the clutch
was another issue that could not be resolved due to the frame structure. The clutch and shifter
were replaced by the reliable method of push/pull cables.
E2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Cost List
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Parts List- Shifting Apparatus
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Item
3 Way Solenoid 12 V, DIN, 1/4 NPT
2 Way Solenoid 12 V, DIN, 1/4 NPT
Cylinder Single Acting
Double Acting
Nitrogen Carbon Fiber Tank (4800psi)
Regulator
50 ft. Urethane Hose
Push-Quick Male Connector 1/4", 1/8 NPT
Push-Quick Male Connector 1/4", 1/4 NPT
Push-Quick Universal Elbo 1/4", 1/8 NPT
Female Coupler 1/4'' NPT
Male Tee 1/4" NPT
Plug 14" NPT
9"x9" Mild Steel Sheet (on hand)
1"x1' Aluminum Round Stock (on hand)
3"x5/16"x18 Bolt (on hand)
1"x1/4"x28 Bolt (on hand)
5/16"x18 Nut (on hand)
1/4"x28 Nut (on hand)
MOSFET Transistors
2.2 KOhm Resistors
Arduino Mega ADK
Diode
Contact Switches
22 awg wire 100 ft
Company
Part #
Qty
Clippard
MME-#QDS-D012
3
Clippard
MME-2QDS-D012
1
Clippard
USR-20-1-V
1
Clippard
UDR-14-1/2-V
1
Empire
40645
1
MPS
1-0329
1
Clippard URH1-0804-BKS-050 1
Clippard
PQ-MCO8P-BLK
4
Clippard
PQ-MCO8Q-BLK
8
Clippard
PQ-UE08P-BLK
2
Swakelok
S-4-HCG
1
Swakelok
SS-4MT
1
Swakelok
SS-4-P
1
Wicks
SH125x9x9-41
1
Wicks
RD1-T6
1
McMaster
92620A595
2
McMaster
91251A442
2
McMaster
91850A185
4
McMaster
91240A078
4
Mouser
512-FDP42AN15AO 4
RadioShack
271-1325
4
Mouser
782-A000063
1
Mouser
512-1N4007
4
RadioShack
275-011
4
Mouser
602-3051-100-10
1
Clippard[1] Empire[2] MPS [3] Swakelok [4] Wicks [5] McMaster [6] Mouser [7]
RadioShack [8]
E3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Cost of Prototype
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Prototype Cost List- Shifting Apparatus
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Unit Cost
$ 19.70
2 Way Solenoid 12 V, DIN, 1/4 NPT
Clippard
MME-2QDS-D012
$ 19.70
Cylinder Single Acting
Clippard
USR-20-1-V
$ 36.05
Double Acting
Clippard
UDR-14-1/2-V
$ 31.32
Nitrogen Carbon Fiber Tank (4800psi)
Empire
40645
$ 134.95
Regulator
MPS
1-0329
$ 139.00
50 ft. Urethane Hose
Clippard URH1-0804-BKS-050 $ 20.66
Push-Quick Male Connector 1/4", 1/8 NPT Clippard
PQ-MCO8P-BLK
$
1.21
Push-Quick Male Connector 1/4", 1/4 NPT Clippard
PQ-MCO8Q-BLK
$
1.21
Push-Quick Universal Elbo 1/4", 1/8 NPT
Clippard
PQ-UE08P-BLK
$
1.21
Female Coupler 1/4'' NPT
Swakelok
S-4-HCG
$
4.90
Male Tee 1/4" NPT
Swakelok
SS-4MT
$ 22.00
Plug 14" NPT
Swakelok
SS-4-P
$
4.90
9"x9" Mild Steel Sheet (on hand)
Wicks
SH125x9x9-41
$ 17.36
1"x1' Aluminum Round Stock (on hand)
Wicks
RD1-T6
$
7.04
3"x5/16"x18 Bolt (on hand)
McMaster
92620A595
$
0.92
1"x1/4"x28 Bolt (on hand)
McMaster
91251A442
$
0.22
5/16"x18 Nut (on hand)
McMaster
91850A185
$
1.29
1/4"x28 Nut (on hand)
McMaster
91240A078
$
0.35
MOSFET Transistors
2.16
Mouser 512-FDP42AN15AO $
2.2 Kohm Resistors
RadioShack
271-1325
$
0.24
Arduino Mega ADK
Mouser
782-A000063
$ 79.95
1N4007 Diode
Mouser
512-1N4007
$
0.08
Contact Switches
RadioShack
275-011
$
2.19
22 awg wire 100 ft
Mouser
602-3051-100-10
$ 19.91
Item
3 Way Solenoid 12 V, DIN, 1/4 NPT
Company
Clippard
Part #
MME-#QDS-D012
Qty
3
1
1
1
1
1
1
4
8
2
1
1
1
1
1
2
2
4
4
10
5
1
25
4
1
Total Cost
Total Cost
$
59.10
$
19.70
$
36.05
$
31.32
$ 134.95
$ 139.00
$
20.66
$
4.84
$
9.68
$
2.42
$
4.90
$
22.00
$
4.90
$
17.36
$
7.04
$
1.84
$
0.44
$
5.16
$
1.40
$
21.60
$
1.20
$
79.95
$
1.98
$
8.76
$
19.91
$ 656.16
E4
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Cost of Implementation
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Implementation Cost List- Shifting Apparatus
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Item
3 Way Solenoid 12 V, DIN, 1/4 NPT
2 Way Solenoid 12 V, DIN, 1/4 NPT
Cylinder Single Acting
Double Acting
Nitrogen Carbon Fiber Tank (4800psi)
Regulator
50 ft. Urethane Hose
Push-Quick Male Connector 1/4", 1/8 NPT
Push-Quick Male Connector 1/4", 1/4 NPT
Push-Quick Universal Elbo 1/4", 1/8 NPT
Female Coupler 1/4'' NPT
Male Tee 1/4" NPT
Plug 14" NPT
9"x9" Mild Steel Sheet (on hand)
1"x1' Aluminum Round Stock (on hand)
3"x5/16"x18 Bolt (on hand)
1"x1/4"x28 Bolt (on hand)
5/16"x18 Nut (on hand)
1/4"x28 Nut (on hand)
MOSFET Transistors
2.2 Kohm Resistors
Arduino Mega ADK
1N4007 Diode
Contact Switches
22 awg wire 100 ft
Company
Part #
Unit Cost
Clippard
MME-#QDS-D012
$ 19.70
Clippard
MME-2QDS-D012
$ 19.70
Clippard
USR-20-1-V
$ 36.05
Clippard
UDR-14-1/2-V
$ 31.32
Empire
40645
$ 134.95
MPS
1-0329
$ 139.00
Clippard URH1-0804-BKS-050 $ 20.66
Clippard
PQ-MCO8P-BLK
$ 1.21
Clippard
PQ-MCO8Q-BLK
$ 1.21
Clippard
PQ-UE08P-BLK
$ 1.21
Swakelok
S-4-HCG
$ 4.90
Swakelok
SS-4MT
$ 22.00
Swakelok
SS-4-P
$ 4.90
Wicks
SH125x9x9-41
$ 17.36
Wicks
RD1-T6
$ 7.04
McMaster
92620A595
$ 0.92
McMaster
91251A442
$ 0.22
McMaster
91850A185
$ 1.29
McMaster
91240A078
$ 0.35
Mouser
512-FDP42AN15AO $ 2.16
RadioShack
271-1325
$ 0.24
Mouser
782-A000063
$ 79.95
Mouser
512-1N4007
$ 0.08
RadioShack
275-011
$ 2.19
Mouser
602-3051-100-10
$ 19.91
Qty
Total Cost
3
1
1
1
1
1
1
4
8
2
1
1
1
1
1
5
50
5
25
4
4
1
4
4
1
Total Cost
$ 59.10
$ 19.70
$ 36.05
$ 31.32
$ 134.95
$ 139.00
$ 20.66
$
4.84
$
9.68
$
2.42
$
4.90
$ 22.00
$
4.90
$ 17.36
$
7.04
$
4.60
$ 11.00
$
6.45
$
8.75
$
8.64
$
0.96
$ 79.95
$
0.32
$
8.76
$ 19.91
$ 663.26
Time to Build
Item
Order All Components
Machining Components
Assembling Components
Time
1 - week
10 hours
1 hour
E5
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Appendix
Drawing E1 Power switching circuit schematic
E1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Figure E1. Image of finished prototype circuit
E1.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E2 Push button schematic
E2.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
p
E2.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E3 Tank mount
E3.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E3.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Figure E2. Paddle shifters assembly
E4.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E4 Paddle mount top
E4.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E4.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E5 Paddle mount bottom
E4.3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E4.3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E6 Right paddle
E4.4
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E4.4
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E7 Left paddle
E4.5
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E4.5
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E8 Cylinder mount
E5.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E5.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E9 Shifter mount
E5.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E5.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing E10 Clutch actuator mount
E5.3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
E5.3
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
References
[1] http://www.clippard.com
[2] http://www.empirepaintball.com
[3] http://www.mpsracing.com
[4] http://www.swagelok.com
[5] http://www.wicksaircraft.com
[6] http://www.mcmaster.com
[7] http://www.mouser.com
[8] http://www.radioshack.com
E6.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Subsystem: Dashboard
Table of Contents
Functional Description
F1
Fault Analysis
F2
Parts List
F3
Prototype Cost List
F4
Implementation Cost List
F4
Time to Build
F5
Appendix
Figure F1 Placement of systems on dashboard
F1.1
Figure F2 Arduino to LED
F1.1
Table F1 RPM to LED Output
F1.1
Drawing F1 Display schematic
F2.1
Drawing F2 Gear indicator schematic
F2.2
References
F2.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Functional Description
The dashboard of a racecar gives only the most important information to the driver. The driver
should be able to make informed decisions on whether it is safe to keep driving the vehicle as
well as an idea of when it is important to change gears.
The dashboard display (see Figure F1) is split into four sections: Gear, Speed, RPM, and Dummy
Lights (safety indicators). The Gear (see Drawing F1) and Speed (see Drawing F2) sections are
built similarly as both output to 16-segment displays and the RPM and Dummy Lights (see
Figure F2) are built similarly as both signals output to LEDs. The difference between each of
these sections is in the programming, and how and where they receive their input information.
Gear
Information for the gear display starts at the engine, where there is an analog signal that the
Arduino reads. In the program (see code in General Appendix), the signal is then compared to
the highest possible voltage of the gears and is assigned a gear number or to neutral. The
number or neutral signal is then changed into binary and sent out to five output pin wires, which
go to the physical portion of the display. The gear display is made up of a bcd to dec decoder,
two hex inverters, a 16-seg display, and a neutral output wire. The bcd to dec decoder receives
four of the five signals, while the fifth signal goes straight to the 16-seg display for the neutral.
The bcd to dec decoder change the binary output to a decimal output that is the inverted output
needed for the 16-seg display. From here, the signals are inverted through the hex inverters and
then sent to the 16-seg display.
Speed
The information for the speed display comes from the traction control sensors. At each high or
‘tick’ of the sensor from the two front wheels, two signals are sent to the Arduino. From the
code, it takes the average number obtained from the two to get the average number of ticks.
From here, the program changes the number of ticks into a speed by using the radius and number
of teeth on the trigger wheel (see traction control subsystem for more information). Once
changed into a speed in terms of miles per hour, the code takes the tens place by dividing by ten
and keeps the remainder, or ones place, through the modulus. From here, the tens and ones place
get changed into binary and sent to the speed display in 8 wires, 4 wires for the tens place and 4
wires for the ones place. The speed display from here takes the same approach as the gear
display as it goes through a bcd to dec decoder, inverter, and then to a 16-seg display. The only
F1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
difference between the gear display and speed display besides the number of displays necessary
is the lack of a neutral output wire, as the output of the speed has no need of a diagonal line
whereas it is necessary for the gear display in order to output an ‘N’.
RPM
The RPM (revolutions per minute) is an analog signal outputted from the engine. The Arduino
takes the signal and compares it to the highest voltage the analog signal could output. Then the
code assigns a decimal number in terms of revolutions per minute. The code compares the RPM
value to various degrees from 0 to 9999, 10000 to 10999, 11000 to 11999, 12000 and higher and
three signals are sent to three groups of four LEDs depending on which value of RPM (see Table
F1). These outputs give the driver a good idea of when it would be best to shift to a higher gear.
When the Aqua LEDs light, it is almost time to change to a higher gear, the Green LEDs, it is a
good time to change to a higher gear, and the Amber LEDs, it is highly suggested to change to a
higher gear.
Dummy Lights
There are two sets of dummy lights: one for the temperature of the coolant and the second for the
temperature of the oil. These digital signals come from the ECU and are sent through the
Arduino to a program to cause the output to pulse so that the results are flashing red LEDs. As
the dummy lights are warning lights, the more obvious these LEDs are, the easier for the driver
to react to the situation.
Fault Analysis
As a whole, the lack of a dashboard display will not hinder the driver from finishing the race
except in the case of the dummy lights flashing and the driver would take these seriously and
stop a lap to see if the issue could be fixed. Once found that the display was not working
properly, the driver could still resume the race; however, he/she would have to rely on their
senses in terms of the car’s condition. There are a couple of ways the dashboard display could
malfunction. One way is the Arduino to break or get stray signals. In the case of stray signals,
the program created includes a debouncing program to keep signals that are stray from
influencing the inputs of the Arduino. If the Arduino breaks and is irreparable, for example, split
in half, it would be impossible to the board in competition and the driver would continue the
competition without most of the dashboard. The dummy lights could be quickly rehooked up as
the Arduino only manipulates the signals slightly. As the dummy lights are the only part of the
dashboard that is necessary, the competition would be able to continue. Another way the
dashboard display could malfunction is if the ECU malfunctions due to physical abuse (fire) or
electrical malfunction. In this case, the warning lights would not output correctly and other parts
F1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
of the racecar would malfunction causing the racecar to be completely out of the competition.
The only way to fix the ECU would be a replacement, and this would take more time and there
are no extra ECUs on hand.
Parts List
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Parts List- Dashboard Display
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Item
Grid-Style PC Board with 2200 Holes
Wire - Single Conductor 22AWG 7/30 PVC
Arduino Mega ADK
Alphanumeric 16-Segment LED display
Rosin Core Solder
5mm red led
5mm green led
5mm Orange LED
5mm Aqua LED
4-40 1 inch screw
4-40 nut
Nylond standoff
Single Inverter - Hex
270 Ohm resistor
RTV
BCD To DEC Decoder
Company
Part #
Qty
RadioShack
276-147
3
Mouser
602-3051-100-10 1
Mouser
782-A000063 1
Aztronics
AS-0505-G-BW 3
RadioShack
64-009
1
SuperBrightLEDs RL5-R8030
5
SuperBrightLEDs RL5-G5023
4
SuperBrightLEDs RL5-O4030
4
SuperBrightLEDs RL5-A7032
4
Grainger
2AA72
10
Grainger
CLC8
10
Grainger
13SP090
10
Texas Instruments SN74LS04N 5
RadioShack
55049160
4
Grainger
80067
1
NTE Semiconductors NTE74LS47
3
RadioShack [1] Mouser [2] Aztronics [3] SuperBrightLEDs [4] Grainger [5]
Texas Instruments [6] NTE Semiconductor [7]
F2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Cost of Prototype
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Prototype Cost List- Dashboard Display
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Item
Grid-Style PC Board with 2200 Holes
Wire - Single Conductor 22AWG 7/30 PVC
Arduino Mega ADK
Alphanumeric 16-Segment LED display
Rosin Core Solder (ON HAND)
5mm red led
5mm green led
5mm Orange LED
5mm Aqua LED
4-40 1 inch screw
4-40 nut
Nylond standoff
Single Inverter - Hex (ON HAND)
270 Ohm resistor (ON HAND)
RTV
Android 2.3 Tablet PC
BCD To DEC Decoder (ON HAND)
Company
Part #
Unit Cost
RadioShack
276-147
$ 3.99
Mouser
602-3051-100-10 $ 21.70
Mouser
782-A000063 $ 79.95
Aztronics
AS-0505-G-BW $ 2.75
RadioShack
64-009
$
SuperBrightLEDs
RL5-R8030
$ 0.53
SuperBrightLEDs
RL5-G5023
$ 0.49
SuperBrightLEDs
RL5-O4030
$ 0.24
SuperBrightLEDs
RL5-A7032
$ 0.49
Grainger
2AA72
$ 0.08
Grainger
CLC8
$ 0.05
Grainger
13SP090
$ 0.13
Texas Instruments
SN74LS04N $
RadioShack
55049160
$
Grainger
80067
$ 7.65
ECRATER
RAMOS-W3HD $182.99
NTE Semiconductors NTE74LS47 $
-
Qty
Total Cost
3
$ 11.97
1
$ 21.70
1
$ 79.95
10
$ 27.50
1
$ 20
$ 10.60
20
$ 9.80
20
$ 4.80
20
$ 9.80
25
$ 2.12
25
$ 1.30
25
$ 3.33
8
$ 20
$ 0.08
$ 0.61
1
$ 182.99
5
$ Total Cost $ 366.47
Cost of Implementation
F4
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Implementation Cost List- Dashboard Display
#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
17
Item
Grid-Style PC Board with 2200 Holes
Wire - Single Conductor 22AWG 7/30 PVC
Arduino Mega ADK
Alphanumeric 16-Segment LED display
Rosin Core Solder
5mm red led
5mm green led
5mm Orange LED
5mm Aqua LED
4-40 1 inch screw
4-40 nut
Nylond standoff
Single Inverter - Hex
270 Ohm resistor
RTV
BCD To DEC Decoder
Company
Part #
Unit Cost
RadioShack
276-147
$ 3.99
Mouser
602-3051-100-10 $ 21.70
Mouser
782-A000063
$ 79.95
Aztronics
AS-0505-G-BW $ 2.75
RadioShack
64-009
$ 11.99
SuperBrightLEDs
RL5-R8030
$ 0.53
SuperBrightLEDs
RL5-G5023
$ 0.49
SuperBrightLEDs
RL5-O4030
$ 0.24
SuperBrightLEDs
RL5-A7032
$ 0.49
Grainger
2AA72
$ 0.08
Grainger
CLC8
$ 0.05
Grainger
13SP090
$ 0.13
Texas Instruments
SN74LS04N
$ 0.71
RadioShack
55049160
$ 1.44
Grainger
80067
$ 7.65
NTE Semiconductors
NTE74LS47
$ 1.43
Qty
3
1
0
3
1
5
4
4
4
10
10
10
5
2
0.08
3
Total Cost
Total Cost
$ 11.97
$ 21.70
$
$ 8.25
$ 11.99
$ 2.65
$ 1.96
$ 0.96
$ 1.96
$ 0.85
$ 0.52
$ 1.33
$ 3.54
$ 2.88
$ 0.61
$ 4.29
$ 75.46
Time to Build
Item
Order Parts
Soldering
Write code
Mount circuit boards
Time
1-2 weeks
10-12 hours
8-10 hours
1 hour
F4
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Appendix
Dummy
Lights
Speed
display
RPM display
Gear Display
Figure F1: Placement of systems on dashboard
F1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Figure F2: Arduino sends a signal and if the output is high, the LED lights
Table F1 : RPM to LED Output
Input (RPMs)
Output (HIGH)
0 to 9999
None
10000 to 10999
Left four LEDs (Aqua)
11000 to 11999
Left four LEDS, Middle four LEDs (Green)
12000 and higher
Left four LEDS, Middle four LEDs, Right four LEDs (Amber)
Drawing F1 Display schematic
F1.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
F2.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Drawing F2 Gear indicator
References
F2.2
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
[1] http://www.radioshack.com
[2] http://www.mouser.com
[3] http://www.aztronics.com.au/
[4] http://www.superbrightleds.com/
[5] http://www.grainger.com/
[6] http://www.ti.com
[7] http://www.nteinc.com/
Subsystem: Traction Control
Table of Contents
Functional Description
G1
Subsystem Interactions
G1
Fault Analysis
G2
Parts List
G2
Prototype Cost List
G3
Implementation Cost List
G3
Time to Build
G4
Appendix
Drawing G1 Schematic
G1.1
Equation Derivations
G2.1
Sensor Datasheet
G3.1
References
G4.1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Functional Description
The traction control system prevents the racecar’s wheels from slipping on the road surface. This
increases the driver’s ability to maintain control of the racecar during periods of acceleration
such as take-off and while turning corners.
The designed system utilizes a hall-effect sensor (see datasheet in appendix) with a trigger wheel
attached to each wheel. The sensors send an output voltage signal which is proportional to the
wheel’s radial velocity. This signal is connected to the supply voltage through a resistor to
increase the signal level (see schematic in appendix). The Arduino microcontroller reads these
signal inputs and determines when the racecar loses traction. (see code for detailed programming
in general appendix)
With the speed of each wheel, the microcontroller then calculates the speed of the car using the
average of the two inputs from the front wheels which are not under any external power. (see
derivations in appendix) The Arduino then chooses the greater speed of the two rear wheels to
compare to the actual speed of the car. If the difference of the rear wheel speed and actual speed
exceeds the tolerated slip, the Arduino outputs a voltage signal to the programmable digital input
of the racecar’s electronic control
unit (ECU).
The ECU is programmed to initiate a rev limiter when it receives this signal. The rev limiter is a
program which cuts or retards the ignition timing to control the RPM level of the engine. With
the rev limit in place, the racecar has time to match the rear wheel speed with the actual speed.
Subsystem Interactions
The traction control system is not a crucial part of the drivetrain and can even be turned off as
the driver wishes, but it is not entirely separated from other subsystems.
Due to the utilization of the ECU rev limiting program, the traction control system has secondary
interactions with other subsystems including the exhaust. When the ignition is cut, the fuel in
each cylinder is does not combust and is sent through the exhaust. This can cause the
temperature of the exhaust to increase. If too much fuel is sent to the exhaust at one time, a
backfire can occur. However, the ECU should not allow such levels of fuel to escape by
sequencing the ignition cut of each cylinder.
G1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
The sensors of the traction control system are integrated into the dashboard display system. A
second program in the Arduino microcontroller pulls the actual speed of the racecar and outputs
a binary signal that is decoded to segmented LED displays (see display subsystem).
Fault Analysis
As with any electrical circuit, there is always the possibility of overvoltage or component failure.
With Arduino microcontroller being the most valuable and also the most sensitive component of
the system, it is critical that all circuitry connected to it implements some sort of current control.
Because the hall-effect sensors have a maximum supply current that is less than the maximum
input current of the Arduino, it is not necessary to have any extra form of circuit protection.
However, should the sensors fail can cause a short circuit between the supply voltage and the
input, the Arduino would be exposed to an uncontrolled current. This can be prevented with an
opto-isolator integrated circuit connected to the sensor output. This device isolates all external
current sources and is usually very inexpensive.
Parts List
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Parts List- T raction Control System
#
1
2
3
4
5
6
7
8
9
10
Item
Hall-effect sensor
Arduino Mega ADK
1/4 inch steel sheet(onhand)
4-40 1 inch screw
4-40 nut
Nylond standoff
Project board
1 kOhm resistor(onhand)
22 awg wire 100 ft
RTV
Company
Part #
Qty
Mouser 785-1GT101DC 4
Mouser
782-A000063
1
Grainger
3DRU7
1
Grainger
2AA72
10
Grainger
CLC8
10
Grainger
13SP090
10
RadioShack
276-147
1
RadioShack
271-1118
4
Mouser 602-3051-100-10 1
Grainger
80067
0.08
Mouser [1] Grainger [2] RadioShack [3]
G1
Formula SAE Drivetrain
F11-77-FSAE
4/19/12
Prototype Cost List
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Prototype Cost List- T raction Control System
#
1
2
3
4
5
6
7
8
9
10
Item
Hall-effect sensor
Arduino Mega ADK
1/4 inch steel sheet(onhand)
4-40 1 inch screw
4-40 nut
Nylond standoff
Project board
1 kOhm resistor(onhand)
22 awg wire 100 ft
RTV
Company
Part #
Unit Cost
Mouser 785-1GT101DC $ 33.53
Mouser
782-A000063 $ 79.95
Grainger
3DRU7
$ Grainger
2AA72
$ 0.08
Grainger
CLC8
$ 0.05
Grainger
13SP090
$ 0.13
RadioShack
276-147
$ 3.99
RadioShack
271-1118
$ Mouser 602-3051-100-10 $ 19.91
Grainger
80067
$ 7.65
Qty
6
1
1
100
100
100
6
5
1
1
Total Cost
Total Cost
$ 201.18
$ 79.95
$
$ 8.49
$ 5.19
$ 13.33
$ 23.94
$
$ 19.91
$ 7.65
$ 359.64
Implementation Cost List
SIU Formula SAE Drivetrain Team
A Division of Saluki Engineering Company
Implementation Cost List- T raction Control System
#
1
2
3
4
5
6
7
8
9
10
Item
Hall-effect sensor
Arduino Mega ADK
1/4 inch steel sheet
4-40 1 inch screw
4-40 nut
Nylond standoff
Project board
1 kOhm resistor
22 awg wire 100 ft
RTV
Company
Part #
Unit Cost
Mouser 785-1GT101DC $ 33.53
Mouser
782-A000063 $ 79.95
Grainger
3DRU7
$ 43.10
Grainger
2AA72
$ 0.08
Grainger
CLC8
$ 0.05
Grainger
13SP090
$ 0.13
RadioShack
276-147
$ 3.99
RadioShack
271-1118
$ 0.24
Mouser 602-3051-100-10 $ 19.91
Grainger
80067
$ 7.65
Qty
4
0
1
10
10
10
1
4
1
0.08
Total Cost
Total Cost
$ 134.12
$
$ 43.10
$ 0.85
$ 0.52
$ 1.33
$ 3.99
$ 0.95
$ 19.91
$ 0.61
$ 205.39
G3
Schedule of Time to Build
Item
Time
Order Parts
1-2 weeks
Machine timing wheels
1 hour
Soldering
1-2 hours
Write code
2-3 hours
Mount circuit boards
1 hour
G4
Appendix
Drawing G1 Sensor circuit schematic
G1.1
G1.1
Equation Derivations
Calculating speed of wheel per sensor
𝑇𝑜 = 𝑠𝑒𝑛𝑠𝑖𝑛𝑔⁡𝑝𝑒𝑟𝑖𝑜𝑑⁡𝑜𝑓⁡𝑎𝑟𝑑𝑢𝑖𝑛𝑜⁡(𝑠𝑒𝑐𝑜𝑛𝑑𝑠)
𝑁𝑡 = 𝑛𝑢𝑚𝑏𝑒𝑟⁡𝑜𝑓 ′𝐻 𝐼𝐺𝐻 ′ 𝑣𝑜𝑙𝑡𝑎𝑔𝑒⁡𝑠𝑖𝑔𝑛𝑎𝑙𝑠⁡𝑠𝑒𝑛𝑡⁡𝑖𝑛⁡𝑜𝑛𝑒⁡𝑝𝑒𝑟𝑖𝑜𝑑
𝑃 = 𝑛𝑢𝑚𝑏𝑒𝑟⁡𝑜𝑓⁡𝑡𝑒𝑒𝑡ℎ⁡𝑝𝑒𝑟⁡𝑟𝑜𝑡𝑎𝑡𝑖𝑜𝑛
𝐵 = 𝑤ℎ𝑒𝑒𝑙⁡𝑟𝑜𝑡𝑎𝑡𝑖𝑜𝑛𝑠⁡𝑖𝑛⁡𝑜𝑛𝑒⁡𝑝𝑒𝑟𝑖𝑜𝑑
𝑁𝑡
𝐵=
𝑃
𝑛 = 𝑟𝑜𝑡𝑎𝑡𝑖𝑜𝑛𝑠⁡𝑝𝑒𝑟⁡𝑠𝑒𝑐𝑜𝑛𝑑
𝐵
𝑛=
𝑇𝑜
𝜔 = 𝑟𝑎𝑑𝑖𝑎𝑛𝑠⁡𝑝𝑒𝑟⁡𝑠𝑒𝑐𝑜𝑛𝑑
𝜔 = 𝑛∗2∗𝜋
𝑟 = 𝑟𝑎𝑑𝑖𝑢𝑠⁡𝑜𝑓⁡𝑤ℎ𝑒𝑒𝑙⁡(𝑓𝑒𝑒𝑡)
𝑓𝑒𝑒𝑡
𝑣 = 𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦⁡𝑜𝑓⁡𝑤ℎ𝑒𝑒𝑙⁡ (
)
𝑠𝑒𝑐𝑜𝑛𝑑
𝑣 = ⁡𝜔 ∗ 𝑟
Calculating actual vehicle speed
𝑣𝑓𝑟 = 𝑓𝑟𝑜𝑛𝑡⁡𝑟𝑖𝑔ℎ𝑡⁡𝑤ℎ𝑒𝑒𝑙⁡𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦
𝑣𝑓𝑙 = 𝑓𝑟𝑜𝑛𝑡⁡𝑙𝑒𝑓𝑡⁡𝑤ℎ𝑒𝑒𝑙⁡𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦
𝑣𝑎𝑣 = 𝑎𝑐𝑡𝑢𝑎𝑙⁡𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦
𝑣𝑎𝑣 =
(𝑣𝑓𝑟 + 𝑣𝑓𝑙 )
2
Calculating slip
𝑣𝑟𝑟 = 𝑟𝑒𝑎𝑟⁡𝑟𝑖𝑔ℎ𝑡⁡𝑤ℎ𝑒𝑒𝑙⁡𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦
𝑣𝑟𝑙 = 𝑟𝑒𝑎𝑟⁡𝑙𝑒𝑓𝑡⁡𝑤ℎ𝑒𝑒𝑙⁡𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦
𝑣𝑟 = 𝑡ℎ𝑒⁡𝑓𝑎𝑠𝑡𝑒𝑟⁡𝑟𝑒𝑎𝑟⁡𝑤ℎ𝑒𝑒𝑙⁡𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦
𝑖𝑓(𝑣𝑟𝑟 ≥ 𝑣𝑟𝑙 )
𝑣𝑟 = 𝑣𝑟𝑟
𝑒𝑙𝑠𝑒(𝑣𝑟 = 𝑣𝑟𝑙 )
𝑠 = 𝑠𝑙𝑖𝑝𝑝𝑖𝑛𝑔⁡𝑠𝑝𝑒𝑒𝑑
𝑠 = 𝑣𝑟 − 𝑣𝑎𝑣
G2.1
Sensor Datasheet[4]
G3.1
G3.1
References
G3.2
[1] http://www.mouser.com
[2] http://www.grainger.com
[3] http://www.radioshack.com
[4] http://sensing.honeywell.com
G4.1
Download