Control device, control method, and control system
Patent Information
- Application Number
- JP2023149460
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-14
- Publication Date
- 2025-03-27
Smart Images

Figure 2025042441000001_ABST
Abstract
Description
[Technical field]
[0001] An embodiment of the present invention relates to a control device, a control method, and a control system. [Background technology]
[0002] It is generally known that a control target such as a motor is controlled by using a plurality of controllers, the input of one of which contains a command value output by the other controller. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2013-172550 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, when a change occurs in the controlled object due to an external factor such as a fluctuation in load torque, the command value of one controller and the command value of the other controller may become contradictory, which may cause the control to become unstable.
[0005] Therefore, an object of the present invention is to provide a control device, a control method, and a control system capable of suppressing control instability caused by changes in the controlled object due to external factors. [Means for solving the problem]
[0006] The control device according to this embodiment is a control device for controlling a controlled object, and includes a first controller, a second controller, a detector, and a corrector. The first controller receives as input a first measurement value measured by the controlled object and a first command value that is a target value of the first measurement value, and generates a second command value. The second controller receives as input a second measurement value measured by the controlled object and the second command value, and generates a target value to be supplied to the controlled object as a third command value. The detector detects a change in the second measurement value due to an external factor of the controlled object, and changes the control mode. The corrector generates a second correction value according to the control mode, and corrects the second controller. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a diagram illustrating an example of a control system according to an embodiment. [Diagram 2] FIG. 2 is a block diagram showing a configuration example of a control device. [Diagram 3] FIG. 2 is a diagram showing a schematic diagram of input / output relationships of signals to each component of the control device. [Figure 4] FIG. 4 is a diagram illustrating a detection operation of a detector. [Diagram 5] FIG. 4 is a diagram for explaining control instability of the second PI controller when a load fluctuation occurs. [Figure 6] 4 is a time chart showing an example of operation in a control cycle of the control device. [Figure 7] FIG. 4 is a block diagram showing a configuration example of a control device according to a comparative example. [Figure 8] 5 is a diagram showing time series changes of each signal of the control device according to the embodiment; FIG. [Figure 9] FIG. 4 is a diagram showing time series changes of each signal in a control device according to a comparative example. [Figure 10] FIG. 2 is a diagram showing an example of the configuration of a control target. [Figure 11] FIG. 2 is a diagram showing an example of a circuit configuration of the control system 1. [Figure 12] FIG. 13 is a diagram showing an example in which a controller and a driver board are configured as a board equipped with a microcomputer. [Figure 13] 5 is a flowchart showing an example of processing by a control device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] Hereinafter, a control device, a control method, and a control system according to an embodiment of the present invention will be described in detail with reference to the drawings. Note that the embodiment shown below is an example of an embodiment of the present invention, and the present invention is not limited to these embodiments. In addition, in the drawings referred to in this embodiment, the same parts or parts having similar functions are given the same or similar symbols, and repeated explanations thereof may be omitted. In addition, the dimensional ratios of the drawings may differ from the actual ratios for the convenience of explanation, and some of the configurations may be omitted from the drawings.
[0009] FIG. 1 is a diagram illustrating an example of a control system according to an embodiment. The control system 1 includes, for example, a processing device 10, a control device 20, and a controlled object 30. The control system 1 is a system that drives the controlled object 30. The controlled object 30 according to an embodiment is, for example, a DC motor, but is not limited thereto. Note that a detailed configuration example of the controlled object 30 will be described later with reference to FIG. 10. In this embodiment, a sensor that measures the state of the DC motor, an inverter that drives the DC motor, and the like may be referred to as a DC motor (see FIG. 10).
[0010] The processing device 10 is, for example, a computer. The processing device 10 transmits a command value such as a speed command value ωref for driving the control target 30 to the control device 20. This speed command value ωref is a command value for the number of rotations (rotational speed) of the motor. The processing device 10 is, for example, provided with an input / output interface for exchanging data with a user, generates a command value for driving the control target 30 with a value input by the user, and outputs the command value to the control device 20. When the control target 30 is a DC motor, the command value is, for example, a speed command value ωref. The processing device 10 may also be a computer for automatically and appropriately driving the control target 30, and in this case, outputs an appropriate command value set in the processing device 10 to the control device 20.
[0011] The control device 20 is a control device that controls the controlled object 30, generates a command value required to drive the controlled object 30, and outputs it to the controlled object 30. When the controlled object 30 is a DC motor, the control device 20 generates, for example, a voltage command value Vref, and outputs it to the controlled object 30. This voltage command value Vref is a target value of the voltage to be supplied to the controlled object 30.
[0012] Further, the control device 20 receives as input measured values acquired from the actual operation of the control object 30 from the control object 30 or its peripheral module. When the control object 30 is a DC motor, for example, a current measurement value I and a speed measurement value ω are input to the control device 20. In this manner, the control device 20 generates a voltage command value Vref based on the received speed command value ωref, current measurement value I, and speed measurement value ω, and outputs the voltage command value Vref to the control object 30, so that the control object 30 drives in accordance with the command value from the processing device 10. Note that the speed measurement value ω according to this embodiment corresponds to the first measurement value, the speed command value ωref corresponds to the first command value, the current measurement value I corresponds to the second measurement value, the current command value Iref, which will be described later, corresponds to the second command value, and the voltage command value Vref corresponds to the third command value.
[0013] Here, a detailed configuration example of the control device 20 will be described with reference to Figs. 2 and 3. Fig. 2 is a block diagram showing a configuration example of the control device 20. As shown in Fig. 2, the control device 20 has a detector 200, a corrector 202, a first PI controller 204, and a second PI controller 206. Fig. 3 is a diagram showing a schematic diagram of the input / output relationship of signals to the computing units of each component of the control device 20. The control of the control target 30 executed by the control device 20 is, for example, feedback control that repeats a predetermined control cycle t. t indicates the time order of the control cycle of the feedback control. For example, t is 1 for the first cycle, t is 2 for the second cycle, and t is 3 for the third cycle.
[0014] The control device 20 is a control device that controls the controlled object 30 and is capable of suppressing the influence of load fluctuations (disturbances) due to external factors of the controlled object 30. The control device 20 has a plurality of control modes according to the state of the controlled object 30.
[0015] These multiple control modes are, for example, at least one of a first mode (normal mode) and a second mode (correction mode). For example, the normal mode is a control mode in a state where a load fluctuation due to an external factor of the controlled object 30 is within a predetermined range, and the correction mode is a control mode in a state where a load fluctuation due to an external factor of the controlled object 30 is out of the predetermined range.
[0016] The detector 200 detects a change in the current measurement value I due to a disturbance of the controlled object 30 and changes the control mode. That is, the detector 200 has a calculator and a memory element, and outputs a mode signal according to the state of the controlled object 30. Furthermore, the detector 200 outputs a mode signal indicating a correction mode when the load fluctuation exceeds a predetermined range. On the other hand, the detector 200 outputs a mode signal indicating a normal mode when the load fluctuation is within a predetermined range. That is, when the current control cycle is in the normal mode and the current measurement value I changes independently of the transition of the current command value Iref, the detector 200 changes the current control cycle from the normal mode to the correction mode.
[0017] Furthermore, the detector 200 generates an estimate of the current measurement value I in the current control cycle based on the transitions of the current measurement value I and the current command value Iref in past control cycles, and changes the current control cycle from the normal mode to the correction mode when the difference between the current measurement value I and the estimated value is equal to or greater than a threshold value. The detector 200 may also estimate the range of the current measurement value I in the current control cycle based on the transitions of the current measurement value I and the current command value Iref in past control cycles, and change the current control cycle from the normal mode to the correction mode when the current measurement value I is outside this range.
[0018] Furthermore, when the current control cycle is in the correction mode and the difference value between the speed measurement value ω and the speed command value ωref is reversed, the detector 200 changes the current control cycle from the correction mode to the normal mode. Furthermore, when the current control cycle is in the correction mode and the absolute value of the difference value between the speed measurement value ω and the speed command value ωref becomes less than a predetermined value, the detector 200 may change the current control cycle from the correction mode to the normal mode.
[0019] In the normal mode, the detector 200 outputs false (=1) as a mode signal, and in the correction mode, it outputs true (=2). That is, the detector 200 outputs the mode signal to the corrector 202, the first PI controller 204, and the second PI controller 206. The details of the detector 200 will be described later.
[0020] The corrector 202 has a calculator and a storage element, and generates a first correction value Ic1 according to the control mode to correct the first PI controller 204. The corrector 202 also generates a second correction value Ic2 according to the control mode to correct the second PI controller 206. In the normal mode, the corrector 202 outputs the current measurement value I to the second PI controller 206, and in the correction mode, the corrector 202 outputs the second correction value Ic2 to the second PI controller 206.
[0021] More specifically, when the current control cycle is changed from the normal mode to the correction mode, the corrector 202 holds and outputs the current measurement value I measured during the period of the control cycle immediately before the current control cycle as the second correction value Ic2. When the current control cycle is changed from the normal mode to the correction mode, the corrector 202 may hold and output the current measurement value I during the period in which the fluctuation is equal to or less than a predetermined value in the past control cycles as the second correction value Ic2. For example, the corrector 202 may hold and output the current measurement value I for the past N cycles, a value before the actual current measurement value I changes significantly, or an average value of the actual current measurement values I that satisfy the same condition, as the second correction value Ic2. Furthermore, when the correction mode is changed to the normal mode, the corrector 202 outputs the first correction value Ic1 based on the current measurement value I of the current control cycle to the first PI controller 204.
[0022] More specifically, when the correction mode is changed to the normal mode based on the mode signal of the detector 200, the corrector 202 outputs a correction value Ic1 shown in equation (3) described later as a first correction value to the first PI controller 204. The corrector 202 can also store the current measurement value I(t) in chronological order. In the correction mode, the corrector 202 outputs a current measurement value Ic2, which is a fixed value, as a second correction value to the second PI controller 206. Here, the current measurement value Ic2 is, for example, the current measurement value I(t-1) immediately before a load fluctuation occurs. For example, it is the current measurement value I(t-1) in the normal mode immediately before the change from the normal mode to the correction mode.
[0023] The first PI controller 204 is a controller capable of feedback control by PID control. The first PI controller 204 receives as input a speed measurement value ω(t) (first measurement value) which is the measured rotation speed of the controlled object 30, and a speed command value ωref(t) (first command value) which is a target value of the speed measurement value ω(t), and generates a target value of the current as a current command value Iref(t) (second command value). More specifically, in the normal mode, the first PI controller 204 executes PID control according to the equations (1) and (2) based on the speed command value ωref(t) and the speed measurement value ω(t), and outputs the current command value Iref(t). The equation (2) is an error term between the speed command value ωref(t) and the speed measurement value ω(t). The first PI controller 204 has a memory element together with a calculator. K1 and K2 are constants. This storage element stores, for example, measured values, calculated values, coefficients, etc., required for the calculation of equations (1) and (2). Note that the first PI controller 204 according to this embodiment corresponds to the first controller.
number
number
[0024] Furthermore, the first PI controller 204 stores the mode signal, and when switching from the correction mode to the normal mode, replaces the integral value of the equation (1) with the first correction value Ic1 according to the equation (3).
number
[0025] In this way, the first PI controller 204 generates the current command value Iref(t) for the current control cycle t based on the current difference value e1(t) between the speed measurement value ω(t) and the speed command value ωref(t) for the current control cycle t and the integral value obtained by integrating the past difference value e1(τ) between the speed measurement value ω(τ) (τ is a value less than t) and the speed command value ωref(τ) for the past control cycle. Furthermore, when the mode is changed from the correction mode to the normal mode, the first PI controller 204 generates the current command value Iref(t) based on the current difference value e1(t) and the first correction value Ic1.
[0026] The second PI controller 206 is a controller capable of feedback control by PID control. The second PI controller 206 receives as input a current measurement value I(t) (second measurement value) which is a current value measured in the controlled object 30, and a current command value Iref(t) (second command value), and generates a target value of the voltage to be supplied to the controlled object 30 as a voltage command value Vref(t) (third command value).
[0027] More specifically, when the current control cycle t is in the normal mode, the second PI controller 206 executes PID control according to equations (4) and (5) based on the current command value Iref(t) and the measured current value I(t), and outputs a voltage command value Vref(t). This first PI controller 204 has a storage element together with a calculator. K3 and K4 are constants. This storage element stores, for example, measured values, calculated values, coefficients, etc., required for the calculation of equations (4) to (6). The second PI controller 206 according to this embodiment corresponds to the second controller.
number
number
number
[0028] Here, an example of the operation of the detector 200 will be described in detail using Fig. 4 while referring to Fig. 2 and Fig. 3. Fig. 4 is a diagram that illustrates a detection operation of the detector 200. The vertical axis indicates current, and the horizontal axis indicates time. As shown in Fig. 4, the detector 200 stores, for example, a current measurement value I and a current command value Iref in time series. The detector 200 detects a change in the load by utilizing, for example, the correlation between the current measurement value I that changes in time series and the load of the control target 30 that changes in time series.
[0029] TIFF2025042441000008.tif28170
number
number
[0030] Detector 200 uses, for example, the characteristics of circuit equations (7) and (8) to calculate the measurement range Eb(t) under normal conditions (when there is no load fluctuation) using data on current measurement values I(tn) to I(t-1) prior to t, which is the current control cycle, and data on current command values Iref(tn) to I(t-1). n is a natural number equal to or greater than 2. In this way, detector 200 estimates the measurement range Eb(t) of the next current measurement value I(t) based on the trends in current command values Iref(tn) to I(t-1) and measurement values I(tn) to I(t-1).
[0031] The detector 200 outputs a mode signal signal indicating the normal mode when the measured current value I(t) is within the measurement range Eb(t). On the other hand, the detector 200 outputs a mode signal signal indicating the correction mode when the measured current value Iu(t) or Id(t) is outside the measurement range Eb(t). Note that the method of generating the measurement range Eb(t) is an example, and is not limited thereto. For example, an estimate of the measured current value I(t) in the current control cycle t may be generated based on the transition of the current command value Iref(tn) to I(t-1) and the measured value I(tn) to I(t-1), and when the difference between the measured current value I(t) and the estimate is equal to or greater than a threshold, the current control cycle may be changed from the normal mode to the correction mode.
[0032] More simply, for example, the difference Id between the current measurement values I(t-1) and I(t-2) may be added to the current measurement value I(t-1) to obtain In(t).Then, with In(t) as the center point, the difference Id may be multiplied by a predetermined coefficient Keb to obtain the measurement range Eb(t).
[0033] Also, for example, the detector 200 changes the correction mode to the normal mode when the deviation between the speed command value ωref(t) and the speed measurement value ω(t) caused by the load fluctuation is suppressed. The detector 200 changes the correction mode to the normal mode when the difference value between the speed command value ωref(t) and the speed measurement value ω(t) is reversed with respect to the control cycle (t-1). Alternatively, the detector 200 may change the correction mode to the normal mode when the absolute value of the difference between the speed command value ωref(t) and the speed measurement value ω(t) falls within a predetermined value. Furthermore, the detector 200 may change the control mode at the time when it detects a sign that the magnitude relationship between the speed command value ωref(t) and the speed measurement value ω(t) will be reversed, using a means such as a slope obtained by differentiating the speed measurement value ω(t) or a prediction by machine learning.
[0034] Here, suppression of control instability by the output of the corrector 202 will be described. First, the stability of control by using the first correction value Ic1 will be described. For example, when the load increases, the speed measurement value ω(t) decreases, so that in the period from the correction mode to the normal mode switching, the current command value Iref(t) shows an increasing tendency so as to increase the speed measurement value ω(t) that has decreased due to the increase in the load to the speed command value ωref(t). That is, the integral term of the formula (1) shows a tendency to increase the current command value Iref(t). On the other hand, immediately before switching from the correction mode to the normal mode, the absolute value of the difference between the speed command value ωref(t) and the speed measurement value ω(t) is within a predetermined value and is stabilized. In this state, if the integral term of the formula (1) is maintained, the current command value Iref(t) will be further increased.
[0035] Therefore, when switching from the correction mode to the normal mode, the first PI controller 204 replaces the integral term of the equation (1) with the first correction value Ic1 according to the equation (3). That is, the current command value Iref(t) output by the first PI controller 204 when switching from the correction mode to the normal mode is expressed by the equation (9). That is, the error term shown in the equation (2) is added based on the current measurement value I(t) when switching to the normal mode. As can be seen from this, the current command value Iref(t) is output so as to maintain a state close to the current measurement value I(t) while suppressing the difference between the speed command value ωref(t) and the speed measurement value ω(t). As a result, even when switching to the normal mode, it is possible to maintain the absolute value of the difference between the speed command value ωref(t) and the speed measurement value ω(t) within a predetermined value.
number
[0036] Next, the stability of control achieved by using the second correction value IC2 will be described with reference to Fig. 5. Fig. 5 is a diagram for explaining control instability when a load fluctuation occurs in the second PI controller 206. As shown in Fig. 5, when a load fluctuation occurs due to an external factor, a phenomenon may occur in which the magnitude relationship between the current command value Iref(t) and the measured current value I(t) becomes unstable due to, for example, a transient phenomenon.
[0037] TIFF2025042441000012.tif50170
[0038] TIFF2025042441000013.tif21170
[0039] Therefore, when the corrector 202 enters the correction mode, it outputs a fixed current measurement value Ic2 as a second correction value to the second PI controller 206, as shown in equation (6). As described above, the corrector 202 outputs, for example, the current measurement value I(t-1) immediately before the load fluctuation occurs, and the current measurement value I(t-1) and the current command value Iref(t-1) have close values.
[0040] On the other hand, when the load increases, the current command value Iref(t) of the first PI controller 204 increases in order to return the speed to its original state, so that it becomes larger than the measured current value I(t-1), which is the second correction value, and the voltage command value Vref(t) increases. When the load decreases, the current command value Iref(t) of the first PI controller 204 decreases in order to return the speed to its original state, so that it becomes smaller than the measured current value I(t-1), which is the second correction value, and the voltage command value Vref(t) decreases. In this way, by setting the second correction value Ic2 to, for example, the measured current value I(t-1) immediately before the load fluctuation occurs, the controlled object 30 is prevented from being controlled in a manner opposite to that which would normally be the case.
[0041] Here, an example of operation in a control cycle t of the control device 20 according to this embodiment will be described using FIG. 6 with reference to FIGS. 2 and 3. FIG. 6 is a time chart showing an example of operation in a control cycle t of the control device 20. A period from time t1 to t10 corresponds to one control cycle. Here, an example will be described in which the corrector 202 outputs IC2(t), which is the second correction value, or the measured current value I(t) to the second PI controller 206. Also, an example will be described in which the memory element inside the module can always store an input signal while the control device 20 is operating. For this reason, when a signal is shown at a high level below, data can be input from the memory element inside the module.
[0042] As shown in FIG. 6, from the top, the speed command value ωref(t-1), the current command value Iref(t-1), the speed measurement value ω(t), the current measurement value I(t), the detector 200, the mode signal signal, the corrector 202, the first correction value IC1(t), the second correction value IC2(t), the speed command value ωref(t), the first PI controller 204, the current command value Iref(t), the second PI controller 206, and the voltage command value Vref(t) are shown. A high-level signal indicates that each signal and module is enabled, and a low-level signal indicates that each signal and module is disabled. The horizontal axis is time. An enabled signal means a signal input to a computing unit of each module, or a signal output from a computing unit of each module. Also, an enabled module means a computing operation period of the computing unit of the module. In the following description, the input to the computing unit is either data stored in a time series in an internal element of the module, or an input from outside the module.
[0043] First, a speed command value ωref(t-1), a current command value Iref(t-1), a speed measurement value ω(t), and a current measurement value I(t) are input to a calculator of the detector 200 between times t1 and t2. When the mode signal signal(t-1) is the normal mode and the current measurement value I(t) falls within the measurement range Eb(t) (see FIG. 4) calculated in the calculation cycle (t-1), the calculator of the detector 200 outputs a mode signal signal(t) indicating the normal mode. On the other hand, when the mode signal signal(t-1) is the normal mode and the current measurement value I(t) does not fall within the measurement range Eb(t) (see FIG. 4), the detector 200 outputs a mode signal signal(t) indicating the correction mode.
[0044] Furthermore, the calculator of the detector 200 outputs a mode signal signal(t) indicating a normal mode when the mode signal signal(t-1) is in the correction mode and the absolute value of the difference between the speed measurement value ω(t) and the speed measurement value ω(t-1) is within a predetermined value. On the other hand, the detector 200 outputs a mode signal signal(t) indicating a correction mode when the mode signal signal(t-1) is in the correction mode and the absolute value of the difference between the speed measurement value ω(t) and the speed measurement value ω(t-1) is not within a predetermined value. Furthermore, the calculator of the detector 200 calculates a measurement range Eb(t+1) between times t1 and t4.
[0045] Between times t3 and t4, the measured current value I(t) and the mode signal signal(t) are input to the calculator of corrector 202. When the mode signal signal(t-1) is in the correction mode and the mode signal signal(t) is in the normal mode, the calculator of corrector 202 outputs a first correction value Ic1(t)=measured current value I(t) / k2 as shown in equation (3).
[0046] Furthermore, the calculator of the corrector 202 outputs a second correction value Ic2(t) when the mode signal signal(t) is in the correction mode. The second correction value Ic2(t) is fixed to the current measurement value Ic2 when the mode signal signal is changed from the normal mode to the correction mode. On the other hand, the calculator of the corrector 202 outputs the current measurement value I(t) when the mode signal signal(t) is in the normal mode.
[0047] The speed command value ωref(t), the measured speed value ω(t), and the mode signal signal(t) are input to the calculator of the first PI controller 204 between times t5 and t6. When the mode signal signal(t-1) is in the correction mode and the mode signal signal(t) is in the normal mode, the calculator of the first PI controller 204 outputs a current command value Iref(t) according to equation (9). On the other hand, the calculator of the first PI controller 204 outputs a current command value Iref(t) according to equation (1) in other cases.
[0048] The current command value Iref(t) and the second correction value Ic2(t) or the measured current value I(t) are input to the calculator of the second PI controller 206 during the period from time t7 to t8. When the mode signal signal(t) is in the normal mode, the measured current value I(t) is input to the calculator of the second PI controller 206, and the calculator outputs a voltage command value Vref(t) according to the expressions (4) and (5). On the other hand, when the mode signal signal(t) is in the correction mode, the calculator of the second PI controller 206 receives the second correction value Ic2(t) and outputs a voltage command value Vref(t) according to the expressions (4) and (6). In this way, the control device 20 executes calculations in the order of the detector 200, the corrector 202, the first PI controller 204, and the second PI controller 206 as time passes. This allows the calculations of the first PI controller 204 and the second PI controller 206 to be corrected by the correction values IC1 and IC2 generated by the corrector 202 in response to a change in the control mode by the detector 200 within the current control cycle t.
[0049] Fig. 7 is a block diagram showing a configuration example of a control device 20a according to a comparative example. As shown in Fig. 7, the control device 20a has a first PI controller 204a and a second PI controller 206a. The control device 20a according to the comparative example differs from the control device 20 according to the present embodiment in that the control device 20a does not have a detector 200 and a corrector 202. The first PI controller 204a and the second PI controller 206a according to the comparative example execute a control operation equivalent to that when the first PI controller 204 and the second PI controller 206 according to the present embodiment are operated in a normal mode.
[0050] Fig. 8 is a diagram showing time series changes in each signal of the control device 20 according to this embodiment. The vertical axis of Fig. 8(a) represents the load torque tor of the controlled object 30. The vertical axis of Fig. 8(b) represents the speed measurement value ω and the speed command value ωref. The vertical axis of Fig. 8(c) represents the current measurement value I and the current command value Iref. The vertical axis of Fig. 8(d) represents the voltage command value Vref.
[0051] In the control device 20 according to this embodiment, an increase in the load torque tor of the controlled object 30 occurs due to an external factor between times T1 and T2, as shown in Fig. 8(a). With this increase in the load torque tor, the speed measurement value ω(T) decreases, as shown in Fig. 8(b). On the other hand, since the speed command value ωref(T) is greater than the speed measurement value ω(T), the current command value Iref(T) increases.
[0052] 8(c), the detector 200 outputs a mode signal (signal) indicating the correction mode at time T2 when the current measurement value I(T) falls outside the measurement range Eb(T). As a result, the corrector 202 outputs the current measurement value I(T1) at time T1 to the second PI controller 206 as a second correction value Ic2.
[0053] As shown in Fig. 8(d), at time T1, the current command value Iref(T) becomes larger than the second correction value Ic2, so the voltage command value Vref output by the second PI controller 206 also increases. As a result, as shown in Fig. 8(b) again, at time T3, the speed ω starts to increase.
[0054] The detector 200 outputs a mode signal signal indicating the normal mode at time T4 when the speed measurement value ω increases and the magnitude relationship with the speed command value ωref is reversed. The corrector 202 outputs the first correction value Ic1 (see equation (3)) to the first PI controller 204 at time T4. The first PI controller 204 replaces the integral value with the first correction value Ic1 (see equation (9)) and executes control in the normal mode. Similarly, the second PI controller 206 transitions to control in the normal mode at time T4. As a result, as shown in FIG. 8(c), the current command value Iref(T) approaches and stabilizes with respect to the current measurement value I(T). As a result, as shown in FIG. 8(b), the minute oscillation of the speed measurement value ω(T) converges with the passage of time from time T4, and approaches and stabilizes with respect to the speed command value ωref(T).
[0055] Fig. 9 is a diagram showing time series changes of each signal of the control device 20a according to the comparative example. The horizontal axis indicates time. The vertical axis of Fig. 9(e) indicates the load torque tor of the controlled object 30. The vertical axis of Fig. 9(f) indicates the speed measurement value ω and the speed command value ωref. The vertical axis of Fig. 9(g) indicates the current measurement value I and the current command value Iref. The vertical axis of Fig. 9(h) indicates the voltage command value Vref.
[0056] In the comparative example compared to the signal example of Fig. 8, the load of the controlled object 30 increases between times T1a and T5a, as shown in Fig. 9(e). With this increase in load, the speed measurement value ω(Ta) decreases, as shown in Fig. 9(f). On the other hand, since the speed command value ωref is greater than the speed measurement value ω, the current command value Iref(Ta) increases.
[0057] On the other hand, in the comparative example, as shown in FIG. 9(g), even if a load fluctuation occurs, the normal mode remains, so that even if the load increases after time T1, a state may occur in which the measured current I(Ta) is greater than the current command value Iref(Ta). As a result, as shown in FIG. 9(h), the voltage command value Vref(Ta) decreases even though the speed ω is decreasing. Therefore, as shown in FIG. 9(f), the measured speed ω further decreases. On the other hand, in the control device 20 according to this embodiment, when a load fluctuation occurs, as described above, the second PI controller 206 uses the second correction value Ic2, so that instability of the control is suppressed.
[0058] Again, as shown in Fig. 9(g), the current command value Iref(T6a), which continues to increase, becomes greater than the measured current value I(T6a). This causes the voltage command value Vref(Ta) to start increasing at time T6a, as shown in Fig. 9(h). For this reason, the measured speed value ω starts to increase after time T6a, as shown in Fig. 9(f).
[0059] As shown in FIG. 9(f), at time T7a, the magnitude relationship between the speed measurement value ω(T7a) and the speed command value ωref(T7a) is reversed. However, in the comparative example, as shown in FIG. 9(g), the first PI controller 204 maintains a state in which the current command value Iref(Ta) is greater than the current measurement value I(Ta) until T8a due to the influence of the integral term (see equation (1)). As a result, as shown in FIG. 9(f), the speed measurement value ω(Ta) now exceeds the speed command value ωref(Ta). Thus, in the comparative example, the speed measurement value ω repeats oscillations and takes time to converge to the speed command value ωref. On the other hand, in the control device 20 according to the present embodiment, the first PI controller 204 replaces the integral value of the integral term with the first correction value (see equation (3)) as described above, so that the minute oscillations of the speed measurement value ω(T) converge (see equation (9)) and asymptotically approach the speed command value ωref(T) and stabilize.
[0060] Fig. 10 is a diagram showing an example of the configuration of a controlled object. As shown in Fig. 10, the controlled object 30 has, for example, a motor 301, a position sensor 302, a coordinate conversion unit 303, a PWM converter 304, an inverter 305, a current sensor 306, and an A / D converter 307. A position sensor 302 for detecting the rotational position of a rotor is attached to a permanent magnet synchronous motor 301 (hereinafter referred to as motor 301), which is, for example, a brushless DC motor. The position sensor 302 detects and outputs an electrical angle θ and a rotation speed ω, which is a speed measurement value. In addition, a load torque tor is connected to the motor as a load.
[0061] The coordinate conversion unit 303 receives an electrical angle θ, converts the voltage command value Vref into a three-phase voltage command based on the electrical angle θ, and outputs them to a PWM converter 304. The PWM converter 304 generates a three-phase PWM signal based on the three-phase voltage command Vuvw, and outputs it to an inverter 305 (power converter). Each phase output terminal of the inverter 305 is connected to each phase winding of the motor 301.
[0062] Each phase current detected by the current sensor 306 is A / D converted by an A / D converter 307 and output to the coordinate conversion unit 303. The coordinate conversion unit 303 outputs a current measurement value I. Note that the subscript DQ indicates a vector represented in a DQ coordinate system, but is not limited to this and may be one or more scalar values including necessary information.
[0063] 11 is a diagram showing an example of a circuit configuration of the control system 1. The control device 20 and a part of the controlled object 30 are configured as a microprocessor-based controller IC100 having an MCU (Micro Controller Unit). For example, the control device 20, the coordinate conversion unit 303, the PWM converter 304, and the A / D converter 307 are configured as an MCU (Micro Controller Unit). The inverter 305 is configured as a driver board D102. In this way, the detector 200, the corrector 202, the first PI controller 204, and the second PI controller 206 of the control device 20 can be integrally configured as an MCU.
[0064] FIG. 12 is a diagram showing an example of a circuit board of the control system 1. For example, this is an example in which the controller IC100 and the driver board D102 are configured as a microcomputer-mounted board. The microcomputer-mounted board M104 is equipped with the controller IC100 and the driver board D102. The position sensor 302 and the current sensor 306 are configured as a sensor board B106. The sensor board B106 is composed of, for example, a field effect transistor (FET) and a high-performance semiconductor power switch (PD: Intelligent Power Device). In this way, the control device 20 and a part of the controlled object 30 can be integrally configured as a circuit board.
[0065] 13 is a flowchart showing an example of processing by the control device 20. Here, an example will be described in which the control cycle t changes in time series from 1, 2, 3, 4, and so on. The explanation will be given assuming that the start of control is t=1 and the control mode is normal (signal is false). As described above, one control cycle corresponds to the period from t1 to t10 as shown in FIG. 6.
[0066] First, the speed command value ωref(t-1), the current command value Iref(t-1), the speed measurement value ω(t), the current measurement value I(t), and the mode signal signal(t-1) are input to the calculator of the detector 200 (step S100). Next, the detector 200 judges whether the mode signal signal(t-1) of the current control cycle is the normal mode (false) or the correction mode (true) (step S102). Note that the value of the previous control cycle mode signal signal(t-1) is held in the memory element of the detector 200, and at the start of the detection process of the current control cycle t, the value of the previous control cycle mode signal signal(t-1) indicates the mode of the current control cycle. On the other hand, at the end of the detection process of the current control cycle t, the value of the control cycle mode signal signal(t) indicates the mode of the current control cycle.
[0067] When the detector 200 determines that the mode signal signal(t-1) is the normal mode (false) (YES in step S102), it calculates the range prediction Eb(t) (step S104). Next, the detector 200 determines whether the current measurement value I(t) is within the range prediction Eb(t) (step S106). When the detector 200 determines that the current measurement value I(t) is within the range prediction Eb(t) (YES in step S106), it sets the mode signal signal(t) to the normal mode (false), the mode signal signal(t) is input to the calculator of the corrector 202 (step S108), and the current measurement value I(t) is output to the second PI controller 206 (step S110).
[0068] The first PI controller 204 calculates a current command value Iref(t) according to equation (1) using the measured speed value ω(t) and the speed command value ωref(t), and outputs the calculated current command value Iref(t) to the second PI controller 206 (step S112). Next, the second PI controller 206 calculates the current command value Iref(t) according to equation (1) (step S112). Using the measured current value I(t) and the current command value Iref(t), a voltage command value Vref(t) is calculated according to equations (4) and (5) and output to the control target 30 (step S114). If the processing device 10 does not subsequently end the control process (NO in step S116), 1 is added to t (step S118) and the control from step S100 is repeated. On the other hand, if the processing device 10 ends the control process (YES in step S116), the control of the control device 20 is terminated.
[0069] On the other hand, when the detector 200 determines that the detected value is not within the range prediction Eb(t) (NO in step S106), it sets the mode signal signal(t) to the correction mode (true), inputs the mode signal signal(t) to the calculator of the corrector 202 (step S120), and outputs I(t-1) as the second correction value IC2 to the second PI controller 206 (step S122). The corrector 202 maintains and outputs the second correction value IC2 until the mode signal signal(t) becomes the normal mode (false).
[0070] Next, the first PI controller 204 calculates a current command value Iref(t) according to equation (1) using the measured speed value ω(t) and the speed command value ωref(t), and outputs it to the second PI controller 206 (step S124). Next, the second PI controller 206 calculates a voltage command value Vref(t) according to equations (4) and (6) using the second correction value I(t-1) and the current command value Iref(t), and outputs it to the control object 30 (step S126).
[0071] On the other hand, when the detector 200 determines that the mode signal signal(t-1) before the control period is the correction mode (true) (NO in step S102), it calculates the absolute value of the difference between the speed command value ωref(t) and the speed measurement value ω(t) (step S128). Next, the detector 200 determines whether the sign of the difference value is inverted or the absolute value of the difference is within a predetermined value (step S106). For example, it determines whether the sign of the difference value is inverted or the absolute value of the difference is within 5 percent of the speed command value ωref(t).
[0072] When the detector 200 determines that the difference is not within the predetermined value (NO in step S130), it sets the mode signal signal(t) to the correction mode (true), inputs the mode signal signal(t) to the calculator of the corrector 202 (step S132), and outputs a second correction value IC2 to the second PI controller 206 (step S134). The first PI controller 204 and the second PI controller 206 execute the same calculations as those in steps S124 and S126.
[0073] On the other hand, when the detector 200 determines that the current is within the predetermined value (YES in step S130), it sets the mode signal signal(t) to the normal mode (false), inputs the mode signal signal(t) to the calculator of the corrector 202 (step S136), and outputs I(t) / k2 as the first correction value IC1 to the first PI controller 204 (step S138). In addition, the corrector 202 outputs the current measurement value I(t) to the second PI controller 206 (step S110).
[0074] The first PI controller 204 executes a calculation according to the formula (9) using the first correction value IC1, the speed measurement value ω(t), and the speed command value ωref(t), calculates a current command value Iref(t), and outputs it to the second PI controller 206 (step S140). The second PI controller 206 executes a calculation similar to that in step S114.
[0075] As described above, according to this embodiment, the detector 200 detects a change in the current measurement value I due to an external factor of the controlled object 30, changes the control mode to the correction mode, and the corrector 202 supplies the second correction value IC2 for correcting the output of the second PI controller 206 in response to the change to the correction mode. This enables the second PI controller 206 to perform control using the second correction value IC2 instead of the current measurement value I in a state in which a change due to an external factor of the controlled object 30 is occurring, and control instability caused by the change due to an external factor of the controlled object 30 can be suppressed.
[0076] At least a part of the control device 20 described in the above embodiment may be configured with hardware or software. When configured with software, a program that realizes at least a part of the functions of the control device 20 may be stored in a recording medium such as a flexible disk or a CD-ROM, and may be read and executed by a computer. The recording medium is not limited to a removable one such as a magnetic disk or an optical disk, but may be a fixed recording medium such as a hard disk unit or a memory.
[0077] In addition, a program that realizes at least a part of the functions of the control device 20 may be distributed via a communication line (including wireless communication) such as the Internet. Furthermore, the program may be encrypted, modulated, or compressed and distributed via a wired line or wireless line such as the Internet, or stored in a recording medium.
[0078] Although several embodiments have been described above, these embodiments are presented only as examples and are not intended to limit the scope of the invention. The novel device, method, and program described in this specification can be embodied in various other forms. In addition, various omissions, substitutions, and modifications can be made to the forms of the device, method, and program described in this specification without departing from the gist of the invention. [Explanation of symbols]
[0079] 1: control system, 20: control device, 30: controlled object, 200: detector, 202: compensator, 204: first PI controller, 206: second PI controller, 301: motor, tor: load torque.
Claims
1. A control device for controlling a control target, a first controller that receives as input a first measurement value measured by the controlled object and a first command value that is a target value of the first measurement value and generates a second command value; a second controller that receives as input a second measurement value of the controlled object and the second command value and generates a target value to be supplied to the controlled object as a third command value; a detector that detects a change in the second measurement value due to an external factor of the controlled object and changes a control mode; a corrector that generates a second correction value and corrects the second controller in accordance with the control mode.
2. the control mode has at least one of a first mode and a second mode, and the control of the controlled object is a feedback control that repeats a predetermined control cycle; the second controller, when a current control cycle is in the first mode, receives as input the second measurement value and the second command value and generates the third command value; 2 . The control device according to claim 1 , wherein, when a current control cycle is in the second mode, the control device generates the third command value using a second correction value and the second command value as inputs.
3. 3. The control device according to claim 2, wherein the corrector outputs the second measurement value to the second controller when in the first mode, and outputs the second correction value to the second controller when in the second mode.
4. 3. The control device according to claim 2, wherein the detector changes the current control cycle from the first mode to the second mode when the current control cycle is the first mode and the second measurement value changes independently of a transition of the second command value.
5. 3. The control device according to claim 2, wherein the detector generates an estimate of the second measurement value in a current control cycle based on a transition between the second measurement value and the second command value in past control cycles, and changes the current control cycle from the first mode to the second mode when a difference between the second measurement value and the estimate is equal to or greater than a threshold value.
6. 3. The control device according to claim 2, wherein the detector estimates a range of the second measurement value in a current control cycle based on a transition between the second measurement value and the second command value in past control cycles, and changes the current control cycle from the first mode to the second mode when the second measurement value is outside the range.
7. 3. The control device according to claim 2, wherein the detector changes the current control cycle from the second mode to the first mode when the current control cycle is the second mode and a difference value between the first measurement value and the first command value is reversed.
8. 3. The control device according to claim 2, wherein when the current control cycle is changed from the first mode to the second mode, the corrector holds and outputs the second measurement value measured during the control cycle immediately preceding the current control cycle as the second correction value.
9. 3. The control device according to claim 2, wherein when the current control cycle is changed from the first mode to the second mode, the corrector holds and outputs the second measurement value during a period in which the fluctuation is equal to or less than a predetermined value in a plurality of past control cycles as the second correction value.
10. the first controller generates the second command value for the current control cycle based on a current difference value between the first measurement value and the first command value for the current control cycle and an integral value obtained by integrating a past difference value between the first measurement value and the first command value for a past control cycle, the corrector outputs a first correction value based on the second measurement value of a current control cycle to the first controller when the mode is changed from the second mode to the first mode; The control device according to claim 9 , wherein the first controller generates the second command value based on the current difference value and the first correction value when the mode is changed from the second mode to the first mode.
11. 11. The control device according to claim 1, wherein the controlled object is a DC motor, the first measurement value is a measured rotational speed of the DC motor, the second command value is a target value of a current, the second measurement value is a measured current value of the DC motor, and the third command value is a target value of a voltage supplied to the DC motor.
12. A control method for controlling a control target, comprising: a first control step of generating a second command value using a first measurement value measured by the control object and a first command value which is a target value of the first measurement value as input; a second control step of generating a target value to be supplied to the controlled object as a third command value using a second measured value of the controlled object and the second command value as inputs; a detection step of detecting a change in the second measurement value due to an external factor of the controlled object and changing a control mode; and a correcting step of generating a second correction value and correcting the third command value in accordance with the control mode.
13. A DC motor; A control system comprising: a control device for controlling the DC motor, The control device includes: a first controller that receives as input a first measurement value, which is a measured rotation speed of the DC motor, and a first command value, which is a target value of the first measurement value, and generates a target value of a current as a second command value; a second controller that receives as input a second measurement value, which is a current value measured in the DC motor, and the second command value, and generates a target value of a voltage to be supplied to the DC motor as a third command value; a detector that detects a change in the second measurement value due to an external factor of the DC motor and changes a control mode; a corrector that generates a second correction value and corrects the second controller in accordance with the control mode.
Citation Information
Patent Citations
Motor controller and three-phase voltage command generating method of motor
JP2013172550A
Cited By
Gearbox lubricant contamination measurement device
KR1020250046632A