Stepper Motor Period Control for Low-Vibration S-Curve Motion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional stepper motor control methods using S-curves to reduce vibration during acceleration and deceleration are resource-intensive and difficult to implement on field programmable gate arrays (FPGAs) with limited resources.
Innovation Solution
A method and apparatus that control stepper motor acceleration and deceleration by adjusting the time period between consecutive steps based on distance from start or end positions, using a simplified algorithm that multiplies the nominal period by 2^n, where n is an integer, to gently increase or decrease speed, reducing mechanical vibration while conserving FPGA resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Object-affected harmful factors
If an S-curve with exponential function is used to reduce vibration, then mechanical vibration is reduced, but FPGA resource consumption increases and implementation becomes difficult
Solution Approach 1:
The patent replaces the complex exponential S-curve calculation with a simple lookup table containing pre-calculated time period values. This lookup table acts as a 'cheap' alternative to the computationally expensive exponential function, consuming minimal FPGA resources while still achieving smooth acceleration and deceleration profiles that reduce mechanical vibration.
Solution Approach 2:
The patent pre-calculates the acceleration and deceleration time period values and stores them in a lookup table before runtime. This preliminary action eliminates the need for real-time exponential function calculation during motor control operations, significantly reducing FPGA resource consumption while maintaining the vibration-reducing benefits of S-curve motion profiles.
2Measurement precision
If direct exponential function calculation is used, then accurate S-curve is achieved, but computational complexity and resource usage increase
Solution Approach 1:
The patent creates a copy of the exponential S-curve function's output values in the form of a lookup table. Instead of calculating the exponential function in real-time, the system copies pre-computed values into a table that can be quickly accessed during motor control operations, maintaining accuracy while eliminating computational complexity.
Solution Approach 2:
The exponential S-curve values are pre-calculated and stored in the lookup table before the motor control operation begins. This preliminary computation transfers the computational burden from runtime to setup time, allowing the control system to simply retrieve pre-computed values during operation, thus achieving accurate S-curves with minimal real-time computational resources.
3Device complexity
If look-up table is used to implement S-curve, then FPGA resource usage decreases, but implementation complexity remains
Solution Approach 1:
The patent segments the acceleration and deceleration profiles into discrete time periods with specific step counts stored in the lookup table. This segmentation breaks down the complex S-curve implementation into manageable, pre-defined segments that are easy to implement and configure in FPGA hardware, simplifying the overall implementation process while maintaining resource efficiency.
Data Source
AI summary
A stepper motor control method and related control circuitry (for example, an FPGA) to control the acceleration and/or deceleration of the stepper motor movement to reduce system vibration. Acceleration and deceleration are implemented by adjusting the stepper motor period (the time between consecutive stepper motor position) based on the distance from the start or to the end position. The closer to the start or end position, the longer the period employed. In the middle range of its travel, the motor speed is constant and the stepper motor period is the shortest. The stepper motor period is always a nominal period multiplied by a factor of 2{circumflex over ( )}n, where n is zero or a positive integer. The resulting motor position vs. time curve is an approximated S-curve. The acceleration and deceleration control minimizes mechanically induced vibrations, while reducing implementation complexity and demand on FPGA resources.


