I2c low noise stepper motor control system
Patent Information
- Application Number
- CN202522190641.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Utility models(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-16
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2035-10-16
AI Technical Summary
然而,步进电机在运行过程中,尤其是高速或高频率、或者超低速运行时,容易产生较大的振动噪声,这在一定程度上限制了步进电机在对噪声要求严格的场合的应用
[0009]本实用新型对现有技术做出了改进,在实际使用中,本实用新型可以有效的减少MCU的控制的复杂度,方便通信,有利提高整个系统的可靠性。另外能有效减少电机运行时的振动噪声。使得电流变化更加平滑,减少了电机线圈中的电流冲击,从而降低了转动的振动噪声,从而提高应用的舒适度。
Smart Images

Figure CN224790565U_ABST
Abstract
Description
Technical Field
[0001] This utility model relates to the field of stepper motor control technology, specifically to an I2C low-noise stepper motor control system. Background Technology
[0002] Stepper motors, which convert electrical pulse signals into corresponding angular displacements, are widely used in consumer devices such as printers, scanners, robots, and monitoring equipment due to their high control precision, simple structure, and good reliability. However, stepper motors are prone to generating significant vibration and noise during operation, especially at high speeds, high frequencies, or ultra-low speeds, which limits their application in environments with stringent noise requirements. Traditional stepper motor control methods, such as current control, while achieving some degree of control over motor motion, are not conducive to cost control in consumer electronics products. Existing technologies typically employ physical methods to reduce noise, such as adding dampers, current subdivision control, using sound insulation materials, or designing more complex motor structures. While these methods can reduce noise, they often increase system cost and complexity. This invention addresses the shortcomings of existing technologies by providing an I2C low-noise stepper motor control system, aiming to effectively reduce stepper motor noise while maintaining high-performance operation, demonstrating promising application prospects and practical value. Utility Model Content
[0003] In view of the problems in the related technologies, this utility model proposes an I2C low-noise stepper motor control system to overcome the above-mentioned technical problems existing in the existing related technologies.
[0004] Therefore, the specific technical solution adopted by this utility model is as follows:
[0005] An I2C low-noise stepper motor control system includes a main control module, an I2C low-noise control module electrically connected to one side of the main control module, a stepper motor electrically connected to one side of the I2C low-noise control module, and a sensor mounting module provided on one side of the stepper motor.
[0006] The I2C low-noise control module includes a microcontroller unit, an I2C decoding control unit electrically connected to one side of the microcontroller unit, a control center module electrically connected to one side of the I2C decoding control unit, a noise reduction controller electrically connected to one side of the control center module, and a stepper output controller electrically connected to one side of the noise reduction controller.
[0007] Furthermore, the microcontroller unit and the I2C decoding control unit are electrically connected via the SCLK protocol and the SDA protocol, respectively.
[0008] The beneficial effects of this utility model are as follows:
[0009] This invention improves upon existing technology. In practical use, it effectively reduces the complexity of MCU control, facilitates communication, and enhances the reliability of the entire system. Furthermore, it effectively reduces vibration and noise during motor operation, resulting in smoother current changes and reduced current surges in the motor coils, thereby lowering rotational vibration and noise and improving user comfort. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in the embodiments of this utility model or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this utility model. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0011] Figure 1 This is a schematic diagram of the main structure of an I2C low-noise stepper motor control system according to an embodiment of the present utility model;
[0012] Figure 2 This is a waveform diagram of an I2C low-noise stepper motor control system according to an embodiment of the present utility model. Detailed Implementation
[0013] The technical solutions of the present utility model will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of the present utility model, and not all embodiments. Based on the embodiments of the present utility model, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the present utility model.
[0014] According to embodiments of the present invention, such as Figure 1-2 As shown, an I2C low-noise stepper motor control system is provided, including a main control module 1, an I2C low-noise control module 2 electrically connected to one side of the main control module 1, and a stepper motor 3 electrically connected to one side of the I2C low-noise control module 2.
[0015] The I2C low-noise control module 2 includes a microcontroller unit. An I2C decoding control unit is electrically connected to one side of the microcontroller unit. A control center module is electrically connected to one side of the I2C decoding control unit. A noise reduction controller is electrically connected to one side of the control center module. A stepper output controller is electrically connected to one side of the noise reduction controller. The microcontroller unit and the I2C decoding control unit are electrically connected via SCLK protocol and SDA protocol, respectively.
[0016] The I2C low-noise control module 2 of this utility model consists of an I2C decoding control unit (I2C_Decoder), a control center (Controller_Center), a noise reduction controller (Noise_Reduction_Controller), and a stepping output controller (Stepping_Output_Controller).
[0017] The I2C decoding control unit (I2C_Decoder) is primarily responsible for monitoring MCU information transmissions, decoding the data sent by the MCU, and updating and sending the parsed data to the Controller_Center. The Controller_Center then sends control information processing data to the Noise_Reduction_Controller, which further refines the control information and controls the Stepping_Output_Controller to output the data.
[0018] The system control steps are as follows:
[0019] 1. The I2C_Decoder monitors whether the information sent by the MCU is valid in I2C format. If the information is valid, the data is sent to the Controller_Center. If it is invalid, the data is discarded.
[0020] After obtaining the I2C Decoder information, the Controller_Center further processes the information. It parses the obtained information into data such as SPEED speed, DIRECTION direction, STEP_NUMBER step count, START control signal, OFFSET1, OFFSET2, etc.
[0021] 2. The Controller_Center sends data such as SPEED speed, DIRECTION direction, STEP_NUMBER number of steps, and START control signal to the Noise_Reduction_Controller.
[0022] 3. The Noise_Reduction_Controller sets the maximum count value of the timer Timmer1 to SPEED. It also sets the maximum count value of the timer Timmer2 to SPEED. The parameters ADDEND1 and ADDEND2 are set to the number of steps (Step_Number_cnt); the START_FLAG bit is also controlled.
[0023] ADDEND1=OFFSET1; ADDEND2=OFFSET2;
[0024] If Controller_CenterSTART data is received;
[0025] Then START_FLAG = 1;
[0026] If START_FLAG = 0:
[0027] Timmer1 = 0;
[0028] Timmer2 = 0;
[0029] Step_Number_cnt = 0;
[0030] otherwise:
[0031] Timmer1 = Timmer1 + ADDEND1;
[0032] If Timmer1>=SPEED:
[0033] Timmer2 = Timmer2 + ADDEND2;
[0034] Timmer1 = 0;
[0035] If Timmer2 >= SPEED:
[0036] Step_Number_cnt=Step_Number_cnt+1;
[0037] Timmer2 = 0;
[0038] 4. Judgment:
[0039] Is STEP_NUMBER equal to Step_Number_cnt?
[0040] If STEP_NUMBER equals Step_Number_cnt:
[0041] Then START_FLAG = 0: and send END data to Controller_Center to notify Controller_Center that the rotation has been completed.
[0042] 5. The Noise_Reduction_Controller sends data such as Timmer1, Timmer2, direction DIRECTION, and Step_Number_cnt to the Stepping_Output_Controller.
[0043] 6. Set parameter STEP with Stepping_Output_Controller;
[0044] Calculation:
[0045] If 8-beat control is adopted:
[0046] STEP=Step_Number_cnt%8;
[0047] Obtain phase control level by referring to Table 1 according to STEP:
[0048] 7. Further calculation:
[0049] When DIRECTION is forward: STEP=STEP;
[0050] When DIRECTION is reverse: STEP=7-STEP;
[0051] 8. Judgment: Look up Table 1:
[0052] Check and generate phase levels of STEP and STEP+1
[0053] If a phase has level 1 at beat STEP and level 0 at beat STEP+1, then this phase is in a decreasing state at beat N;
[0054] If a phase has level 1 at beat STEP and level 1 at beat STEP+1, then this phase is in a stable high state at beat N;
[0055] If a phase has level 0 at beat STEP and level 1 at beat STEP+1, then this phase is in an increasing state at beat N;
[0056] If a phase has level 0 at beat STEP and level 0 at beat STEP+1, then this phase is in a stable low state at beat N;
[0057] 9. Calculate the actual control level of each phase:
[0058] If the phase is in an increasing state:
[0059] When Timmer1<Timmer2: the actual phase control level is 1;
[0060] Otherwise: the actual phase control level is 0;
[0061] If the phase is in a decreasing state:
[0062] When Timmer1>Timmer2: the actual phase control level is 1;
[0063] Otherwise: the actual phase control level is 0;
[0064] If the phase is in a stable high state:
[0065] The actual phase control level is 1;
[0066] If the phase is in a stable low state:
[0067] The actual phase control level is 0;
[0068] 0 1 0 0 0 1 1 1 0 0 2 0 1 0 0 3 0 1 1 0 4 0 0 1 0 5 0 0 1 1 6 0 0 0 1 7 1 0 0 1
[0069] Table 1
[0070] For example, it is required to make the stepping motor rotate one revolution. As in the above example, the rotation angle of one motor in one step is 0.087890°, then 360° / 0.087890°=4096 steps are required to complete one revolution. It is only necessary to send the value 4096 to the system, and the system can rotate to the target position automatically. In addition, if it is necessary to control the rotation speed, it is only required to send control speed information, without periodically sending data to the controller as in the conventional method. For noise reduction, for example, when controlling a stepping motor to rotate one revolution, set STEP_NUMBER=4096, SPEED=8, perform forward control, and set OFFSET1 and OFFSET2 to 1. When the START signal becomes valid, Timer1 continuously increments by 1. When Timer1 equals 8, set Timer1=0, and Timer2 increments by 1. This cycle repeats until Timer2 increments to 8. When Timer2 equals 8, Step_Number_cnt increments by 1. For example, when STEP=0, according to Figure 2 , Phase0=1000ABCD, Phase1=1100ABCD, it can be known that phase A changes from 1 to 1, so phase A is in a stable high state, and all control waveforms are at high level; phase B changes from 0 to 1, so phase B is in an incremental state, the actual output level of phase B is 1 when Timmer1<Timmer2, otherwise it is 0, as shown in Figure 2 ; phase C changes from 0 to 0, so phase C is in a stable low state, and all control waveforms are at low level; phase D changes from 0 to 0, so phase D is in a stable low state, and all control waveforms are at low level. When Step_Number_cnt=4096, the system control is completed.
[0071] To facilitate understanding of the above technical solutions of the present utility model, the working principle or operation mode of the present utility model in actual practice is described in detail below.
[0072] In summary, with the assistance of the above technical solutions of the present utility model, the present utility model can effectively reduce the control complexity of an MCU, facilitate communication, and help improve the reliability of the entire system. In addition, it can effectively reduce vibration and noise during the operation of the motor. It makes the current change smoother, reduces the current impact in the motor coils, thereby reducing the vibration and noise during rotation, and improving the comfort of application.
[0073] The above description is only a preferred embodiment of the present utility model and is not intended to limit the present utility model. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present utility model should be included within the protection scope of the present utility model.
Claims
1. An I2C low-noise stepper motor control system, characterized in that, It includes a main control module (1), one side of which is electrically connected to an I2C low-noise control module (2), and one side of which is electrically connected to a stepper motor (3); The I2C low-noise control module (2) includes a microcontroller unit, an I2C decoding control unit electrically connected to one side of the microcontroller unit, a control center module electrically connected to one side of the I2C decoding control unit, a noise reduction controller electrically connected to one side of the control center module, and a stepper output controller electrically connected to one side of the noise reduction controller.
2. The I2C low-noise stepper motor control system according to claim 1, characterized in that, The microcontroller unit and the I2C decoding control unit are electrically connected via the SCLK protocol and the SDA protocol, respectively.