Servo Amplifier
The servo amplifier addresses inaccuracies in position detection by estimating and correcting position information, improving the accuracy of servo motor control through a detection position determination and time information generation unit.
Patent Information
- Application Number
- JP2023509904
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-29
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2041-03-29
AI Technical Summary
Existing servo amplifiers fail to accurately account for fluctuations in position detection time due to individual differences and environmental factors, leading to inaccurate position information for servo motor control.
A servo amplifier that includes a detection position determination unit, a time information generation unit, and a position information correction unit to estimate and correct position information based on detected positions and time information, ensuring accurate output to the controller.
Improves the accuracy of position information output to the controller for servo motor control, enhancing the precision of servo motor operations.
Smart Images

Figure 0007607744000001 
Figure 0007607744000002 
Figure 0007607744000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a servo amplifier that corrects position information before outputting it to a controller for controlling a servo motor. [Background technology]
[0002] Conventionally, various techniques have been proposed for the servo amplifier. For example, the detected position data transmitting output device described in the following Patent Document 1 is a device that outputs position data to the outside at a fixed transmission period, and is characterized by comprising a receiving means for inputting information for determining a numerical value D indicating a delay time from the outside, a position detecting means for detecting a position at a period faster than the transmission period, a position predicting means for predicting position data after a time D has elapsed from the time when the position data immediately before the position data is output to the outside was detected, based on two or more position data before the position data is output to the outside, and a transmitting means for transmitting the predicted position data.
[0003] According to the description in the following Patent Document 1, in the detected position data transmission output device, a numerical value D indicating a delay time in the conventional example can be set externally, and the position data after the time D from the detection time of the latest position data is estimated based on position data with a smaller time difference than in the conventional example, making it possible to estimate the position accurately. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 10-301630 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in this detected position data transmission output device, the time required for the position detection by the position detection means is treated as if it does not exist, even though it constantly varies due to factors such as individual differences and the surrounding environment, and the start time of the cycle is considered to be the detection time of the position data. Therefore, the position (data) detected by the position detection means and the position data predicted by the position prediction means are poor in accuracy in relation to time and duration.
[0006] The present disclosure has been made in consideration of the above-mentioned points, and has an object to provide a servo amplifier that can improve the accuracy of position information output to a controller for controlling a servo motor. [Means for solving the problem]
[0007] The present specification relates to a servo amplifier that outputs position information of a servo motor or an object to be driven by the servo motor to a controller, and then receives an operation command generated by the controller using the position information, thereby executing control of the servo motor based on the operation command, the servo amplifier including: a detected position determination unit that determines a detected position of the servo motor or the object to be driven in an encoder attached to the servo motor or the object to be driven for each control period of the servo motor, and generates time information indicating a time point at which the detected position was determined; and a position information correction unit that uses the detected position and the time information to estimate an estimated position of the servo motor or the object to be driven at an ideal time point at which a reference time has elapsed from a reference time point that arrives for each control period, and outputs information indicating the estimated position to the controller as position information. The detected position determination unit determines the detected position upon input of a determination command, and generates time information by changing a value of a flag. The position information correction unit includes an output unit that outputs a determination command to the detected position determination unit at a reference time point, a determination unit that determines the determination time point of the detected position based on the change in the value of the flag, a calculation unit that calculates an elapsed time from the reference time point to the determination time point of the detected position as an acquisition time, and an estimation unit that estimates an estimated position by using the detected position and the acquisition time. This disclosure discloses a servo amplifier. Effect of the Invention
[0008] According to the present disclosure, a servo amplifier can improve the accuracy of position information that is output to a controller for controlling a servo motor. [Brief description of the drawings]
[0009] [Figure 1] FIG. 2 is a schematic configuration diagram of a component mounter. [Diagram 2] 2 is a block diagram showing an electrical connection relationship between a component mounter and a management server. FIG. [Diagram 3] FIG. 4 is a block diagram showing the electrical connection relationship between a controller, an R-axis servo amplifier, and an encoder. [Figure 4] FIG. 13 is a graph showing an example of the relationship between each control period and the rotational position of the R-axis motor. [Diagram 5] 13 is a flowchart showing an example of a correction procedure performed by the R-axis servo amplifier. [Figure 6] 13 is a flowchart illustrating an example of a procedure for an estimation process. [Figure 7] FIG. 13 is a graph showing an example of the relationship between each control period and the rotational position of the R-axis motor in the first modified example. [Figure 8] FIG. 11 is a block diagram of a first modified example, showing the electrical connection relationship between a controller, an R-axis servo amplifier, and an encoder. [Figure 9] FIG. 13 is a graph showing an example of the relationship between each control period and the rotational position of the R-axis motor in the second modified example. [Figure 10] FIG. 13 is a block diagram of a third modified example, showing the electrical connection relationship between a controller, an X-axis servo amplifier, and an X-axis linear scale. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Next, an embodiment of the present disclosure will be described with reference to the drawings. Note that in the drawings, some components may be omitted, and the dimensional ratios of the various components may not be accurate.
[0011] Fig. 1 is a schematic diagram of a component mounter 10. Fig. 2 is a block diagram showing an electrical connection relationship between the component mounter 10 and a management server 70. Note that the left-right direction in Fig. 1 is the X-axis direction, the front-rear direction is the Y-axis direction, and the up-down direction is the Z-axis direction. A plurality of component mounters 10 are arranged in the X-axis direction, which is the board transport direction, to form a component mounting line.
[0012] 1, the component mounter 10 includes a component supply device 21, a mounter main body including a board transport device 22 and an XY movement device 30, and a mounting head 40. The mounter main body is disposed in a housing 12 supported by a base 11. The component supply device 21 and the mounting head 40 are configured to be detachable from the mounter main body. In addition, the component mounter 10 includes a display device 28, a servo control unit 65 that controls servo motors for each axis of the mounting head 40 (to be described later), and a controller 60 that controls the entire device, as shown in FIG.
[0013] The component supply device 21 supplies components to a component supply position. The component supply device 21 is configured as a tape feeder that supplies components by pulling out a tape, in which components are stored, from a reel and pitch-feeding the tape into storage sections formed at predetermined intervals. The tape feeders are detachably attached to a plurality of feeder tables arranged in the left-right direction (X-axis direction) on the front side of the base 11.
[0014] The substrate transport device 22 loads, fixes, and unloads the substrate C in the left-right direction (X-axis direction). The substrate transport device 22 includes a pair of conveyor belts that are spaced apart from each other and span the left-right direction in FIG. 1. The substrate C is transported by the conveyor belts.
[0015] As shown in FIG. 1, the XY moving device 30 includes an X-axis slider 32 and a Y-axis slider 36, and moves the mounting head 40 on the XY plane. The X-axis slider 32 is supported by a pair of upper and lower X-axis guide rails 31 provided on the front surface of the Y-axis slider 36 so as to extend in the left-right direction, and moves in the left-right direction, i.e., in the X-axis direction, by driving an X-axis motor 33 (see FIG. 2). The Y-axis slider 36 is supported by a pair of left and right Y-axis guide rails 35 provided on the upper stage of the housing 12 so as to extend in the front-rear direction, and moves in the front-rear direction, i.e., in the Y-axis direction, by driving a Y-axis motor 37 (see FIG. 2). The XY moving device 30 also includes an X-axis linear scale for detecting the moving position of the X-axis slider 32 and a Y-axis linear scale for detecting the moving position of the Y-axis slider 36. The mounting head 40 is detachably attached to the X-axis slider 32. Therefore, the mounting head 40 can be moved in the X and Y directions by the XY movement device 30.
[0016] The mounting head 40 picks up (sucks) components supplied from the component supply device 21 with the suction nozzles 44 and mounts them on the board C fixed to the board transport device 22. The mounting head 40 includes a head body 41 in which nozzle holders that hold the multiple suction nozzles 44 are arranged at predetermined intervals in the circumferential direction, multiple servo motors, and encoders for each servo motor. As shown in Fig. 2, the mounting head 40 includes an R-axis motor 51, a Q-axis motor 53, a first Z-axis motor 55, and a second Z-axis motor 57 as servo motors, and encoders 52, 54, 56, and 58 as encoders for the servo motors.
[0017] The R-axis motor 51 rotates the head body 41 around its axis (R-axis), thereby rotating the suction nozzles 44 held by each nozzle holder in the circumferential direction of the head body 41. The encoder 52 detects the rotational position (rotation angle) of the R-axis motor 51, and stores and outputs information such as the detected rotational position. The Q-axis motor 53 rotates (spins) each nozzle holder around its axis (Q-axis), thereby rotating the suction nozzles 44 around their axis. The encoder 54 detects the rotational position (rotation angle) of the Q-axis motor 53, and stores and outputs information such as the detected rotational position. The first and second Z-axis motors 55 and 57 raise and lower the nozzle holder (suction nozzle 44) at two predetermined positions on the rotation orbit of the suction nozzle 44, respectively, thereby causing the two suction nozzles 44 to individually perform the suction operation of suctioning components. The encoders 56 and 58 detect the rotational positions (rotational angles) of the first and second Z-axis motors 55 and 57, respectively, and store and output information such as the detected rotational positions.
[0018] The servo control unit 65 feedback-controls each servo motor of the mounting head 40 attached to the mounting machine body based on a target value included in an operation command (control signal) generated by the controller 60. At this time, the controller 60 receives information such as the rotational position of the servo motor detected by each encoder from the servo control unit 65, and generates an operation command (control signal) using the received information. In this embodiment, the servo control unit 65 includes an R-axis servo amplifier 66, a Q-axis servo amplifier 67, a first Z-axis servo amplifier 68, and a second Z-axis servo amplifier 69. The R-axis servo amplifier 66 receives information such as the rotational position of the R-axis motor 51 from the encoder 52, and feedback-controls the R-axis motor 51. The Q-axis servo amplifier 67 receives information such as the rotational position of the Q-axis motor 53 from the encoder 54, and feedback-controls the Q-axis motor 53. The first Z-axis servo amplifier 68 receives information such as the rotational position of the first Z-axis motor 55 from the encoder 56, and feedback-controls the first Z-axis motor 55. The second Z-axis servo amplifier 69 receives information such as the rotational position of the second Z-axis motor 57 from the encoder 58 and performs feedback control of the second Z-axis motor 57. Note that a configuration may be adopted in which multiple servo motors are controlled by one multi-axis servo amplifier.
[0019] 2, the controller 60 is configured as a microprocessor with a CPU 61 at its center, and includes, in addition to the CPU 61, a ROM 62 for storing processing programs, a RAM 63 used as a working area, a HDD 64 as an external storage device for storing various data, an input / output interface, a real-time clock (RTC) for measuring date and time, etc. The controller 60 outputs control signals to the component supply device 21, the board transport device 22, the display device 28, the XY movement device 30 (X-axis motor 33, Y-axis motor 37), a servo control unit 65, etc. The controller 60 also receives inputs of information from the component supply device 21, the board transport device 22, the XY movement device 30 (X-axis linear scale, Y-axis linear scale), the servo control unit 65, etc.
[0020] The management server 70 is, for example, a general-purpose computer, and manages a plurality of component mounters 10. As shown in FIG. 2, the management server 70 is configured as a microprocessor centered on a CPU 71, and in addition to the CPU 71, includes a ROM 72 for storing processing programs, a RAM 73 used as a working area, a HDD 74 as an external storage device for storing various data, an input / output interface, and a real-time clock (RTC) for measuring date and time. An input signal is input to the management server 70 from an input device 76 such as a mouse or keyboard. An image signal is output from the management server 70 to a display device 78. The management server 70 can also exchange necessary information with each of the plurality of component mounters 10 via communication. The HDD 74 of the management server 70 stores production jobs for the board C. The production jobs for the board C include a production schedule, such as which components are to be mounted on the board C in which order by each component mounter 10, and how many boards C with components mounted thereon are to be produced. The management server 70 generates a production job based on data input by the operator via the input device 76, and sends the generated production job to each component mounter 10, thereby instructing each component mounter 10 to start production.
[0021] As described above, when feedback control of each servo motor is performed, the controller 60 outputs an operation command (control signal) to the servo control unit 65. The operation command (control signal) is generated in the controller 60 based on information such as the rotational position of each servo motor (hereinafter referred to as position information) input from the servo control unit 65. However, in this embodiment, the position information is corrected in the servo control unit 65 before being output to the controller 60.
[0022] In the following, the R-axis servo amplifier 66 will be taken as an example of the multiple servo amplifiers included in the servo control unit 65, and the correction of position information performed by the R-axis servo amplifier 66 will be described. Note that the Q-axis servo amplifier 67, the first Z-axis servo amplifier 68, and the second Z-axis servo amplifier 69 also correct position information in the same manner as the R-axis servo amplifier 66.
[0023] 3, the R-axis servo amplifier 66 is configured around a CPU 101 and includes, in addition to the CPU 101, a ROM 103 for storing a processing program, a RAM 105 used as a working area, a communication circuit 107, an input / output interface, a real-time clock (RTC) for measuring the date and time, etc. In addition to the processing program, the ROM 103 stores data indicating the time T of a control cycle and data indicating a fixed time CT, etc. The time T of a control cycle refers to the length of time of a cycle repeated by feedback control of the R-axis motor 51.
[0024] The communication circuit 107 starts communication with the encoder 52 when a control signal of a determination command 109 is input from the CPU 101, and includes a CPU, ROM, RAM, an input / output interface, etc. (not shown), as well as a flag 111. As described above, the encoder 52 detects the rotational position of the R-axis motor 51, and includes a memory 113. The memory 113 is a volatile memory such as an SRAM. The memory 113 stores data indicating the rotational position Ptb detected by the encoder 52 (hereinafter referred to as the detected position).
[0025] Data indicating the detected position Ptb is input to the CPU 101 by the communication circuit 107. The CPU 101 estimates the rotational position of the R-axis motor 51 required for feedback control, that is, the rotational position of the R-axis motor 51 at an ideal time point within a control period, from the data indicating the detected position Ptb and the like, as described below, and outputs information including the estimated rotational position (hereinafter referred to as the estimated position) to the controller 60 as position information 115. The controller 60 generates a control signal for a movement command 117 based on the position information 115, and outputs the control signal for the movement command 117 to the R-axis servo amplifier 66. The R-axis servo amplifier 66 feedback controls the R-axis motor 51 based on the control signal for the movement command 117.
[0026] Next, with reference to Fig. 4, terms necessary for explaining the flowcharts of Fig. 5 and Fig. 6 will be explained. Fig. 5 and Fig. 6 are flowcharts showing a correction procedure 99 performed by the R-axis servo amplifier 66.
[0027] Fig. 4 is a graph in which the horizontal axis represents each control period CC of the R-axis motor 51 and the vertical axis represents the rotational position of the R-axis motor 51. In the graph of Fig. 4, black circles indicate actual measured values, and white circles indicate calculated values.
[0028] As described above, the symbol T indicates the time of each control period CC. The time T of each control period CC is, for example, 60 μsec. The symbol ty indicates the start time of the control period CC. The symbol ta indicates the reference time point. The reference time point ta is a time point at which a certain time CT has elapsed from the start time point ty of the control period CC. The symbol tb indicates the determination time point of the detected position Ptb. The symbol tc indicates the ideal time point. The ideal time point tc is a time point at which a reference time ST has elapsed from the reference time point ta. The symbol TB indicates the acquisition time. The acquisition time TB is the elapsed time from the reference time point ta to the determination time point tb of the detected position Ptb. The acquisition time TB differs for each control period CC and is, for example, a value within the range of 8 μ±0.5 μsec. The symbol Pct indicates the estimated position (rotational position) of the R-axis motor 51 at the ideal time point tc.
[0029] Of the numbers 0, -1, and -2 in parentheses attached to the code CC indicating each control cycle, the number 0 indicates the current control cycle CC, the number -1 indicates the previous control cycle CC, and the number -2 indicates the control cycle CC before last. Therefore, the feedback control of the R-axis motor 51 transitions from the control cycle CC(-2) before last to the previous control cycle CC(-1), and transitions from the previous control cycle CC(-1) to the current control cycle CC(0).
[0030] The same applies to the numbers 0, -1, and -2 in parentheses attached to other symbols. Therefore, the symbol ty(0) indicates the start point of the current control cycle CC(0).
[0031] The symbol ty(-1) indicates the start point of the previous control cycle CC(-1). The symbol ta(-1) indicates the reference point in the previous control cycle CC(-1). The symbol tb(-1) indicates the determination point of the detected position Ptb in the previous control cycle CC(-1). The symbol tc(-1) indicates the ideal point in the previous control cycle CC(-1). The symbol TB(-1) indicates the acquisition time in the previous control cycle CC(-1). The symbol ST(-1) indicates the reference time in the previous control cycle CC(-1). The symbol Ptb(-1) indicates the detected position in the previous control cycle CC(-1). The symbol Ptc(-1) indicates the estimated position in the previous control cycle CC(-1).
[0032] The symbol ta(-2) indicates the reference point in the control cycle CC(-2) before last. The symbol tb(-2) indicates the determination point of the detected position Ptb (not shown) in the control cycle CC(-2) before last. The symbol tc(-2) indicates the ideal point in time in the control cycle CC(-2) before last. The symbol TB(-2) indicates the acquisition time in the control cycle CC(-2) before last. The symbol ST(-2) indicates the reference time in the control cycle CC(-1) before last. The symbol Ptc(-2) indicates the estimated position in the control cycle CC(-2) before last.
[0033] The symbol dT indicates the time difference. The time difference dT is the value obtained by subtracting the acquisition time TB(-1) from the reference time ST(-1) in the previous control cycle CC(-1). The symbol dP indicates the position difference. The position difference dP is the value obtained by subtracting the estimated position Ptc(-2) in the control cycle CC(-2) before last from the detected position Ptb(-1) in the previous control cycle CC(-1). The symbol PC indicates the correction value. The correction value PC corresponds to the difference between the detected position Ptb(-1) and the estimated position Ptc(-1) in the previous control cycle CC(-1).
[0034] Next, a correction procedure 99 performed in the R-axis servo amplifier 66 will be described with reference to the flowcharts of Figures 5 and 6. The processing program for the correction procedure 99 is stored in the ROM 103 of the R-axis servo amplifier 66 and the (ROM of) the communication circuit 107, and is executed by the CPU 101 of the R-axis servo amplifier 66 and the (CPU of) the communication circuit 107.
[0035] First, each process performed in the previous control cycle CC(-1) will be described. In a judgment process S10, the CPU 101 of the R-axis servo amplifier 66 judges whether the reference time ta(-1) has passed. In the judgment process S10, it is judged that the reference time ta(-1) has passed when a certain time CT has passed from the start time ty(-1) of the previous control cycle CC(-1).
[0036] If it is before the reference time ta(-1) (S10: NO), the judgment process S10 is repeated. On the other hand, if the reference time ta(-1) has passed (S10: YES), the CPU 101 of the R-axis servo amplifier 66 performs a first output process S12. In the first output process S12, the CPU 101 of the R-axis servo amplifier 66 outputs a control signal of a determination command 109 to the communication circuit 107.
[0037] On the other hand, in a determination process S100, the communication circuit 107 determines whether a control signal of the determination command 109 has been input. If the control signal of the determination command 109 has not been input (S100: NO), the determination process S100 is repeated. On the other hand, if the control signal of the determination command 109 has been input (S100: YES), the communication circuit 107 performs a preparation process S102. In the preparation process S102, the communication circuit 107 prepares to communicate with the encoder 52.
[0038] Thereafter, the communication circuit 107 performs a determination process S104. In the determination process S104, the communication circuit 107 changes the value of the flag 111. Furthermore, the communication circuit 107 causes the encoder 52 to detect the rotational position of the R-axis motor 51, and stores the detection data in the memory 113 as data indicating the detected position Ptb(-1). This determines the detected position Ptb(-1) in the previous control cycle CC(-1).
[0039] Furthermore, the communication circuit 107 performs a transmission process S106. In the transmission process S106, the communication circuit 107 transmits data indicating the detected position Ptb(-1) read out from the memory 113 of the encoder 52 to the CPU 101 of the R-axis servo amplifier 66.
[0040] Meanwhile, in a determination process S14, the CPU 101 of the R-axis servo amplifier 66 determines whether the value of the flag 111 of the communication circuit 107 has been changed. If the value of the flag 111 of the communication circuit 107 is maintained (S14: NO), the determination process S14 is repeated. On the other hand, if the value of the flag 111 of the communication circuit 107 has been changed (S14: YES), the CPU 101 of the R-axis servo amplifier 66 performs a determination process S16. In the determination process S16, the CPU 101 of the R-axis servo amplifier 66 reads the current time and determines the read time as the determination time tb(-1) of the detection position Ptb(-1).
[0041] Furthermore, the CPU 101 of the R-axis servo amplifier 66 performs a reception process S18. In the reception process S18, the CPU 101 of the R-axis servo amplifier 66 receives data indicating the detected position Ptb(-1) from the communication circuit 107.
[0042] Thereafter, in a judgment process S20, the CPU 101 of the R-axis servo amplifier 66 judges whether the current control cycle CC(0) has started, that is, whether the start time ty(0) of the current control cycle CC(0) has passed. In the judgment process S20, it is judged that the start time ty(0) of the current control cycle CC(0) has passed when the time T of the control cycle CC has passed since the start time ty(-1) of the previous control cycle CC(-1).
[0043] If it is before the start time ty(0) of the current control cycle CC(0) (S20: NO), the determination process S20 is repeated. On the other hand, if the start time ty(0) of the current control cycle CC(0) has passed (S20: YES), the CPU 101 of the R-axis servo amplifier 66 sequentially performs the calculation process S22, the estimation process S24, and the second output process S26. As a result, the calculation process S22, the estimation process S24, and the second output process S26 are performed in the current control cycle CC(0).
[0044] In the calculation process S22, the elapsed time from the reference time point ta(-1) in the previous control cycle CC(0) to the determination time point tb(-1) of the detected position Ptb(-1) is calculated as the acquisition time TB(-1) in the previous control cycle CC(0).
[0045] The acquisition time TB differs for each control period CC due to individual differences in the CPU 101, communication circuit 107, and encoder 52 of the R-axis servo amplifier 66, and due to factors such as the surrounding environment.
[0046] In the estimation process S24, the rotational position of the R-axis motor 51 at the ideal time point tc(-1) in the previous control cycle CC(-1), that is, the estimated position Ptc(-1) in the previous control cycle CC(-1), is calculated. To this end, the CPU 101 of the R-axis servo amplifier 66 sequentially performs an averaging process S50, a first estimation process S52, a second estimation process S54, a third estimation process S56, and a fourth estimation process S58, as shown in FIG.
[0047] In the averaging process S50, the average value of the acquired time TB up to the control cycle CC(-2) before last is calculated as the reference time ST(-1) in the previous control cycle CC(-1). In Fig. 6, the average value of the acquired time TB up to the control cycle CC(-2) before last is represented as Average(...,TB(-2)).
[0048] In the first estimation process S52, the position difference dP is calculated by subtracting the estimated position Ptc(-2) in the control cycle CC(-2) before last from the detected position Ptb(-1) in the previous control cycle CC(-1). Note that the estimated position Ptc(-2) in the control cycle CC(-2) before last is the one calculated in the estimation process S24 performed in the previous control cycle CC(-1). In the second estimation process S54, the time difference dT is calculated by subtracting the acquired time TB(-1) from the reference time ST(-1) in the previous control cycle CC(-1).
[0049] In the third estimation process S56, the position difference dP is divided by the time T of the control cycle CC, and the resultant value is multiplied by the time difference dT to calculate the correction value PC. In the third estimation process S56, the correction value PC is calculated on the basis of the following conditions (A) and (B). (A) As shown by the dotted line in FIG. 4, in each control period CC, the relationship between the rotational position of the R-axis motor 51 and time is approximated by a linear function. (B) The elapsed time from the ideal point in time Ptc(-2) in the control cycle CC(-2) before last to the determination point in time tb(-1) of the detected position Ptb(-1) in the previous control cycle CC(-1) is regarded as the time T of the control cycle CC.
[0050] In the fourth estimation process S58, the correction value PC is added to the detected position Ptb(-1) in the previous control cycle CC(-1) to calculate the estimated position Ptc(-1) at the ideal time point tc(-1) in the previous control cycle CC(-1).
[0051] In this manner, the CPU 101 of the R-axis servo amplifier 66 performs the estimation process S24 shown in FIG.
[0052] In the second output process S26, information including the estimated position Ptc(-1) at the ideal time point tc(-1) in the previous control cycle CC(-1) is output to the controller 60 as position information 115.
[0053] Thereafter, the controller 60 uses the position information 115, i.e., the estimated position Ptc(-1) at the ideal time point tc(-1) in the previous control cycle CC(-1), to generate a control signal for a movement command 117 for the current control cycle CC(0), and outputs the control signal for the movement command 117 to the R-axis servo amplifier 66. The R-axis servo amplifier 66 feedback-controls the R-axis motor 51 based on the control signal for the movement command 117 for the current control cycle CC(0).
[0054] As described above in detail, the R-axis servo amplifier 66 of this embodiment can improve the accuracy of the position information 115 output to the controller 60 for feedback control of the R-axis motor 51 by the correction procedure 99. This point is also the same in the case where the Q-axis servo amplifier 67, the first Z-axis servo amplifier 68, and the second Z-axis servo amplifier 69 feedback control the Q-axis motor 53, the first Z-axis motor 55, and the second Z-axis motor 57.
[0055] In this embodiment, the R-axis motor 51, the Q-axis motor 53, the first Z-axis motor 55, and the second Z-axis motor 57 are examples of servo motors. The change in the value of the flag 111 is an example of time information. The communication circuit 107 is an example of a detected position determination unit. The CPU 101 is an example of a position information correction unit.
[0056] The first output process S12 performed by the CPU 101 is an example of an output unit. The determination process S16 performed by the CPU 101 is an example of a determination unit. The calculation process S22 performed by the CPU 101 is an example of a calculation unit. The estimation process S24 performed by the CPU 101 is an example of an estimation unit.
[0057] The first estimation process S52 performed by the CPU 101 is an example of a first estimation section. The second estimation process S54 performed by the CPU 101 is an example of a second estimation section. The third estimation process S56 performed by the CPU 101 is an example of a third estimation section. The fourth estimation process S58 performed by the CPU 101 is an example of a fourth estimation section.
[0058] In addition, the present disclosure is not limited to the above embodiment, and various modifications are possible without departing from the spirit of the present disclosure. For example, the calculation process S22 and the estimation process S24 may be performed between the reception process S18 and the determination process S20 in the previous control cycle CC(0).
[0059] Furthermore, if the encoder 52 cannot normally detect the rotational position of the R-axis motor 51 due to noise or other factors, the estimated position Ptc(-1) in the previous control cycle CC(-1) may be calculated, for example, by a known technique. In such a case, however, the acquisition time TB(-1) in the previous control cycle CC(-1) is excluded from the target of the averaging process S50 to be performed thereafter.
[0060] Also, as shown in Fig. 7, a predetermined time PT may be used as the reference time ST in each control cycle CC. To implement such a first modified example, for example, as shown in Fig. 8, data indicating the predetermined time PT is stored in advance in the ROM 103 of the R-axis servo amplifier 66. The predetermined time PT is, for example, 8 μsec.
[0061] Also, the start time ty of each control cycle CC may be used as the reference time ta in each control cycle CC. In such a second modified example, the start time ty and the reference time ta in each control cycle CC coincide with each other. For example, Fig. 9 shows a case where the start time ty(-1) and the reference time ta(-1) in the previous control cycle CC(-1) coincide with each other.
[0062] Furthermore, if the X-axis motor 33 is a linear servo motor, the correction procedure 99 may be performed when feedback control of the X-axis motor 33 is performed. In such a third modified example, an X-axis servo amplifier 80 and an X-axis linear scale 82 shown in Fig. 10 are provided in the component mounter 10. In Fig. 10, parts that are substantially the same as those in the above embodiment are given the same reference numerals, and detailed description of the first modified example will be omitted.
[0063] The X-axis servo amplifier 80 is electrically connected to the controller 60 and the X-axis motor 33, and performs a correction procedure 99 when feedback controlling the X-axis motor 33. The X-axis linear scale 82 is the above-mentioned X-axis linear scale, electrically connected to the X-axis servo amplifier 80, and provided in the XY moving device 30. The X-axis linear scale 82 detects the moving position of the X-axis slider 32, but may also detect the moving position of the X-axis motor 33 (linear servo motor). On the other hand, when the X-axis motor 33 is a rotary servo motor, an X-axis encoder that detects the rotational position of the X-axis motor 33 is provided instead of the X-axis linear scale 82. This point is similar to the case where the Y-axis motor 37 is a linear servo motor or a rotary servo motor.
[0064] In the third modified example, the X-axis slider 32 is an example of an object to be driven. The X-axis motor 33 is an example of a servo motor. The X-axis linear scale 82 is an example of an encoder. [Explanation of symbols]
[0065] 32: X-axis slider, 33: X-axis motor, 51: R-axis motor, 52: Encoder, 53: Q-axis motor, 54: Encoder, 55: 1st Z-axis motor, 56: Encoder, 57: 2nd Z-axis motor, 58: Encoder, 60: Controller, 66: R-axis servo amplifier, 67: Q-axis servo amplifier, 68: 1st Z-axis servo amplifier, 69: 2nd Z-axis servo amplifier, 80: X-axis servo amplifier, 82: X-axis linear scale, 101: CPU of R-axis servo amplifier, 107: Communication circuit, 109: Confirmation command, 111: Flag, 115: Position information, 117: Operation command, Average: Average value of acquisition time , CC: control cycle, CC(0): current control cycle, CC(-1): previous control cycle, CC(-2): previous control cycle, CT: fixed time, dP: position difference, dT: time difference, PC: correction value, Ptb: detected position, Ptc: estimated position, PT: specified time, S12: first output process, S16: identification process, S22: calculation process, S24: estimation process, S52: first estimation process, S54: second estimation process, S56: third estimation process, S58: fourth estimation process, ST: reference time, T: time of control cycle, TB: acquisition time, ta: reference time point, tb: time point when detected position is determined, tc: ideal time point, ty: start point of control cycle
Claims
1. A servo amplifier that outputs position information of a servo motor or an object to be driven by the servo motor to a controller, and then inputs an operation command generated by the controller using the position information, thereby executing control of the servo motor based on the operation command, a detection position determination unit that determines a detection position of the servo motor or the driven object in an encoder attached to the servo motor or the driven object for each control period of the servo motor and generates time information indicating a time point when the detection position is determined; a position information correction unit that estimates an estimated position of the servo motor or the driven object at an ideal time point at which a reference time has elapsed since a reference time point that arrives in each control cycle, using the detected position and the time information, and outputs information indicating the estimated position to the controller as the position information, the detection position determination unit determines the detection position in response to an input of a determination command, and generates the time information by changing a value of a flag; The position information correction unit an output unit that outputs the determination command to the detected position determination unit at the reference time point; an identification unit that identifies a determination time point of the detected position based on a change in the value of the flag; a calculation unit that calculates an elapsed time from the reference time point to a determination time point of the detected position as an acquired time; an estimation unit that estimates the estimated position using the detected position and the acquisition time.
2. The estimation unit is a first estimation unit that calculates a position difference between the detected position in a previous control cycle and the estimated position in a control cycle before the previous one; a second estimation unit that calculates a time difference between the reference time and the acquired time in the previous control cycle; a third estimation unit that calculates a correction value by multiplying a value obtained by dividing the position difference by a time period of the control cycle by the time difference; a fourth estimation unit that calculates the estimated position in the previous control cycle by adding the correction value to the detected position in the previous control cycle, 2. The servo amplifier according to claim 1, wherein the estimated position in the previous control cycle is used when the motion command in the current control cycle is generated by the controller.
3. The servo amplifier according to claim 2 , wherein the second estimation unit uses an average value of the acquired times up to the control cycle two cycles ago as the reference time in the previous control cycle.
4. The servo amplifier according to claim 2 , wherein the second estimation unit uses a predetermined time as the reference time in the previous control period.
5. 5. The servo amplifier according to claim 1, wherein the reference time point is a time point when a fixed time has elapsed from the start time point of the control period.
6. 5. The servo amplifier according to claim 1, wherein the reference time point is a start time point of the control period.
Citation Information
Patent Citations
Detection position correction device and rotational speed detector
JP1998262387A
Detection position data transmission and output device
JP1998301630A
Method for inputting positional data of servo motor into motion controller and device for carrying out the same method
JP2002341943A