Method for providing compensation variables in an optimized manner in order to compensate for synchronous fluctuations of an electric machine and automation system comprising an electric machine

By allocating data processing and transmission at different cycle times in the motor system and optimizing resource utilization using an approximate compensation function, the efficiency and accuracy issues of motor synchronization fluctuation compensation are solved, thereby improving the operating performance of the motor and automation system.

CN122162308APending Publication Date: 2026-06-05BECKHOFF AUTOMATION GMBH

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BECKHOFF AUTOMATION GMBH
Filing Date
2024-11-08
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Existing technologies struggle to efficiently compensate for synchronous fluctuations in motors, particularly the magnetic cogging torque and mechanical cogging force in linear motors. This results in uneven motor movement and poor synchronization, affecting the accuracy and stability of high-precision applications.

Method used

By recording sensor data and transmitting it to the motor controller in the first cycle, and then processing and transmitting it to the motor controller in the second cycle, an approximate compensation function is used to provide compensation values ​​in the first cycle, reducing the amount of data and computational requirements. Computationally intensive and memory-intensive tasks are outsourced to the controller, optimizing resource utilization.

Benefits of technology

It achieves efficient compensation for motor synchronization fluctuations, improves motor operating behavior and the safety of automation systems, reduces data processing time, and enhances the accuracy and stability of high-precision applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122162308A_ABST
    Figure CN122162308A_ABST
Patent Text Reader

Abstract

The invention relates to a method (100) for providing a compensation variable in an optimized manner in order to compensate for a synchronous fluctuation of an electric machine, having the following steps: in a first step (105), receiving sensor data by means of a sensor unit in a first cycle time T1 and transmitting the received sensor data to an electric machine control unit in the first cycle time T1; in a second step (110), transmitting the sensor data from the electric machine control unit to a control unit in a second cycle time T2; in a third step (115), processing the sensor data by means of the control unit in the second cycle time T2, wherein in the third step (115) the control unit is designed to approximate the compensation variable (315) from the sensor data for a compensation interval; in a fourth step (120), transmitting the processed sensor data from the control unit to the electric machine control unit in the second cycle time T2; and in a fifth step (125), analyzing the processed sensor data by means of the electric machine control unit on the basis of the third step (115) and current sensor data in the first cycle time T1 in order to provide the compensation variable (315), wherein the compensation value can be determined by the electric machine control unit in the first cycle time T1.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This patent application claims priority to German patent application 10 2023 131 280.4, the disclosure of which is incorporated herein by reference. Technical Field

[0002] This invention relates to a method for optimally providing compensation variables to compensate for synchronization fluctuations in a motor. Furthermore, this invention relates to an automation system including a motor, wherein compensable synchronization fluctuation curves may occur, particularly compensable cogging forces or compensable cogging torques. Background Technology

[0003] Due to their design, electric motors generally exhibit forces or torques that depend on the position of the primary components or the rotor angle and are therefore not constant. In the following text, torque in a rotating electric motor also implicitly refers to force in a linear motor, and vice versa. This synchronous fluctuation curve (disturbance variable curve) negatively impacts the control of the motor's operating variables, such as the position of the primary or secondary components and / or the rotor's rotation angle and / or speed or rotational speed. Furthermore, the disturbance variable curve can negatively affect the actual movement of the motor and, for example, cause uneven movement, i.e., unstable motor movement. This is particularly undesirable in precision applications. Due to the disturbance variable curve, pressure patterns become blurred in applications such as pressure testing, and when conveying liquids, the "sloshing" and vibration of the liquid are introduced into the machine, introducing unnecessary stress on the machinery and / or adversely affecting surface quality, for example, during machining.

[0004] In the following text, the terms “synchronous fluctuation curve,” “disturbance variable curve,” and “compensation variable curve” can be understood as synonyms.

[0005] Depending on the implementation of the motor, the compensation variable curve may include at least one cogging force or at least one cogging torque, i.e., torque. The compensation variable curve may also include other disturbance variables that may depend on the operating mode, or mechanical cogging torque or mechanical cogging force, for example, caused by bearings or the like in the motor and which may also negatively affect the control behavior of the motor.

[0006] If the motor is implemented as a rotating motor, such as a synchronous motor or synchronous machine, the compensation variable curve includes at least one torque. In other words, torque compensation or torque correction can be performed.

[0007] An electric motor includes a primary component and a secondary component. If the motor is implemented as a linear motor, the primary component can, for example, form a so-called "rotor," i.e., it can be implemented as movable relative to the secondary component. However, there are also linear motors where the secondary component (rotor) is movable relative to the primary component, in which case the subsequent components are the opposite. If the primary component is implemented as a rotor, i.e., movable relative to the secondary component, the primary component includes multiple energizable coils for generating a magnetic field, so as to actively connect with multiple magnetic modules of the secondary component. The magnetic modules may include plates on which multiple "permanent magnets" are arranged. The plates have different lengths, and the motor may include one or more such plates. In special cases, electromagnets (coils) may also be used in the secondary component instead of permanent magnets. The primary component moves relative to the secondary component through active connection.

[0008] Because the magnetic flux is not uniformly distributed along the travel distance, cogging torque or cogging force is generated in a linear motor. Depending on the application, the travel distance of a linear motor can range, for example, from a few meters to multiples of a few meters. Generally, the maximum length of a linear motor is limited only by boundary conditions such as the "maximum cable length" of the connecting cable that can be connected to the motor controller.

[0009] The reasons for uneven distribution of magnetic flux include:

[0010] - An interruption in the stator (i.e., the coil (stator winding, i.e., the coil winding and winding teeth)) will cause a change in magnetic reluctance, thereby generating magnetic resistance.

[0011] - The permanent magnets in the magnetic modules used for secondary components are not all magnetized in exactly the same way, and they are different in size.

[0012] - The mechanical assembly of the permanent magnets mentioned above has tolerances.

[0013] - The air gap (i.e., the distance between the primary and secondary components of the linear motor) varies along the travel distance.

[0014] - Assembly tolerances at the joints of various secondary components

[0015] - Non-uniformity in the stator and magnet modules (i.e., magnet plates)

[0016] In addition to cogging torque or cogging force, cogging torque or cogging force may also arise from mechanical design, as mentioned above, and may be caused by, for example, the bearings of a linear motor. Magnetic cogging torque and / or mechanical cogging torque cause unnecessary and uneven "latch-up" in the linear motor, i.e., uneven movement, making it possible to achieve, to a limited extent, applications requiring extremely high accuracy and synchronization, such as high-precision milling machines or digital printers, without compensation for cogging torque / cogging force.

[0017] A large amount of data is generated to compensate for synchronization fluctuations, especially for linear motors. This is because the determined cogging torque or cogging force is used as a control variable for the linear motor at each position along the travel distance, and is then taken into account to control the operating parameters of the linear motor in order to achieve, for example, uniform movement of the primary components of the linear motor, i.e., movement with high synchronization. Movement with high synchronization behavior can be understood as movement suitable for high-precision applications.

[0018] In the case of a motor implemented as a linear motor, the compensation variable curve along the travel distance can be determined, for example, by means of a measurement run. When the motor moves along the entire distance (i.e., the entire travel distance) under active position control, the cogging force curve that occurs during this run along the entire travel distance can be recorded as the compensation variable.

[0019] The large amount of data is due, on the one hand, to the length of the linear motor's travel distance, and on the other hand, to the imperfect symmetry between the magnet module of the secondary component and the air gap with the primary component, resulting in a lack of periodicity.

[0020] Known methods and apparatuses for compensating for synchronization fluctuations in motors (such as those described in US 9,041,336 B2) use tables of position-related curves storing the compensation variables (i.e., cogging force or cogging torque) over the entire travel distance. It should be understood that, due to the rotational symmetry of rotating motors, the amount of data required for cogging torque compensation in rotating motors is less than the amount of data required for cogging force compensation in linear motors.

[0021] In known methods and apparatus for compensating for synchronization fluctuations in motors, compensation variable curves for each position of the motor can be recorded by means of measurement operation (i.e., by means of calibration) and stored in a table. During motor operation, the motor position or rotor angular position is measured, for example by means of a sensor unit, and the compensation variable (i.e., cogging force or cogging torque) associated with the measured position or rotor angular position of the motor is read from the table and used to add position-related compensation variable terms to the current feedforward control for motor adjustment.

[0022] The aforementioned tables are typically stored in a motor controller (e.g., implemented as a servo amplifier) ​​to compensate for synchronization fluctuations in the motor, which controls and / or regulates the movable primary (or movable secondary) components of the linear motor. Control and / or regulation are performed in a first cycle time.

[0023] The “first cycle time” should be understood as, for example, an internal cycle time during which the sensor unit acquires sensor data and / or the motor controller controls the movable primary or secondary components of a motor (e.g., a linear motor). The motor controller (e.g., implemented as a servo amplifier) ​​can perform all necessary calculations in a first cycle time (e.g., every 62.5 µs). This means that a calculation cycle is completed every 62.5 µs, including reading in the current variable (including sensor data from the sensor unit, i.e., position or rotor angle position from a position sensor), processing the variable (i.e., processing the sensor data), and outputting the calculated variable (i.e., outputting and evaluating the processed sensor data). This first cycle restarts every 62.5 µs. In other words, within the first cycle time, the sensor data is determined as the input variable, the input variable is processed into the output variable, and the output variable is output.

[0024] However, the memory capacity of a motor controller is limited, making it typically impossible to store such a table completely within the controller at sufficient resolution. Furthermore, the computational power of the motor controller may be limited. Therefore, it is necessary to outsource the determination of the compensation variables (i.e., cogging force or cogging torque) to provide compensation variables suitable for the current actual position of the primary component of, for example, a linear motor, for each cycle of the movable primary component. The cycle may correspond to, for example, the first cycle time mentioned above and have a value of, for example, 62.5 µs.

[0025] If the determination of the compensation variables is outsourced to the controller of the automation system that communicates with the motor controller via the fieldbus during the second cycle time, cogging force or cogging torque cannot be supplied simply via the fieldbus. This is because the second cycle time used for communication via the fieldbus is typically in the range of 500 µs to 2 ms, and is therefore significantly slower than the cycle time of the linear motor's primary (or secondary) movement using the first cycle time mentioned above. The second cycle time refers to the fieldbus communication time. The second cycle time is defined as the time or period during which the motor controller provides input data to the controller via the fieldbus, the controller processes the input data into output data, and outputs the output data back to the motor controller via the fieldbus. Summary of the Invention

[0026] Therefore, the object of this invention is to provide an improved method for compensating for synchronous fluctuations in the motor's synchrotron curve, particularly cogging torque or cogging force, which allows for efficient resource utilization and overcomes the aforementioned drawbacks. Furthermore, the object of this invention is to provide an automation system optimized for this purpose.

[0027] This objective is addressed by the independent claim. Further advantageous embodiments of the invention are specified in the dependent claims.

[0028] A method is proposed for optimally providing compensation variables to compensate for synchronization fluctuations in a motor. The motor includes a primary component and a secondary component, wherein, in particular, the primary component includes multiple coils energized to generate a magnetic field, thereby actively connecting with multiple magnet modules of the secondary component. Specifically, the primary component moves relative to the secondary component through this active connection. The method includes the following steps:

[0029] In the first step, sensor data is recorded using the sensor unit within the first cycle time, and the recorded sensor data is transmitted to the motor controller within the first cycle time.

[0030] In the second step, during the second cycle time, sensor data is transmitted from the motor controller to the controller.

[0031] The second cycle time can be set to a value different from the first cycle time, specifically a value greater than the first cycle time.

[0032] In the third step, the sensor data is processed using the controller during the second cycle.

[0033] In the third step, the controller is implemented to approximate the compensation variable based on sensor data for the compensation interval.

[0034] In the fourth step, during the second cycle time, the processed sensor data is transmitted from the controller to the engine's motor controller, and

[0035] In the fifth step, the processed sensor data is evaluated based on the third step and the current sensor data within the first cycle time to provide a compensation value from the motor controller, wherein the compensation value can be determined by the motor controller within the first cycle time.

[0036] In addition, an automated system is proposed. The automated system includes:

[0037] A sensor unit, operatively connected to the engine's motor controller,

[0038] An electric motor, operatively connected to a motor controller,

[0039] A controller, which is operatively connected to or integrated into a motor controller.

[0040] The sensor unit is configured to record sensor data during the first cycle and transmit the recorded sensor data to the motor controller during the first cycle.

[0041] The motor controller is configured to transmit the received sensor data to the controller during the second cycle.

[0042] The second cycle time can be configured to have a value different from the first cycle time, specifically a value greater than the first cycle time.

[0043] The controller is implemented to process sensor data.

[0044] The sensor data processing during the second cycle includes: approximating a compensation variable based on the sensor data to compensate for synchronization fluctuations in the motor within the compensation range, and transmitting the processed sensor data to the motor controller during the second cycle.

[0045] The motor controller is implemented to evaluate the processed sensor data in the first cycle time based on the sensor data processed by the controller in the second cycle time and the current sensor data to provide a compensation value, wherein the compensation value is determined by the motor controller in the first cycle time.

[0046] Input data (combined with a second cycle time as the fieldbus communication time) may include recorded sensor data, such as position data of the movable primary component of a linear motor. Output data may include, for example, processed sensor data, i.e., compensation variables that have been approximated based on the sensor data for a compensation interval. For example, the value of the second cycle time may be greater than the first cycle time and have a value of, for example, 2 ms, such that the cycle then restarts every 2 ms and runs in full.

[0047] Compensation variables in a linear motor may include cogging force. This cogging force can be converted into current in a motor controller (e.g., implemented as a servo amplifier) ​​and then converted into voltage by a current controller, which can then be applied to a power electronics module. It should be understood that the motor controller may include, for example, a current controller and a power electronics module. Figure 5Other components are schematically shown for use in controlling or regulating movable primary components, such as those of a linear motor. Alternatively, it is conceivable that the compensation variable could correspond to current, which is converted to voltage by the current regulator of the motor controller and thus applied to the power electronic equipment. In yet another alternative, it is conceivable that the compensation variable corresponds to the voltage applied to the power electronic equipment of the motor controller. It should generally be understood that the compensation variable can include any physical variable that affects the synchronous operation of the motor.

[0048] Generally, the compensation interval Δx can be specified in the form of [x – Δx1, x + Δx2], where x can specify the current sensor data, such as the current position of the movable primary component, and Δx1 can indicate the first range of the compensation interval, and Δx2 can indicate the second range of the compensation interval.

[0049] As an alternative to the aforementioned implementation of the motor as a linear motor, the secondary component can also be implemented as movable relative to the primary component. Furthermore, the motor can also be implemented as a rotary motor, such as a synchronous motor. Therefore, the proposed method is flexible and can be used with different motor implementations and different motors in automation systems. This allows for excellent compatibility with existing systems. Additionally, based on the proposed method, resources can be optimally utilized, and compared to controllers performing more complex calculations, storage space and computing power of, for example, motor controllers can be saved, and computation can be cleverly outsourced or distributed.

[0050] With the proposed method and automated system, it is also reliably ensured that computational results are available at defined time points and can be processed or evaluated. The evaluation of the sensor data processed in the fifth step can be performed immediately. There is no need to temporarily store newly recorded sensor data while waiting for results from the controller. Instead, for example, newly recorded sensor data is processed directly by the motor controller.

[0051] Because only a portion is considered, the amount of data generated is reduced, and the proposed method completely eliminates the use of tables to correct compensation values, which is common in known methods. This reduces the workload and susceptibility to errors due to the use of approximations.

[0052] In addition to cogging force (i.e., cogging torque or torque in a rotating electric motor) and the alternatives mentioned above, compensation variables may also include mechanical cogging torque, i.e., mechanical cogging force and / or other disturbance variables, which can therefore be corrected during motor control.

[0053] In summary, this can advantageously improve the motor's operating / movement behavior and enhance the safety of automation systems when performing high-precision applications.

[0054] In another implementation, the controller is configured to, in the third step, approximate the compensation variable for the compensation interval by determining the coefficients of the compensation function based on sensor data over the compensation interval within a second cycle time. The motor controller is configured to perform the evaluation of the processed sensor data in the fifth step based on the coefficients of the compensation function determined within the second cycle time and the current sensor data within the first cycle time, and thereby determine the compensation value.

[0055] As mentioned above, the output data can be processed sensor data. Therefore, in this particular case, the output data can be a compensation variable that has been approximated for the compensation range by determining the coefficients of the compensation function based on the sensor data. The compensation function (including the coefficients) can specify, for example, magnetic force, or in other alternatives, it is conceivable that the compensation function specifies current or voltage, depending on the physical quantity used to provide the compensation variable. It should be understood that the invention is not limited to providing the compensation variable as cogging force or cogging torque, but the compensation variable can include any quantity that affects the synchronous operation of the motor.

[0056] This has the advantage of allowing reliable approximation of compensation variables (e.g., including cogging forces) because by outlining the coefficients of the compensation function (e.g., a polynomial function used to correct the compensation variables) and utilizing the current sensor data, the corresponding value of the compensation function (current sensor data) can be determined.

[0057] In another embodiment, data exchange occurs between the sensor unit and the motor controller during a first cycle, and / or energy exchange occurs between the motor (particularly a movably implemented primary component of the motor) and the motor controller via at least one connection line during the first cycle, said at least one connection line being implemented as an operational connection. Data exchange occurs between the controller and the motor controller via a first connection line during a second cycle. The first connection line is implemented as a fieldbus. Sensor data and / or compensation variables approximating the compensation range (i.e., the coefficients of determination of the compensation function) form process data during the data exchange via the fieldbus during the second cycle, said data being embedded in an EtherCAT data packet, particularly when the fieldbus is implemented as an EtherCAT fieldbus.

[0058] It is conceivable to use a second connection line between the sensor unit and the motor controller, and a third connection line between the motor controller and a movable primary component of, for example, a motor (e.g., a linear motor). The second connection line can be implemented as a data line, and the third connection line can be implemented as a motor line for transmitting energy (i.e., for supplying power to the movable primary component of the motor). While this increases the required wiring, it facilitates any maintenance work, for example, due to its transparency. Alternatively, only one connection line can be used between the sensor unit and the motor controller, and between the motor controller and the movable primary component of the motor, to reduce the amount of wiring work.

[0059] This allows for excellent compatibility with known systems and standards (e.g., the well-known EtherCAT standard). Process data (independent of the EtherCAT standard) forms control-related data. The first and second cycle times are repeatable and can be implemented with different values. For a more detailed definition of the first and second cycle times, see page 23 and subsequent pages. Typically, the first cycle time is shorter than the second cycle time, but they can also have equal values. However, generally, a longer cycle time is used to determine the duration of sensor data processing in the third step and to calculate the width of the compensation interval. For example, the first cycle time could be 62.5 µs and the second cycle time could be 2 ms. The aforementioned characteristics of these two cycle times also apply without limitation to the above explanation of the method and automation system.

[0060] In yet another implementation, the minimum width of the compensation interval can be determined based on twice the maximum position change of the motor during the second cycle, particularly based on twice the maximum position change of the primary component relative to the secondary component. Specifically, the maximum position change of the motor, implemented as a linear motor, corresponds to the maximum travel distance that can be covered during the second cycle along the direction of movement, particularly the primary component of the motor.

[0061] Adhering to the minimum width of the compensation interval can effectively reduce the amount of data generated (e.g., compared to tables). Furthermore, adhering to the minimum width ensures that the approximation of the compensation variable is always performed using coefficients determined within, for example, the range currently occupied by the movable primary component of the linear motor. Additionally, the smaller the width of the chosen compensation interval, the more advantageously the accuracy of the approximation can be improved. The maximum position change s of the linear motor can be derived from the maximum distance traveled along, for example, the direction of movement of the primary component within the second cycle time T2 (or, generally, the larger cycle time in terms of value). Expressed as a formula, this corresponds to:

[0062] s = v max · T2

[0063] The v of the movable primary component of the linear motor max For example, 500 mm / s. max This refers to the maximum speed at which applying a compensating force can improve operating performance, not the absolute maximum speed the motor can achieve. Beyond this speed, the superposition of the compensating force can be ignored. The minimum width of the compensation interval Δx now corresponds to twice the maximum position change s to account for two possible directions of movement, and can be determined, for example, as Δx = 2·s = 2·v max · T2= 2 · 500 mm / s · 2 ms = 2 mm.

[0064] Referring to the above general description of the compensation interval Δx in the form of [x – Δx1, x + Δx2], in this particular example, the first range Δx1 and the second range Δx2 of the compensation interval will each be replaced by s.

[0065] In another implementation, the direction of movement of the motor, particularly the primary component, and / or the current speed of the motor can be taken into account when adjusting the width of the compensation interval. If the direction of movement of the motor, particularly the primary component, and / or the current speed of the motor are taken into account when adjusting the width of the compensation interval, the minimum width of the compensation interval is halved. If the direction of movement of the movable primary component of the motor is positive, the first range Δx1 = 0 of the compensation interval can be set to zero, and the second range Δx2 of the compensation interval can be set to a value s (Δx2 = s). During the period when the movable primary component of the motor is stopped, the first range Δx1 of the compensation interval can be set, for example, -s / 2 (Δx1 = -s / 2), and the second range Δx2 of the compensation interval can be set, for example, s / 2 (Δx2 = s / 2).

[0066] In this way, the accuracy of the approximation can be further improved. By considering at least, for example, the direction of movement of the movable primary component of a linear motor and / or, for example, the current speed of the movable primary component of the linear motor, when determining the width of the compensation interval, the minimum width of the compensation interval can be reduced to at least a single travel distance of the movable primary component of the linear motor along the direction of movement. Without considering the direction of movement and / or the current speed, twice the travel distance must be used as the minimum width of the compensation interval.

[0067] In yet another implementation, the center x of the compensation interval Δx opt

[0068] x opt = x + v· (T2+ T tot )

[0069] It is optional. Here, x corresponds to the current sensor data of the motor, particularly the primary component of the motor, specifically at least one current actual position of the primary component of the motor, v indicates the current speed, particularly the speed of the primary component of the motor, T2 corresponds to the second cycle time, and T tot This indicates the possible downtime. Due to internal process arrangements, the system may experience downtime T. tot Furthermore, the downtime can be taken into account according to the above formula.

[0070] This advantageously allows for further improvements in the accuracy of the approximation, since the current data is always taken into account, and according to the formula above, the middle of the compensation interval can be chosen as cleverly as possible. In particular, the use of a symmetrical first and second range or a symmetrical constraint of the compensation interval can be considered.

[0071] In another implementation, a compensation variable for controlling the motor can be considered as long as the current speed of the motor, particularly its primary components, is below a threshold. The threshold specifically specifies the maximum speed v of the motor at which applying a compensation force can improve its operating behavior. max For example, the threshold specifies the maximum speed v of the primary component of the linear motor. max And this can vary depending on the motor used. The threshold (i.e., the maximum speed v of the primary component of the motor) max Especially in v max = in the range of 300 mm / s to 700 mm / s, preferably v max = 450 mm / s, and particularly preferably, for example, for Beckhoff Automation's AL8000 linear motor 225, v max = 500 mm / s. Exceeding the threshold (i.e., the maximum speed mentioned), the cogging force has a slight effect on the movement of, for example, a linear motor, because the primary component of the linear motor moves too fast at this point and the cogging force is no longer noticeable in the machine.

[0072] In yet another implementation, the compensation function is formed as an nth-degree polynomial function, particularly a cubic polynomial function. The coefficients of the compensation function form the coefficients of the nth-degree polynomial function, particularly the coefficients of the cubic polynomial function. For each sensor data to be processed, the degree of the polynomial function can be implemented differently, and / or designed differently when repeating the first cycle time and / or the second cycle time.

[0073] This offers the advantage of using simple mathematical operations to approximate the compensation function, which serves as the basis for correcting the compensation variable. The degree of the polynomial function can also be flexibly adjusted (varying for each calculation period, or differing for each data point, or different for each calculation within a period, etc.), allowing for obtaining the best possible approximation and optimizing accuracy. The use of simple mathematical operations allows for the provision of reliable and robust methods or automated systems using the proposed method.

[0074] In yet another embodiment, the motor is implemented as a linear motor, and the compensation variable includes at least one cogging force. The linear motor includes a movably implemented primary component and a secondary component having multiple magnetic modules. The primary component includes multiple stator segments, each having multiple energized coils. The stator segments define the pole pitch, i.e., the periodic repetition of the polarities of the multiple magnetic modules of the secondary component. The minimum width of the compensation interval is less than the pole pitch.

[0075] If the minimum width of the compensation interval is less than the pole spacing, for example, when the pole spacing is 24 mm, the minimum width is 1 / 10 of the pole spacing, which advantageously improves the accuracy and reliability of the approximation.

[0076] In summary, improvements can be made to drive behavior (i.e., the movement of the motor) and to the safety of automation systems in performing high-precision applications.

[0077] In yet another embodiment, the motor is implemented as a rotating motor, and the compensation variable includes at least one cogging torque. The cogging torque can form a specific cogging torque. Advantageously, the proposed method or automation system is not limited to a specific embodiment of a motor or an automation system having a specific embodiment of the motor, but can be flexibly combined with different types of motors. This advantageously improves compatibility with existing systems and standards. In addition to the cogging force (cogging torque in a rotating motor) and the alternatives mentioned above, the compensation variable may also include mechanical cogging torque / cogging force and / or other disturbance variables, which can therefore be corrected during motor control.

[0078] In yet another implementation, the evaluation of the processed sensor data in the fifth step includes the application of compensation variables by the motor controller to the control of the motor, and in particular the primary components that are movably implemented by the motor.

[0079] The compensation variables can be determined independently of the actual control of the movable primary component of the motor, and can be combined with the actual control, i.e., superimposed, i.e. added, so that the movable primary component of the motor can be moved in a roughly uniform (i.e., smooth) manner in the overall result.

[0080] In yet another implementation, the sensor data received in the first step includes the position data of the motor, specifically the position data along the distance traveled by the motor, provided that the motor is implemented as a linear motor. Alternatively, the sensor data received in the first step may include the rotation angle data of the motor, provided that the motor is implemented as a rotary motor.

[0081] The proposed method and automation system can be flexibly applied to different types of motors. Sensor data is recorded via sensor units. For example, this can be implemented as a position sensor or a rotation angle sensor.

[0082] In another embodiment, the method can be used to calibrate a motor. In the case of a motor implemented as a linear motor, the compensation variable curve along the travel distance can be determined, for example, by means of a measurement run. As the motor moves along the entire distance (i.e., the entire travel distance) under active position control, the force curve appearing during this run along the entire travel distance can be recorded as the compensation variable. Motor calibration can be repeated as needed, particularly under different boundary conditions, and the proposed method can be applied to this purpose. This provides a basis for a wide range of applications and is easily implemented. If a measurement run has already been performed under different boundary conditions, compensation can be performed using the disturbance variable curve that best matches the boundary conditions present during operation. Attached Figure Description

[0083] The nature, features, and advantages of the invention described above, as well as the ways in which they are implemented, become clearer and better understood in conjunction with the following description of embodiments, which will be described in more detail with reference to the schematic diagrams, in which:

[0084] Figure 1 It is a schematic depiction of a method for providing compensation variables for a motor;

[0085] Figure 2 It is a schematic depiction of an automated system including motors, in which the application of compensation variables is useful, and design-related synchronization fluctuation curves (disturbance variable curves) may appear;

[0086] Figure 3 It shows Figure 2 A more detailed schematic depiction of the motor components;

[0087] Figure 4 This is a schematic depiction of the curves representing compensation variables, including, for example, cogging force; and

[0088] Figure 5 yes Figure 1 The method in is used for Figure 2 Automation systems in China and Figure 3 Examples of its components. Detailed Implementation

[0089] It should be noted that these figures are schematic in nature and not drawn to scale. In this sense, parts and elements shown in the figures may be exaggerated in size for better understanding. Furthermore, it should be noted that the reference numerals in the figures have been chosen to remain unchanged or similar when referring to elements and / or parts of the same or similar embodiments.

[0090] The terms “compensation” and “for compensation” can also be understood as meaning “correction” and “for correction”.

[0091] The terms “location” and “actual location” can be understood as synonyms.

[0092] The "movable primary component" or "movable secondary component" of an electric motor (e.g., a linear motor) can also be understood as the "rotor".

[0093] "Compensation variables" can generally be understood as synchronization fluctuations in a motor that need to be compensated for. Depending on the implementation of the motor, for example, as a linear motor or a rotary motor (e.g., a synchronous machine or motor), compensation variables may include at least one "cogging force" and / or one "mechanical cogging force" (e.g., linear motor) and / or "cogging torque" (e.g., rotary motor) and / or "other disturbance variables" that can be compensated (i.e., corrected) for motor control and can be applied additionally to motor control, for example.

[0094] The compensation variable, implemented as, for example, cogging force, can be converted into current in the motor controller and then into voltage by the current controller, which can be applied to the power electronics module. Needless to say, the motor controller may include, for example, a current controller and a power electronics module, and... Figure 5 Other components are schematically shown for use in controlling or regulating movable primary components, such as those of a linear motor. Alternatively, it is conceivable that the compensation variable could correspond to current, which is converted to voltage by the current regulator of the motor controller and thus applied to the power electronic equipment. In yet another alternative, it is conceivable that the compensation variable corresponds to the voltage applied to the power electronic equipment of the motor controller. Generally, it goes without saying that the compensation variable can include any physical variable that affects the synchronous operation of the motor.

[0095] The “first cycle time” should be understood as, for example, an internal cycle time, during which the sensor unit records sensor data and / or the motor controller controls the movable primary or secondary components of a motor (e.g., a linear motor). The motor controller (e.g., implemented as a servo amplifier) ​​can perform all necessary calculations in a first cycle time T1 (e.g., every 62.5 µs). This means that a calculation cycle is completed every 62.5 µs, including reading in current data (including sensor data from the sensor unit, i.e., position or rotor angle position from a position sensor), processing the data (i.e., processing the sensor data, e.g., preprocessing the recorded sensor data for transmission to the controller, etc.), and outputting the calculated variables (i.e., outputting and evaluating the processed sensor data). This cycle restarts every 62.5 µs.

[0096] In other words, within the first cycle time T1, the sensor data is determined as the input data, processed into output data, and then output. The output data can be the currently processed sensor data, i.e., the compensation variable approximated based on the current sensor data for the compensation interval, and / or preprocessed sensor data transmitted to the controller to approximate the compensation variable.

[0097] The "second cycle time" should be understood as the fieldbus communication time. The second cycle time T2 refers to the following time or period: the motor controller provides input data to the controller via the fieldbus, the controller processes this input data into output data, and outputs this output data back to the motor controller via the fieldbus. The input data can be recorded sensor data, such as the position data of the movable primary component of a linear motor. The output data can be, for example, processed sensor data, i.e., a compensation variable approximated based on the sensor data for a compensation interval. For example, the value of the second cycle time can be greater than the first cycle time and have a value of, for example, 2 ms, such that the cycle then restarts every 2 ms and runs completely.

[0098] The term "motor controller" should be understood as, for example, a "servo amplifier" or an alternative unit for drive control. The "motor controller" is configured to implement control commands from the "controller" and / or generate electrical control signals for the movable primary components or movable secondary components of the motor. The motor controller can be implemented as a "slave device," i.e., a (hierarchical) slave network subscriber in an automation system or network, controlled by a "master device" (i.e., a control network subscriber).

[0099] "Controller" should be understood as "master device," that is, a control network subscriber used to control "slave devices" (i.e., slave network subscribers in a hierarchy), wherein the "master device" and "slave devices" communicate with each other via a fieldbus. The "controller" can be, for example, a control PC or an industrial PC.

[0100] The term "pole pitch" refers to the period of repetition of the polarity of multiple magnetic modules in a (fixed) secondary component.

[0101] "Magnetic module" or "multiple magnetic modules" refers to a single permanent magnet or an arrangement of multiple permanent magnets along, for example, a travel path, provided that the motor is a linear motor. A magnetic module may include a plate on which multiple permanent magnets are arranged. The plates may have different lengths, and the motor may include one or more such plates. In special cases, an electromagnet (coil) may be used instead of a permanent magnet in a secondary component.

[0102] The term "air gap" refers to the distance between the primary and secondary components of a motor, such as a linear motor.

[0103] The term "active coupling" refers to the magnetic coupling between the primary and secondary components of a motor.

[0104] "Sensor data" can be understood as a single piece of sensor data that has been recorded by the sensor unit within the first cycle time mentioned above, such as position data or actual position data, for example, position data or actual position data of the movable primary component of the engine. It should be understood that current sensor data can refer to the current sensor data. Alternatively, the sensor unit can be configured to capture multiple sensor data within the first cycle time (or, therefore, current sensor data can refer to multiple current sensor data).

[0105] An "operational connection" can form a communication connection, especially when the connection line is implemented as an operational connection, such as a data line or a fieldbus.

[0106] The proposed method for optimally providing compensation variables to compensate for motor synchronization fluctuations, and the proposed automated system, are based on the following concept: outsourcing the computationally intensive and memory-intensive components required to provide the compensation variables to suitable components outside the motor controller used for the actual drive control of the motor; and combining the memory-intensive and computationally intensive components with less computationally intensive components, such as those that the motor controller itself can handle, to obtain the best possible compensation result. Furthermore, by cleverly selecting the compensation interval for providing the compensation variables, the amount of data to be processed can be advantageously reduced, and the accuracy of the approximation can be improved.

[0107] In the following text Figures 1 to 3 Describe them together. Figure 1 A schematic depiction of a method 100 for providing compensation variables to compensate for synchronization fluctuations in a motor is shown. Figure 2 A schematic depiction of an automation system 200 is shown, which includes a motor 220 in which disturbance variable curves may occur, and Figure 3 It shows Figure 2 A more detailed schematic depiction of the components of motor 220 is provided. Motor 220 is preferably implemented as linear motor 225.

[0108] The motor 220, implemented as a linear motor 225, includes a primary component 227 and a secondary component 229. Preferably, the primary component 227 of the linear motor 225 is configured to be movable 285 relative to the secondary component 229 of the linear motor 225, such that... Figure 2 As shown, the arrows indicate mobility 285. Alternatively, however, the secondary component 229 may also be movable 285 (not shown) relative to the primary component 227. If the primary component 227 is movable 285 relative to the secondary component 229, the primary component 227 includes a plurality of coils 270 configured to be energized to generate a magnetic field, thereby actively connecting with a plurality of magnet modules 280 of the secondary component 229. The plurality of magnet modules 280 of the secondary component 229 may be arranged along the travel path 290 of the linear motor 225.

[0109] Depending on the application, the travel distance 290 of the linear motor can range from several meters to multiples thereof. Needless to say, different lengths (i.e., shorter or longer) are also possible. The primary component 227 is moved relative to the secondary component 229 via the active connection 305. Needless to say, if the secondary component 229 of the linear motor 225 were implemented to be movable 285 (not shown) relative to the primary component 227, the arrangement of the aforementioned components would be reversed.

[0110] Figure 3 The primary component 227 and secondary component 229 of the linear motor 225 are shown in more detail. The primary component 227 of the movable 285 includes a plurality of stator segments 260, each of which includes a plurality of energized coils 270 (having copper windings or stator windings containing copper). For example, the first stator segment 260 includes three coils 275 and defines a pole pitch 310, i.e., a periodic repetition of the polarities of the plurality of magnet modules 280 of the secondary component 229. As an example, in Figure 3The primary component 227 of the linear motor 225 is shown with a pole pitch 310, which is typically 24 mm for the Beckhoff Automation GmbH AL8000 linear motor. It goes without saying that the pole pitch 310 can vary when using different linear motors 225, and the invention is not limited to the examples mentioned.

[0111] When coil 275 is energized, a traveling magnetic field 300 is generated in the primary component 227 of linear motor 225. This traveling magnetic field passes through coil 275 (electromagnet) itself and the magnet module 280 (i.e., the permanent magnet of secondary component 229). This has been referred to above as active connection 305. As an example, Figure 3 The diagram shows a first magnet module 283 to define a plurality of magnet modules 280. It goes without saying that the position of the first magnet module 283 is arbitrarily chosen and does not represent any limitation. Due to the active connection 305 (i.e., magnetic coupling), a force acts on the primary component 227. The primary component 227 responds and follows the movement of the magnetic field (i.e., magnetic field 300), wherein the primary component 227 moves 285 relative to the secondary component 229.

[0112] Figure 2 The automation system 200 also includes a sensor unit 205 operatively connected to a motor controller 210 of a motor 220 implemented as a linear motor 225. The motor 220, implemented as a linear motor 225, is operatively connected to the motor controller 210. According to the above definition, the motor controller 210 may, for example, be implemented as a servo amplifier.

[0113] Sensor unit 205 is configured to record sensor data within a first cycle time T1 and transmit the recorded sensor data to motor controller 210 within the first cycle time T1. The first cycle time T1 can, for example, have a value of 62.5 µs. Needless to say, the first cycle time T1 can also have different values.

[0114] The automation system 200 also includes a controller 215 operatively connected to the motor controller 210. Alternatively, the controller 215 may be integrated into the motor controller 210 (not shown). The motor controller 210 is configured to transmit received sensor data to the controller 215 within a second cycle time T2, wherein the second cycle time T2 may be configured to have a value different from, and particularly greater than, the first cycle time T1. For example, the value of the second cycle time T2 may be 2 ms. In other words, the second cycle time T2 is significantly slower than the first cycle time T1. The controller 215 may be implemented, for example, as a control PC or industrial PC, or as a similar unit for processing sensor data.

[0115] It is conceivable that controller 215 is implemented as a master device, i.e., controlling network subscribers, and motor controller 210 is implemented as a slave device, i.e., a slave network subscriber at a level that can be controlled by the master device.

[0116] The sensor data recorded by sensor unit 205 includes, for example, position data of motor 200, namely, position data of the movable primary component 227 of motor 220 along the travel distance 290 of the primary component 227 of motor 220, provided that motor 220 is implemented as linear motor 225. Therefore, sensor unit 205 can be implemented as a position sensor unit or at least include position sensor elements.

[0117] On the other hand, if the motor 220 is implemented as a rotary motor (not shown), the sensor data includes angular data (rotor rotation angle data) of the rotary motor (i.e., its movable primary or secondary components). Therefore, the sensor unit 205 can be implemented as a rotation angle sensor unit or a rotation angle sensor element for detecting rotor rotation angle data.

[0118] The operational connection between sensor unit 205 and motor controller 210 and / or between motor 220, linear motor 225 (e.g., the movable primary component 227 of linear motor 225) and motor controller 210 is implemented as at least one connection line 240. Connection line 240 may include a first connection line 241, a second connection line 242, and a third connection line 243.

[0119] exist Figure 2In the example shown, a first connection line 241 is arranged between the controller 215 and the motor controller 210 as an operational connection. The first connection line 241 is implemented as a data line, i.e., a fieldbus 245, and in this case, for example, as an EtherCAT fieldbus. A second connection line 242 is arranged between the motor controller 210 and the sensor unit 205, and a third connection line 243 is arranged between the movable primary component 227 of the linear motor 225 and the motor controller 210. The first connection line 241, serving as the fieldbus 245, can be implemented, for example, as a network cable. The second connection line 242 between the motor controller 210 and the sensor unit 205 can also form a data line with a parallel interface (or a serial interface).

[0120] The third connection line 243 between the movable primary component 227 of the linear motor 225 and the motor controller 210 is implemented as a motor line, that is, it is implemented as a power transmission line. Power is supplied to the primary component 227 via the third connection line 243. Alternatively, it is conceivable to configure the second connection line 242 and the third connection line 243 as a common connection line (e.g., Beckhoff Automation's OCT: Single Cable Technology) to further reduce the amount of cable laying required.

[0121] In each case, data exchange occurs between the sensor unit 205 and the motor controller 210 via the second connection line 242 (i.e., a data line with a parallel or serial interface) for a first cycle time T1, and / or energy exchange occurs between the movable primary component 227 of the linear motor 225 and the motor controller 210 via the third connection line 243 (i.e., a motor line). In each case, data exchange occurs between sensor unit 205 and motor controller 210 via second connection line 242 (i.e., a data line with a parallel or serial interface) for a first cycle time T1, and / or energy exchange occurs between the movable primary component 227 of linear motor 225 and motor controller 210 via third connection line 243 (i.e., a motor line). Data exchange occurs between controller 215 and motor controller 210 via first data line 241, implemented as fieldbus 245, for a second cycle time T2. The first cycle time T1 and the second cycle time T2 can have the values ​​mentioned above. The exchanged data or sensor data can each form process data, i.e., control-related data, which is embedded in an EtherCAT data packet if fieldbus 245 is implemented as an EtherCAT fieldbus.

[0122] Data exchange via fieldbus 245 can be bidirectional, while data exchange via the second data line 242 can be unidirectional.

[0123] If the motor 220 is implemented as a linear motor 225, the compensation variable 315 includes at least one cogging force 320. On the other hand, if the motor 220 is implemented as a rotary motor (not shown), such as a synchronous motor or synchronizer, the compensation variable 315 includes at least one cogging torque. The cogging torque can form a cogging torque.

[0124] The compensation variable 315 can be implemented as described above and includes at least one magnetic tooth cogging force 320. This is in Figure 2 The exemplary orientation of the compensation variable 315 (e.g., cogging force 320) is illustrated schematically in [the diagram]. A more detailed description of the exemplary orientation of the compensation variable 315 is shown in [the diagram]. Figure 4 It is shown in the figure and will be described later.

[0125] For example, in the motor 220 implemented as a linear motor 225, cogging force 320 is generated due to the uneven distribution of the magnetic field 300 (or magnetic flux) along the travel distance 290. The reasons for the uneven distribution of the magnetic field 300 or magnetic flux include:

[0126] - An interruption in the stator (i.e., most of the coil 270 (stator winding, i.e., coil winding and winding teeth)) will cause a change in magnetic reluctance, thereby generating magnetic resistance.

[0127] - The permanent magnets of the magnetic module 280 used for the secondary component 229 are not all magnetized in exactly the same way, and they are of different sizes.

[0128] - The mechanical assembly of the permanent magnets mentioned above has tolerances.

[0129] - The air gap 295 (i.e., the distance between the primary component 227 and the secondary component 229 of the linear motor 225) varies along the travel distance 290.

[0130] - Assembly tolerances at the joints of each secondary component 229

[0131] - Non-uniformity of the stator and magnet module 280 (i.e., magnet plate).

[0132] A large amount of data is generated to correct for the occurring cogging force 320 (compensation variable 315), particularly for the linear motor 225. This is because the corresponding cogging force is determined as a leading variable for each position of the movable primary component 227 of the linear motor 225 along the travel distance 290. The cogging force 320 is considered as a leading variable for controlling the operating parameters of the linear motor 225 (e.g., current supply, etc.), for example, as an additional variable applied to the controller, in order to achieve, for example, consistent and uniform movement of the primary component 227 of the linear motor 225. This results in the cogging force 320 exhibiting a position-dependent curve over the travel distance 290, or, in the case of a rotary motor, an angle-dependent curve for the cogging torque.

[0133] It goes without saying that the amount of data for the cogging force 320 curve scales proportionally with the travel distance 290 of the movable primary component 227 of the linear motor 225. Furthermore, the imperfectly symmetrical implementation of the magnet module 280 of the secondary component 229 and the air gap 295 between the primary component 227 and the secondary component 229 of the linear motor 225 does not allow for data repeatability, resulting in a large data volume. Typically, the position-related curve of the cogging force 320 in the linear motor 225 is stored in tabular form. In the sense of calibrating the motor 220 or the linear motor 225, it is also conceivable to record the position-related curve of the cogging force 320 during measurement runs, which can be repeated multiple times.

[0134] When using the aforementioned automation system 200 (which includes a linear motor 225, a controller 215, a sensor unit 205, and a motor controller 210), the computing power and storage capacity of the controller 215 are generally better than those of the motor controller 210, i.e., larger. The capacity of the motor controller 210 is insufficient to store the table of the cogging force 320 in the memory unit (not shown) of the motor controller 210 and / or to determine the complete curve of the cogging force 320 over the entire travel distance 290 of the linear motor 225 by the motor controller 210.

[0135] However, the communication time between controller 215 (with better computing power and memory capacity) and motor controller 210 (i.e., a second cycle time T2 of, for example, 2 ms) is significantly longer than the first cycle time T1 (e.g., 62.5 µs), during which sensor data (i.e., position data for cogging force compensation) is recorded by sensor unit 205 and transmitted to motor controller 210. Therefore, it is necessary to perform or outsource the calculation or determination of the cogging force 320 in a clever manner, which is achieved by the proposed method 100 without using a table of position-related curves for the cogging force 320.

[0136] The following method 100 is described with reference to the correction of magnetic cogging force 320, which serves as a compensation variable 315 for the linear motor 225 of the automation system 200. However, it is self-evident that method 100 is not limited to the correction of magnetic cogging force 320 and the linear motor 225, but can also be used for, for example, mechanical cogging torque correction and / or cogging torque correction of rotary motors.

[0137] Method 100 includes: in the first step 105, recording sensor data using sensor unit 205 and transmitting the recorded sensor data (all within the first cycle time T1) to motor controller 210 of linear motor 225, such as... Figure 1 As shown. The first cycle time T1 includes, for example, the value mentioned above, T1 = 62.5µs. The second step 110 of method 100 includes transmitting sensor data from motor controller 210 to controller 215 within a second cycle time T2, wherein the second cycle time T2 may have the value mentioned above, T2 = 2 ms. These two cycle times (i.e., the first cycle time T1 and the second cycle time T2) may also alternatively include other values, in which case the larger of the two cycle times is decisive for the calculation.

[0138] The third step 115 of method 100 involves processing sensor data using controller 215 during the second cycle time T2. In the third step 115, controller 215 is implemented to approximate the cogging force 320 as a compensation variable 315 based on the sensor data for a compensation interval within the second cycle time T2. The approximation of the cogging force 320 in the third step 115 is performed by determining the coefficients of the compensation function for the compensation interval. Therefore, the compensation interval specifies the width of the data segment in the position correlation curve of the cogging force 320 to be compensated.

[0139] The minimum width of the compensation interval can be determined, for example, based on twice the maximum position change of the movable primary component 227 of the linear motor 225 within the second cycle time T2. The maximum position change of the linear motor 225 corresponds to the maximum travel distance 290 that can be covered within the second cycle time T2 along, for example, the travel distance 290 of the primary component 227 of the linear motor 225. Expressed as a formula, for example, the maximum position change s of the movably designed primary component 227 within the second cycle time T2 is:

[0140] s = v max · T2

[0141] Where v max This represents the maximum speed of the movable primary component 227 of the linear motor 225 that can be achieved by applying a compensating force to improve the operating behavior of the motor 220 (e.g., linear motor 225), and does not correspond to the absolute maximum speed that the motor can achieve. The minimum width of the compensation interval Δx now corresponds to twice the maximum position change s, in order to take into account the two possible directions of movement of the primary component 227 of the linear motor 225, and can therefore be calculated as follows: Δx = 2·s = 2·v max • T2 = 2 • 500 mm / s • 2 ms = 2 mm, where v max For example, 500 mm / s. Generally, the smaller the selectable compensation range Δx, the higher the approximation accuracy of the cogging force 320 and therefore the higher the correction of the cogging force 320.

[0142] Generally, the compensation interval Δx can be specified in the form [x – Δx1, x + Δx2], where x can specify the current sensor data, such as the current position of the movable primary component 227, and Δx1 can indicate a first range of the compensation interval, and Δx2 can indicate a second range of the compensation interval. Referring to the general description of the compensation interval Δx in the form [x – Δx1, x + Δx2], in this particular example, the first range Δx1 and the second range Δx2 of the compensation interval will each be replaced by s.

[0143] The minimum width Δx of the compensation interval mentioned above is the minimum width of the data segment to be considered in the position-related curve of the compensation variable (e.g., the cogging force of the movable primary component 227 of the linear motor 225 in the direction of motion). If the width of the compensation interval Δx is selected to be equal to the minimum width mentioned above when processing the sensor data in the third step 115 of method 100, it is advantageously ensured that the cogging force 320, as the compensation variable 315, is corrected by the motor controller 210 using coefficients determined, for example, within the range currently occupied by the movable primary component 227 of the linear motor 225.

[0144] In the simplest case, that is, when the direction of movement of the primary component 227 of the linear motor 225 and / or the current speed of the primary component 227 of the linear motor 225 are not considered when determining or adjusting the width of the compensation interval Δx, the first range Δx1 = -s and the second range Δx2 = s of the compensation interval must be set such that the total width of the compensation interval Δx is 2·s.

[0145] If the direction of movement of the primary component 227 of the linear motor 225 and / or the current speed of the primary component 227 of the linear motor 225 are taken into account when adjusting the width of the compensation interval Δx, the minimum width of the compensation interval is halved. This means that the amount of data generated or the data segment of the position-related curve of the cogging force 320 to be considered can be halved, thereby improving the accuracy of the approximation.

[0146] When the movable primary component 227 of the linear motor 225 moves in the positive direction, the first range of the compensation interval Δx1 = 0 can be set to zero, and the second range of the compensation interval Δx2 can be set to the value s (Δx2 = s). When the movable primary component 227 of the linear motor 225 is stopped, the first range of the compensation interval Δx1 can be set to, for example, -s / 2 (Δx1 = -s / 2), and the second range of the compensation interval Δx2 can be set to, for example, s / 2 (Δx2 = s / 2).

[0147] The center x of the compensation interval opt It can also be more cleverly chosen as

[0148] x opt = x + v· (T2+ T tot ).

[0149] In this context, x corresponds to the current sensor data (a current sensor data), for example, the position of the movable primary component 227 of the linear motor 225, for example, the current actual position of the movable primary component 227 of the linear motor 225; v indicates, for example, the current speed of the movable primary component 227 of the linear motor 225; T2 corresponds to the second cycle time; and Ttot This indicates the possible downtime. Due to internal process arrangements, the system may experience downtime T. tot Furthermore, the downtime can be taken into account according to the above formula.

[0150] Generally, the minimum width of the compensation interval Δx is less than the pole spacing 310. When the pole spacing 310 is, for example, 24 mm, as described above, the minimum width of the approximate data segment is within 1 / 10 of the pole spacing 310. This advantageously results in a smaller error in the approximation used, which will be described in more detail below, since the position-related process of the cogging force 320 is essentially determined by the interruption of the stator 260.

[0151] As long as, for example, the current speed of the primary component 227 of motor 225 is below a threshold, a compensation variable 315, implemented as the cogging force 320, can be considered for use in controlling the linear motor 225. The threshold specifies, for example, the maximum speed of the primary component 227 of the linear motor 225, and can vary depending on the motor 220 used. For Beckhoff Automation motors, the threshold (i.e., the maximum speed of, for example, the primary component of the motor) is in v max = in the range of 300 mm / s to 700 mm / s, preferably v max = 450 mm / s, and particularly preferably, for example, for Beckhoff Automation's AL8000 linear motor 225, v max =500 mm / s. Exceeding the threshold (i.e., the specified maximum speed), the cogging force 320 has a slight effect on the movement of the linear motor 225 because, for example, the primary component 227 of the linear motor 225 moves too fast at this time and the cogging force 320 is no longer noticeably "perceptible" in the machine.

[0152] The sensor data and / or the coefficients of the compensation function form process data during data exchange via fieldbus 245 at a second cycle time T2. If fieldbus 245 is implemented as an EtherCAT fieldbus, the data is embedded, for example, in an EtherCAT data packet.

[0153] The compensation function mentioned above forms an nth-degree polynomial function, for example, a cubic polynomial function. The coefficients of the compensation function form the coefficients of the nth-degree polynomial function, for example, the coefficients of the cubic polynomial function. The degree of the polynomial function can be designed differently for each sensor data to be processed, and / or for each repetition of the first cycle time T1 and / or the second cycle time T2.

[0154] More detailed information about the compensation function will be provided in conjunction with... Figure 5 Let me explain.

[0155] The fourth step 120 of method 100 includes transmitting processed sensor data from controller 215 to motor controller 210 of linear motor 225 within a second cycle time T2. The fifth step 125 of method 100 includes evaluating the processed sensor data within a first cycle time T1 based on the third step 115 and the current sensor data to provide a compensation variable 315 (i.e., cogging force 320) from motor controller 210, wherein the compensation variable 315 (i.e., cogging force 320) can be determined by motor controller 210 within the first cycle time T1. Motor controller 210 is configured to perform the evaluation of the processed sensor data in the fifth step 125 within the first cycle time T1 based on the coefficients of the compensation function determined within the second cycle time T2 and based on the current sensor data within the first cycle time T1, thereby determining the compensation value 315.

[0156] It goes without saying that the evaluation of the processed sensor data in step 125 may include: the coefficients of the compensation function determined in step 115 within the second cycle time T2 are based on a comparison of the sensor data from the previous cycle with the current sensor data that may be received again by the motor controller 210 within, for example, the shorter first cycle time T1.

[0157] As mentioned above, the second cycle time T2 can be slower than the first cycle time T1.

[0158] By combining the previously determined coefficients with the current sensor data, the compensation variable 315 can be determined within a shorter first cycle time T1, which is advantageous because it eliminates the need for temporary storage of recorded sensor data. Conversely, sensor data recorded during the processing time of the sensor data processed in the previous cycle (referred to as the processing time of the second cycle time T2) for the compensation interval can be directly combined with the newly recorded sensor data, where the compensation variable 315 is determined by the motor controller 210 itself using the coefficients of the compensation function based on the newly recorded sensor data. This means that the motor controller 210 substitutes the coefficients of the compensation function determined by the controller 215 along with the current sensor data into the compensation function and ultimately obtains the compensation variable 315.

[0159] The fifth step 125 of method 100 may further include evaluating the processed sensor data based on the third step 115 and the currently recorded sensor data during the first cycle time T1 (as mentioned above, the results of which can be combined with each other), and applying compensation (i.e., the coefficients of the compensation function) to the actual control of, for example, the movable primary component 227 of the linear motor 225. It is conceivable that the compensation (i.e., the coefficients of the compensation function) be performed independently (i.e., in parallel with the actual control) by the actual control, and then the compensation is applied only to the control of the linear motor 225, for example, as an additional amount, to ensure, for example, uniform movement of the primary component 227 of the linear motor 225. This advantageously ensures transparency and reduces susceptibility to errors.

[0160] It should also be noted that the determination coefficients of the sensor data and / or compensation function form (control-related) process data during data exchange via fieldbus 245 at a second cycle time T2, which is embedded in the EtherCAT data packet, particularly when fieldbus 245 is implemented as an EtherCAT fieldbus.

[0161] Figure 4 A schematic depiction of the progress of compensation variable 315 is shown, which includes, for example, cogging force 320, as in... Figures 1 to 3 As described in the description, and corrected, for example, during the control of the movable primary component 227 of the linear motor 225. An exemplary curve of the cogging force 320 (vertical axis) including the compensation variable 315 is plotted relative to position x (horizontal axis), where position x may correspond to sensor data points, for example, recorded by sensor unit 205. The compensation variable 315 of the linear motor 225 (i.e., ...) can be determined, for example, by means of measurement operation. Figure 4 The magnetic cogging force 320 in the motor is an exemplary curve along the travel distance. When the motor moves along the entire travel distance under active position control, the force curve that occurs during this movement along the entire travel distance can be recorded as compensation variable 315.

[0162] It goes without saying that the data extraction is arbitrarily chosen, and the invention is not limited to this description. Figure 4 In the description, the cogging force 320 can be specified in units of N (Newtons), and the position x can be specified in units of mm. It also goes without saying that if the motor 220 has different implementations, for example, as a rotary motor, the horizontal axis can be specified as, for example, a rotation angle or a rotation angle position, for example, between 0° and 360°, and the vertical axis can be specified in units of cogging torque (cogging torque) in Nm.

[0163] Figure 4The pole pitch 310 is also shown; for example, for Beckhoff Automation's AL8000 linear motor 225, the pole pitch is 24 mm. Three oscillations are visible within the pole pitch 310, or more precisely, three oscillations are visible every 24 mm (pole pitch 310). Each oscillation is generated by a single pole tooth, or a stator winding, or coil 270, or a coil winding. Figure 4 The example curve for the cogging force 320 in the figure does not show repetition or periodicity; instead, the curve is formed individually for each position x. This explains the large amount of data required for correcting the cogging force 320 of the linear motor 225 mentioned at the beginning.

[0164] As described above, the compensation interval is used to correct the cogging force 320, wherein the cogging force 320 is approximated as a compensation variable 315 by means of a compensation function implemented as a polynomial function. When considering, for example, the direction of movement of the movable primary component 227 of the linear motor 225, the compensation interval is preferably selected to be less than or equal to 1 / 10 of the pole pitch.

[0165] Figure 5 It shows Figure 1 Method 100 in the middle is used for Figure 2 Automation system 200 and Figure 3 Examples of its components. It goes without saying that even if details are not repeated for reasons of redundancy, for... Figures 1 to 4 The above description also applies without limitation to Figure 5 And conversely, Figure 5 The description also applies without limitation to the preceding figures. Automation system 200 includes a motor controller 210 implemented as, for example, a servo amplifier, and a controller 215 connected to the motor controller 210 via a fieldbus 245. Figure 5 In this implementation, the fieldbus 245 is implemented as, for example, an EtherCAT fieldbus, and data communication via the EtherCAT fieldbus is performed in the form of EtherCAT data packets (not shown), which are transmitted periodically at a second cycle time T2. The second cycle time T2 may have a value of 2 ms, while the first cycle time T1 may be significantly shorter, for example, having the value T1 = 62.5 µs mentioned above.

[0166] and Figure 2 Compared to the description of the automated system 200 in the text, Figure 5The motor controller 210 includes a drive control module 325, a pulse width modulation module 330, and a power electronics module 335, so as to apply the compensation variable 315 (or cogging force 320) approximated by method 100 to actual control, for example, as an additional quantity, by means of the drive control module 325 of the linear motor 225 and through the pulse width modulation module 330 and the power electronics module 335. It goes without saying that the components mentioned can also be... Figure 2 A portion of the motor controller 210 shown.

[0167] exist Figure 5 In the third step 115 of method 100, the controller 215 controls the compensation interval. For example, use To approximate the compensation function This is in Figure 5 The schematic instruction in the middle makes Applicable where the position is, for example, x = 7 and For example, coefficients p0, p1, p2, and p3 can be used as a cubic polynomial function. For example, the direction of movement of the linear motor 225 and its current speed are not considered for a specified compensation interval. However, this can be performed without limitation. It is also conceivable to perform compensation for the deviation position x of sensor data, which is, for example, the movable primary component 227 of the linear motor 225.

[0168] Compensation function With cubic polynomial functions The coefficients p0, p1, p2, and p3 are also transmitted from the controller 215 to the motor controller 210 via the fieldbus 245 (i.e., EtherCAT fieldbus) during the second cycle time T2.

[0169] The motor controller 210 finally executes the fifth step 125 of the schematically shown method 100, namely, evaluating the processed sensor data, that is, evaluating the determined coefficients p0, p1, p2, p3.

[0170] For this purpose, the motor controller 210 calculates a compensation function using determined coefficients p0, p1, p2, and p3, for example, the current position x of the movable primary component 227 of the linear motor 225. The fifth step 125, as illustrated above, is repeated every 62.5 µs, and the compensation function is determined in this way. Alternatively, a compensating force (each including at least the cogging force 320) is fed to the drive control module 325 every 62.5 µs and other components required for control (i.e., drive control), such as the movable primary component 227 of the linear motor 225. As described above, the sensor unit 205 determines new sensor data every 62.5 µs, i.e., position data of the movable primary component 227 of the linear motor 225.

[0171] For example, according to Javier I. Carrero's "Manual for the polyfit function", dated October 5, 2012, Scilab (www.scilab.org) was used to perform a function using a cubic polynomial. (x) Approximate compensation function To approximate the compensation function The maximum polynomial degree n is set to three. If the current data extract from the compensation interval mentioned above produces a small approximation error when the polynomial degree n is less than three, then an approximation with a smaller polynomial degree can be used, and the higher-order coefficients (i.e., higher-order polynomial coefficients) can be set to zero accordingly. Alternative approximations using the approximations cited in the above references or choosing a polynomial degree greater than three are also conceivable.

[0172] The following description is an excerpt from Javier I. Carrero's "polyfit function manual," dated October 5, 2012, and can be applied to all of the functions mentioned. Figures 1 to 5 In China, polynomial functions are used for this purpose. To approximate the compensation function For polynomial functions, the input command `polyfit` can be used in Scilab. The set of data points m (x, (x)) can be used to obtain a vector n coefficients in the form of a polynomial coefficient p n ..., p1, p0. The determined coefficients / polynomial coefficients p n ... approximate the polynomial function as closely as possible to p1 and p0. This makes the residual The sum is minimized, where Including the use of polynomial functions A definite value.

[0173] A simple example from Javier I. Carrero's "polyfit function manual," dated October 5, 2012, can be applied to this invention. Figures 1 to 5And, for example, the following number can be replaced with an alternative number, that is, an alternative position x.

[0174] Given data

[0175] x_lst = [0 1 2 3 4 5]

[0176] y_lst = [2.1 7.7 13.6 27.2 40.9 61.1]

[0177] The best approximation of the above data includes a cubic polynomial function of the following form:

[0178]

[0179] It will be determined.

[0180] Scilab input command

[0181] polyfit(x_lst, y_lst, 3)

[0182] produce

[0183] 2.2507937 + 3.3994709x + 1.2912698x 2 + 0.0759259x 3

[0184] As a result, further details can be found in Javier I. Carrero's "polyfit Function Manual," October 5, 2012. It goes without saying that, as described above, the amount of data can be further reduced by cleverly selecting the compensation interval Δx (e.g., by considering the direction of movement of the movable primary component 227 of the linear motor 225, etc.). The controller 215 will then perform the numerical example described above using the true value x (the actual sensor data x) to determine the coefficient p of the compensation interval Δx. n ..., p1, p0. It is conceivable that the motor controller 210 performs the aforementioned numerical examples for each real value x (i.e., each real sensor data x).

[0185] The invention has been described in detail through preferred embodiments. Instead of the described embodiments, other embodiments are contemplated that may include further modifications or combinations of the described features. For this reason, the invention is not limited to the disclosed embodiments, as other variations can be derived from these embodiments by those skilled in the art without departing from the scope of the invention.

[0186] List of reference numerals

[0187] 100 Method for compensating torque 105 First step 110 Second step 115 Third step 120 Fourth step 125 Fifth step 200 Automated systems 205 Sensor unit 210 motor controller 215 controller 220 motor 225 linear motor 227 Primary components 229 Secondary components 240 Connecting wire 241 First connecting line 242 Second connecting line 243 Third connecting line 245 fieldbus 250 One-way data exchange 255 bidirectional data exchange 260 Multiple stator segments 265 first stator section 270 Multiple spools 275 The coils of the first stator segment 280 Multiple magnet modules 283 First Magnet Module 285 Portable 290 Path of travel 295 air gap 300 magnetic field 305 Active connection 310 Interpole spacing 315 Compensation variables 320 Magnetic tooth cogging force 325 Drive control module 330 Pulse Width Modulation Module 335 Power Electronics Module Δx Compensation range <![CDATA[Δx1]]> The first range of the compensation interval <![CDATA[Δx2]]> The second range of the compensation interval <![CDATA[T1]]> First cycle time <![CDATA[T2]]> Second cycle time

Claims

1. A method (100) for optimally providing a compensation variable (315) to compensate for synchronization fluctuations in a motor (220), wherein the motor (220) comprises a primary component (227) and a secondary component (229), wherein, in particular, the primary component (227) comprises a plurality of coils (270) configured to be energized to generate a magnetic field, thereby being actively connected (305) to a plurality of magnet modules (280) of the secondary component (229), and Specifically, the primary component (227) is moved relative to the secondary component (229) via the active connection (305), wherein the method (100) includes the following steps: In the first step (105), sensor data is recorded by the sensor unit (205) within the first cycle time T1, and the recorded sensor data is transmitted to the motor controller (210) within the first cycle time T1. In the second step (110), the sensor data is transmitted from the motor controller (210) to the controller (215) within the second cycle time T2. The second cycle time T2 can be set to a value different from the first cycle time T1, specifically a value greater than the first cycle time T1. In the third step (115), the sensor data is processed by the controller (215) within the second cycle time T2. The controller (215) is configured to approximate the compensation variable (315) based on the sensor data for the compensation interval in the third step (115). In the fourth step (120), the processed sensor data is transmitted from the controller (215) to the motor controller (210) of the motor (220) within the second cycle time T2, and In the fifth step (125), the processed sensor data is evaluated based on the third step (115) and the current sensor data within the first cycle time T1 to provide the compensation value (315) from the motor controller (210), wherein the compensation value (315) can be determined by the motor controller (210) within the first cycle time T1.

2. The method according to claim 1, The controller (215) in the third step (115) approximates the compensation variable (315) for the compensation interval by determining the coefficients of the compensation function based on the sensor data for the compensation interval within the second cycle time T2, and The motor controller (210) is configured to perform the evaluation of the processed sensor data in the fifth step (125) based on the coefficients of the compensation function determined in the second cycle time T2 within the first cycle time T1 and based on the current sensor data, thereby determining the compensation value (315).

3. The method according to claim 1 or 2, The minimum width of the compensation interval can be determined based on twice the maximum position change of the motor (220) during the second cycle time T2, and in particular based on twice the maximum position change of the primary component (227) relative to the secondary component. The maximum position change of the motor (220), which is specifically designed as a linear motor (225), corresponds to the maximum travel distance (290) along the direction of movement of the primary component (227) of the motor (220) within the second cycle time T2.

4. The method according to claim 3, When adjusting the width of the compensation range, the movement direction of the motor (220), particularly the primary component (227) of the motor (220), and / or the current speed of the motor (220) can be taken into account. If the movement direction of the motor (220), particularly the primary component (227) of the motor (220) and / or the current speed of the motor (220) are taken into account when adjusting the width of the compensation interval, the minimum width of the compensation interval is halved.

5. The method according to any one of claims 3 to 4, The compensation value (315) can be considered as long as the current speed of the primary component (227) of the motor (220), particularly the motors (220, 225), is below a threshold. The threshold specifically indicates the maximum speed v of the primary component (227) of the motor (220), particularly the linear motor (225). max And preferably in v max = In the range of 300 mm / s to 700 mm / s.

6. The method according to any one of the preceding claims, The compensation function is formed as an nth-degree polynomial function, particularly a cubic polynomial function. The coefficients of the compensation function form the coefficients of the nth-degree polynomial function, particularly the coefficients of the cubic polynomial function. The degree of the polynomial function can be formed differently for each sensor data to be processed, and / or can be formed differently when the first period time T1 and / or the second period time T2 are repeated.

7. The method according to any one of the preceding claims, Data exchange occurs between the sensor unit (205) and the motor controller (210) via at least one connection line (240) during the first cycle time T1, and / or energy exchange occurs between the motor controller (210) and, in particular, the movable primary component (227) of the motor (220) via the at least one connection line. Data exchange takes place between the motor controller (210) and the controller (215) via the first connection line (241) during the second cycle time T2. The first connection line (241) is implemented as a fieldbus (245), particularly an EtherCAT fieldbus, and The sensor data and / or the compensation variable (315) approximating the compensation interval form process data during the data exchange via the fieldbus (245) at the second cycle time T2, the process data being embedded in an EtherCAT data packet, particularly when the fieldbus (245) is implemented as an EtherCAT fieldbus.

8. The method according to any one of the preceding claims, The motor (220) is implemented as a linear motor (225), and the compensation variable (315) includes at least one magnetic cogging force (320), or The motor (220) is implemented as a rotary motor, and the compensation variable (315) includes at least one cogging torque.

9. An automation system (200), the automation system comprising: A sensor unit (205), operatively connected to a motor controller (210) of a motor (220), A motor (220), operatively connected to the motor controller (210), A controller (215), operatively connected to or integrated into the motor controller (210), The sensor unit (205) is configured to record sensor data during a first cycle time T1 and transmit the recorded sensor data to the motor controller (210) during the first cycle time T1. The motor controller (210) is configured to transmit the received sensor data to the controller (215) within the second cycle time T2. The second cycle time T2 can be configured to have a value different from the first cycle time T1, specifically a value greater than the first cycle time T1. The controller (215) is configured to process the sensor data. The processing of the sensor data during the second cycle time T2 includes: approximating a compensation variable (315) for the compensation interval based on the sensor data to compensate for the synchronization fluctuations of the motor (220); and transmitting the processed sensor data to the motor controller (210) during the second cycle time T2. The motor controller (210) is configured to evaluate the processed sensor data within the first cycle time T1 based on the sensor data processed by the controller (215) within the second cycle time T2 and the current sensor data to provide the compensation variable (315), wherein the compensation variable (315) can be determined by the motor controller (210) within the first cycle time T1.

10. The automation system according to claim 9, The controller (215) is configured to approximate the compensation value (315) for the compensation interval by determining the coefficients of the compensation function based on the sensor data for the compensation interval within the second cycle time T2, and The motor controller (210) is configured to perform the evaluation of the processed sensor data based on the coefficients of the compensation function determined in the second cycle time T2 within the first cycle time T1 and based on the current sensor data, and thereby determine the compensation value (315).

11. The automation system according to any one of claims 9 or 10, The motor (220) includes a primary component (227) and a secondary component (229). If the motor (220) is implemented as a linear motor (225), then the primary component (227) is implemented to be movable relative to the secondary component (229). Specifically, the primary component (227) includes a plurality of coils (270) configured to be energized to generate a magnetic field, thereby being actively connected (305) to a plurality of magnet modules (280) of the secondary component (229). Specifically, the magnet module (280) can be arranged along the travel path (290) of the motor (220), and Specifically, the primary component (227) is moved relative to the secondary component (229) via the active connection (305).

12. The automation system according to any one of claims 9 to 11, Data exchange occurs between the sensor unit (205) and the motor controller (210) via at least one connection line (240) during the first cycle time T1, and / or energy exchange occurs between the motor (220), particularly a movably designed primary component (227) of the motor (220), and the motor controller (210) via the at least one connection line, which is implemented as an operational connection. Data exchange takes place between the sensor unit (205) and the motor controller (210) via the first connection line (241) during the second cycle time T2. The first connection line (241) between the controller (215) and the motor controller (210) is implemented as a fieldbus (245), particularly an EtherCAT fieldbus, and The sensor data and / or the compensation variable approximating the compensation interval form process data during data exchange via the fieldbus (245) at the second cycle time T2, and the process data is embedded in an EtherCAT data packet, particularly when the fieldbus (245) is implemented as an EtherCAT fieldbus.

13. The automation system according to any one of the preceding claims, The minimum width of the compensation interval can be determined by the controller (210) based on twice the maximum position change of the motor (220) within the second cycle time T2, and in particular based on twice the maximum position change of the movable primary component (227) relative to the secondary component. In particular, when the motor (220) is implemented as a linear motor (225), the maximum position change corresponds to the maximum travel distance (290) of the motor (220) along the direction of movement of the motor (220), in particular the movable primary component (227), within the second cycle time T2.

14. The automation system according to claim 13, When adjusting the width of the compensation range, the controller (215) is able to take into account the movement direction of the motor (220), particularly the movable primary component (227) of the motor (220), and / or particularly the current speed of the movable primary component (227) of the motor (220). If, when adjusting the width of the compensation interval, the controller (215) takes into account the direction of movement of the motor (220), particularly the primary component (227) of the motor (220), and / or the current speed of the motor (220), then the minimum width of the compensation interval is halved.

15. The automation system according to claims 13 to 14, The compensation value (315) can be considered as long as the current speed of the motor (220), particularly the primary component (227) of the motor (220), is below a threshold. The threshold specifically specifies the maximum speed v of the primary component (227) of the motor (220), particularly the linear motor (225). max And preferably in v max = In the range of 300 mm / s to 700 mm / s.

16. The automation system according to any one of the preceding claims, The compensation function is formed as an nth-degree polynomial function, particularly a cubic polynomial function. The coefficients of the compensation function form the coefficients of the nth-degree polynomial function, particularly the coefficients of the cubic polynomial function. The degree of the polynomial function can be formed differently for each sensor data to be processed, and / or can be formed differently when repeating the first period time T1 and / or the second period time T2.

17. The automation system according to any one of the preceding claims, The motor (220) is implemented as a linear motor (225), and the compensation variable (315) includes at least one cogging force (320). The linear motor (225) includes a primary component (227) that is movably implemented and a secondary component (229) having the plurality of magnetic modules (280). The primary component (227) includes a plurality of stator segments (260), each of which has a plurality of energized coils (270). The stator segment (260) defines the pole pitch (310), that is, the periodic repetition of the polarity of the plurality of magnet modules (280) of the secondary component (229), and The minimum width of the compensation interval is less than the pole distance (310).

18. The automation system according to any one of claims 9 to 16, The motor (220) is implemented as a rotary motor, and the compensation variable (315) includes at least one cogging torque.