A stepper motor controller and control method in a space station cabin
By designing a stepper motor controller with integrated power conversion, main control and motor drive functions, the existing drivers cannot meet the requirements of small size, radiation resistance and high reliability in the space station compartment, and achieve stable, safe and efficient robotic arm operation.
Patent Information
- Application Number
- CN202211316369.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-26
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2042-10-26
AI Technical Summary
The existing stepper motor drivers cannot meet the requirements of small size, radiation-resistant design and high reliability indicators in the space station compartment, resulting in the overall volume of the smart robot arm being too large and lacking reliability.
A stepper motor controller including a power conversion unit, a main control unit, a motor driving unit, a communication unit and an external IO unit is designed. Current detection and voltage regulation are realized through DC/DC chip, a linear voltage-regulating power converter and a current detection chip. The main control unit is responsible for analyzing and verifying the control instructions and driving them in combination with the state of the stepper motor.
The stepper motor controller with stable performance, small size, radiation-resistant design and high reliability indicators is achieved, which meets the high reliability and low fault tolerance requirements in the space station compartment and ensures the stable and safe operation of the robot arm.
Smart Images

Figure CN115580183B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of space application, and in particular is a stepper motor controller and a control method in a space station cabin. Background Art
[0002] With the gradual completion of my country's space station, the microgravity scientific research conducted on the space station is increasing. In order to reduce the workload of astronauts and improve the automation of space experiments, various small and dexterous robotic arms are indispensable. Stepper motor drivers are an important power source for dexterous robotic arms.
[0003] Due to the particularity of the application environment, in the space station cabin environment, space resources are very precious, and the cost of equipment replacement and maintenance is high. At the same time, there is a radiation environment in the space environment that is not available on the ground, so there are high requirements for the integration, reliability, safety and stability of the driver. At present, the existing driver products cannot meet the requirements of small size, radiation-resistant design and reliability indicators at the same time. If the existing driver products are used, the overall size of the dexterous robotic arm will be too large, and the reliability will not meet the overall design requirements. At the same time, the control method of the existing driver pursues simple and efficient command processing of the host computer, which cannot meet the requirements of high reliability and low fault tolerance in the space environment; the control function is mostly open-loop control or incompatible with the external encoder configuration, and closed-loop control cannot be achieved. Summary of the invention
[0004] A stepper motor controller with stable performance, small size, radiation-resistant design and reliability index is provided to overcome the defects of the above-mentioned stepper motor controller.
[0005] The technical solution adopted by the present invention to achieve the above-mentioned purpose is: a stepper motor controller in a space station cabin, comprising: a power conversion unit, a main control unit, a motor drive unit, a communication unit and an external IO unit;
[0006] The power conversion unit is used to access the external voltage, provide the voltage and power required by each unit, and detect the current data flowing through the driver;
[0007] The main control unit is used to check and analyze the control instructions sent by the host computer, and send the analyzed control instructions to the motor drive unit to control the driver to drive the stepper motor to work; it also analyzes the control instructions that pass the verification, and determines the state of the stepper motor, and combines the analyzed control instructions with the state of the stepper motor, and sends the motor drive unit to control the driver to drive the stepper motor to work;
[0008] The motor drive unit is connected to the external stepper motor and is used to receive the control instruction parsed by the main control unit and send it to the driver to drive the stepper motor to work;
[0009] The communication unit is connected to the external communication bus and the external encoder respectively through external cables, and is connected to the main control unit through PCB routing;
[0010] The external IO unit is used to receive external control signals sent by the main control unit and receive external status signals of external devices.
[0011] The power conversion unit includes: a DC / DC chip, a linear voltage-stabilized power converter and a current detection chip;
[0012] The input end of the current detection chip is connected to the external voltage, and the output end is connected to the motor drive unit, the communication unit and the external IO unit respectively through the DC / DC chip and the linear voltage regulated power converter;
[0013] The signal output end of the current detection chip is connected to the main control unit, and is used to send the current data detected flowing through the driver to the main control unit;
[0014] There are multiple linear voltage-regulated power converters, which are respectively arranged corresponding to the motor drive unit, the communication unit and the external IO unit.
[0015] The main control unit includes: a processing module, a data storage module and a verification module;
[0016] The processing module is used to parse the control instructions that have passed the verification, determine the state of the stepper motor, and combine the parsed control instructions with the state of the stepper motor to send the motor drive unit to control the driver to drive the stepper motor to work;
[0017] The data storage module is used to store the control instructions received from the host computer and wait for the verification module to call;
[0018] The verification module is used to read the control instructions stored in the data storage module, verify the control instructions, and send the control instructions that pass the verification to the processing module.
[0019] A control method for a stepper motor controller in a space station cabin comprises the following steps:
[0020] 1) The main control unit receives the control instruction sent by the host computer through the serial port interrupt mode, obtains the control instruction type, and moves the control instruction into the data storage module; at the same time, the main control unit records the collected driver current data and the current position data of the external encoder;
[0021] 2) After the main control unit completes receiving the bus data, it reads the control instruction and verifies the control instruction;
[0022] 3) The main control unit parses the verified control instruction type in combination with the stepper motor state, obtains the parsed control instruction, and sends it to the motor drive unit;
[0023] 4) The main control unit obtains the current rotation speed and the remaining number of running steps of the stepper motor according to the current position value collected by the encoder of the external stepper motor and the target position value;
[0024] 5) According to step 3) to step 4), the main control unit determines the state of the stepper motor according to the current rotation speed and the remaining number of running steps of the stepper motor, combined with the driver current value collected by the power conversion unit; the main control unit sends the determined state of the stepper motor to the host computer through the communication unit; at the same time, the motor drive unit drives the stepper motor to work through the driver according to the analyzed control instructions combined with the state of the stepper motor.
[0025] In step 1), the control instruction type includes: any one of a configuration instruction, an action instruction, a query instruction or a useless instruction.
[0026] The step 2) is specifically:
[0027] The main control unit determines whether the address code, function code, length, and value of the control instruction are within the preset range; if they are within the set range, the check passes, otherwise, the check fails;
[0028] If the verification fails, the control instruction is discarded and the host computer waits for the next control instruction to be sent.
[0029] In step 3), the main control unit analyzes the type of the control instruction that passes the verification, specifically:
[0030] The main control unit performs different analyses according to different control instruction types, namely:
[0031] If the control instruction is a configuration instruction, determine whether the configuration instruction is within the set range;
[0032] If satisfied, modify the preset drive current parameters, speed-up acceleration parameters, speed-down acceleration parameters, driver address parameters in the configuration instruction or output a response configuration signal;
[0033] If not satisfied, the control instruction is judged to be a motion instruction.
[0034] The step 4) is specifically:
[0035] The rotation speed is:
[0036]
[0037] Where n is the current speed, f2s is the conversion coefficient, Δencoder(i) is the encoder value difference between the i-th sampling and the i-1-th sampling, T is the sampling period, j is an arbitrary natural number, and k is the filter window size, which is an arbitrary natural number;
[0038] The remaining number of running steps is:
[0039] N=|encoder0-encoder|*r2s
[0040] Among them, N is the current number of remaining steps, encoder0 is the target value of the encoder, encoder is the current value of the encoder, and r2s is the conversion coefficient.
[0041] In step 5), the step of determining the state of the stepper motor is specifically as follows:
[0042] When the control instruction is a motion instruction, first determine whether the current motor state meets the motion requirements;
[0043] If satisfied, output control instructions to the motor drive unit, i.e., rotation commands;
[0044] If not, no control instruction is output to the motor drive unit, that is, the motion command is not executed.
[0045] The determination of whether the current motor state meets the motion requirements is specifically as follows:
[0046] (1) Determine the drive signal frequency and cycle number of the stepper motor according to the current position information and current value, combined with the given target speed, target position information, and preset acceleration parameters and current parameters;
[0047] (2) The main control unit obtains the remaining running steps of the stepper motor according to the current position information and the target position information, and obtains the current speed of the stepper motor according to the differential value of the current position information; the main control unit determines the speed-up interval and the speed-down interval of the remaining running steps according to the current rotation speed and the target speed of the stepper motor;
[0048] (3) The main control unit determines the state of the stepper motor based on the remaining number of steps of the stepper motor:
[0049] (3-1) When the remaining number of running steps is in the speed-up range, the main control unit will increase the motor drive signal frequency according to the preset acceleration to accelerate it to the target speed;
[0050] (3-2) When the remaining running steps enter the deceleration range, the main control unit will reduce the motor drive signal frequency according to the preset acceleration to reduce its speed;
[0051] (3-3) Outside the speed increase range and the speed decrease range, the motor outputs control instructions at a frequency corresponding to a given speed;
[0052] (3-4) When the current motor speed is continuously lower than 20% of the given speed within the set time, or the current value is continuously higher than the set threshold within the set time, the motor is considered to be in an abnormal state and the control command output is stopped.
[0053] The present invention has the following beneficial effects and advantages:
[0054] 1. High integration and compact size. The present invention takes into account the limited space resources in the space station cabin and reduces the space size while meeting the reliability requirements.
[0055] 2. High reliability and strong safety. The present invention takes into account the complex space particle radiation environment. The product has been verified by reliability experiments to ensure that the system can continue to work reliably and stably. At the same time, multiple control modes can ensure the safety of equipment in the cabin and astronauts.
[0056] 3. Strong versatility. The present invention can be applied not only to the dexterous mechanical arm in the space station cabin, but also to the turntable and other equipment that needs to be manipulated and controlled.
[0057] 4. The control method is reliable. It has good recognition ability for mis-sent commands and excellent collision protection function. Under the premise of ensuring good closed-loop control effect, the control method has higher safety.
[0058] 5. High flexibility. The control program can be upgraded online remotely through the communication bus without disassembling the hardware. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Figure 1 A framework diagram of a stepper motor controller system in a space station cabin of the present invention;
[0060] Figure 2 A block diagram of the connection relationship of the power conversion unit in the present invention;
[0061] Figure 3 A flow chart of a stepper motor control method in a space station cabin according to the present invention. DETAILED DESCRIPTION
[0062] The present invention is further described in detail below in conjunction with the accompanying drawings and embodiments.
[0063] like Figure 1 As shown, the stepper motor controller of the present invention is characterized in that it is used in a space station cabin and includes: a power conversion unit, a main control unit, a stepper motor drive unit, a communication unit and an external IO unit. The power conversion unit, the main control unit, the motor drive unit, the communication unit and the external IO unit;
[0064] The power conversion unit is used to access the external voltage, provide the voltage and power required by each unit, and detect the current data flowing through the driver;
[0065] The main control unit is used to check and analyze the control instructions sent by the host computer, and send the analyzed control instructions to the motor drive unit to control the driver to drive the stepper motor to work; it also analyzes the control instructions that pass the verification, and determines the state of the stepper motor, and combines the analyzed control instructions with the state of the stepper motor, and sends the motor drive unit to control the driver to drive the stepper motor to work;
[0066] The motor drive unit is connected to the external stepper motor and is used to receive the control instructions analyzed by the main control unit and send them to the driver to drive the stepper motor to work;
[0067] The communication unit is connected to the external communication bus and the external encoder through external cables, and is connected to the main control unit through PCB wiring;
[0068] The external IO unit is used to receive external control signals sent by the main control unit and receive external status signals of external devices.
[0069] like Figure 2 As shown, it is a block diagram of the connection relationship of the power conversion unit, the power conversion unit includes: a DC / DC chip, a linear voltage-regulated power converter and a current detection chip;
[0070] The input end of the current detection chip is connected to the external voltage, and the output end is connected to the motor drive unit, the communication unit and the external IO unit respectively through the DC / DC chip and the linear voltage regulator converter;
[0071] The signal output terminal of the current detection chip is connected to the main control unit, and is used to send the current data detected flowing through the driver to the main control unit;
[0072] There are multiple linear voltage regulator power converters, which are respectively configured for the motor drive unit, the communication unit, and the external IO unit. In this embodiment, two linear voltage regulators are used as linear voltage regulator power converters.
[0073] The stepper motor drive unit includes: a stepper motor drive chip and a supporting circuit, which are both well-known technical means to those skilled in the art.
[0074] The stepper motor drive unit has the function of online adjustment of the drive current. The current setting signal given by the main control unit passes through the support circuit and enters the stepper motor drive chip to realize the drive current adjustment function.
[0075] The communication unit has a reserved external bus bridge interface to facilitate wiring when multiple controllers are used in parallel.
[0076] The main control unit includes: a processing module, a data storage module and a verification module;
[0077] The processing module is used to parse the control instructions that have passed the verification, determine the state of the stepper motor, and combine the parsed control instructions with the state of the stepper motor to send the motor drive unit to control the driver to drive the stepper motor to work;
[0078] The data storage module is used to store the control instructions received from the host computer and wait for the verification module to call;
[0079] The verification module is used to read the control instructions stored in the data storage module, verify the control instructions, and send the control instructions that pass the verification to the processing module.
[0080] like Figure 3 As shown, the stepper motor control method of the present invention has the following operation process:
[0081] 1) The main control unit receives the control instruction sent by the host computer through the serial port interrupt mode, obtains the control instruction type, and moves the control instruction into the data storage module; at the same time, the main control unit records the collected driver current data and the current position data of the external encoder;
[0082] 2) After the main control unit completes receiving the bus data, it reads the control instruction and verifies the control instruction;
[0083] 3) The main control unit parses the verified control instruction type in combination with the stepper motor state, obtains the parsed control instruction, and sends it to the motor drive unit;
[0084] 4) The main control unit obtains the current rotation speed and the remaining number of running steps of the stepper motor according to the current position value collected by the encoder of the external stepper motor and the target position value;
[0085] 5) According to step 3) to step 4), the main control unit determines the state of the stepper motor according to the current rotation speed and the remaining number of running steps of the stepper motor, combined with the driver current value collected by the power conversion unit; the main control unit sends the determined state of the stepper motor to the host computer through the communication unit; at the same time, the motor drive unit drives the stepper motor to work through the driver according to the analyzed control instructions combined with the state of the stepper motor.
[0086] Among them, the types of control instructions include any of configuration instructions, action instructions, query instructions or useless instructions;
[0087] Step 2), specifically:
[0088] The main control unit determines whether the address code, function code, length, and value of the control instruction are within the preset range; if they are within the set range, the check passes, otherwise, the check fails;
[0089] If the verification fails, the control instruction is discarded and the host computer waits for the next control instruction to be sent.
[0090] In step 3), the main control unit analyzes the type of the control instruction that passes the verification, specifically:
[0091] The main control unit performs different analyses according to different control instruction types, namely:
[0092] If the control instruction is a configuration instruction, determine whether the configuration instruction is within the set range;
[0093] If satisfied, modify the preset drive current parameters, speed-up acceleration parameters, speed-down acceleration parameters, driver address parameters in the configuration instruction or output a response configuration signal;
[0094] If not satisfied, the control instruction is judged to be a motion instruction.
[0095] Step 4), specifically:
[0096] The rotation speed is:
[0097]
[0098] Where n is the current speed, f2s is the conversion coefficient, Δencoder(i) is the encoder value difference between the i-th sampling and the i-1-th sampling, T is the sampling period, j is an arbitrary natural number, and k is the filter window size, which is an arbitrary natural number;
[0099] The remaining running steps are:
[0100] N=|encoder0-encoder|*r2s
[0101] Among them, N is the current number of remaining steps, encoder0 is the target value of the encoder, encoder is the current value of the encoder, and r2s is the conversion coefficient.
[0102] In step 5), the state of the stepper motor is determined, specifically:
[0103] When the control instruction is a motion instruction, first determine whether the current motor state meets the motion requirements;
[0104] If satisfied, output control instructions to the motor drive unit, i.e., rotation commands;
[0105] If not, no control instruction is output to the motor drive unit, that is, the motion command is not executed.
[0106] Determine whether the current motor state meets the motion requirements, specifically:
[0107] (1) Determine the drive signal frequency and cycle number of the stepper motor according to the current position information and current value, combined with the given target speed, target position information, and preset acceleration parameters and current parameters;
[0108] (2) The main control unit obtains the remaining running steps of the stepper motor according to the current position information and the target position information, and obtains the current speed of the stepper motor according to the differential value of the current position information; the main control unit determines the speed-up interval and the speed-down interval of the remaining running steps according to the current rotation speed and the target speed of the stepper motor;
[0109] (3) The main control unit determines the state of the stepper motor based on the remaining number of steps of the stepper motor:
[0110] (3-1) When the remaining number of running steps is in the speed-up range, the main control unit will increase the motor drive signal frequency according to the preset acceleration to accelerate it to the target speed;
[0111] (3-2) When the remaining running steps enter the deceleration range, the main control unit will reduce the motor drive signal frequency according to the preset acceleration to reduce its speed;
[0112] (3-3) Outside the speed increase range and the speed decrease range, the motor outputs control instructions at a frequency corresponding to a given speed;
[0113] (3-4) When the current motor speed is continuously lower than 20% of the given speed within the set time, or the current value is continuously higher than the set threshold within the set time, the motor is considered to be in an abnormal state and the control command output is stopped.
[0114] The present invention determines the state of the stepper motor according to the current rotation speed and the remaining number of running steps of the stepper motor, combined with the driver current value collected by the power conversion unit; the main control unit sends the determined state of the stepper motor to the host computer through the communication unit; at the same time, the motor drive unit drives the stepper motor to work through the driver according to the analyzed control instructions combined with the state of the stepper motor. The present invention has high reliability and strong safety. The present invention takes into account the complex space particle radiation environment, and the product has been verified by reliability experiments to ensure that the system continues to work reliably and stably. At the same time, multiple operating methods ensure the safety of cabin equipment and astronauts. Strong versatility. The present invention can be applied not only to dexterous mechanical arms in space station cabins, but also to turntables and other equipment that need to be operated and controlled.
[0115] The above description is only an embodiment of the present invention and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, expansion, etc. made within the spirit and principle of the present invention are included in the protection scope of the present invention.
Claims
1. A stepper motor controller in a space station cabin, characterized in that: include: Power conversion unit, main control unit, motor drive unit, communication unit and external IO unit; The power conversion unit is used to access the external voltage, provide the voltage and power required by each unit, and detect the current data flowing through the driver; The main control unit is used to check and analyze the control instructions sent by the host computer, and send the analyzed control instructions to the motor drive unit to control the driver to drive the stepper motor to work; The control instructions that have passed the verification are also parsed, and the state of the stepper motor is determined. The parsed control instructions are combined with the state of the stepper motor and sent to the motor drive unit to control the driver to drive the stepper motor to work; The main control unit analyzes the type of control instructions that pass the verification, specifically: The main control unit performs different analyses according to different control instruction types, namely: If the control instruction is a configuration instruction, determine whether the configuration instruction is within the set range; If satisfied, modify the preset drive current parameters, speed-up acceleration parameters, speed-down acceleration parameters, driver address parameters in the configuration instruction or output a response configuration signal; If not, the control instruction is judged to be a motion instruction; When the control instruction is a motion instruction, first determine whether the current motor state meets the motion requirements, specifically: (1) Determine the drive signal frequency and cycle number of the stepper motor based on the current position information and current value, combined with the given target speed, target position information, and preset acceleration parameters and current parameters; (2) The main control unit obtains the remaining running steps of the stepper motor according to the analysis of the current position information and the target position information, and obtains the current speed of the stepper motor according to the differential value of the current position information; the main control unit determines the speed-up range and speed-down range of the remaining running steps according to the current rotation speed and the target speed of the stepper motor; (3) The main control unit determines the state of the stepper motor based on the remaining number of steps of the stepper motor: (3-1) When the remaining running steps are in the speed-up range, the main control unit will increase the motor drive signal frequency according to the preset acceleration to accelerate it to the target speed; (3-2) When the remaining running steps enter the deceleration range, the main control unit will reduce the motor drive signal frequency according to the preset acceleration to reduce its speed; (3-3) Outside the speed increase range and the speed decrease range, the motor outputs control instructions at the corresponding frequency of the given speed; (3-4) When the current motor speed is continuously lower than 20% of the given speed within the set time, or the current value is continuously higher than the set threshold within the set time, the motor is considered to be in an abnormal state, and the control command output is stopped at this time; The motor drive unit is connected to the external stepper motor and is used to receive the control instruction parsed by the main control unit and send it to the driver to drive the stepper motor to work; The communication unit is connected to the external communication bus and the external encoder respectively through external cables, and is connected to the main control unit through PCB routing; The external IO unit is used to receive external control signals sent by the main control unit and receive external status signals of external devices.
2. The stepper motor controller in a space station cabin according to claim 1, characterized in that: The power conversion unit includes: a DC / DC chip, a linear voltage-stabilized power converter and a current detection chip; The input end of the current detection chip is connected to the external voltage, and the output end is connected to the motor drive unit, the communication unit and the external IO unit respectively through the DC / DC chip and the linear voltage regulated power converter; The signal output end of the current detection chip is connected to the main control unit, and is used to send the current data detected flowing through the driver to the main control unit; There are multiple linear voltage-regulated power converters, which are respectively arranged corresponding to the motor drive unit, the communication unit and the external IO unit.
3. The stepper motor controller in a space station cabin according to claim 1, characterized in that: The main control unit includes: a processing module, a data storage module and a verification module; The processing module is used to parse the control instructions that have passed the verification, determine the state of the stepper motor, and combine the parsed control instructions with the state of the stepper motor to send the motor drive unit to control the driver to drive the stepper motor to work; The data storage module is used to store the control instructions received from the host computer and wait for the verification module to call; The verification module is used to read the control instructions stored in the data storage module, verify the control instructions, and send the control instructions that pass the verification to the processing module.
4. The control method of a stepper motor controller in a space station cabin according to claim 1, characterized in that: The following steps are involved: 1) The main control unit receives the control command sent by the host computer through the serial port interrupt mode, obtains the control command type, and moves the control command into the data storage module; at the same time, the main control unit records the collected drive current data and the current position data of the external encoder; 2) After the main control unit completes receiving the bus data, it reads the control instruction and verifies the control instruction; 3) The main control unit parses the verified control instruction type in combination with the stepper motor status, obtains the parsed control instruction, and sends it to the motor drive unit; 4) The main control unit obtains the current rotation speed and remaining running steps of the stepper motor based on the current position value collected by the encoder of the external stepper motor and the target position value; 5) According to step 3) to step 4), the main control unit determines the state of the stepper motor according to the current rotation speed and the remaining number of running steps of the stepper motor, combined with the driver current value collected by the power conversion unit; the main control unit sends the determined state of the stepper motor to the host computer through the communication unit; at the same time, the motor drive unit drives the stepper motor to work through the driver according to the analyzed control instruction combined with the state of the stepper motor.
5. The control method of a stepper motor controller in a space station cabin according to claim 4, characterized in that: In step 1), the control instruction type includes: any one of a configuration instruction, an action instruction, a query instruction or a useless instruction.
6. The control method of a stepper motor controller in a space station cabin according to claim 4, characterized in that: The step 2) is specifically as follows: The main control unit determines whether the address code, function code, length, and value of the control instruction are within the preset range; if they are within the set range, the check passes, otherwise, the check fails; If the verification fails, the control instruction is discarded and the host computer waits for the next control instruction to be sent.
7. The control method of a stepper motor controller in a space station cabin according to claim 4, characterized in that: The step 4) is specifically as follows: The rotation speed is: ; in, is the current speed, is the conversion factor, is the encoder value difference between the i-th sampling and the i-1-th sampling, is the sampling period, j is any natural number, k is the filter window size, which is any natural number; The remaining number of running steps is: ; in, is the current number of remaining steps, is the target value of the encoder, is the current value of the encoder, is the conversion factor.
8. The control method of a stepper motor controller in a space station cabin according to claim 4, characterized in that: In step 5), the step of determining the state of the stepper motor is specifically as follows: When the control instruction is a motion instruction, first determine whether the current motor state meets the motion requirements; If satisfied, output control instructions to the motor drive unit, i.e., rotation commands; If not, no control instruction is output to the motor drive unit, that is, the motion command is not executed.
Citation Information
Patent Citations
Stepper motor controller for automatically controlling acceleration and deceleration and method for generating control pulse
CN101977003A
Method for implementing electronic control domain system of whole vehicle
CN111762110A