Design Article
LIN simplifies complex movable-headlamp motor control
Bart DeCock, AMI Semiconductor
1/31/2008 2:00 AM EST
Automotive manufacturers dynamically control the vertical position of the main headlamp beam to avoid glare in the eye of an oncoming driver. When the vertical light-leveling system is linked to the car's suspension, it maintains correct positioning of the headlight (the beam from the headlamp) for different vehicle loads. More complex systems also include road inclination information to adjust and keep the beam correctly oriented. In all cases, both headlamps receive the same degree of correction.
Headlamps with horizontal swiveling capability provide improved lighting by illuminating the appropriate part of road curves, anticipating a change of direction and thus increasing driver visibility. This motion combination is achieved by rotating the headlamps independently.
One step beyond
Adding another level of complexity, AFS controls the headlight beam based on vehicular steering and suspension dynamics, as well as ambient weather and visibility conditions, vehicle speed, and road curvature and contour. There is also development work underway to use GPS navigation inputs for anticipating changes in road curvature.
In a paper presented at the 2007 annual meeting of the Transportation Research Board (see Reference 1), the author found that headlamp swivel should be predictive, to aid driver judgment of curve sharpness prior to entering a section of curved road. He also stated that future headlight swivel systems should be able to predict road geometry before arriving at the curve, when coupled with commercial vehicle navigation systems.
Rugged and safe
Headlamps are a harsh environment for electronics. The extremely high ambient temperatures to which they are exposed, due to self-heating, greatly impact the design of the headlamp motor drivers. In addition, the motors have to operate autonomously, placing the lights into a safe position if the communication system supplying positioning information fails. Using common automotive buses, such as CAN (Controller Area Network) and LIN (Local Interconnect Network) with programmable stepper-motor-based mechatronic headlamp control systems, supports complex motion control for headlamps and is also useful for other automotive applications.
Headlamp levelingsingle-axis control
Headlamp leveling is a typical example for single-axis control. The two motors have synchronized vertical positioning, so a microcontroller can drive both lamps with the same positioning algorithms. The figure below shows a headlamp leveling system with micro-stepping motor drivers for both right and left headlamps. The "SW" box with the microcontroller is the firmware used by the microcontroller for real-time positioning of the headlamp stepping motors.

Leveling plus swivelingdual-axis control
When you enhance headlamp motion control to combine swiveling and leveling, you now have a situation where each headlamp, independently, must move through two degrees of motion and each uses two motor drivers. The firmware to drive the two headlamps is more complex than the leveling-only scenario, as shown by the larger "SW" box in the figure below. System verification and qualification also become more intricate and time consuming, comprising all possible combinations of speed, acceleration/deceleration, and target headlamp positions.

Using "smart" stepper motor drivers that contain "positioning intelligence"state machines for headlamp positioningallows the microcontroller to send high-level commands to the motor driver and off-loads some of the firmware the microcontroller needs.
The job of software qualification is greatly reduced, due to the absence of multiple real-time tasks. Instead, only slow-speed high-level tasks need to be functionally verified. The motor drivers convert high-level commands from the microcontroller into low-level timing information that drives the motors in parallel to the desired position at the requested speed and desired acceleration or deceleration. The parallelization simplifies software design by making it modular.



