BULLETIN OF THE POLISH ACADEMY OF SCIENCES TECHNICAL SCIENCES, Vol. 65, No. 4, 2017 DOI: 10.1515/bpasts-2017-0054
A new sensorless speed control structure for PMSM using reference model K. URBANSKI Institute of Control and Information Engineering, Poznan University of Technology, 3A Piotrowo St., 61-138 Poznan, Poland
Abstract. In the paper a new sensorless control structure for the PMSM drive is presented. Such a structure is especially recommended for speed in the range of single revolutions per second (excluding standstill). The method uses a back EMF observer for position estimation. However, there is no need to estimate the speed. This is a big advantage because of possible irregularity of estimated back EMF in this speed range, which makes the calculation of speed difficult or impossible. The proposed structure is similar to the model following control, but the reference model attempts to track the motor operating point. The main idea is to utilize as a reference a model of the whole drive, including speed and current controllers and motor model. Such a model produces reference voltage for the real inverter. However, an extra unit – called rotator – is needed to provide precise control of direct axis current, which is sensitive to the improper position of the voltage vector. The rotator acts as a kind of compensator for error of position estimation. Key words: permanent magnet motors, sensorless control, observers, variable speed drives.
*e-mail:
[email protected] Manuscript submitted 2016-07-08, revised 2016-10-12, 2016-11-20 and 2017-01-06, initially accepted for publication 2017-01-30, published in August 2017.
Eˆα , Eˆβ [V ]
constant reference current iq−ref = 0.35A, sensor mode
20 0 -20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
8
ω [ rad ] s
The high power density, high torque to inertia ratio and small torque ripple are the advantages of the permanent magnet synchronous motor (PMSM). To achieve good dynamics, especially during transients, in the case of rapid reference speed changes and load changes, a vector control should be used. Shaft position information is required to enable the effective vector control of a PMSM drive. In a typical realization of the control structure, the sensorless operation of a speed control for a PMSM drive may be achieved simply by eliminating the position sensor and by the use of a position estimator instead. This approach works well for medium and high speed ranges [1–6], even in the case of more complex drives, e.g., for a motor and inverter connection via motor choke [7, 8] or sinusoidal filter [9, 10]. Another situation is in the case of a low speed range [11]. In such a case of operation, in many applications there is a need to introduce a special control algorithm [12, 13], as well as the use of a sensorless control. It is assumed that position estimation based on the back electromotive force (EMF) does not have sufficient accuracy at lower speed range [14, 15]. In such case other methods are used, e.g., using injection of additional test signals [16, 17]. For speed in the range several revolutions per second, the calculation of speed directly from estimated position value is not so trivial because of the possibility of excitation oscillations caused by the speed estimator. This happens due to the non–sinusoidal shape of the estimated back EMF, which has a major impact on the stable sensorless performance of the drive at this speed range. However, the position calculation based on the back EMF estimation may work correctly even in such speed
range. This is confirmed by experimentally obtained waveforms shown in Fig. 1 and Fig. 2. This is the idle speed, using a constant value of reference current on q axis. These waveforms were obtained for a traditional field oriented control (FOC) method of the PMSM (using a similar structure as is shown in Fig. 4), with a cascade control structure using a closed speed control loop (which was disconnected for the test) with inner current control loops containing separate controllers on d and q axes, rotating synchronously with the rotor. The overall structure of control utilizes the sine and cosine of the estimated position and calculated speed value instead of measured values.To obtain smooth output values from the observer, the reference voltage is used instead of measured ones. This simplification gives good results
6 4 2 0
iq [A]
1. Introduction
0.4 0.2 0
t [s]
Fig. 1. Typical control structure, sensor mode: constant reference current iq = 0.35A, up: estimated back EMF – E ̂ α, E ̂ β, middle: measured speed (average value 6 rad s , down: measured current iq
489
Bull. Pol. Ac.: Tech. 65(4) 2017 Unauthenticated Download Date | 8/25/17 12:47 PM
Eˆα , Eˆβ [V ]
K. Urbanski
constant reference current iq−ref = 0.35A, sensorless mode
20 0 -20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
ω [ rad ] s
8 6 4 2
iq [A]
0
0.4
3. The new control structure
0.2 0
0
0.2
0.4
0.6
0.8
1
t [s]
1.2
1.4
1.6
1.8
2
Fig. 2. Typical control structure, sensorless mode: constant reference current iq = 0.35A, up: estimated back EMF – E ̂ α, E ̂ β, middle: measured speed (average value 5 rad s ), down: measured current iq
in the medium and high speed range. However, in the low speed range, where requested voltage is low, the reference voltage may differ noticeably from the inverter output voltage, which affects the estimated back EMF amplitude. The sensor and sensorless operation, where a constant value of current on q axis is the setpoint, produces almost equally shaped speed waveforms. It is noticeable, that the problem lies not in the position estimation, but there is essentially a fast and stable speed calculation. The nonlinearity of the motor is extremely influential in this speed range. This is indicated by the shape of the speed waveforms, obtained in the case of constant current value. Such a phenomenon particularly affects a drive with low moment of inertia. For such a drive, in typical realization, the speed should be estimated with a much smaller delay than the period of a speed fluctuation (which is shown in Fig. 2) to provide an adequate response of the speed controller without the excitation of the speed oscillation. An adequate reference current in q axis may be processed properly by P/PI controller only with fast settings, which makes it practically impossible to work in the sensorless mode on a drive with low moment of inertia (sensorless control usually requires slowing down of the speed controller). Therefore, a sensorless control structure for speed has been developed which avoids the need to calculate speed from the estimated back EMFs. This is the main difference to the standard method, and it is a big advantage, because it allows the avoidance of problems in the case of speed estimation in this speed range. The proposed control structure uses a “virtual” speed, prepared in the reference drive model (instead of estimated speed), and a position observer is used to improve the accuracy of positioning the appropriate vectors in the (real) motor.
2. Reference based control structures There are many structures known in the area of motion control, which use a reference value source. Some are used typically in
490
sensor mode to improve performance and some may be used as an estimator. The most similar structure to the one presented in the paper – principally by the basic idea – is the MFC (Model Following Control) [18] and its modifications, as an adaptive MFC (AMFC) [19]. The main comparison of the proposed control system and the MFC is described in the next section. The other structures, MRAS (Model Reference Adaptive System) [20] and MRAC (Model Reference Adaptive Control) [21], and the IMC (Internal Model Control) [22, 23] are used mainly in order to estimate the unknown component of the state vector.
In short, in a typical MFC structure, the main controller generates a control signal for the object and its model. The additional controller, fed by a difference signal between the object output and model output, generates an additional control signal, which is added into object input. Hence, if a tracking error occurs, an additional control signal is generated, whose task is to decrease the tracking error rapidly – and the object must follow the model. In the presented control structure, the object (PMSM) follows the reference model. However, if a tracking error occurs, a reference model tries to fit to the object operating point, due to the influence from the estimated load torque and the velocity correction signals in the reference model. For example, in the case of a step change in the motor load, the motor begins to slow down, and the motor model in the reference begins to slow down also, because of the load estimator, which influences the drive model. Thus, the impact of distortion is eliminated by internal controllers in the drive model. The control structure consists of the following elements: ● adder for correcting the reference speed (Fig. 3: unit 1) ● reference model of the drive (Fig. 3: unit 2) ● factor k affects the dynamics of the rotator operation (Fig. 3: unit 3) ● rotator (Fig. 3: unit 4) ● transformation block αβ ! abc (Fig. 3: unit 5) ● inverter (Fig. 3: unit 6) ● transformer (Fig. 3: unit 7) ● currents measurement (Fig. 3: unit 8) ● PMSM (Fig. 3: unit 9) ● transformation block abc ! αβ (Fig. 3: unit 10) ● transformation block αβ ! dq (Fig. 3: unit 11) ● position observer (Fig. 3: unit 12) ● current id corrector (Fig. 3: unit 13) ● adder for correcting the angle of reference voltage vector (Fig. 3: unit 14) ● load estimator (Fig. 3: unit 15) ● adder for the load estimator (Fig. 3: unit 16). Advantages of this sensorless structure are particularly visible in the low speed range. The system operates in the following manner: the reference model of the drive generates the reference voltage uα–ref, uβ–ref and the reference currents id–ref and iq–ref, based on the corrected speed reference signal ωref 2 and the estimated value of load torque T ̂ L. Reference voltages Bull. Pol. Ac.: Tech. 65(4) 2017 Unauthenticated Download Date | 8/25/17 12:47 PM
A new sensorless speed control structure for PMSM using reference model
Fig. 3. A general view of the control structure
are used to prepare the supply voltage vector and the reference currents (which means the “measured” currents in the drive model) are used to increase the accuracy of the control. The position observer estimates the sine and cosine of the shaft position, which is used in a coordinate system transformation block. One of the most important units is the rotator. It rotates the reference voltage vector by angle ∆Θ, which is generated by the current id corrector. The input voltage vector and the output voltage vector may rotate at a different angular speed. This is a normal phenomena due to the limited accuracy of the model and the limited accuracy of the position estimation. The difference in the speed is the result of variation in time of the ∆Θ value. The current id corrector produces the ∆Θ angle used in the rotator. It compares the current id–ref, which is generated by the reference model, and the current i ̂ d , which is calculated on the basis of measured currents and estimated position. If a difference occurs, the corrector changes the ∆Θ angle to decrease the error. The next important unit, the load estimator, helps the reference model of the drive to fit to the (real) motor operating point in the case of a load torque change. Its operation is based on comparing the torque currents iq from the reference model and the calculated value based on measured currents, which are converted using a position estimated in the observer. In addition, a correcting signal of speed ∆ωref is introduced in the summing junction of the referenced speed (Fig. 3: unit 1), which
increases speed control accuracy in the case of the presence of a load torque. It is important to notice that this is not the estimated speed, but the correction value. The practical advantage of this control structure is that there is no need to estimate the speed. However, it is still the speed vector control structure. This means, that it gives the possibility to control the speed quickly and adequately, even in cases of rapid changes of load or reference speed. 3.1. Reference model. As a reference model of a drive with PMSM, as simple as the possible model may be used. However, the complexity of the model affects the ability to accurately track the model by the real system. The model used in the proposed control system is a typical vector control structure of a PMSM drive. The only difference is the lack of an inverter model, in order to simplify the drive model. The presented control system uses the traditional field oriented control method for the PMSM (Fig. 4) as a reference source, with cascade control structure, using a closed speed control loop (R_w – speed controller) with inner current control loops containing separate controllers on d axis (R_id block) and q axis (R_iq block) rotating synchronously with the rotor. All controllers have a PI structure with limited output. The following names of inputs and outputs of Fig. 4, correspond to the names of inputs and outputs of unit 2 in Fig. 3: the “wref2” input (Fig. 4) acts as ωref 2 input (Fig. 3), the “TL˄” input (Fig. 4) acts as T ̂ L (estimated
491
Bull. Pol. Ac.: Tech. 65(4) 2017 Unauthenticated Download Date | 8/25/17 12:47 PM
K. Urbanski
the stationary coordinate system as the uα–ref and uβ–ref outputs. Currents id, iq are used as the reference values id–ref and iq–ref. The reference model was prepared using Matlab-Simulink environment. Then the C–code was generated, using tools proK. Urbanski Urbanski K. vided by Matlab. The code obtained was implemented in the K. Urbanski Urbanski microprocessor of the laboratory stand as a part of the control K. possibility to use use an an observer observer which which estimates estimates the the position position de control control structure, structure, using using aa closed closed speed speed control control loop loop (R_w (R_w aa possibility de program.to K. Urbanski K. Urbanski K. Urbanski using any method: method: using signalwhich injections or the thetheobservers, observers, speed controller) withusing innera current current controlcontrol loops containing containing Urbanski any using signal injections or speed controller) with inner control loops possibility to use use an an observer estimates position de control control structure, closed speed speed loop (R_w (R_w K. aausing possibility to observer which estimates the position de structure, using a closed control loop e.g., based on back EMF estimation, using Luenberger and parate controllers on d axis (R_id block) and q axis (R_iq 3.2. Position observer. In order to estimate the shaft position, e.g., based on back EMF estimation, using Luenberger and parate controllers on d axis (R_id block) and q axis (R_iq using any method: using signal injections or the observers, speed controller) with inner current control loops containing a possibility to use an observer which estimates the position de control structure, using a closed speed control loop (R_w using aany method: tousing signal injections orestimates the observers, speedcade controller) with innerusing current controlspeed loopscontrol containing possibility use an observer which the position control structure, aa closed loop (R_w cade a possibility to use an observer which estimates the position cade control structure, using closed speed control loop (R_w modified Luenberger observers [26], based on various realock) rotating synchronously with the the rotor.and Allq controllers controllers in theLuenberger presented control structure a Luenberger observer is used modified observers [26], based on various realock) synchronously with rotor. All e.g., based on back EMF estimation, using Luenberger and parate controllers on ddinner axiscurrent (R_id block) axis (R_iq using any method: using signal injections or the observers, speed controller) with control loops containing e.g., based on back EMF estimation, using Luenberger and parate controllers on axis (R_id block) and q axis (R_iq using any method: using signal injections or the observers, ––rotating speed controller) with inner current control loops containing using any method: using signal injections or the observers, speed controller) with inner current control loops containing [25].of However, the type of observer is based not important in themode conizations ofLuenberger Kalman filter [27][28][29][30], using sliding mode ve aa rotating PIcontrollers structure with limited output. The and following names izations Kalman filter [27][28][29][30], using sliding ve PI structure with output. The following modified observers [26], on various realock) synchronously with the rotor. Allq and controllers e.g., based on back estimation, using Luenberger and and parate on dlimited axis (R_id block) axisnames modified Luenberger observers [26], based on various realock) rotating synchronously rotor. All controllers e.g., based on back EMF estimation, using Luenberger separate controllers on axis (R_id block) qqq(R_iq axis (R_iq e.g., based on EMF back EMF estimation, using Luenberger and separate controllers on4,dddwith axisthe (R_id block) and axis (R_iq text of the control system as a whole. There is a possibility to e.g., based on back EMF estimation, using Luenberger and separate controllers on axis (R_id block) and axis (R_iq observers [31][32][33] and artificial neural networks [34]. As inputs and outputs of Fig. correspond to the names of inobservers [31][32][33] and artificial neural networks [34]. As inputs and outputs of Fig. 4, correspond to the names of inizations of Kalman filter [27][28][29][30], using sliding mode ve a PI structure with limited output. The following names modified Luenberger observers [26], based on various realock) rotating synchronously with the rotor. All controllers izations of Kalman filter [27][28][29][30], using sliding mode ve ablock) PI structure with limited output. The following names modified Luenberger observers [26], based on various realrotating synchronously with the rotor. All controllers modified Luenberger observers [26], using based onmethod: various realrealblock) rotating synchronously with the rotor. rotor. All controllers use an observer which estimates the position any modified Luenberger observers [26], based on various block) rotating synchronously with the All mentioned above, the control system utilizes thesliding Luenberger ts and outputs of with unit in 4, Fig. 3: the the "wref2" input (Fig. 4) observers mentioned above, the control system utilizes the Luenberger ts and of unit 22limited in Fig. 3: "wref2" input (Fig. 4) [31][32][33] and artificial neural networks [34]. As mode inputs and outputs of Fig. correspond to following the names ofcontrollers inizations of[31][32][33] Kalman filter [27][28][29][30], using mode ve ahave PIoutputs structure output. The names observers and artificial neural networks [34]. As inputs and outputs of Fig. 4, correspond to the names of inizations of Kalman filter [27][28][29][30], using sliding aa PI structure with limited output. The following names using signal injections or the observers, e.g., based on back izations of Kalman filter [27][28][29][30], using sliding mode have PI structure with limited output. The following names observer. [31][32][33] The observer estimates the backnetworks EMFs in[34]. stator tsinputs as ω ωoutputs input (Fig. 3), thecorrespond "TL^" input (Fig. 4) (Fig. acts as mentioned re ff 22 outputs observer. The observer estimates the back EMFs in aa stator ts as input (Fig. 3), the "TL^" input (Fig. 4) acts as above, theusing control system utilizes the networks Luenberger and of unit unit inofFig. Fig. 3:4,the the "wref2" "wref2" input 4) re observers and artificial neural As and of 22Fig. to the names of inmentioned above, the control system utilizes the Luenberger ts and outputs of in 3: input 4) observers [31][32][33] and artificial neural [34]. As of and outputs to names of inEMF estimation, Luenberger and modified Luenberger observers [31][32][33] and artificial neural networks [34]. As of inputs inputs and outputs of4,Fig. Fig. 4, correspond correspond to the the(Fig. names of inobservers [31][32][33] and artificial neural networks [34]. of inputs and outputs of Fig. 4, correspond to the names of inbased coordinate system αβ and calculates sine and cosine of As (estimated load torque) input (Fig. 3). The outputs u , α−re f based coordinate system αβ and calculates sine and cosine of (estimated load torque) input (Fig. 3). The outputs u , observer. The observer estimates the back EMFs in a stator ts as ω input (Fig. 3), the "TL^" input (Fig. 4) acts as α−re f re f 2 mentioned above, the control system utilizes the Luenberger ts as and outputs of unit 2 in Fig. 3: the "wref2" input (Fig. 4) observer. The observer estimates the back EMFs in a stator ts ω input (Fig. 3), the "TL^" input (Fig. 4) acts as observers [26], based on various realizations of Kalman filter mentioned above, the control system utilizes the Luenberger puts and outputs of unit 2 in Fig. 3: the "wref2" input (Fig. 4) re f 2 mentioned above, The the control control system utilizes thecorrecLuenberger puts and, ioutputs outputs of unit unit in2)Fig. Fig. 3:converted the "wref2" "wref2" input (Fig.the 4) rotor mentioned above, the system utilizes the Luenberger puts and of 22 in 3: the input (Fig. 4) shaft position. proportional form of the (Fig. unit are inputs and q−re f (Fig. d−re f ,load the rotor shaft position. The proportional form of the ,, ω iid−re iq−re 33 the unit 2)the are converted inputs and −re coordinate system αβ and calculates sine and cosine ofa stator (estimated load torque) input (Fig. 3). The outputs , based finput [27–30], sliding mode observers [31–33] and artificial −re α−re observer. Theusing observer estimates the back EMFs incosine acorrecstator ts asffacts (Fig. 3), "TL^" input (Fig. 4) as coordinate system αβ and calculates sine and of (estimated input (Fig. 3). The outputs uuacts reas f 2f input observer. The observer estimates the back EMFs in ω (Fig. 3), "TL^" input (Fig. 4) as α−re ff ,acts based re ff22torque) re observer. The observer estimates the back EMFs in a stator acts as ω input (Fig. 3), the "TL^" input (Fig. 4) acts as tion function of the observer is enough in the case of the low tputs of the PMSM model "PMSM_REF" (Fig. 4). The inre f 2 tion function ofposition. the observer is αβ enough in form the ofcosine the low tputs the model "PMSM_REF" (Fig. The inFig. A torque) general view of the structure of4). the reference model neural networks [34]. As above, thecase control system the rotor shaft position. The proportional form of the correc, PMSM iq−re (Fig. unit 2)control are converted inputs and q−re d−re based coordinate system αβmentioned and calculates sine and of (estimated input (Fig. 3). The outputs uα−re , α−re −re the rotor shaft The proportional of the correc,,ˆˆˆLLiiof i4. (Fig. 33 unit 2) are converted inputs and fu based coordinate system and calculates sine and cosine (estimated torque) input (Fig. 3). The outputs , ffload d−re ff ,load −re ff T f based coordinate system αβ and calculates sine and cosine of (estimated load torque) input (Fig. 3). The outputs u , T α−re based the coordinate system αβ and calculates sine and cosine of of (estimated load torque) input (Fig. 3). The outputs TLof speed range. In typical realization, assuming that the derivarter’s transfer function is3simplified simplified toconverted unity. That system ff , function utilizes observer. The observer estimates the speed range. In aaLuenberger typical realization, assuming that the derivarter’s function is to unity. That system tion ofposition. the observer is enough in the case case of the the low tputs the,f ,iPMSM PMSM model "PMSM_REF" (Fig. 4). The in-uα−re the rotor shaft The proportional form of the correc,uβof itransfer i (Fig. unit 2) are inputs and tion function of the observer is enough in the of low tputs the model "PMSM_REF" (Fig. 4). The inq−re f the rotor shaft position. The proportional form of the correc, i (Fig. 3 unit 2) are converted inputs and d−re −re fu q−re f d−re f −re ff ,, iid−re f ,, iiq−re f (Fig. the rotor shaft shaft position. The proportional form ofcalcuthe correccorrec(Fig. unit 2) PMSM are converted converted inputs and −reas the rotor position. The proportional form of the 33 unit are inputs and uββtransfer tive of of disturbances isobserver equal toiszero, zero, one can write the observer realized as aPMSM sensor based system. The model was back EMFs a stator based coordinate system αβ and d−re f q−re −re f a tive disturbances is equal to one can write the observer realized sensor based system. The PMSM model was speed range. In typical realization, assuming that the derivarter’s function isf simplified simplified to2)unity. unity. That system tion function of aain the enough in the case of the lowthe tputsoutputs of the model "PMSM_REF" (Fig.That 4). The in-The speed range. In typical realization, assuming that the derivarter’s transfer function is to system tion function of the observer is enough in the case of of the PMSM model "PMSM_REF" (Fig. 4). intion function of the observer is enough in the case of the low outputs of the PMSM model "PMSM_REF" (Fig. 4). The intion function ofequal the observer is position. enough in the case of the low low outputs ofordinary the PMSM model "PMSM_REF" in- oflates load torque) input (Fig. 3). The outputs uα–ref ,(Fig. uβ–ref ,4). id–ref , iq–ref sine and cosine of the rotor shaft The proportional equations as: epared using ordinary simplified assumptions: there are noThe equations as: epared using simplified assumptions: there are no tive disturbances is to zero, one can write the observer realized as a sensor based system. The PMSM model was speed range. In a typical realization, assuming that the derivarter’s transfer function is simplified to unity. That system tive of disturbances is equal to zero, one can write the observer realized as a sensor based system. The PMSM model was speed range. In a typical realization, assuming that the derivaverter’s transfer function is simplified to unity. That system speed range. In a typical realization, assuming that the derivaverter’s transfer function is simplified to unity. That system (Fig. 3 unit 2) are currents converted inputs and ofThat the PMSM form of the correction function of the observer is enough the derivaspeed range. In a typical realization, assuming thatinthe verter’s transfer function is simplified tooutputs unity. ndings inas the rotor, eddy currents and thePMSM effect of tempertemperndings in the rotor, eddy and the effect of equations as: epared using ordinary simplified assumptions: there are nosystem tive ofcase disturbances is equal to zero, one can write the observer realized a ordinary sensor based system. The model was equations as: epared using simplified assumptions: there are no tive of disturbances is equal to zero, one can write the observer is realized as aaa sensor based system. The PMSM model was model “PMSM_REF” (Fig. 4). The inverter՚s transfer function of the low speed range. In a typical realization, assuming tive of disturbances is equal to zero, one can write the observer is realized as sensor based system. The PMSM model was tive of disturbances is equal to zero, one can write the observer is realized as sensor based system. The PMSM model was ure are neglected, neglected, theeddy flux produced bythe theeffect rotorthere is constant ure are the flux produced by the rotor is constant ˆα as: R ndings inisthe the rotor, currents and of temper d i R 1 1 ˆ equations epared using ordinary simplified assumptions: are no ndings in rotor, eddy currents and the effect of tempers equations as: prepared using ordinary simplified assumptions: there are no d i 1 1 simplified to unity. That system is realized as a sensor based that the derivative of disturbances is equal to zero, one can write s α equations as: prepared using ordinary simplified assumptions: there are no ˆ ˆ prepared using ordinary simplified assumptions: there =− − as:·· iiˆαα − − iiαα − ·· eeˆˆαα + + ·· uuαα + +K Kiα (7) 4]. The general form of the PMSM model in system withare no equations iα iiˆα α− = (7) 4]. The general form of PMSM model in aa system with ure are neglected, the fluxthe produced byprepared the rotor is constant ndings in the in rotor, eddy currents and the effect of temperure are neglected, the flux produced by the rotor is constant dt LssequationsL L11ssas: L11ss system. The PMSM model was ordinary sim- the windings the rotor, eddy currents and the effect of temperddt iˆˆααobserverR R L L ˆ windings in the rotor, eddy currents and theusing effect of temperd i windings in the rotor, eddy currents and the effect of temperˆ coordinates rotating with the rotor can be expressed as fol= − ·· iiˆαα − −i − ·· eeˆˆαα + + ·· uuαα + +K Kiα (7) coordinates rotating the rotor be expressed aswith fol- eddy 4]. The general form of theproduced PMSM model in system with iα iiˆα ure are neglected, the with flux by rotor is constant plified assumptions: there arecan no the windings in the rotor, 4]. The general form of PMSM model in aathe system ature are the produced by rotor is α − iαα (7) ature are neglected, neglected, the flux flux produced by the rotor is constant constant ddt dtiˆα = d−iˆˆˆαL L L1ss L1ss Rss ˆ Rs L 1 1 ature are neglected, the flux produced by the rotor is constant L ws: ˆ (7) ws: s α d i R 1 1 coordinates rotating with the rotor can be model expressed as folcurrents and the effect of temperature neglected, the with flux ˆ = −α =· − iαiˆˆα,(7) iα −s · iˆˆˆα· − eˆα + · eˆα· + uα + ·Kuiα +iαK− 4]. The form of the PMSM model inare a system with coordinates with the rotor can be expressed fol− i(7) [24]. The general form of the in system iα [24].general Therotating general form of the PMSM PMSM model in aaaas system with dddtiiˆβ dt L α − L ·L1 α + L · uα α iα iˆ α − iα α = − · i e ˆ + K (7) L R 1 1 [24]. The general form of the PMSM model in system with α α α α α iα s s s L s R 1 ss ss ss β = dt produced byrotating the rotor isrotor constant [24]. The general of folthe dt s ·· iiˆˆβ L L L+ L+ ws: ˆβ − coordinates rotating with the can becan expressed asform fol-as L L ws: i − − · e ˆ + · u + K − i (8) ˆ dq coordinates with the rotor be expressed s s s i = − i − · e ˆ · u K (8) β β β iβ di dq coordinates rotating with the rotor can be expressed as foliβ β β diddthe dq coordinates can as foldt Lss β L L1s β L L1s β PMSM dq rotating(1) with the R L ˆ − pprotor Ψcoordinates ω be expressed (1) =model Rssrotating +a system Lddwith dddt iiˆˆββ R ws: lows: uudd = − ·· Ψ R ·· iiddin+ L ·· dt with qq ·· ω s · iˆˆ − 1s · eˆ + 1s · u + K i = − − i (8) ˆ lows:rotor β β β iβ β β i = − − i · i − · e ˆ + · u + K (8) di lows: dtddfollows: can be expressed di as ddt β β β iβ β β ˆ iˆ L1 L1 R ,(8) di L
11 Lss 11 dtβ =dd−iiˆββLss · iˆ ddR − p ·· Ψ Ψqq ·· ω ω (1) =R Rss ·· iidd + +L Ldd ·· ssˆ · eˆ + R uudd = (1) (8) iˆβK − iβiˆˆiˆβ − − ·+ uβ 1+ eeˆˆsααss L··= β = − iii(8) iiˆiˆββ K − ˆˆˆβ− ·K uuuiβββ + βR β 1iˆˆ·· ee dtd − pdi di β iβ = − − − + · + K (8) dt i (9) d β iβ β β i = − − · − · e + · + K (8) di eα α α di dt L L L = K Ls iαs− i Ls β (9) dt L iβ β β di −· ppdi··ddΨ Ψ− ω· Ψq ·· ω ,(1) (1) = + L··did·· + qqL q ·pω dt s dddt L R d+ u dt eˆˆαsαss sβ eαL dt L Lss ˆ β α L − (1) = RsssL + Ldd+ + =R Ruuusssddd··· i= L (2) (1) Lss q·ω d ·· p d ··pω e uudqq = · Ψ R ii= (2) − · Ψ (1) R ·qqid·d + L dt qq + q d dt = Keα iˆα − iα (9) dt dtq di (9) dt dt dt ddt eˆα =ddKeeˆˆαeα iˆα − iα ,(9) + pp ·· Ψ Ψdd ·· ω ω (2) =R Rss ·· iiqq + +L Lqq ·· diq + uuqq = (2) d e ˆ α = iˆαK − iαiˆ − (9) (9) d eˆββ =dKeˆαeα di dtq di eα dt = K− − iiiααα di·qqqΨd · ωΨ · ω ,(2) eαiiβiˆiˆα α− (10) (9) = dt Keβ (9) dt = eα α (10) K eβ =iiˆβ βK− +Ψ pdi (2) · i= + LL ··· + Ψ = L i + Ψ (3) q q (2) R · i L · β uq = RuusqΨ + p · f d d d s q q d = i + (3) Ψ · ω (2) = R · i + L · dt dt f d Rss ·diqq + d Lqq · dt uqq = + p · Ψdd · ω (2) ˆ dt dddt eeˆˆββ dt (10) =K Keβ − iiβ ,(10) eβ iiˆβ − = Ψdd = =L Ldd ·· iidd + +Ψ Ψ ffdt (3) ddt eˆβ the Ψ (3) where uuαα ,, uuββ mean mean the components of input input voltage(10) (in dt voltage dddeecomponents ˆˆˆββ ˆβ β of where (in e ˆ iβK (10) − iβiˆiˆβ − = Keβ β = (10) iiiββ eβ Ψ = L · i + Ψ (3) (10) − = K the presented system, a reference voltage obtained from the Ψ = L · i (4) f Ψ = L · i + Ψ (3) d d d eβ β i − = K q q q the presented system, a reference voltage obtained from the dt f Ψq Ψ =dddL= (4) (3) where mean the components of voltage input voltage (in (10) where thethe components of input (in the preΨ = Liqddd ·· iiddd + +Ψ Ψ ff ,(3) (3)where dt eβ β of β q ·L uuααuα,, uuuβββmean mean components input voltage (in dt dt ˆ ˆ current controller outputs is used instead); i , i , i , i are the ˆ ˆ αvoltage sented a reference voltage obtained the current controller is used instead); iααobtained ,input ifrom , ifrom arevoltage β , iα β current the presented system, reference voltage obtained from the Ψqq = =L Lqq ·· iiqq (4) the β β where uαsystem, , system, uuuβαoutputs mean the components of (in (in presented reference voltage the Ψ (4) where ,,, uuuββaa mean the of input where mean the components components of the input voltage (in ̂ , i ̂ , currents; where uααoutputs mean the components of input voltage (in and components of (estimated and measured) e ˆ controller outputs is used instead); i i , i are compoˆ ˆ β α and eeˆˆββ the components of (estimated and measured) currents; e ˆ 3 α β α β current controller is used instead); i , i , i , i are the ˆ ˆ the presented system, a reference voltagevoltage β are the Ψ3q[Ψ = LΨ i= (4) current controller outputs is used instead); iααobtained , iββ ̂ , iααobtained , iαfrom the presented system, a reference from qiq· = q L · i (4) β q q T = p · · − Ψ · i ] (5) Ψ L · i (4) ̂ e q q the presented system, a reference voltage obtained from the d d T e = p · 2 [ΨdΨ · iqqq = −Ψ (5) (4) ofof (estimated andand measured) e and e and mean Lqqq··iiqqd,](4) meannents estimated back EMF in the theinstead); αβ currents; axiscurrents; respectively. The mean estimated back EMF in αβ axis components (estimated measured) current controller outputs isand used iˆαrespectively. , iˆβ ,αiˆˆiˆiαα,,,eeˆˆiˆiˆiααββ,,βand are eeˆˆβ are the components ofcontroller (estimated measured) currents; current outputs is used instead); iiiαα,,,The ithe 332 [Ψ · i − Ψ · i ] current controller outputs is used instead); the estimated back EMF in the αβ axis respectively. The position α β current controller outputs is used instead); i , i , iiββββare are the T = p · (5) position is calculated from estimated values of the back EMFs α α β T ee = p · 23 [Ψdd · iqq − Ψqq · idd ] (5) mean position is calculated from estimated values of the back EMFs mean estimated back EMF in the αβ axis respectively. The and e ˆ components of (estimated and measured) currents; e ˆ estimated back EMF in the αβ axis respectively. The α and components of (estimated and measured) currents; e ˆ β α and eeeˆˆˆβββ components of (estimated (estimated and measured) measured) currents; calculatedrelationship from estimated values of the backcurrents; EMFs using 2 [Ψ ·333i − Ψ · i ] dω components of and eeˆˆαα and usingissimplified simplified (11,12): T e = JpTT··edω (5) using relationship (11,12): position is calculated from estimated values of the back EMFs qiq − = p · i · i ] (5) d·· T q[Ψ dΨ q mean estimated back EMF in the αβ axis respectively. The d d position is calculated from estimated values of the back EMFs − T (6) = = p [Ψ · − Ψ · i ] (5) mean estimated back EMF in the αβ axis respectively. − TddLL· iqq − Ψqq · idd ],(5) (6) (5) simplified JT· eedt relationship (11,EMF 12): in 2= p=· T22ee [Ψ mean estimated estimated back EMF in the the αβ αβ axis axis respectively. respectively. The The mean back The dω dt 2 using simplified relationship (11,12): dω position is calculated from estimated values of the back EMFs using simplified relationship (11,12): position is calculated from estimated values of the back EMFs e ˆ − T (6) JJ ·· = T position is calculated from estimated values of the back EMFs eˆαα = Tee − TLL of input voltage; i ,(6) position is calculated from values of the back where uudd ,, uuqq means means the thedω components ˆˆ(11,12): (11) EMFs sin Θ Θ = estimated −(11,12): dtcomponents where of input voltage; idd , iiqq using simplified relationship dω ,(11) (11) = − sin dt using simplified relationship dω using simplified relationship (11,12): dω | e| ˆ − T (6) J · = T using simplified relationship (11,12): e ˆ T (6) JJJ ··· e L TTeqe − |e| ˆα ˆ − TLLL ,(6) (6) =, LL eans theudcomponents components of current; current; Ld= means inductance of eans the of means inductance T dt where means the the components of input voltage; qe − ˆ = (11) sin Θ Θ =− − eˆα dt where ud ,, uuqq means components input voltage; iidd ,, of iiqq (6) (11) sin dt d=, LTof dt | e| ˆ e ˆ = L ); ewhere motor on the dq axis respectively (in this case L α e ˆ | e| ˆ q d α = L ); eeans motor on the dq axis respectively (in this case L eans the components of current; L , L means inductance of ˆ d voltage; α udcomponents , uq umeans the components input voltage; id ,qof iq id , iq ˆˆˆeeˆˆββ = thewhere of current; Ldd , Lqqofmeans inductance ˆsin = − (11) (11) sin Θ ,, uuqq means the components of input α − (11) sin Θ = − |eˆe| uddddq the components of input voltage; ˆsin ud, qflux umeans thedq components of input voltage; iiddd,, iiqqq ,(12) =Θ Θ (12) (11) cos Θ Θ − Ψqqthe , where Ψon , means means flux on the dq axis respectively and flux |e| ˆ= q means (12) cos = fwhere ˆ Ψ , Ψ , on the axis respectively and flux = L ); motor the axis respectively (in this case L f dd ,,motor q | e| ˆ d components of current; L , L means inductance of = L ); eeeans on the dq axis respectively (in this case L qL | e| ˆ means the components of current; , L means inductance of d e ˆ q | e| ˆ d q d | e| ˆ β means the components of current; L , L means inductance of e ˆ means the components of current; means inductance of means the components ofThe current; LddL, dL, qqLqmeans inductance of cited by permanent magnet. The electromagnetic torque is ˆˆ = cited permanent magnet. electromagnetic (12) cos Θ Θ = β ,Ψ Ψthe Ψmotor means flux on the dq axis respectively flux (12) cos q ,,by = flux LLLLqdis ); = L on the dqthe axis respectively (inrespectively this(in case Ltorque Ψ ,, means flux on the dq axis and = L on dq axis respectively this case dand qthe ffthe dde, motor qq);); = L ); motor on the dq axis respectively (in this case motor on the dq axis respectively (in this case e| ˆβ eeˆˆβ ||eˆe| d d q = L ); the motor on the dq axis respectively (in this case L ˆ and load torque by the symbol presented by the symbol T q d ˆ e and load torque by the symbol presented by the symbol T β e ˆ cited by permanent magnet. The electromagnetic torque is ˆ etheThe (12) (12) cos iiddΘ =Θ , ΨΨ ,qdmeans flux onflux dq axis respectively and flux β type corrector. A newoftype type of path con3.3. Rotator Rotator and current permanent magnet. electromagnetic torque is flux cos = q ,by fΨ ,,, Ψ ,,, Ψ Ψ axis and flux dcited corrector. new of con3.3. and fluxon onthe thedq axis respectively respectively and 3.3. Rotator andcurrent current control ddΨ (12) cos Θ = |A ˆˆe| Ψ Ψq,fff ,,,Ψmeans means flux on the dq axis respectively and flux Ψ f, means d corrector. (12) cos = |Θ ˆ A new Ψ Ψ means flux on the axis respectively and flux ;ω ωΨ isby the mechanical speed, and p dq isdq the number of pole pole e| ˆˆˆ the qqmechanical d the ;cited is speed, and p is the number of | e| and load torque by the symbol presented by the symbol T e permanent magnet. The electromagnetic torque is | e| trol path used in the speed control system is rotator group. and load torque by the symbol presented by the symbol T excited by permanent The is excited by permanent magnet. Theelectromagnetic electromagnetic torque torque is used in the speed control system is the rotator group. It consists emagnet. trol path used in the speed control system is the rotator group. corrector. A new type of con3.3. Rotator and current i excited by permanent magnet. The electromagnetic torque is excited by permanent magnet. The electromagnetic torque3.3. is Rotator and current idd corrector. A new type of conmeans the windings resistance, and Jof ispole the irs. Symbol Rthe the windings resistance, Jof is the Symbol R ω represented is the therepresented mechanical speed, and istorque the number SS means load by and the symbol presented by symbol Tsymbol by the load torque byby the symbol Ttrol of a block “rotator” and its controller. This controller, ItL; consists consists of aaand block named "rotator" andA itsthe controller. This ;;irs. ω is mechanical speed, and ppand is the number pole e and load torque the symbol by the symbol T eand It of block named and controller. This eT path used innamed thecurrent speed control system isits rotator group. and load torque by the symbol represented by the symbol T corrector. new type of con3.3. Rotator id"rotator" e trol path used in the speed control is the rotator group. and load torque by the symbol represented by the symbol T A new type of 3.3. Rotator and current iiisystem upqqresistance, are used after transforalωmoment moment of inertia. Voltages udde,, and dd corrector. corrector. A new type of concon3.3. Rotator and current u are used after transforof inertia. Voltages u means the windings and J is the irs. Symbol R ω is the mechanical speed, p is the number of pole pairs. or rather the corrective device, modifies the reference voltage corrector. A new type of con3.3. Rotator and current S ;al is the mechanical speed, and is the number of pole controller, or rather the corrective device, modifies the refermeans the windings resistance, and J is the irs. Symbol R d T ; ω is the mechanical speed, and p is the number of pole S mechanical speed, and p is the number of pole controller, or rather the corrective device, modifies the referL It consists of a block named "rotator" and its controller. This T ; ω is the trol path used in the speed control system is the rotator group. L It consists of a block named "rotator" and its controller. This T ; ω is the mechanical speed, and p is the number of pole trol path used in the speed control system is the rotator group. and ation into the stationary coordinate system as the u L α−re f trol path used in the speed control system is the rotator group. ation into Symbol the coordinate as the uα−re RS R means the windings resistance, and Jtransforis total movector angle in regard to the notified current error in rotator d axis: , uusystem are used used after transforal moment moment ofRstationary inertia. Voltages f and trol path used in the speed control system is the the windings and J the is the irs. Symbol ence voltage vector angle in regard to and the notified current er-group. are after al of inertia. uudd ,windings S means means the resistance, and JJJ is the pairs. Symbol qq resistance, ence voltage angle in regard to the notified current ercontroller, or ̂ vector rather the corrective device, modifies the referrefermeans the windings resistance, and isinto the pairs. Symbol RSSSVoltages It consists of arather block named "rotator" its controller. This controller, or the corrective device, modifies the means the windings resistance, and is the pairs. Symbol R It consists of a block named "rotator" and its controller. This outputs. Currents i , i are used as the reference values ment of inertia. Voltages u , u are used after transformation i ¡ i (Fig. 3). A rotator turns the reference voltage vector q d It consists of a block named "rotator" and its controller. This outputs. Currents i , i are used as the reference values −re f and ation into the stationary coordinate system as the u d q d–ref d ˆ q d It consists of a block named "rotator" and its controller. This −re f total α−re are used after transforal moment inertia. Voltages ud , usystem ror in involtage d axis: axis: id−re − iiˆddcorrective (Fig. 3). device, A rotator rotator turnscurrent the referation intomoment theofstationary coordinate the uα−re qu ff and used after transforof inertia. Voltages d−re ffangle ror d i − (Fig. 3). A turns the referqqasare dd,, u ence vector angle in regard to the notified ercontroller, or rather the modifies the reference voltage vector in regard to the notified current eru are used after transfortotal moment of inertia. Voltages u controller, or rather the corrective device, modifies the referand i . q d q−re f −re f controller, or rather the corrective device, modifies the referand i . outputs. Currents arecoordinate used as the the reference values fstationary −re controller, or rather the device, modifies the referand f and ation intoq−re the system asreference the as uasα−re −ref ff mation into theturns exact position enceinvoltage voltage vector {u outputs. Currents iiddcoordinate ,, iiqq are used as values fu into the system uucorrective }} into the exact position ence vector {u β3). −re ff A −re ror axis: − α−re iˆˆdd (Fig. (Fig. 3). A rotator the referand mation into the stationary stationary coordinate system the ff ,,regard β −re d−re vector ence vector angle in to the to notified current er- erα−re ff and ror involtage dd axis: iid−re − iα−re rotator turns the refermation into the stationary coordinate system as the the uuα−re ence voltage angle in regard the notified current ffvector The reference model was prepared using Matlab–Simulink α−re ence voltage angle in regard to the notified current erThe reference model was prepared using Matlab–Simulink and i . ence voltage vector angle in regard to the notified current erq−re f −re f outputs. Currents i , i are used as the reference values {u , u }, relative to the shaft position. As an acand i . q outputs. Currents i , i are used as the reference values d α−re f 2 −ref fu q−re f −re {u , u }, relative to the shaft position. As an acβ −re f 2 ˆ q d , u } into the exact position ence voltage vector {u β −re f outputs. Currents i , i are used as the reference values u α−re f 2 β −re fd−re 2 f {u ˆˆˆdββ3). α−re Pol.A Ac.: Tech. the 65(4) 2017 ror involtage d axis: iaxis: − id f(Fig. A rotator turns refer−re } 3). into the exact position ence vector β −re −re492 f outputs. Currents idd , iqqgenerated, are usedMatlab–Simulink as the reference values ureference α−re ff , u ror in d i − i (Fig. rotator turns the refervironment. Then the C–code was generated, using tools pro−re ffBull. d−re β f vironment. Then the C–code was using tools proThe model was prepared using d−re f d ror in d axis: i − i (Fig. 3). A rotator turns the referifq−re curate position in},aa relative constant torque region the position position is acasThe reference d−re f to and −re f iand curate position in constant region the is asf .. was prepared using Matlab–Simulink {u , uβvoltage the shaft position. Asposition an andf .iimodel iq−re α−re ,torque udβthe into exact ence voltage vector {u −re Unauthenticated q−re relative position. As an acd−re iid−re α−re{u fto into the exact position ence −re α−re ff 22 , uβ ded by Matlab. The code obtained was implemented inprothe {u −re ff 22 }, vector q−re d−re ff and α−re ff ,,shaft ff } ,fuuerror u}βββ−re }the into the exact position ence voltage vector {u ded Matlab. The code obtained was implemented the vironment. Then theff .C–code C–code was prepared generated, usingMatlab–Simulink toolsin α−re −re } into the exact position ence voltage vector {u Theby reference model was prepared using Matlab–Simulink sumed for which the d axis current is the smallest. The vironment. Then the was generated, using tools proα−re f −re f The reference model was using Download Date | 8/25/17 12:47 PM sumed for which the d }, axis current error is the the smallest. curate position in a relative constant torque region the position isThe asThe reference reference model was wasstand prepared using Matlab–Simulink {u , u }, to the shaft position. As an accurate position in a constant torque region position is asThe model prepared using Matlab–Simulink α−re f 2 {u , u relative to the shaft position. As an β −re f 2 croprocessor of the laboratory as a part of the control α−re f 2 β −re f 2 {uα−re }, relative relative to the the shaft shaftisposition. position. As an acaccroprocessor of The the laboratory stand as generated, aimplemented partusing of the control ded by Matlab. The code obtained was implemented inprothe pro−re ff 22vector, {u ,, uuββthe }, to As acvironment. Then the C–code was generated, tools ff 22voltage new reference reference voltage whose position corrected byan ded by Matlab. code in the −re environment. Then the C–code was using tools was new whose position corrected by sumed forα−re which dinvector, axis current error isregion theisposition smallest. The environment. Then theobtained C–code was generated, using tools proprocurate position in a constant torque region the is assumed for which the d axis current error is the smallest. The environment. Then the C–code was generated, using tools curate position a constant torque the position is asogram. ogram. croprocessor of the laboratory stand as a part of the control curate position in a constant torque region the position is ded by Matlab. code obtained in the angle ∆Θ (generated by the current i corrector), is calculated ascroprocessor of The the laboratory standwas as aimplemented part of the control
case of a loaded motor (Fig. 8).
uα−re f 2 = uα−re f · cos (∆Θ) − uβ −re f · sin (∆Θ) uβ −re f 2 = uα−re f · sin (∆Θ) − uβ −re f · cos (∆Θ)
(13) (13)
4. Simulations
The current id corrector is an integral type controller, with2016 This control structure has the possibility to work properly with Bull. Pol. Ac.: Tech. XX(Y) a special kind of limit – where its output is limited to the range or without the load estimator, and with or without the refer0 ¥ 2π, using modulo of 2π. This controller output signal may ence speed correction (the combination of “activated correction change the value by twisting its value at boundaries 0 , 2π. speed” and “deactivated load torque estimation” is not recomIn the ideal case, at a steady state, after finding the proper ∆Θ, mended without additional correction of parameters for units this value stops changing. In a real case, at a steady state, there 3 and 13). However, the lack of these correction loops affects is always a small difference id–ref ¡ i ̂ d, which is still integrated. the drive dynamics or can cause the presence of steady state The effect shows that the input voltage vector and the output speed error under load, as is presented in Figs. 6–8. The simvoltage vector may rotate with different angular speeds. The ulations were made using Matlab Simulink environment. The sign and value of this speed difference is influenced by the motor model (as a reference and “real” motor also) and observer reference model accuracy and the position estimation accuracy. In the case of weak position estimation, an additional adjustment for id corrector is necessary. The simplest method of such ωref = 4 rad , TL : on, ∆ωref : on s adjustment is to link the correction value with the current on q 4 axis by constant factor k2 (Fig. 5). However, in the wider range ω 2 of operation, especially in the case of weak position estimation ωm−ref accuracy, or in the case of estimation of motor parameters with 0 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 low accuracy, a gain k2 should be converted into a function of t [s] the operating point, e.g., k2 = f (ωref , TL). [ rad ] s
siver ant is
3.4. Load estimator. Looking at the structure of a MFC, one can see that the process (PMSM) interacts with the main controller (the reference source) by the correcting reference speed (additional speed feedback from the unit 3, Fig. 3) and by the estimated load torque, which affects the drive model. These two signals force a change of the operating point of the reference model due to load torque appearance. The load torque estimator is implemented as a PI structure. Its input signal is calculated as the difference between the referenced and estimated current: iq–ref ¡ i ̂ q. If this difference occurs, it means that there is a difference in torque values between the model and the real motor.
wref2 ^TL
ua-ref
PMSM ub-ref DRIVE id-ref REF iq-ref
Fig. 6. Simulation, measured speed ω and “measured” speed in reference model ωm–ref, activated load torque estimator and correction speed feedback
ωref = 4 rad , TL : on, ∆ωref : of f s [ rad ] s
nk rohe rol
It consists of a block named "rotator" and its controller. This controller, or rather the corrective device, modifies the reference voltage vector angle in regard to the notified current error in d axis: id−re f − iˆd (Fig.A 3). A rotatorspeed turns the structure refer- for PMSM using reference model new sensorless control ence voltage vector {uα−re f , uβ −re f } into the exact position {uα−re f 2 , uβ −re f 2 }, relative to the shaft position. As an ac, uβ–ref } in into exact position uα–ref 2,the uβ–ref {uα–ref 2}, relative curate position a the constant torque {region position is as- Therefore, the torque of the motor model is modified so that to the shaft position. As an accurate position in a constant torque sumed for which the d axis current error is the smallest. The the operating point of the model comes close to the operating region the position is assumed for which the d axis current point of the real motor. Presently, the parameters of the load new reference voltage vector, whose position is corrected by error is the smallest. The new reference voltage vector, whose estimator are determined experimentally. This is safe to implecalculated angle ∆Θ (generated current id corrector), position is correctedby by the angle ∆Θ (generated by theiscurrent id ment because if the load estimator is too slow, it does not cause using formulas: corrector), is calculated using formulas: instability, but only affects the steady state speed error in the
4
ω ωm−ref
2 0
0
0.05
DQ
+
-
k2
Fig. 5. Part of control structure with modification for compensation of position error estimation. The rest of the control structure is similar to that in Fig. 3
0.15
t [s]
0.2
0.25
0.3
0.35
ωref = 4 rad , TL : of f , ∆ωref : of f s
k +
0.1
Fig. 7. Simulation, measured speed ω and “measured” speed in reference model ωm–ref, activated load torque estimator, deactivated correction speed feedback
[ rad ] s
he ornd ues
4
ω ωm−ref
2 0
0
0.05
0.1
0.15
t [s]
0.2
0.25
0.3
0.35
Fig. 8. Simulation, measured speed ω and “measured” speed in reference model ωm–ref, deactivated load torque estimator, deactivated correction speed feedback
493
Bull. Pol. Ac.: Tech. 65(4) 2017 Unauthenticated Download Date | 8/25/17 12:47 PM
K. Urbanski
[A]
4
iq id
2 0 0
0.05
0.1
0.15
t [s]
0.2
0.25
0.3
0.35
Fig. 9. Simulation, measured current iq and measured current id, under conditions corresponding to these in Fig. 6
ωref = 5 rad , weak position estimation, load compensation s
[-]
1
sin(Θ) cos(Θ) ˆ sin(Θ) ˆ cos(Θ)
0 -1
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
id [A]
0
1.8
2
id−ref iˆd id
-0.1 -0.2 0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
iq [A]
4
iq−ref iˆq iq
2 0 0
0.2
0.4
0.6
0.8
1
t [s]
1.2
1.4
1.6
1.8
2
Fig. 10. Simulation, set of waveforms in a case of weak accuracy the position estimation, up: sine and cosine of the shaft position – measured and estimated, middle: d axis currents – reference (from model), estimated and measured, down: q axis currents – reference (from model), estimated and measured
494
ωref = 5 rad , precise position estimation, load compensation s
[-]
1
sin(Θ) cos(Θ) ˆ sin(Θ) ˆ cos(Θ)
0 -1
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
id [A]
0
1.8
2
id−ref iˆd id
-0.1 -0.2 0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
4
iq [A]
is prepared using previously presented equations. The number of pole pairs is equal 1. Resistance of the “real” motor is 50% greater than the resistance of the motor model, and inductance of the “real” motor is 5% smaller than the inductance of the motor model. The following simulations were carried out: step change of the reference speed 0 ! 4 rad s , then in a time of 0.1s the step change of the load to the nominal value, and in a time of 0.25s the load was removed. Figure 6 presents the operation in the case where all the correction loops are working. The measured speed achieved the referenced speed in all cases of load conditions. Figure 7 presents the operation in the case where the correction value of the reference speed is not connected. The referenced speed is not achieved in the case of load conditions. Figure 8 presents the operation in the case where all the correction loops are not connected. It is visible that even in such conditions the drive has the possibility to operate. However, the lowest speed for proper operation in all load conditions, on a laboratory stand, is near 4 rad s . In the case of turning-off only the estimator of the load torque, the drive continues to operate. However, in the case of load condition, the speed oscillates. Figure 9 presents the “measured” current waveforms for testing conditions, as does Fig. 6. It can be concluded that the waveforms in Fig. 6 and Fig. 9 are comparable to experimental waveforms in Fig. 13. Another comparison involves
iq−ref iˆq iq
2 0 0
0.2
0.4
0.6
0.8
1
t [s]
1.2
1.4
1.6
1.8
2
Fig. 11. Simulation, set of waveforms in a case of high accuracy the position estimation, up: sine and cosine of the shaft position – measured and estimated, middle: d axis currents – reference (from model), estimated and measured, down: q axis currents – reference (from model), estimated and measured
the drive performance in the case of different accuracies of the position estimator. The accuracy level is visible as a different value of the time delay between waveforms in Fig. 10(up) and Fig. 11(up). In the first case, position error is about 7.5°, in the second case it is about 0.6° (the waveforms of sine and cosine are overlapped). At the time 0.4 s, a step change of load torque was introduced. It can be seen that the error value strongly affects the d axis current – Fig. 10(middle), Fig. 11(middle). In the case of weak position estimation accuracy, a stronger correction is necessary (it is visible as a bigger difference between estimated and measured value of d axis current). However, it is noticeable that the position estimation error has a weak influence on q axis current – Fig. 10(down), Fig. 11(down).
5. Experimental investigations The control structure was tested on a laboratory stand involving 1.23 kW, 3000 rpm PMSM supplied by a laboratory inverter and a second similar PMSM, working as a controlled load source, supplied by an industrial AC drive. The number of pole pairs is equal 3. The first inverter is fed using a small transformer. It was used to limit the supply voltage at the first stage of the test of the control algorithms. The voltage was reduced to 34 V. The tested drive was controlled by means of a DSP and FPGA based system. The main control system is based on the floating point DSP from SHARC family. The resolver is used only for comparison purposes. The laboratory inverter՚s carrier frequency was equal to 10 kHz. The observer as well as control algorithm were implemented on a DSP processor system. All these programs were executed every 100 μs. The measurement algorithms were implemented on an addiBull. Pol. Ac.: Tech. 65(4) 2017 Unauthenticated Download Date | 8/25/17 12:47 PM
A new sensorless speed control structure for PMSM using reference model
ωref = 5
ω [ rad s ]
8
rad , s
with load compensation
6 4 2 0
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
iq [A]
4 2 0
4
id [A]
tional FPGA evaluation board. The main control device was a DSP evaluation board connected to a FPGA board in the form of a sandwich. It was directly connected to the control inputs of a laboratory inverter. Various tests were carried out to confirm the correct operation of the system. Selected waveforms are shown in Figs. 12 and 13. All waveforms were obtained in sensorless mode, ̂ where sine and cosine of the estimated position Θ were used in the control chain. All test results were obtained for low speed range, where speed value was in the range of single revolutions per second. If the motor operates at this operating point, it starts to cover an additional area of the nonlinear phenomena; nonlinearity strongly implicates the drive performance, which is visible even on the sensor mode of operation (Fig. 1), where for a fixed value of the iq current, the resulting speed is not smooth. Obtaining smooth velocity waveforms for this operating point is, however, a separate research task. Figure 12 presents waveforms in steady state operation, for a system working without load compensation – the system operates directly as is shown in Fig. 3 – and waveforms for an improved structure (Fig. 5), with load compensation. It is visible that the drive works stably in both versions; however, this simple modification significantly reduces ripple of the measured speed and current id as well as the value of the constant component of current id. In addition, the accidentally recorded disturbances (noise in measured speed waveforms – Fig. 12), affect the speed sensor; however, the position estimation procedure is not affected. The next test confirms the proper operation during a step change of the motor load (Fig. 13) at constant reference speed ωref = 5 rad s . It can be seen that neither the load switching nor the load value changes the waveform quality. The drive operates stably, regardless of the load. It is confirmed by
2 0
t [s]
Fig. 13. Experimental investigations, sensorless mode, motor operation with load compensation, rapid changes of load TL = 0 ! 1.6 ! 0N¢m, ωref = 5 rad s , up: measured speed, middle: measured current i q, down: measured currents id
the lack of disturbance in the measured speed waveform and moreover in the low value of current id, whose value depends on the position estimation accuracy. There are no significant changes in the motor speed quality just as there are no excessive oscillations in the current iq. A zero reference value of the current id is maintained at all times with sufficient accuracy, even in dynamic states.
6. Conclusions ωref = 5
ω [ rad s ]
8
without load compensation
6 4 2 0
0
0.2
0.4
0.6
ωref = 5
8
ω [ rad s ]
rad , s
0.8 rad , s
1
1.2
1.4
1.8
2
1.6
1.8
2
6 4 2 0
0
0.2
0.4
0.6
0.8
1
ωref = 5
1.2
1.4
rad s
0.4
id [A]
1.6
with load compensation
without (up) with (down)
0.2 0 0
0.2
0.4
0.6
0.8
1
t [s]
1.2
1.4
1.6
1.8
2
Fig. 12. Experimental investigations, sensorless mode, motor operation with and without load compensation, ωref = 5 rad s , up: measured speed without load compensation, middle: measured speed with load compensation, down: measured currents id (up: without load compensation, down: with load compensation)
This control structure was developed to handle the sensorless control, especially in the low speed range. Elimination of the speed calculation, which is based on the estimated back EMF or estimated position, is a big advantage of this control structure. In the case of possible irregularity of estimated back EMF in this speed range, a fast and accurate speed calculation is difficult or impossible. Such a control structure makes it possible to perform a smooth operation of the drive, even in the case of a step change of reference speed. This task is carried out properly with acceptable accuracy and dynamics. Such a control structure works well even for a drive with a small moment of inertia, and works properly even if rapid changes of motor load occur. Using this control method, the motor works silently. Experimental investigations prove the correctness of the concept. A load compensation mechanism allows a significant reduction in the ripple of the speed and current id. The direction of further research will be the decrease of the ripple in the speed or torque, (e.g., using a nonlinear controller), a study of the robustness on inaccurate drive parameter estimation and the robustness on the position estimation error. A complex control system, prepared in Matlab-Simulink, can be easily transferred into the DSP system.
495
Bull. Pol. Ac.: Tech. 65(4) 2017 Unauthenticated Download Date | 8/25/17 12:47 PM
K. Urbanski
References [1] H. Kim, J. Son, and J. Lee, “A high-speed sliding-mode observer for the sensorless speed control of a PMSM”, IEEE Transactions on Industrial Electronics 58 (9), 4069–4077 (2011). [2] L. Li, G. Tan, J. Liu, and B. Kou, “Sensorless control of PMSM based on state observer and the parameter error analysis”, in IEEE International Conference on Power Electronics, Drives and Energy Systems, 1–8 (2012). [3] W. Gao and Z. Guo, “Speed sensorless control of PMSM using model reference adaptive system and RBFN”, Journal of Networks 8 (2013). [4] Y. Fan, L. Zhang, M. Cheng, and K. Chau, “Sensorless SVPWM-FADTC of a new flux-modulated permanent-magnet wheel motor based on a wide-speed sliding mode observer”, IEEE Transactions on Industrial Electronics 62, 3143–3151 (2015). [5] T. Michalski, C. Lopez, A. Garcia, and L. Romeral, “Sensorless control of five phase PMSM based on extended Kalman filter”, 42nd Annual Conference of the IEEE Industrial Electronics Society, 2904–2909 (2016). [6] X. Song, J. Fang, B. Han, and S. Zheng, “Adaptive compensation method for high-speed surface PMSM sensorless drives of EMFbased position estimation error”, IEEE Transactions on Power Electronics 31, 1438–1449 (2016). [7] J. Guzinski and H. Abu-Rub, “Predictive current control implementation in the sensorless induction motor drive”, IEEE International Symposium on Industrial Electronics, 691–696 (2011). [8] K. Urbanski, “Position estimation for PMSM drive equipped with the motor choke”, Przegląd Elektrotechniczny 4, 237–241 (2013). [9] D. Janiszewski, “Load torque estimation for sensorless PMSM drive with output filter fed by PWM converter”, in 39th Annual Conference of the IEEE Industrial Electronics Society, 2953–2959 (2013). [10] J. Salomaki, A. Piippo, M. Hinkkanen, and J. Luomi, “Sensorless vector control of PMSM drives equipped with inverter output filter”, 32nd Annual Conference on Industrial Electronics, 1059 –1064 (2006). [11] S.-M. Gu, F.-Y. He, and H. Zhang, “Study on extend Kalman filter at low speed in sensorless PMSM drives”, in International Conference on Electronic Computer Technology, 311–316 (2009). [12] S. Brock and J. Deskur, “A practical approach to compensation of torque ripple in high-precision permanent magnet motor drives”, in International Conference on Electrical Drives and Power Electronics, Dubrovnik (2005). [13] P. Bogusz, “A switched reluctance motor control method limiting the maximum dc source current in the low-speed range”, Bull. Pol. Ac.: Tech. 64(1), 197–206, (2016). [14] J. Wisniewski and W. Koczara, “The sensorless rotor position identification and low speed operation of the axial flux permanent magnet motor controlled by the novel PIPCRM method”, in IEEE Power Electronics Specialists Conference. PESC, 2008. [15] R. Raute, C. Caruana, C. Spiteri Staines, J. Cilia, N. Teske, M. Sumner, and G. M. Asher, “A review of sensorless control in induction machines using hf injection, test vectors and PWM harmonics”, in Symposium on Sensorless Control for Electrical Drives, 47–55 (2011). [16] M. Schroedl, “Sensorless control of AC machines at low speed and standstill based on the INFORM method”, in Conference Record of the 1996 IEEE Industry Applications Conference, 270–277 (1996).
496
[17] G. Xie, K. Lu, S. Dwivedi, R. Riber, and F. Blaabjerg, “Minimum voltage vector injection method for sensorless control of PMSM for low-speed operations”, IEEE Transactions on Power Electronics 31 (2), 1785‒1794 (2016). [18] P. Pelczewski, W. Oberschelp, and U. Kunz, “Optimal model-following control of a positioning drive system with a permanent-magnet synchronous motor”, Control Theory and Applications, IEE Proceedings D 138, 267–273 (1991). [19] X. Dong,W. Tianmiao,W. Hongxing, and L. Jingmeng, “Adaptive model following speed control method of permanent magnet synchronous motor”, in 4th IEEE Conference on Industrial Electronics and Applications, 721–725 (2009). [20] J. Kang, X. Zeng, Y. Wu, and D. Hu, “Study of position sensorless control of PMSM based on MRAS”, in IEEE International Conference on Industrial Technology, 1–4 (2009). [21] R. Mustafa, Z. Ibrahim, and J. Lazi, “Sensorless adaptive speed control for PMSM drives”, in Power Engineering and Optimization Conference, 511– 516 (2010). [22] S. Li and H. Gu, “Fuzzy adaptive internal model control schemes for PMSM speed-regulation system”, IEEE Transactions on Industrial Informatics 8, 767–779 (2012). [23] T. Tarczewski, L. Grzesiak, A. Wawrzak, K. Karwowski, and K. Erwinski, “A state-space approach for control of NPC type 3-level sine wave inverter used in FOC PMSM drive”, Bull. Pol. Ac.: Tech. 62(3), 439‒448 (2014). [24] P. Vas, Sensorless Vector and Direct Torque Control, Monographs in Electrical and Electronic Engineering, Oxford- New York, Oxford University Press, 1998. [25] D. Luenberger, “An introduction to observers”, IEEE Transactions on Automatic Control 16, 596–602 (1971). [26] K. Urbanski and K. Zawirski, “Improved method for position estimation using a two-dimensional scheduling array”, Automatika – Journal for Control, Measurement, Electronics, Computing and Communications 56, 331–340 (2015). [27] F. Benchabane, A. Titaouine, O. Bennis, K. Yahia, D. Taibi, and A. Guettaf, “Sensorless direct torque control for salientpole PMSM based on extended Kalman filter fed by AC/DC/AC converter”, Frontiers in Energy 6, 247–254 (2012). [28] Z. Wang, Y. Zheng, Z. Zou, and M. Cheng, “Position sensorless control of interleaved CSI fed PMSM drive with extended Kalman filter”, IEEE Transactions on Magnetics 48, 3688–3691 (2012). [29] K. Zawirski, D. Janiszewski, and R. Muszynski, “Unscented and extended Kalman filters study for sensorless control of PM synchronous motors with load torque estimation”, Bull. Pol. Ac.: Tech. 61 (4), 793–801 (2013). [30] C. Zych, A. Wronska-Zych, J. Dudczyk, and A. Kawalec, “A correction in feedback loop applied to two-axis gimbal stabilization”, Bull. Pol. Ac.: Tech. 63 (1), 217–219 (2015). [31] Y. Zhao, W. Qiao, and L. Wu, “Compensation algorithms for sliding mode observers in sensorless control of IPMSMs”, in Electric Vehicle Conference, 1 –7 (2012). [32] Z. Qiao, T. Shi, Y. Wang, Y. Yan, C. Xia, and X. He, “New sliding-mode observer for position sensorless control of permanent-magnet synchronous motor”, IEEE Transactions on Industrial Electronics 60, 710–719 (2013). [33] T. Bernardes, V. Foletto Montagner, H. Grundling, and H. Pinheiro, “Discrete-time sliding mode observer for sensorless vector control of permanent magnet synchronous machine”, IEEE Transactions on Industrial Electronics 61, 1679–1691 (2014). [34] A. Accetta, M. Cirrincione, and M. Pucci, “Sensorless control of PMSM by a linear neural network: TLS EXIN neuron”, in 36th Annual Conference on IEEE Industrial Electronics Society, 974 –978 (2010).
Bull. Pol. Ac.: Tech. 65(4) 2017 Unauthenticated Download Date | 8/25/17 12:47 PM