This traction control system consists of a fuel control circuit and an Arduino Mega 2560 microcontroller. The system is able to independently shut off fuel supply to any of the four cylinders of the engine, reducing power output. The microcontroller reads data from four wheel speed sensors (WSS), a 3-axis accelerometer (ACC), and a steering angle sensor (SAS) as shown in Figure 1. Live sensor data, vehicle dynamics simulation results, and tire data are combined to determine the current state of slip of the rear tires and the corresponding peak slip state. When the current slip exceeds the optimal value, the microcontroller activates the fuel control circuit to attenuate engine power output and return slip back down to the optimal value.
Figure 1: System Overview Schematic
The car's fuel injectors are solenoid valves that open and close to allow fuel to shoot into the engine's combustion chambers. Normally, they have a constant 12V signal applied to one terminal and a 12V square wave applied to the other sent from the engine control unit. When 12V is applied across the terminals, the injector opens to allow fuel to flow. In order to prevent fuel flow, a relay was placed in the fuel injector circuit as shown in Figure 2. When switched, this relay prevents the 12V square wave from reaching the injector, keeping it closed indefinitely. This stops fuel from entering the cylinder, preventing combustion and reducing the torque output of the engine by 25% per cylinder. The microcontroller is able to open and close the relay through a MOSFET in order to control the high voltage and current required to charge the relay coil. There are four independent fuel control circuits, allowing for 0%, 25%, 50%, 75%, or 100% attenuations in engine power output.
Figure 2: Fuel Control Circuit for One Fuel Injector
The Arduino Mega 2560 microcontroller was selected for it's high digital pin count, analog capabilities, and ease of interfacing with external modules such as an SD card reader or 3-axis accelerometer, as shown in Figure 3. The microcontroller is powered by the car battery, however since car batteries are noisy, the power is first sent through a DC-DC converter to ensure there is a constant 12V applied to the Arduino. In addition to the 3-axis accelerometer and SD card reader, the microcontroller uses four digital outputs to control the fuel circuit, 4 digital interrupt inputs to receive wheel speed data, and a single analog input to read the steering angle sensor signal.
Figure 3: System Wiring Schematic
The wheel speed sensor mounts take advantage of existing stainless steel bearing retaining rings that are mounted to the wheel uprights. Each bearing retaining ring has a pair of holes that are used to bolt a machined aluminum bracket that holds the wheel speed sensor, shown in Figure 4. The wheel speed sensors have a threaded shaft so that their radial position can be adjusted to ensure proper readings of the existing steel trigger wheel mounted to the wheel spindle. The front and rear sensor bracket designs are different in order to accommodate the different geometries of the two wheel assemblies. Machined aluminum was chosen due to its stiffness characteristics, heat capacity, and relatively low weight. Because these components are not structural, strength was not a significant consideration during the design process.Â
Figure 4: Wheel Speed Sensor Mount Design
Because small rocks and other debris commonly enter the car's cockpit, housings were designed to protect the DC-DC converter, fuel control circuit, and Arduino located under the driver seat. These housings were 3D-printed from PLA plastic for ease of manufacturing as well as weight savings since they are not load-bearing components. The Arduino housing features two doors that allow for easy removal of the device for maintenance and for additional wiring work. Each of these housings are fastened to the floor panel using Velcro strips. Because the components are light, this creates a firm connection with the car while also allowing easy removal of the system if needed for example in the case of heavy rain.
Figure 5: Electrical Component Housing Design
Straight-line acceleration, transient steering, and steady-state cornering tests were conducted in order to collect data on the car's behavior without traction control. In all cases, there were results showing that the driven tires exceeded the peak slip ratio by a significant amount. This suggests that a traction control system can bring appreciable improvements to acceleration capabilities and lap times, enhancing the driving performance. Figure 6 provides wheel speed and slip ratio data from an acceleration run without traction control. The first section of the graph corresponds to the stand-still period before acceleration. In the second portion, the rear wheels spin up as the driver launches the car. The slip ratio becomes very large for over a second as the front wheels are slow to start moving, greatly exceeding the peak slip ratio. The third section of the graph is where the rear wheels begin to slow down and equalize with the front. The final section is the deceleration after the test. The portion of excessive slip accounts for about one third of the total acceleration time, meaning there is significant room for performance gains from a traction controller. Figure 7 provides a video of some acceleration and transient steering tests.
Figure 6: No Traction Control Acceleration Data
Figure 7: No Traction Control Testing Video
An off-car risk reduction test was conducted prior to installing the system on the car in order to ensure the system was capable of cutting off fuel flow through a fuel injector. Figure 8 shows the control circuit installed on a breadboard as specified in Figure 2. Instead of a square wave, the PCV Signal from Figure 2 was replaced with a constant ground. The microcontroller digital output pin was then set high and low repeatedly to open and close the relay and control fuel flow. The fuel injector was successfully opened and closed as can be seen in Figure 9.
Figure 8: Fuel Control Test Setup
Figure 9: Fuel Control Circuit Test Video
The first control mode tested was a simple on-off fuel cut controller which engaged when a slip ratio exceeding 20% was detected. Both single cylinder and two cylinder cut modes were used in several standing-start launch tests. In order to make driving the car out of the staging area easier, the traction controller was prevented from engaging at speeds below 1.5 mph.
Results from the first iteration controller acceleration tests are shown in Figure 10. As compared to the ~13.1 Hz initial peak rear wheel speed in the unassisted launch, the single cut limited initial peak rear wheel speed to ~10.0 Hz and the double cut limited initial peak rear wheel speed to ~7.90 Hz. Compared to the average unassisted 0-60 mph acceleration time of 3.789 seconds, the single and double cut systems produced average acceleration times of 3.980 seconds and 4.500 seconds, respectively. Noisy slip ratio measurements sometimes exceeded the 20% target, causing control to engage even when the wheels were not excessively slipping. This resulted in a noticeable jerky feeling reported by the test drivers and explains the slower acceleration times achieved with traction control.
Figure 10: First Iteration Controller Acceleration Run Data
The second iteration controller had favorable results. After examining data for all controller settings, it was found that the wheel speed limit of 5 Hz, or about 14 mph, produced the fastest accelerations. Unassisted acceleration runs from that testing session produced average 0-60 mph acceleration times of 4.177 seconds with a standard deviation of 0.200 seconds. This traction controller enabled the driver to achieve faster and more consistent times of 3.896 seconds with a standard deviation of 0.030 seconds. Two sample runs from the testing data are presented in Figure 11.
Figure 11: Second Iteration Controller Compared to Unassisted Acceleration Runs