Share this

NXP P89LPC901 microcontroller automotive starting protection controller design

2026-04-06 04:40:41 · · #1
1. Introduction The starting of a car engine is achieved by the starter motor driving the engine flywheel to rotate. The starter motor, driven by the battery, drives the gears to generate mechanical motion; the transmission mechanism engages the drive gears with the flywheel ring gear, and automatically disengages them after the engine starts; the starter motor's DC motor is controlled by an electromagnetic switch. The car starter motor is a valuable component and is not easily damaged. However, proper use is necessary to extend its lifespan. Due to misoperation or other reasons, if the starter motor fails to disconnect power promptly after the engine starts, it will burn out the starter motor or damage the flywheel ring gear; if the transmission is not in neutral during starting, it can lead to traffic accidents and personal injury. During engine starting, the starter motor draws 300-400 Ah of power from the battery. To prevent overcurrent or damage to the battery, the starting time should generally not exceed 5 seconds. Starting difficulties are common in winter; when attempting multiple starts, each start should not be too long, and appropriate intervals should be allowed between each attempt. To ensure proper engine starting and safety protection, the automotive electrical control system must be considered. In the engine starting circuit, the starter motor is powered by the battery, and the starter coil current is extremely high, reaching hundreds of amperes, during engine start-up. To guarantee normal engine starting, power to vehicle electrical systems such as lights is typically cut off during engine start-up, ensuring power is only supplied to the starter motor. To prevent accidents during engine starting, the engine should only be ignited when the transmission is in neutral. Otherwise, the sudden, forceful rotation of the starter motor will cause the vehicle to shift, potentially damaging the vehicle or endangering personal safety if an obstacle is in front. To protect the starter motor, each start-up attempt should not exceed a certain time. If the starter motor operates continuously under load for more than 5-8 seconds, and the starter switch is not closed after the engine starts, the flywheel gear will drive the starter drive gear at high speed, accelerating damage to the starter's one-way clutch. If the starter switch is mistakenly turned on again after the engine has started, the starter drive gear will collide with the high-speed rotating flywheel, damaging the starter. Therefore, the engine should not be restarted while it is already running. This paper introduces an automotive starter protection controller based on the NXP P89LPC901 microcontroller. This controller monitors and controls the engine starting process. By sequentially turning the load power supply on and off, it solves the problem of the impact of large starting current on the vehicle's power supply. It also protects the starter by detecting the gearbox gear position and engine speed during engine starting. 2. Starter Protector Working Process and Function 2.1 Working Process Figure 1 shows the block diagram of the automotive starter protector. Its working process is as follows: The starter protection controller detects the starter switch. When the starter switch is turned on, if the gearbox gear position switch is in neutral and the engine is not running, the body electrical power relay is activated, cutting off the power supply to the body electrical loads. After a delay of 0.5 seconds, the starter control relay is activated, and the starter is powered on and starts. When the starter switch is turned off or the engine speed reaches 300 r/min, the controller releases the starter control relay, de-energizes the starter motor, and stops working. After a 0.5-second delay, the controller releases the body electrical power relay, reconnecting the power supply to the body electrical loads, completing the starting process. 2.2 Main Functions 2.2.1 Normal Start When the ignition key switch is turned from the ON position to the START position to start the engine, if the transmission is in neutral, the starter protection controller first cuts off the power supply to the body electrical loads, delaying for 0.5 seconds. Then, it reconnects the starter relay, starting the starter motor. When the starter motor drives the engine to rotate, and the engine speed exceeds 300 r/min, or when the ignition key switch is returned from the START position to the ON position, the controller controls the starter relay to disconnect, de-energizing the starter motor. After a 0.5-second delay, it reconnects the power supply to the body electrical loads, completing the starting process. 2.2.2 Non-Neutral Start Protection The starter protector requires that the engine can only be started when the transmission is in neutral. However, if the neutral switch is damaged or the driver knows the transmission is not in neutral but must start the engine, a non-neutral position protection start can be used. The starting condition is that the key must be turned from the ON position to the START position and held in the START position for 3 seconds before starting. The starting process is the same as normal starting. 2.2.3 Key switch failure protection: During vehicle starting, if the key switch is in the START position for more than 5 seconds, or if it cannot return to the ON position within 5 seconds due to key switch failure, the controller can cut off the starter power and connect the vehicle's electrical load power to protect the starter motor and battery. 2.2.4 Repeated start protection: If the engine is already running and the speed is greater than 300 r/min, when the key switch is turned from the ON position to the START position, the controller ensures that the starter motor will not start again. 3 Main characteristics of the P89LPC901 microcontroller Based on operating conditions and reliability requirements, after comparison, the NXP P89LPC901 microcontroller was selected. The microcontroller operates within a temperature range of -45°C to 85°C, thus meeting the application requirements of automotive starter protectors. Its main features include: a high-performance processor architecture and an enhanced 8051 core, resulting in an instruction execution speed six times faster than standard 80C51 devices; and the integration of numerous system-level functions. Figure 2 shows the structure and functional block diagram. The chip integrates 1 KB Flash program memory, 128 B data memory, two 16-bit timer/counters and PWM, a 23-bit system timer, and an enhanced UART. It features a high-precision internal RC oscillator and on-chip reset, an 8-pin SO-8 package, up to six programmable I/O ports, an internal programmable analog comparator, a programmable watchdog timer, and a power monitor. This microcontroller offers a high performance-to-price ratio and meets the control function requirements of automotive starter protectors. 4. Starting Protector Circuit Principle Based on the functional and operational requirements of the automotive starting protector, the automotive starting protector circuit using the NXPP90LPC901 microcontroller consists of a power supply circuit, a microcontroller circuit, a switch signal input circuit, an engine speed input circuit, a power relay, and a starting relay control circuit (see Figure 3). The P89LPC901 employs an internal reset circuit and an on-chip RC oscillator (7.373 MHz), providing six programmable I/O interfaces for input detection and output control. 4.1 The power supply circuit is used for the starting protection controller of the bus. Its power supply uses a +24V automotive battery. After passing through a varistor and a protection diode VD1 to prevent reverse polarity connection, a +12V voltage is obtained. This voltage powers the comparator LM2903. This voltage is then filtered and current-limited, regulated and filtered by a HA7355 Zener diode, and finally provides a +3.3V voltage to the P89LPC901. 4.2 Switch Input Detection Circuit The starter protection controller has the following input switches: Start Switch (START-SW) and Neutral Switch (NULL-SW); two switch input signals, each connected to the positive power supply (+24V) and valid. The starter motor is powered by the car battery. During starter operation, the current is very high, reaching hundreds of amperes, which may cause battery depletion and voltage drop. To ensure that the battery voltage is greater than 12V when the start switch is on, allowing for normal starting, the START-SW signal is converted by a comparator LM2903 and connected to pin P04 of the microcontroller. When the START-SW signal voltage is greater than 12V, pin 7 of the LM2903 outputs +33V; when the START-SW signal voltage is greater than +12V, pin 7 of the LM2903 outputs 0V. The neutral switch NULL-SW signal is converted into a voltage level signal required by the microcontroller via a transistor conversion circuit and connected to the microcontroller's P15 pin. When the neutral switch is on, the microcontroller's P15 pin is high; when the neutral switch is off, the microcontroller's P15 pin is low. 4.3 Engine Speed ​​Sensor Input Detection Circuit: The engine speed sensor outputs a sinusoidal signal with a voltage amplitude range of 3–6 V. The engine output signal is 173 pulses/revolution. When the engine speed exceeds 300 r/min, the start-up is complete. The sinusoidal signal output by the engine speed sensor is converted into a square wave signal by a comparator LM2903 and connected to the microcontroller's P12 pin, which is the counter input pin of the P89LPC901. The signal output by the engine speed sensor is high when it is greater than 2 V and low when it is less than 2 V. 4.4 Relay Control Circuit In the control circuit, the vehicle's electrical power supply is controlled by relay RLY1, connecting the load to the normally closed contact; the starter motor starting control is achieved through relay RLY2, connecting the load to the normally open contact. The relays in the circuit are output from P30 and P31 of the 89LPC901 microcontroller and amplified by a BTS612. 5 Starting Protection Controller Control Program The starting protection controller control program is written in assembly language. Figure 4 shows the control program flowchart designed based on the engine starting process and functional requirements. 6 Conclusion The designed automotive starting protection controller circuit considers the automotive environment and reliability. Using the NXP 89LPC901 microcontroller, it features simple control circuit design, flexible control, high reliability, and low cost. It has been installed on over 50,000 Yutong buses, proving its stable and reliable operation.
Read next

CATDOLL 123CM LuisaTPE

Height: 123cm Weight: 23kg Shoulder Width: 32cm Bust/Waist/Hip: 61/54/70cm Oral Depth: 3-5cm Vaginal Depth: 3-15cm Anal...

Articles 2026-02-22