SPRUHJ1I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
The first parameter described in this section is the current injected in the D-axis (Id) to allow an Rs Online recalibration. This current is generated by the estimator module itself when the Rs Online is enabled, and its magnitude is user configurable. As discussed earlier, the recommended value for the injected current is around 5% of the motor's rated current to allow a measurable current back from the motor and hence allow an accurate Rs Online recalibration. For example, consider a motor with a rated current of 5 A. The injected current in this scenario is 0.25 A. The following code example sets the injected current for Rs Online to be 0.25 A:
// Scale factor to convert Amps to per units.
// USER_IQ_FULL_SCALE_CURRENT_A is defined in user.h
_iq sf = _IQ(1.0/USER_IQ_FULL_SCALE_CURRENT_A);
// Value corresponding to 0.25 Amps
_iq RsOnLineCurrent_A = _IQ(0.25);
CTRL_Obj *obj = (CTRL_Obj *)ctrlHandle;
// Scale value from Amps to per units and set through the use of an API
EST_setRsOnLineId_mag_pu(obj->estHandle,_IQmpy(RsOnLineCurrent_A,sf));
When Rs Online is running, Figure 16-8 shows how the amplitude in the current waveform can be seen, and measured to be approximately 0.25 A when no mechanical load is applied to the motor. As can be seen, the no load current in this case is 0.1 A, and when adding a 0.25 A for Rs Online, the peak current is
As the load of the motor increases, the additional current required for Rs Online becomes proportionally smaller as can be seen in Figure 16-9. In this case we have a load current of 0.35 A, and we are keeping an Rs Online injection current of 0.25 A. Using the same equation as in previous example, the maximum current is:
Another example is if a motor is 10 A, and the injected current for Rs Online is 0.5 A. The same code example with a different current value is used:
// Scale factor to convert Amps to per units.
// USER_IQ_FULL_SCALE_CURRENT_A is defined in user.h
_iq sf = _IQ(1.0/USER_IQ_FULL_SCALE_CURRENT_A);
// Value corresponding to 0.5 Amps
_iq RsOnLineCurrent_A = _IQ(0.5);
CTRL_Obj *obj = (CTRL_Obj *)ctrlHandle;
// Scale value from Amps to per units and set through the use of an API
EST_setRsOnLineId_mag_pu(obj->estHandle,_IQmpy(RsOnLineCurrent_A,sf));
Similar to the previous examples, the maximum current can be calculated by using the same equation:
And the corresponding oscilloscope plot in this example is shown in Figure 16-10.
In general, if we consider a case where the motor is fully loaded, in the case of a 10 A motor, and adding 5% of that current for Rs Online recalibration, the total maximum current will be:
In other words, the additional current supplied to the motor will only be 0.0125 A, representing only 0.125 % of the rated current. This current is usually not even perceived by the motor in terms of additional heating.
For example, the following scenario is for a 2.2 A motor, with an Rs Online current of 5% of the rated current, equal to 2.2*0.05 = 0.11 A. The additional current is only 0.125% compared to the rated current, which equals to 2.2*0.00125 = 0.0028 A. When we plot before and after Rs Online has been enabled, the additional current is not even noticeable on the oscilloscope (Figure 16-11). It is also important for the reader to notice that the vertical zoom of the oscilloscope changed from 500mA/ to 2.00A/ since now the amplitudes of the current are much higher than before due to the mechanical loading of the motor.