Connecting the Dots
Now that we have seen the properties that we wish to control and the factors which might impact them, let’s try to understand how these are related.
When we use pulse mode control for servo motors, we’re making them move precisely by sending little signals (pulses) from a controller (like a PLC) to the servo drives, which then guides the motor. This controlled movement happens as the motor turns and causes something called a ball screw nut to shift horizontally. The trick is figuring out the exact connection between the number of pulses sent and how much the ball screw nut moves. This connection is uncovered through a step-by-step process called calibration. During calibration, we carefully move a part and keep track of both the pulses sent and the movement. This process helps us understand how to speak the language of servo motor control, giving us the ability to finely control constant rate of extension applications
In simple terms:
               Current Displacement = Np * Pitch / PPR; where
               Np          = Number of external pulse sent for current displacement
               Pitch      = Pitch of the ball-screw
               PPR        = Number of external pulses required for 1 revolution of motor
 
Looks simple. Right! Well, not exactly. PPR is dependent on a number of factors like electronic gear ratio of the servo drive, mechanical gear ratio between servo motor and ball screw etc. Also, the ball screw pitch may not be precise and contain some error. Due to these reasons, we cannot rely on PPR and pitch to calculate the current displacement of screw nut. Instead, we use an indirect method, called displacement calibration, to accurately compute the current displacement.
Modified formula,
               Current- Displacement = Np * Dc / Npc where;
               Dc           = Displacement used during calibration process
               NPc        = Number of external pulse sent during calibration
 
Does that mean the displacement calibration is not dependent on other influencing factors like gear ratio and pitch? Well, it is dependent on these factors. The devil lies in the details. Let’s dig a bit deeper.
Let’s try to understand how ‘Np * Dc / Npc’ will be computed. Assuming our controller (a PLC) which is sending these pulses to the servo drive uses 2 words (i.e. 32 bit resisters) to hold ‘Np’, ‘Dc’ and ‘NPc’ values:
               The Max value of ‘Np * Dc’ can be 2,147,483,647 i.e. 2^31
That means, if the product of ‘Np’ and ‘Dc’ is greater than this value, it will lead to an Overflow. Let’s take an example: Say, if PPR is 10,000 and pitch is 5 mm. Just for the sake of understanding, let’s assume no gear is involved and all components are accurate,
1 revolution will displace the screw nut by 5mm.
Let’s say we carried out displacement calibration by moving the nut 500mm with displacement precision of 1 decimal point. If the current displacement is 800 mm then,
               ‘Np * Dc’ => (800/5) * 10,000 * 5,000 => 8,000,000,000 which is > the Max value.
               Result will be an overflow!
 With the current configuration, what will be the max displacement that we can achieve?
Max possible displacement = 2,147,483,647 * 5 / (5,000 * 10,000) = 214.74 mm
That’s pretty low, so how to increase this value? Well, we can do a couple of things:
1) Reduce the displacement during calibration
2) Reduce the PPR or,
Let’s try number #2 first. Let’s say we carried out displacement calibration by moving the nut 50mm with the precision of 1 decimal point. If, like the earlier case, the current displacement is 800 mm then,
               ‘Np * Dc’ => (800/5) * 10,000 * 500 => 800,000,000 which is < the Max value.
               Result will NOT be an overflow!
With the current configuration, what will be the max displacement that we can achieve?
Max possible displacement = 2,147,483,647 * 5 / (500 * 10,000) = 2147.4 mm
But what’s the catch? Let’s see. In manual calibration which is done using a physical scale, there is always some observational error involved. For the sake of calculation, let’s assume that error was 0.25 mm. Let’s calculate again:
               With 0.25 mm error, 50 mm was actually 50.25 mm
               That means, Nc = (10,000 / 5) * 50.25 = 100,500 instead of 100,000
               So, how much error will there be when the actual displacement is 800 mm?
               Error at 800 mm => 3.98 mm
 
That means, lower the displacement used while calibration, higher may be the displacement error. So, ideally we should calibrate with much bigger value. But as we saw earlier the higher calibration-displacement values may lead to Overflow. Phew! What to do then. Let’s try to manipulate via #2 approach i.e. reduce the PPR instead of calibration-displacement.
We know that the PPR is dependent on gear ratio. Servo drives support electronic gear ratios which can be easily changed. Let’s reduce the PPR to 1000 by increasing the electronic gear ratio 10 times and look at the calculation again. Let’s say we carried out displacement calibration by moving the nut 500mm with the precision of 1 decimal point. If the current displacement is 800 mm then,
               ‘Np * Dc’ => (800/5) * 1000 * 5000 => 800,000,000 which is < the Max value.
               Result will NOT be an overflow!
               Max displacement = 2,147,483,647 * 5 / (5000 * 1000) = 2147.4 mm.
               Error at 800 mm => 0.39 mm
That’s great. Everything sorted! But how much can we reduce the value of PPR? Well we can’t go below a certain value otherwise it will impact the precision and range of the speed. We will cover that in our next blog. Keep watching!