You are here:
Print

Since Technosoft have only digital drives, the lowest value of the internal units for the controllers is 1 [count/sampling].

Now let’s take a look on the speed scaling factor :
speed[rpm] = [60 / (4 x Nr_enc_lines x Ts_s[s])] x speed[counts/sampling],
where Ts_s is the slow loop period.

For example if we take an encoder of 2000 lines and a default sampling loop of 1 ms, the minimum speed that can be imposed by the drive is 7.5 rpm. This means that the lowest (instant) speed that can be achieved is 7.5 rpm. However, you can ask the drive to command the motor with a speed of 3.75 rpm, but in this case, the speed command will oscillate between 0 and 7.5 rpm (one sampling is 0 and the other sampling is 7.5 rpm).

Unfortunately, there are no very helpful software solutions for this situation. Let’s look at the above formula. What can we adjust in order to obtain lower instant speeds?

1. The encoder number of lines
2. The slow loop period
3. A mix of 1. and 2.

1. This is by far the easiest solution, guaranteed to clearly improve the motor movement quality. Unfortunately, this involves changing the encoder and there are the mechanical and financial aspects that need to be taken into account.

2. Increasing the sampling time will also increase the minimum instant speed that the drive can impose to the motor (it’s easy to imagine that if the drive reads the encoder every millisecond, the motor has to move by one count each time the drive reads the encoder, so that the drive will see a difference in the readings and will command the motor accordingly; but if the drive starts reading the encoder only once per second, then the motor might move a thousand times slower for the drive to see the same difference in the readings). However, this means the motor command is also updated only once per second, and this results in a very poor motor control. The main trade-off is that you lose the motor stiffness when you increase the sampling period, and you also get very large response times (if you try to get slow response times, the motor will start oscillating). A realistic value that you can try: increase the slow loop period from 1 ms to 2 ms, and test again.

However, only by doing this and maintaining the same encoder you can’t expect to have a visible change in the motor movement quality.

3. This is self explanatory. In the end, this will be less expensive than 1, but might yield a lower quality.

Our advice is to first see what is the best encoder (with the biggest number of lines) that can be bought for the application (based on the allocated application budget) and then try to compensate by increasing the sampling time.

Previous How to stop the motor vibrations at motion complete