How to configure a linear voice coil motor with analog signal feedback

How to configure a linear voice coil motor with analog signal feedback

Problem

I have a linear voice coil motor with an analog signal as feedback properly wired to my drive but I don't know how to properly configure and tune it. What is the right process that I need to follow?

Steps

  • Once you have connected to the drive, go to the Actuator window and set the right parameters for the Motor Type, Position sensor and Velocity sensor. Your window should like the following:


  • The next step is to configure the analog feedback. In order to do that, go to the Analog Signal window and select the right option for Analog input used. Try to move the motor and read the Actual position changing. Don't worry if the values don't relate to the reality, we will configure that later.

  • Still, in the Analog input window, change the position units to counts like it is shown in the following picture:

  • Once the position units have been changed, move the voice coil to both ends of its stroke and read the Actual position in each case. Write the values down, you will need them when setting the Motor parameters.
 
  • Now go to the Motor window and introduce all the parameters from the datasheet besides the stroke. In order to properly set the stroke, you need to understand that the value that MotionLab interprets is the stroke that the voice coil would have if you were to read the full range of the analog signal feedback. This full range is 4096 counts, and as you can see in our example, this is not our case so some scaling needs to be done. In this case, the total real stroke is 25 mm so in MotionLab you should input the following value:
MotionLab stroke = 25 mm * 4096 counts / (3559-404) counts = 32.52 mm


  • After having set the right parameters in the Motor window including the stroke, it is time to move to the Limits window. In that window, make sure that your position, velocity and torque limits are properly set accordingly to your system. Make sure that the position limits match your stroke, that the velocity/acceleration limits are correct and that the minimum and maximum force limits match the peak force value.

  • After having set the Limits correctly, make sure that the Protections parameters are set up correctly as well. Adjust the voltage range to your application's and make sure that the maximum system current is equal to or higher than the current @ force peak.

  • The next step is to go to the Tune window to start with the tuning of the loops. Start with the force loop and get a performance that matches your expectations, an example could be the following:
  • Once you have tuned the force loop, you only need to tune the position loop to match your application requirements as well. In order to know how to tune this properly, you can take a look at the following link: Tuning of control loops: Position/Velocity Loops.