Motor control device, motor control method, and computer readable storage medium

By configuring an independent control module for each motor in the motor control device and optimizing the use of the calculation module through the processing module, the problems of high resource occupation and high cost in the prior art are solved, and efficient resource utilization and cost reduction are achieved.

CN119727462APending Publication Date: 2025-03-28SHENZHEN DYMIND BIOTECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311274540.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-26
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The existing motor control device has high resource usage and high cost because the calculation module and the control module are integrated into one calculation control module.

Method used

A motor control device is designed, in which multiple motors are respectively configured with corresponding control modules, and the number of calculation modules is smaller than the number of motors. By managing the idle calculation modules, control instructions are allocated to reduce the resource occupation of the calculation module.

Benefits of technology

On the premise of reducing the resources required for the calculation module, ensure the normal operation of the control module corresponding to each motor, and reduce the total resource amount and cost of the motor control device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119727462A_ABST
    Figure CN119727462A_ABST
Patent Text Reader

Abstract

The invention discloses a motor control device, a motor control method and a computer readable storage medium, the motor control device comprises a control module, and each motor is provided with a corresponding control module; the number of the calculation modules is smaller than that of the multiple motors; the processing module is used for determining an idle number in response to the received control instruction of the target number; when the idle number is not smaller than the target number, the target number of control instructions are sent to a calculation module in an idle state; the calculation module is used for calculating control data of the corresponding motor based on the received control instruction in response to the received control instruction; sending the control data to a corresponding control module; and the control module is used for controlling the corresponding motor based on the received control data. Based on the above mode, the quantity of resources occupied by the motor control device can be reduced, and the cost is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of control technology, and in particular to a motor control device, a motor control method and a computer-readable storage medium. Background Art

[0002] In the prior art, corresponding microcontroller chips (such as FPGA chips or MCU chips) are usually configured for multiple motors. The microcontroller chip is provided with multiple computing modules and multiple control modules corresponding to the number of the multiple motors. The computing module can be used to calculate the corresponding control data based on the received instructions, and the control module can control the corresponding motor to perform corresponding operations based on the received control data. One motor is usually configured with one computing module and one control module. The computing module and control module of one motor may also usually be integrated into one computing control module.

[0003] The defect of the prior art is that since the computing module and the control module of a motor are integrated into one computing control module, which is only a simple integration of two functional modules, the resources of the micro-control chip occupied by one computing control module are almost equal to the resources of the micro-control chip occupied by a computing module and a control module. The required resources cannot be effectively reduced, and the amount of resources required for each motor is not effectively reduced, so that the amount of resources required for the motor control device is relatively high, and the total amount of resources of the micro-control chips required to be selected is relatively high, which leads to a higher cost of the motor control device. Summary of the invention

[0004] The main technical problem solved by the present application is how to reduce the amount of resources occupied by the motor control device and reduce the cost.

[0005] In order to solve the above technical problems, the first technical solution adopted in the present application is: a motor control device, which is used to control multiple motors; the motor control device includes: a control module, each motor is respectively configured with a corresponding control module; a computing module, the number of computing modules is less than the number of multiple motors; a processing module, the processing module is used to: in response to receiving a control instruction of a target number, determine the idle number, the target number is the number of motors that need to be run among multiple motors, and the idle number is the current number of computing modules that are in an idle state among all computing modules; in response to the idle number being not less than the target number, the control instructions of the target number are respectively sent to a computing module in an idle state; the computing module is used to: in response to receiving a control instruction, calculate the control data of the corresponding motor based on the received control instruction; send the control data to the corresponding control module; the control module is used to: control the corresponding motor based on the received control data.

[0006] The processing module is further used for: in response to the idle number being less than the target number, sending the control instructions whose number is not greater than the idle number to a computing module in an idle state respectively, until all the control instructions are sent.

[0007] Among them, in response to the idle number being less than the target number, control instructions whose number is not greater than the idle number are sent to a computing module in an idle state respectively until all control instructions are sent, including: in response to the idle number being less than the target number, among all control instructions that have not been sent to the computing module, the control instructions whose receiving time is earliest and whose number is not greater than the idle number are determined and recorded as the first control instructions; each first control instruction is sent to a computing module in an idle state respectively.

[0008] Among them, in response to the idle number being less than the target number, control instructions whose number is not greater than the idle number are sent to a computing module in an idle state respectively until all control instructions are sent, and it also includes: in response to the existence of control instructions that have not been sent to the computing module, and the idle number is greater than zero, then among all the control instructions that have not been sent to the computing module, the control instructions whose receiving time is earliest and whose number is not greater than the idle number are determined and recorded as second control instructions; each second control instruction is sent to a computing module in an idle state respectively.

[0009] Among them, the motor control device also includes: a storage module, the storage module is used to store calculation parameters of various types of speed time curves; in response to receiving a control instruction, the control data of the corresponding motor is calculated based on the received control instruction, including: determining the type of speed time curve corresponding to the received control instruction to obtain a target type; obtaining the calculation parameters of the speed time curve of the target type from the storage module; based on the calculation parameters corresponding to the target type, generating a corresponding speed time curve to obtain the control data of the corresponding motor.

[0010] Wherein, determining the type of speed time curve corresponding to the received control instruction to obtain the target type includes: determining the type of speed time curve corresponding to the received control instruction based on the motor load weight indicated by the received control instruction to obtain the target type.

[0011] Among them, the average acceleration in the acceleration period of the speed time curve of the first target type is greater than the average acceleration in the acceleration period of the speed time curve of the second target type; the motor load weight corresponding to the first target type is less than the motor load weight corresponding to the second target type.

[0012] The number of computing modules is not less than the maximum number of motors running simultaneously corresponding to the multiple motors.

[0013] In order to solve the above technical problems, the second technical solution adopted in the present application is: a motor control method, applied to the above motor control device; the motor control method includes: the processing module determines the number of computing modules in an idle state among all computing modules in response to receiving a target number of control instructions, recorded as the idle number; the processing module sends the target number of control instructions to a computing module in an idle state in response to the idle number being not less than the target number; the computing module calculates the control data of the corresponding motor based on the received control instruction in response to receiving the control instruction; the computing module sends the control data to the corresponding control module; the control module controls the corresponding motor based on the received control data.

[0014] In order to solve the above technical problems, the third technical solution adopted in the present application is: a computer-readable storage medium, which stores program instructions, and the program instructions implement the above motor control method when executed by a processor.

[0015] The beneficial effect of the present application lies in that, different from the prior art, in the technical solution of the present application, multiple motors are respectively configured with corresponding control modules, and multiple motors are also configured with computing modules whose number is less than the number of motors. If the number of computing modules currently in an idle state is not less than the number of control instructions received by the processing module, the received target number of control instructions can be sent to a computing module in an idle state respectively, each computing module calculates control data based on the control instructions and sends it to the corresponding control module, and the control module is used to control the motor based on the control data when receiving the control data. Based on the above method, a motor control device in which the number of computing modules is less than the number of motors can be constructed. With the assistance of the processing module, it can ensure that the control modules corresponding to each motor can still operate normally while reducing the resources required to be occupied by the computing modules, thereby reducing the amount of resources required to be occupied by the motor control device and reducing costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0017] Figure 1 is a structural schematic diagram of an embodiment of the motor control device of the present application;

[0018] Figure 2 is a waveform diagram of an embodiment of a speed-time curve of the first target type of the present application;

[0019] Figure 3 is a waveform diagram of an embodiment of a speed-time curve of the second target type of the present application;

[0020] Figure 4 It is a flow chart of an embodiment of the motor control method of the present application;

[0021] Figure 5 It is a structural diagram of an embodiment of the computer-readable storage medium of the present application. DETAILED DESCRIPTION

[0022] The present application is further described in detail below in conjunction with the accompanying drawings and examples. It is particularly noted that the following examples are only used to illustrate the present application, but are not intended to limit the scope of the present application. Similarly, the following examples are only some embodiments of the present application rather than all embodiments, and all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.

[0023] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0024] In the description of this application, it is necessary to explain that, unless otherwise clearly specified and limited, the terms "install", "set", "connect", and "connect" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be directly connected or connected through an intermediate medium. For ordinary technicians in this field, the above-mentioned specific meanings belonging to this application can be connected according to specific circumstances.

[0025] The present application provides a motor control device, which is applied to control multiple motors.

[0026] See also Figure 1 , Figure 1 is a schematic diagram of the structure of an embodiment of the motor control device of the present application, such as Figure 1 As shown, the motor control device includes a control module 11, a calculation module 12 and a processing module 13. The motor control device may specifically include a microcontroller chip, such as an FPGA chip or an MCU chip, and the control module 11, the calculation module 12 and the processing module 13 may specifically refer to data processing modules that occupy resources generated by the microcontroller chip.

[0027] Each motor is respectively configured with a corresponding control module 11 .

[0028] The multiple motors may be multiple motors in the sample detection device, and each motor is used to control the corresponding component to perform at least one of accelerated motion, uniform motion and decelerated motion. For example, the control module 11 can control the operation of the motor to achieve the transportation of the corresponding test tube or test tube rack.

[0029] The number of the computing modules 12 is smaller than the number of the plurality of motors.

[0030] The number of the computing modules 12 is less than the number of the multiple motors, and the number of the computing modules 12 is not less than the maximum number of motors running simultaneously corresponding to the multiple motors, and the maximum number of motors running simultaneously is the maximum number of motors that need to run simultaneously among the multiple motors. For example, when the user uses the multiple motors (a total of 10 motors), at most 5 motors need to be used simultaneously, then the maximum number of motors running simultaneously is 5.

[0031] The processing module 13 is used to: in response to receiving the control instruction of the target number, determine the idle number, which is the current number of computing modules 12 in the idle state among all computing modules 12. In response to the idle number being not less than the target number, send the control instruction of the target number to a computing module 12 in the idle state respectively.

[0032] Among them, a single control instruction can be used to contain instruction information for controlling the corresponding motor, and the instruction information may include motor speed information, motor movement information, motor load weight information and motor number information.

[0033] The target number is greater than or equal to 1, and the target number can be 1, 3, 5, 10, 30, or any other number, which is not limited here. In one example, the target number can be greater than 1, that is, the number of control instructions received by the processing module 13 is more than two.

[0034] The target number is the number of motors that need to be run among multiple motors. For example, if the number of motors that the user needs to run is 5, 5 target instructions can be sent to the processing module to realize the control of the corresponding 5 motors. Among them, the target number of 5 is only an example, and it can also be 1 or 10 or other numbers, which is not limited here.

[0035] The motor speed information may include information related to the acceleration and / or speed when controlling the movement of the motor, the motor movement information may include information related to the displacement or distance generated during the movement of the motor, the motor load weight may include information related to the motor load weight, and the motor number information is used to indicate a specific motor, and the motor number information of each motor is different.

[0036] If the computing module 12 is currently performing corresponding computing processing, the computing module 12 is in an occupied state rather than an idle state. The computing module 12 in the idle state is in a state of not performing calculations. When the target number is not greater than the idle number, all control instructions can be sent to a computing module 12 in the idle state respectively.

[0037] The calculation module 12 is used for: in response to receiving a control instruction, calculating and obtaining control data of the corresponding motor based on the received control instruction, and sending the control data to the corresponding control module 11 .

[0038] When receiving the control instruction, the calculation module 12 will calculate and generate control data for controlling the operation of the corresponding motor according to the information contained in the received control instruction. For example, the control data may include at least one of the speed, acceleration, movement direction, duration, etc. of the motor or the parts connected to the motor during movement.

[0039] The control module 11 is used to control the corresponding motor based on the received control data.

[0040] The control modules 11 are arranged in a one-to-one correspondence with the motors, and a single control module 11 is used to control the operation of a single motor.

[0041] Based on the above method, even if only fewer computing modules 12 than the number of motors are constructed, each control module 11 can still control the normal operation of the corresponding motor through reasonable planning and instruction allocation of the processing module 13. That is, while ensuring that the motor control device reduces the setting of the computing module 12, it can still control multiple control modules 11 to normally control the corresponding motors to perform corresponding operations, reducing the total amount of resources required to be occupied by the motor control device, thereby reducing the cost of the motor control device.

[0042] In addition, when the number of computing modules 12 is less than the number of multiple motors, and the number of computing modules 12 is not less than the maximum number of simultaneously running motors corresponding to the multiple motors, it can be ensured that when a certain number of motors need to be run simultaneously, the motor control device is capable of providing the same number of computing modules 12 as the simultaneously running motors, performing synchronous calculations and providing them synchronously to the corresponding control modules 11, so as to simultaneously control the corresponding motors, thereby improving the real-time performance of the synchronous motor control of the motor control device.

[0043] like Figure 1 As shown, the number of computing modules 12 may be n, the number of control modules may be m, m may be the same as the total number of motors, and n is smaller than m.

[0044] Different from the prior art, in the technical solution of the present application, multiple motors are respectively configured with corresponding control modules, and multiple motors are also configured with computing modules whose number is less than the number of motors. If the number of computing modules currently in an idle state is not less than the number of control instructions received by the processing module, the received target number of control instructions can be sent to a computing module in an idle state respectively, and each computing module obtains control data based on the control instructions and sends it to the corresponding control module. The control module is used to control the motor based on the control data when receiving the control data. Based on the above method, a motor control device in which the number of computing modules is less than the number of motors can be constructed. With the assistance of the processing module, it can ensure that the control modules corresponding to each motor can still operate normally while reducing the resources required to be occupied by the computing modules, thereby reducing the amount of resources required to be occupied by the motor control device and reducing costs.

[0045] In one embodiment, the processing module 13 is further configured to:

[0046] In response to the idle number being less than the target number, control instructions whose number is not greater than the idle number are respectively sent to a computing module 12 in an idle state until all control instructions are sent.

[0047] Specifically, the computing module 12 will exit the idle state and enter the occupied state when performing calculations. When the number of modules that have not been calculated in all the computing modules 12 is less than the target number, all the received control instructions cannot be distributed to the corresponding computing modules 12 at the same time. Therefore, at this time, the control instructions whose number is not greater than the idle number can be sent to a computing module 12 respectively. Subsequently, when a computing module 12 completes the calculation and returns to the idle state, the control instructions that have not been calculated can continue to be sent to the computing module 12 in the idle state until all the control instructions are sent to the corresponding computing module 12 and the calculation is completed.

[0048] Based on the above approach, when the number of control instructions is greater than the number of idle computing modules 12, each computing module 12 can be reasonably arranged to complete the calculation of the control instructions in batches, thereby improving the applicability of the motor control device.

[0049] Optionally, in response to the idle number being less than the target number, control instructions whose number is not greater than the idle number are respectively sent to a computing module 12 in an idle state until all control instructions are sent, including:

[0050] In response to the idle number being less than the target number, a control instruction whose earliest receiving time is not greater than the idle number is determined among all control instructions not sent to the calculation module 12 and is recorded as the first control instruction.

[0051] Each first control instruction is sent to a computing module 12 in an idle state.

[0052] Specifically, when the number of modules that have not been calculated in all the calculation modules 12 described in the previous embodiment is less than the target number, and all the received control instructions cannot be distributed to the corresponding calculation modules 12 at the same time, the control instructions with the earliest reception time and a number not greater than the idle number can be selected from all the control instructions, that is, the control instructions are selected on a first-come, first-served basis, so that the control instructions received earlier are preferentially sent to the calculation module 12 for calculation, thereby reducing the possibility that the corresponding operation cannot be carried out smoothly due to the control instructions not being calculated for too long, thereby improving the reliability of the motor control device.

[0053] Further, in response to the idle number being less than the target number, control instructions whose number is not greater than the idle number are respectively sent to a computing module 12 in an idle state until all control instructions are sent, further comprising:

[0054] In response to the existence of control instructions not sent to the computing module 12 and the idle number being greater than zero, a control instruction whose earliest receiving time is not greater than the idle number is determined among all control instructions not sent to the computing module 12 and recorded as the second control instruction.

[0055] Each second control instruction is sent to a computing module 12 in an idle state.

[0056] Specifically, in the follow-up described in the foregoing embodiment, when the calculation module 12 completes the calculation and returns to the idle state, if there are still control instructions that have not been sent to the calculation module 12, then when the idle number is greater than zero, that is, when the calculation module 12 returns to the idle state, the control instructions that have not been sent to the calculation module 12, the control instructions that are received earliest, will be preferentially sent to the idle calculation module 12 for calculation. This can further reduce the possibility that the corresponding operation cannot be carried out smoothly due to the fact that there are control instructions that have not been calculated for too long, thereby improving the reliability of the motor control device.

[0057] In one embodiment, the motor control device further includes a storage module.

[0058] The storage module is used to store calculation parameters of various types of speed-time curves.

[0059] In response to receiving the control instruction, the control data of the corresponding motor is calculated based on the received control instruction, including:

[0060] The type of the speed time curve corresponding to the received control instruction is determined to obtain the target type.

[0061] Get the calculation parameters of the speed time curve of the target type from the storage module.

[0062] Based on the calculation parameters corresponding to the target type, a corresponding speed-time curve is generated to obtain the control data of the corresponding motor.

[0063] Specifically, each control instruction can be used to indicate which motor is controlled based on which type of speed-time curve, that is, each control instruction may contain relevant information for controlling the component connected to the corresponding motor to move according to a preset type of speed-time curve, such as the calculation parameters of the corresponding type of speed-time curve.

[0064] The storage module may specifically include a storage unit (ROM, Read-Only Memory) in a microcontroller chip, or may be other devices with storage functions provided in the motor control device, which are not limited here. In addition, the storage module may also include a FIFO (First Input First Output) unit in an empty chip, and the FIFO unit may be used to temporarily store control instructions, for example, when waiting for the idle computing module 12 to appear, to temporarily store control instructions that have not been sent to the computing module 12.

[0065] Based on the above method, after determining the target type of the speed-time curve based on the control instruction, the calculation parameters corresponding to the speed-time curve of the target type can be obtained from the storage module, and the control data corresponding to the speed-time curve of the target type can be calculated based on the obtained calculation parameters for controlling the corresponding motor, which can improve the accuracy and efficiency of obtaining the control data.

[0066] Optionally, determining the type of the speed time curve corresponding to the received control instruction to obtain the target type includes:

[0067] Based on the motor load weight indicated by the received control instruction, the type of the speed time curve corresponding to the received control instruction is determined to obtain the target type.

[0068] Specifically, the motor is usually connected to corresponding components, and the components may also carry objects, so the load weight of the motor may be different at different times.

[0069] When the motor load is heavy, in order to prevent the carried object from being thrown to other places during the movement of the component, the acceleration of the motor-controlled component movement needs to be set accordingly and reasonably. When the motor load is light, the component movement speed can be appropriately increased to improve efficiency. Therefore, based on the above method, the target type of the speed-time curve can be reasonably determined based on different motor load weights, so as to reasonably set the motor control scheme for the component and improve the reliability of the motor control device.

[0070] Further, the average acceleration in the acceleration period of the speed-time curve of the first target type is greater than the average acceleration in the acceleration period of the speed-time curve of the second target type.

[0071] The motor load weight corresponding to the first target type is less than the motor load weight corresponding to the second target type.

[0072] Specifically, see Figure 2 and Figure 3 , Figure 2 is a waveform diagram of an embodiment of a speed-time curve of the first target type of the present application, Figure 3 It is a waveform diagram of an embodiment of a speed-time curve of the second target type of the present application.

[0073] like Figure 2 As shown, the time period from t1 to t2 of the speed time curve of the first target type is an acceleration period, such as Figure 3 As shown, the time period from t3 to t4 in the speed-time curve of the second target type is an acceleration period, and the speed-time curve of the first target type and the speed-time curve of the second target type both accelerate from a speed of 0 to a speed of V during their acceleration periods, wherein (t2-t1) is less than (t4-t3), that is, the average acceleration of the speed-time curve of the first target type during the acceleration period is greater than the average acceleration of the speed-time curve of the second target type.

[0074] Based on the above arrangement, a motor with a larger motor load weight or a component connected to the motor can be accelerated with a smaller average acceleration, thereby reducing the external force that the motor or the component connected to the motor needs to withstand. Similarly, a motor with a smaller motor load weight or a component connected to the motor can be accelerated with a larger average acceleration, thereby improving the acceleration efficiency while ensuring that the external force that the motor or the component connected to the motor needs to withstand is within its bearing capacity.

[0075] In addition, the speed time curve except the above acceleration period (such as Figure 2 In addition to the time period X shown in FIG. Figure 2 The period Y shown in the figure) and the deceleration period (as shown in the figure) Figure 2 The time period Z shown in the figure, wherein the uniform speed period is the time period in which the speed is maintained at the speed V, such as Figure 2 As shown, the speed-time curve of the deceleration period and the acceleration period are arranged symmetrically on the horizontal axis.

[0076] In practice, the average acceleration of the acceleration period of the above speed-time curve can be determined by the following formula for regulation. The formula is as follows:

[0077] Fcurrent=Fmin+(Fmax—Fmin) / (1+e-Flexible*(i-num) / num )

[0078] Where Fcurrent is the current speed, i is the current time, Fmin is the preset minimum speed, Fmax is the preset maximum speed, Flexible and num are preset constant parameters, (1+e -Flexible*(i-num) / num ) is the acceleration at the corresponding moment.

[0079] By adjusting Flexible and num, the duration of the acceleration period of the corresponding speed-time curve can be increased or decreased. For example, the S-curve of the acceleration period can be stretched or shortened on the horizontal axis, thereby achieving the adjustment of the average acceleration of the acceleration period.

[0080] Based on the above method, the calculation parameters mentioned above corresponding to each type of speed-time curve are the above different combinations of Fmin, Fmax, Flexible and num. Different types of speed-time curves can be constructed by configuring different combinations of Fmin, Fmax, Flexible and num for different speed-time curves.

[0081] The present application also proposes a motor control method, which is applied to the motor control device described in any of the above embodiments and will not be described in detail here.

[0082] See also Figure 4 , Figure 4 is a flow chart of an embodiment of the motor control method of the present application. Figure 4 As shown, the motor control method includes:

[0083] Step S11: in response to receiving the control instruction of the target number, the processing module 13 determines the number of computing modules 12 in the idle state among all computing modules 12, which is recorded as the idle number.

[0084] Step S12: In response to the idle number being not less than the target number, the processing module 13 sends the target number of control instructions to a computing module 12 in an idle state.

[0085] Step S13: In response to receiving the control instruction, the calculation module 12 calculates the control data of the corresponding motor based on the received control instruction.

[0086] Step S14 : the calculation module 12 sends the control data to the corresponding control module 11 .

[0087] Step S15: the control module 11 controls the corresponding motor based on the received control data.

[0088] Specifically, the motor control method may further include the steps performed by the processing module 13, the calculation module 12, the control module 11 and other modules as described in the above embodiments, which are not limited here.

[0089] Different from the prior art, in the technical solution of the present application, multiple motors are respectively configured with corresponding control modules, and multiple motors are also configured with computing modules whose number is less than the number of motors. If the number of computing modules currently in an idle state is not less than the number of control instructions received by the processing module, the received target number of control instructions can be sent to a computing module in an idle state respectively, and each computing module obtains control data based on the control instructions and sends it to the corresponding control module. The control module is used to control the motor based on the control data when receiving the control data. Based on the above method, a motor control device in which the number of computing modules is less than the number of motors can be constructed. With the assistance of the processing module, it can ensure that the control modules corresponding to each motor can still operate normally while reducing the resources required to be occupied by the computing modules, thereby reducing the amount of resources required to be occupied by the motor control device and reducing costs.

[0090] This application also proposes a computer-readable storage medium, see Figure 5 , Figure 5 is a schematic diagram of the structure of an embodiment of the computer-readable storage medium of the present application. Figure 5 As shown, the computer-readable storage medium 20 stores program instructions 21 thereon, and when the program instructions 21 are executed by a processor (not shown), the motor control method in the above embodiment is implemented.

[0091] The computer-readable storage medium 20 of this embodiment can be, but is not limited to, a USB flash drive, an SD card, a PD optical drive, a mobile hard disk, a large-capacity floppy drive, a flash memory, a multimedia memory card, a server, a storage unit in an FPGA or an ASIC, etc.

[0092] Different from the prior art, in the technical solution of the present application, multiple motors are respectively configured with corresponding control modules, and multiple motors are also configured with computing modules whose number is less than the number of motors. If the number of computing modules currently in an idle state is not less than the number of control instructions received by the processing module, the received target number of control instructions can be sent to a computing module in an idle state respectively, and each computing module obtains control data based on the control instructions and sends it to the corresponding control module. The control module is used to control the motor based on the control data when receiving the control data. Based on the above method, a motor control device in which the number of computing modules is less than the number of motors can be constructed. With the assistance of the processing module, it can ensure that the control modules corresponding to each motor can still operate normally while reducing the resources required to be occupied by the computing modules, thereby reducing the amount of resources required to be occupied by the motor control device and reducing costs.

[0093] In the description of the present application, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradicting each other.

[0094] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0095] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code that includes one or more executable control instructions for implementing the steps of a specific logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0096] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable control instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by a control instruction execution system, device or equipment (which can be a personal computer, server, network device or other system that can fetch control instructions from a control instruction execution system, device or equipment and execute the control instructions), or in combination with these control instruction execution systems, devices or equipment. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by a control instruction execution system, device or equipment, or in combination with these control instruction execution systems, devices or equipment. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.

[0097] The above description is only an implementation method of the present application, and does not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly used in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A motor control device, characterized in that: Applied to control multiple motors; The motor control device comprises: A control module, each of the motors is respectively configured with a corresponding control module; computing modules, the number of which is less than the number of the plurality of motors; A processing module, the processing module is used to: determine the idle number in response to receiving a control instruction of a target number, wherein the target number is the number of the motors that need to be operated among the multiple motors, and the idle number is the current number of the computing modules in an idle state among all the computing modules; in response to the idle number being not less than the target number, send the control instructions of the target number to each of the computing modules in the idle state; The calculation module is used for: in response to receiving the control instruction, calculating the control data of the corresponding motor based on the received control instruction; and sending the control data to the corresponding control module; The control module is used to control the corresponding motor based on the received control data.

2. The motor control device according to claim 1, characterized in that: The processing module is also used for: In response to the idle number being less than the target number, the control instructions whose number is not greater than the idle number are respectively sent to one of the computing modules in the idle state until all the control instructions are sent.

3. The motor control device according to claim 2, characterized in that: In response to the idle number being less than the target number, the control instructions whose number is not greater than the idle number are respectively sent to the computing modules in the idle state until all the control instructions are sent, including: In response to the idle number being less than the target number, determining, among all the control instructions that have not been sent to the computing module, the control instruction whose earliest receiving time is not greater than the idle number, and recording it as the first control instruction; Each of the first control instructions is sent to a computing module in the idle state.

4. The motor control device according to claim 3, characterized in that: In response to the idle number being less than the target number, the control instructions whose number is not greater than the idle number are respectively sent to the computing modules in the idle state until all the control instructions are sent, further comprising: In response to the existence of the control instructions that have not been sent to the computing module, and the idle number is greater than zero, determining, among all the control instructions that have not been sent to the computing module, the control instruction whose earliest receiving time is not greater than the idle number, and recording it as the second control instruction; Each of the second control instructions is sent to a computing module in the idle state.

5. The motor control device according to any one of claims 1 to 4, characterized in that: The motor control device further comprises: A storage module, the storage module is used to store calculation parameters of various types of speed time curves; In response to receiving the control instruction, calculating the control data of the motor based on the received control instruction includes: Determine the type of the speed time curve corresponding to the received control instruction to obtain a target type; Acquire the calculation parameters of the speed-time curve of the target type from the storage module; Based on the calculation parameters corresponding to the target type, the corresponding speed-time curve is generated to obtain the control data of the corresponding motor.

6. The motor control device according to claim 5, characterized in that: The determining the type of the speed time curve corresponding to the received control instruction to obtain a target type includes: Based on the motor load weight indicated by the received control instruction, the type of the speed time curve corresponding to the received control instruction is determined to obtain a target type.

7. The motor control device according to claim 6, characterized in that: The average acceleration in the acceleration period of the speed time curve of the first target type is greater than the average acceleration in the acceleration period of the speed time curve of the second target type; The motor load weight corresponding to the first target type is smaller than the motor load weight corresponding to the second target type.

8. The motor control device according to any one of claims 1 to 4, characterized in that: The number of the computing modules is not less than the maximum number of motors running simultaneously corresponding to the plurality of motors.

9. A motor control method, characterized in that: Applicable to the motor control device according to any one of claims 1 to 8; The motor control method comprises: In response to receiving the control instruction of the target number, the processing module determines the number of the computing modules in the idle state among all the computing modules, and records it as the idle number; In response to the idle number being not less than the target number, the processing module sends the control instructions of the target number to the computing modules in the idle state respectively; In response to receiving the control instruction, the calculation module calculates control data of the corresponding motor based on the received control instruction; The calculation module sends the control data to the corresponding control module; The control module controls the corresponding motor based on the received control data.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program instructions, and when the program instructions are executed by a processor, the method according to claim 9 is implemented.