Anti-Pinch Motor Control

The function detects pinching events according to legal regulations

Anti-Pinch Motor Control: Function as a Product

Safety is key


Anti-pinch is needed for safe and reliable closing under all conditions (e.g., pre crash, bumpy road, high speed). When closing the window or the sunroof, the anti-pinch mechanism detects and ensures that an object is safely and immediately released when it gets trapped.  

  • Tooling (python based)  
    • Collect calibration parameter definitions from other CF/UPF or application  
    • Generation of the SW interface  
    • Generation of calibration binary blocks  
  • GUI for parameterization  
    • Software component for memory management of calibration parameters  
    • Collects calibration values from one or more locations  
    • Initializes all parameters from all SW components  
    • Data integrity check

Function Scope

Anti-pinch algorithms are crucial for enhancing safety in various applications, such as power windows in cars, automatic doors and all other closing systems. They play a vital role in preventing accidents and injuries by ensuring that moving parts stop or reverse when they encounter unexpected obstacles, protecting both people and vehicle.

  • Indirect (using motor current, voltage and speed) pinch detection algorithm for various applications e.g.:
    • window lifter, sunroofs, roller blinds, seats, power lift gates, power doors, automatic running boards
  • Load (force and torque) evaluation e.g.:
    • pull detection
    • force limitation for mechanic protection
    • backlash detection
    • rough road detection
    • reference point evaluation based on force characteristic (force block, smart re-norming)
  • Combination of indirect and direct (pinch strips, camera based) pinch detection algorithms
  • Evaluation of new pinch detection algorithms


  • Single cyclic task function
  • Application tasks need to be scheduled non – preemptive with library task
  • Low Power / High Power mode transition functions
  • No OS service dependency

  • Callbacks for error reports, each “function” will have its own callback
  • Some errors will be reported only on edge, some on state (test pass, fail for DTC manager)
  • Possibility to completely reset all internal detected failures

  • Actual position count value is provided as sint16
  • Reference position has to be set by user
  • Position uncertainty warning is provided
  • RP discard reason is enforced by API and stored inside NVRAM
  • Motor stall condition is reported by callback
  • Standardized interface, independent from underlying positioning concept  (hall, sensorless)

  • PWM speed control is complete handled by the library
  • Speed control set-points are defined by tuning parameters or set runtime by API
  • Disabling of PWM Control under certain environment conditions is done by library (e.g. low temperature)

  • User can demand movements to position or direction
  • Given control command is served asynchronous
  • Optional maximum activation time for stepwise movements
  • Stop command is always served synchronously
  • User stop reason is enforced by API
  • Provides control events

  • Support for multiple Anti-Pinch regions with separate status information
  • Library user must prevent automatic movements when AP is not available
  • Pinching event is reported by library callback
  • Reference position interface

  • Event is provided which needs to be handled by the library user
  • blockTime passed as argument to implement different sensitives (e.g. for seal press mode) in application
  • Support of force limitation over Anti-Pinch Algo.

  • Estimated motor coil and case temperatures are provided
  • Temperature can be automatically stored at NVRAM
  • Possibility of cooling estimation after wake-up using system time

  • Controllable mechRef adaption rate (e.g., production mode)
  • Mechanical reference discard reason is enforced by API
  • Standard environmental conditions (voltage, temperature, vehicle speed) are checked inside library
  • Status API to query if update is allowed

  • NVRAM Block RAM Buffers need to be provided by library user
  • Compatible with AUTOSAR memory stack (wrapper template provided)
  • Block descriptors are provided by library user at apmd_init() call
  • Number of NVRAM blocks depends on library configuration

  • H-Bridge failure detection has to be done by HAL
  • Error re-test is triggered by APMD
  • Arbitration API for library to acquire and release control over H-Bridge

  • Global anti-pinch enable
  • Anti-pinch sensitivity can be increased / decreased

Related to

Do you want to know more?

*If the contact form does not load, please check the advanced cookie settings and activate the functional cookies for the purpose of contact management.