There are seasons with all things. And this was the season of SOLIDWORKS Motion questions pouring through our support lines. As I reflect back on this season, there were many things to learn and “Take away.” This blog centers in on the various ways to define the motion of a driving motor or force.
Standard Motion motors can be described as:
- a constant rate/speed,
- as a prescribed distance travelled over a specific range of time, or
- oscillating at a particular frequency with a prescribed displacement as amplitude
There are three “advanced” motor definitions provided through SOLIDWORKS Motion’s Function Builder. This blog will focus on the following three:
- Segments – defines a smooth motor profile from “piecewise continuous functions” of either time or cycle angle
- Data Points – define a motor profile by interpolating through discrete points; the user can define the method of interpolation
- Expression – defines a motor profile as a mathematical function complete with trigonometry functions, use of variables, and Motion study results
A simple shuttle and rail assembly was modeled and is used to demonstrate the set-up of each advanced motor type.
While purely for demonstrative purposes, a wave is a good example for each of the advanced motor definitions; I used both triangular and sawtooth wave profiles to illustrate.
A segmented motor profile contains start and end time values for a period of displacement. The evaluation of the curve between these values is dictated by the user. (See image of points used for a triangle wave) I used a linear function to describe the wave.
View this photo to see the shuttle motivated with a motor defined by Segments; displacement and velocity of the shuttle in the X direction are plotted against time.
Like a segmented profile, Data Points build a profile with time steps and values for displacement, velocity, or acceleration. And, like Segments, an interpolation method must be chosen to describe the motion between points. Where Segments may be a good choice for fine motor control on items such as pneumatic pistons or linear actuators, Data Points are perfect for when historical data is available. So, when sizing a motion driver for a particular application and no historical data is available, Segments will give the better approximation.
View this photo to see the shuttle move through the data points. As before, I'm tracking the displacement and velocity of the shuttle.
When motion synthesis is needed and can be expressed in terms of a mathematical function, Expressions are the way to go. Cam motion is a good example of the use of expressions, especially if the nature of motion is three-dimensional. Screw synthesis is another application.
Like the other methods, the user can define the motion in terms of displacement, velocity, or acceleration. I used an expression for sawtooth motion as described by the following.
Here, a and p represent amplitude and period, respectively.
View this photo to see the shuttle as motivated by the function for a sawtooth wave. Notice how the shuttle is resetting to its starting position.
More complicated curves can be strung together with the STEP function. This command utilizes a cubic function and, like Segments, includes start and end points along the curve. The arguments used are: STEP(a, X1, Y1, X2, Y2). Where a is a valid result, such as time. X1 and X2 are points along the horizontal axis where the step rises and falls, respectively. Y1 and Y2 are values (in my example, displacement) at the rise and leveling of each x point, again respectively. Combining STEP function is as easy as adding them with the “plus” (+) operand.
View this photo to see the STEP function in use with the shuttle. This is a subtle ramp up followed by a cubic ramp down.
Now that you know the many different ways motors in SOLIDWORKS Motion can be defined and used, I hope you will begin experimenting more with Motion analysis in designs you are working with.
By: Chris Schaefer, Simulation Specialist
Interested in learning more about SOLIDWORKS Motion? Check out these other blog posts: