Difference between revisions of "STM32MotorControl:SDK Overmodulation"

[quality revision] [pending revision]
m
m
 


1 Principle of SVPWM[edit]

STM32 MC Overmodulation new slide1 1.png

Space vector modulation index is limited to √3/2 but there is a way to extend this limit with the over-modulation. This technique is required when the modulation index, as the length of the reference space vector Us, exceeds the edges of the hexagon.


1.1 Linear mode[edit]

STM32 MC Overmodulation slide9 1.png

In the linear area, V'cmd can keep both the amplitude and angle of Vcmd ,
then V'cmd = T'1 * V1 + T'2 * V2 with T'1 = T1 and T'2 = T2 .

1.2 OVM mode 1[edit]

STM32 MC Overmodulation slide10 1.png

There are two cases:

  • In the green area: T1 + T2 ≤ 1 .
    Vcmd is unmodified and the timings remain unchanged T'1 = T1 and T'2 = T2 . In that region V'cmd follows the circle.
  • In the blue area: T1 + T2 > 1 .
    Then In order to keep V'cmd on the edge of the hexagon and keep the angle 𝜃, | V'cmd | is shrunk to make T'1 + T'2 = 1. V'cmd = T'1 * V1 + T'2 * V2 with T'1 = T1 / (T1 + T2) and T'2 = T2 / (T1 + T2).
    In that region V'cmd follows the hexagon edge.


1.3 OVM mode 2[edit]

STM32 MC Overmodulation slide11 1.png

There are three cases:

  • In the green area: T1 ≥ 1.0 .
    We only use V1 to generate theV'cmd .
    Then V'cmd = T'1 * V1 + T'2 * V2 with T1 = 1.0 and T2 = 0 .
  • In the yellow area: T2 ≥ 1.0 .
    We only use V2 to generate theV'cmd .
    Then V'cmd = T'1 * V1 + T'2 * V2 with T1 = 0 and T2 = 1.0 .
  • In the blue area: T1 < 1.0 && T2 < 1.0 .
    Then V'cmd = T'1 * V1 + T'2 * V2 with T'1 = (T1 / (T1 + T2) + 3 / 𝜋 . 𝛾) . (𝜋/6) / (𝜋/6 − 𝛾) and T'2 = 1.0 − T'1 .


2 Over-modulation timings sum-up[edit]

STM32 MC Overmodulation new slide5 1.png

3 Over-modulation activation in STM32 MC SDK V5.Y[edit]

STM32 MC Overmodulation new slide6 1.png

4 Over-modulation example[edit]

Example: F4 three shunt with Shinano motor at 4000 rpm

STM32 MC Overmodulation slide17.jpg
- In the middle of this snapshot: the blue curve shows the phase current
- Just bellow: the pink, yellow and green curves show the PWM channels

The over-modulation increases the total harmonic distortion, but it allows the modulation index to exceed √3/2.



{{DISPLAYTITLE: STM32 MC SDK Overmodulation (new in V5.Y) }}

=== Principle of SVPWM ===

[[file:STM32_MC_Overmodulation_new_slide1_1.png|400px|left]]
Space vector modulation index is limited to √3/2 but there is a way to extend this limit with the over-modulation. This technique is required when the modulation index, as the length of the reference space vector Us, exceeds the edges of the hexagon.<br clear=all>


==== Linear mode ====

[[file:STM32_MC_Overmodulation_slide9_1.png|400px|left]]
In the linear area, ''V'<sub>cmd</sub>'' can keep both the amplitude and angle of ''V<sub>cmd</sub>'' ,<br>

then ''V'<sub>cmd</sub> = T'<sub>1</sub> * V<sub>1</sub> + T'<sub>2</sub> * V<sub>2</sub>'' with ''T'<sub>1</sub> = T<sub>1</sub>'' and ''T'<sub>2</sub> = T<sub>2</sub>'' .<br clear=all>


==== OVM mode 1 ====

[[file:STM32_MC_Overmodulation_slide10_1.png|400px|left]]
There are two cases:
* In the green area: ''T<sub>1</sub> + T<sub>2</sub> ≤ 1'' . <br> ''V<sub>cmd</sub>'' is unmodified and the timings remain unchanged ''T'<sub>1</sub> = T<sub>1</sub>'' and ''T'<sub>2</sub> = T<sub>2</sub>'' . In that region ''V'<sub>cmd</sub>'' follows the circle.
* In the blue area: ''T<sub>1</sub> + T<sub>2</sub> > 1'' . <br> Then In order to keep ''V'<sub>cmd</sub>'' on the edge of the hexagon and keep the angle 𝜃, ''| V'<sub>cmd</sub> |''  is shrunk to make ''T'<sub>1</sub> + T'<sub>2</sub> = 1''. ''V'<sub>cmd</sub> = T'<sub>1</sub> * V<sub>1</sub> + T'<sub>2</sub> * V<sub>2</sub>'' with ''T'<sub>1</sub> = T<sub>1</sub> / (T<sub>1</sub> + T<sub>2</sub>)'' and ''T'<sub>2</sub> = T<sub>2</sub> / (T<sub>1</sub> + T<sub>2</sub>)''. <br> In that region ''V'<sub>cmd</sub>'' follows the hexagon edge.<br clear=all>


==== OVM mode 2 ====

[[file:STM32_MC_Overmodulation_slide11_1.png|400px|left]]
There are three cases:
* In the green area: ''T<sub>1</sub> ≥ 1.0'' . <br> We only use V1 to generate the''V'<sub>cmd</sub>'' . <br> Then ''V'<sub>cmd</sub> = T'<sub>1</sub> * V<sub>1</sub> + T'<sub>2</sub> * V<sub>2</sub>'' with ''T<sub>1</sub> = 1.0'' and ''T<sub>2</sub> = 0'' .
* In the yellow area: ''T<sub>2</sub> ≥ 1.0'' . <br> We only use V2 to generate the''V'<sub>cmd</sub>'' . <br> Then ''V'<sub>cmd</sub> = T'<sub>1</sub> * V<sub>1</sub> + T'<sub>2</sub> * V<sub>2</sub>'' with ''T<sub>1</sub> = 0'' and ''T<sub>2</sub> = 1.0'' .
* In the blue area: ''T<sub>1</sub> < 1.0 && T<sub>2</sub> < 1.0'' . <br> Then ''V'<sub>cmd</sub> = T'<sub>1</sub> * V<sub>1</sub> + T'<sub>2</sub> * V<sub>2</sub>'' with ''T'1 = (T1 / (T1 + T2) + 3 / 𝜋 . 𝛾) . (𝜋/6) / (𝜋/6 − 𝛾)'' and ''T'2 = 1.0 − T'1'' .<br clear=all>


=== Over-modulation timings sum-up ===

[[file:STM32_MC_Overmodulation_new_slide5_1.png|600px|center]]

=== Over-modulation activation in STM32 MC SDK V5.Y ===

[[file:STM32_MC_Overmodulation_new_slide6_1.png|600px|center]]

=== Over-modulation example  ===

Example: F4 three shunt with Shinano motor at 4000 rpm
[[file:STM32_MC_Overmodulation_slide17.jpg|800px|center]]
 - In the middle of this snapshot: the blue curve shows the phase current
 - Just bellow: the pink, yellow and green curves show the PWM channels
The over-modulation increases the total harmonic distortion, but it allows the modulation index to exceed √3/2.
<noinclude>
<!--
[[Category:Category:Motor Control]]
-->
[[Category:STM32 MC Under ConstructionMotor Control]]<noinclude>


{{PublicationRequestId|19738| 4/26/2021| JM LAGOUTTE}}<!--
Internal source: "OVM_wiki.pptx" VX.0
-->
Line 49: Line 49:
   
 
<noinclude>
 
<noinclude>
<!--
+
[[Category:Motor Control]]
[[Category:Category:Motor Control]]
 
-->
 
[[Category:STM32 MC Under Construction]]
 
 
<noinclude>
 
<noinclude>