DynSim program

 

DynSim is a program to make Dynamic Simulations of motion control systems and to do graphical processing of the results.

 

The model is a rotating mechanism comprising a drive (control system plus amplifier), a motor and a mechanical load linked to the motor by an elasticity (spring).

The electronic control has a position loop, a speed loop, an acceleration feed forward, and a jerk feed forward (jerk is the derivative of the acceleration).

The goal is to allow a better knowledge of the influence of the different parameters of the system on its dynamic behavior, the parameters can be modified by the user.

The parameters of the default model are based on a real system from the company I worked for.

 

The program calculates 14 results saved in a curve array. The whole curve array can save up to 100 curves with a maximum of 5000 samples per curve.

The graphic module allows: (for details look at the help in the graphics module.)

-         to copy curves to another location in the curve array.

-         to superimpose up to 4 curves on the same diagram.

-         to make different calculations on curves.

-         etc.

 

 

 

The program main screen has two parts:

-         General data on top
  -  Abscissa, time data
  -  Speed data
  -  Motion data
  -  Calculation setup data

-         Model data on the bottom
 -  Model parameters

 

Main Toolbox

 


Load a model file

 


Save a model file

 


Calculate the model response

 


Display the Graphics module

 


Display the Setup module

 


About DynSim

 


Help

 


Exit the program

 

 

General data

Abscissa, time data

 

 

The abscissa can be either time or degrees, degrees in the example.

The program is designed for rotating machinery.

D0 = beginning angle or time , 0 in the example.

D1 = end angle or time , 360 in the example.

dD = delta angle, calculation step, 0.1 in the example > 3600 calculated samples.

Nb. Samples Calc = number of calculated samples, 3600 in the example.

Sample every = memorize the response every x samples. 5 in the example.

Nb samples Curves = number of memorized samples. 720 in the example.

Calculation time = average time for the calculation.

The advantage to have an abscissa in degrees rather than in time is the possibility to compare result curves at different speeds.
The calculations are, of course, done with time.

 

 

 

Speed data

 

 

 

Speed = speed of the system



Unit = speed unit

 


Development = circumference of the mechanical load in meter.

 

Position unit either radians or meter for the display of the curves.

 

 

 

Motion data

 

The motion is a displacement of the given amplitude in the given cycle, in the example 0.4 radians in 180 degrees.

Motion abscissa unit: Time or degree

Motion acceleration diagram

 

 

Amplitude of one step, 0.4 radian in the example

Duration of 1 cycle, 180 degrees in the example

 

 

D0 to D7 time interval for each section in the diagram

 

 

 

 

 

Calculation setup data

 

 

Speed difference, when checked calculates the speed difference instead of the speed.

Disp difference, when checked calculates the displacement difference instead of the displacement.

 

You can define what curves you want to copy automatically to other places after calculation.

Copy curves at = index of the curve from where the selected curves are saved.

 

 

 

Curve comment: Adds the selected parameter values to the curve name.

 

 

Comment text: Adds a text to all curve names.

 

 

 

Model

 

The bloc diagram shows the model with the different editable parameters.

Click on a switch to connect  or disconnect  a signal.

 

Position loop

 

 

 

Kp = position loop gain

tp = position loop integrator gain

 

 

 

Speed loop

 

 

 

Kv = speed loop gain

z = equivalent damping factor

 

 

 

Acceleration feed forward

 

Ka = acceleration feed forward gain

 

 

 

Jerk feed forward

 

Kj = jerk feed forward gain

 

 

 

Drive and motor

ts = drive delay time, not used

dd = drive sampling, not used

Td = drive integrator gain, not used

Kd = drive current gain

lt = current limit

J1 = motor dynamic inertia

 

 

Mechanical load

 

f1 and f2 = the two eigenfrequencies of the system

 

 

 

C = viscous damping value

z = equivalent damping factor

 

 

J2 = mechanical load dynamic inertia

 

 

 

 

Calculations

The differential equations are solved with the Runge-Kutta method.

The program calculates 14 result curves:

1 : Jerk          =  input jerk

2 : Acc           =  input acceleration

3 : Speed      =  input speed

4 : Displ         =  input displacement

5 : RegSpd    =  output speed regulator

6 : RegDsp    =  output displacement regulator

7 : Torque    =  motor torque

8 : Acc1         =  motor acceleration

9 : Speed1    =  motor speed

10 : Displ1    =  motor displacement

11 : Acc2       =  load acceleration

12 : Speed2  =  load speed

13 : Displ2    =  load displacement

14 : Torque  =  torque between motor and load