June 21, 2004
CMSC 391

Microcontroller Application Report

 

 “Using Microcontrollers in Antilock Braking Systems “

 

Jeff Pierson

During emergency braking, if a driver of a vehicle applies too much pressure to the brake pedal, the brakes will quickly cause the wheels to stop or “lock up”. Unfortunately, this action will not stop the vehicle at a faster rate. On the contrary, a skidding wheel uses a lower coefficient of friction than a rolling wheel1. Furthermore, once this happens, the driver no longer has complete control of the vehicle. The manual solution is to “pump the brakes” by repeatedly applying pressure to the pedal and releasing when they lock up. But in an emergency situation, where there is only a split second window for action, what driver can act fast enough? Only a computer can perform these actions quickly enough, as well as consistently over long periods of time. This application of computing power was introduced with the advent of the Antilock Braking System (ABS).

          Antilock brake systems were originally used in aircraft starting in the early 1950’s. An automobile ABS was designed by Bosch in 19787. In 1985 Mercedes Benz offered ABS as standard equipment on its S-class models. In 1991 only about 18% of all new cars sold came equipped with antilock brakes2. Now that number is over 90%3.

          The purpose of ABS is to control vehicle braking when the driver presses the brake pedal. By preventing the brakes from locking the wheels, the driver is able to maintain control. By keeping brake pressure just below the point of causing a wheel to lock up, ABS ensures that maximum braking power is used. In order to do this the ABS must be able to monitor individual wheel speed, compare these speeds with each other, be able to control the braking for each wheel and relay this information to other electronic systems within the vehicle. In other words, this system must have I/O, analog to digital capability, memory, the ability to perform comparisons and calculations quickly and must be small in size. This is a perfect job for a microcontroller.

          There are three basic parts of an ABS: wheel speed sensors, electrically controlled pressure modulating valves and the microcontroller itself1. Wheel sensors generate an analog signal whose frequency is proportional to the angular speed of the wheel. The microcontroller converts this into a digital signal, records the time in between falling or rising edges and calculates the actual wheel speed. It then determines if the wheel speed is increasing or decreasing by comparing this new data to past history data held in memory. It also must compare this to the speeds of the other wheels to determine if one or more of the wheels has begun to lock up5.   If this occurs, the program in the controller must send a signal to the valve for that wheel to reduce the hydraulic pressure to the brakes. By continuing to reduce this pressure until the wheel grips the road, driver control is re-established and overall braking power is increased. The microcontroller determines when to stop decreasing the pressure when the wheel speed has matched the remaining wheels. There are four possible outputs that the microcontroller can send to each valve5:

 

          Off-             the vehicle is not braking

          Hold-           the vehicle is braking but none of the wheels have locked

          Increase-      the wheels is moving faster than other non locked wheels

          Decrease-    the wheel is locked  

 

When the controller decreases the hydraulic pressure to one wheel it must then determine if pressure can be increased as a result of a change in real world conditions or because too much pressure had been released. It then must signal the modulator to increase brake pressure. This simulates the driver pumping the brakes in a non-ABS vehicle, though at a much faster rate and in a more accurate manner. Not only must the controller communicate with the sensors and modulators but also with other electronic systems like those that control the instrument panel.

The microcontroller must be able to execute every possible sequence of its code including IO commands within a timeframe the vehicle manufacturer determines is necessary for the ABS to perform its function. If the ABS controller requires too much time to monitor and adjust the vehicles brakes then the system is worse than not having ABS at all because it is still interfering with the braking system. Imagine avoiding an accident only to have the  ABS  initiate braking on one or more wheels afterwards, when it is not needed nor expected. This timeframe is critical. The microcontroller clock must be fast enough and it must have enough system memory to execute the code, send and receive I/O and communicate with other systems in the specified time. Otherwise the system fails.

As an example, Saturn has used the Motorola MC68HC11 microcontroller in some of its systems6. The highest clock speed for this controller is 2 MHz. That equates to 500ns/cycle. If the system is given a critical time limit of 1ms then the controller has 2000 cycles to execute the longest sequence of its code. That may sound like a lot, but consider if the code uses ten division statements with each taking about 40 cycles5.  This results in 400 cycles used just for the division. Consider that it must also execute sending and receiving I/O, memory searches and comparisons. Then it becomes obvious that the code used must be very lean indeed!

The application of microcontrollers in antilock braking systems is a step forward in vehicle safety. However, it must meet the necessary hardware and software requirements to execute its code and meet the critical time criterion. Failure to comply with this condition is the same as a complete system failure if not worse.

Bibliography

 

1 “Technical Guidelines for Antilock Braking Systems”,

     http://www.fmcsa.dot.gov/pdfs/fhwa_abs.pdf

 

2 “The History of ABS”,  http://www.culpepperlaw.com/abs.htm

 

3 “Development of Brakes after 1960”,

      http://www.automobileindia.com/Timeline/time11.html

 

4 “Antilock Braking Systems”,

http://ewww.motorola.com/webapp/sps/site/application.jsp?nodeId=02WcbfWKy507jSKy5P

 

5 “Microcontroller Implementation Consideration”, http://scholar.lib.vt.edu/theses/available/etd5440202339731121/unrestricted/CHAP6_DOC.pdf

 

6 Mechatronics Laboratory, http://www.me.gatech.edu/mechatronics_lab/

 

7 “Electronic Stability Program”, http://encyclopedia.thefreedictionary.com/Electronic%20Stability%20Program

 

HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Fri, 09 Jul 2004 02:13:38 GMT X-Powered-By: ASP.NET Set-Cookie: session_id=@@9395e45ea31b2bbcaca4b13287f9313a;; path=/; X-Blackboard-product: Blackboard Learning System™ (Release 6) 6.1.5.5 Set-Cookie: session_id=@@9395e45ea31b2bbcaca4b13287f9313a; Path=/ Content-Type: text/html Content-Length: 20299 During emergency braking, if a driver of a vehicle applies too much pressure to the brake pedal, the brakes will quickly cause the wheels to stop or “lock up”
June 21, 2004
CMSC 391

Microcontroller Application Report

 

 “Using Microcontrollers in Antilock Braking Systems “

 

Jeff Pierson

During emergency braking, if a driver of a vehicle applies too much pressure to the brake pedal, the brakes will quickly cause the wheels to stop or “lock up”. Unfortunately, this action will not stop the vehicle at a faster rate. On the contrary, a skidding wheel uses a lower coefficient of friction than a rolling wheel1. Furthermore, once this happens, the driver no longer has complete control of the vehicle. The manual solution is to “pump the brakes” by repeatedly applying pressure to the pedal and releasing when they lock up. But in an emergency situation, where there is only a split second window for action, what driver can act fast enough? Only a computer can perform these actions quickly enough, as well as consistently over long periods of time. This application of computing power was introduced with the advent of the Antilock Braking System (ABS).

          Antilock brake systems were originally used in aircraft starting in the early 1950’s. An automobile ABS was designed by Bosch in 19787. In 1985 Mercedes Benz offered ABS as standard equipment on its S-class models. In 1991 only about 18% of all new cars sold came equipped with antilock brakes2. Now that number is over 90%3.

          The purpose of ABS is to control vehicle braking when the driver presses the brake pedal. By preventing the brakes from locking the wheels, the driver is able to maintain control. By keeping brake pressure just below the point of causing a wheel to lock up, ABS ensures that maximum braking power is used. In order to do this the ABS must be able to monitor individual wheel speed, compare these speeds with each other, be able to control the braking for each wheel and relay this information to other electronic systems within the vehicle. In other words, this system must have I/O, analog to digital capability, memory, the ability to perform comparisons and calculations quickly and must be small in size. This is a perfect job for a microcontroller.

          There are three basic parts of an ABS: wheel speed sensors, electrically controlled pressure modulating valves and the microcontroller itself1. Wheel sensors generate an analog signal whose frequency is proportional to the angular speed of the wheel. The microcontroller converts this into a digital signal, records the time in between falling or rising edges and calculates the actual wheel speed. It then determines if the wheel speed is increasing or decreasing by comparing this new data to past history data held in memory. It also must compare this to the speeds of the other wheels to determine if one or more of the wheels has begun to lock up5.   If this occurs, the program in the controller must send a signal to the valve for that wheel to reduce the hydraulic pressure to the brakes. By continuing to reduce this pressure until the wheel grips the road, driver control is re-established and overall braking power is increased. The microcontroller determines when to stop decreasing the pressure when the wheel speed has matched the remaining wheels. There are four possible outputs that the microcontroller can send to each valve5:

 

          Off-             the vehicle is not braking

          Hold-           the vehicle is braking but none of the wheels have locked

          Increase-      the wheels is moving faster than other non locked wheels

          Decrease-    the wheel is locked  

 

When the controller decreases the hydraulic pressure to one wheel it must then determine if pressure can be increased as a result of a change in real world conditions or because too much pressure had been released. It then must signal the modulator to increase brake pressure. This simulates the driver pumping the brakes in a non-ABS vehicle, though at a much faster rate and in a more accurate manner. Not only must the controller communicate with the sensors and modulators but also with other electronic systems like those that control the instrument panel.

The microcontroller must be able to execute every possible sequence of its code including IO commands within a timeframe the vehicle manufacturer determines is necessary for the ABS to perform its function. If the ABS controller requires too much time to monitor and adjust the vehicles brakes then the system is worse than not having ABS at all because it is still interfering with the braking system. Imagine avoiding an accident only to have the  ABS  initiate braking on one or more wheels afterwards, when it is not needed nor expected. This timeframe is critical. The microcontroller clock must be fast enough and it must have enough system memory to execute the code, send and receive I/O and communicate with other systems in the specified time. Otherwise the system fails.

As an example, Saturn has used the Motorola MC68HC11 microcontroller in some of its systems6. The highest clock speed for this controller is 2 MHz. That equates to 500ns/cycle. If the system is given a critical time limit of 1ms then the controller has 2000 cycles to execute the longest sequence of its code. That may sound like a lot, but consider if the code uses ten division statements with each taking about 40 cycles5.  This results in 400 cycles used just for the division. Consider that it must also execute sending and receiving I/O, memory searches and comparisons. Then it becomes obvious that the code used must be very lean indeed!

The application of microcontrollers in antilock braking systems is a step forward in vehicle safety. However, it must meet the necessary hardware and software requirements to execute its code and meet the critical time criterion. Failure to comply with this condition is the same as a complete system failure if not worse.

Bibliography

 

1 “Technical Guidelines for Antilock Braking Systems”,

     http://www.fmcsa.dot.gov/pdfs/fhwa_abs.pdf

 

2 “The History of ABS”,  http://www.culpepperlaw.com/abs.htm

 

3 “Development of Brakes after 1960”,

      http://www.automobileindia.com/Timeline/time11.html

 

4 “Antilock Braking Systems”,

http://ewww.motorola.com/webapp/sps/site/application.jsp?nodeId=02WcbfWKy507jSKy5P

 

5 “Microcontroller Implementation Consideration”, http://scholar.lib.vt.edu/theses/available/etd5440202339731121/unrestricted/CHAP6_DOC.pdf

 

6 Mechatronics Laboratory, http://www.me.gatech.edu/mechatronics_lab/

 

7 “Electronic Stability Program”, http://encyclopedia.thefreedictionary.com/Electronic%20Stability%20Program