SVM - trovare Vprec e Vsuc

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

Avatar utente
Foto UtenteRLC
260 1 2 9
Frequentatore
Frequentatore
Messaggi: 117
Iscritto il: 26 ago 2018, 17:45
0
voti

[1] SVM - trovare Vprec e Vsuc

Messaggioda Foto UtenteRLC » 6 ago 2020, 20:19

Buonasera a tutti
L'argomento è: Inverter trifase, controllo SVM (space vector modulation).
Sto cercando di trovare la V_prec e V_suc partendo da V_alfa e V_beta. Prec sta per "vettore nella posizione precedente", analogo per la successiva. Devo trovare la lunghezza dei vettori che sommati mi danno la V, che giacciono in due assi generici, che possono essere, ad esempio, quelli del famoso esagono.


\left\{\begin{matrix}
V_\alpha =V_{prec}  \cos\theta _{prec} + V_{suc}  \cos\theta _{suc}\\ 
V_\beta=V_{prec}  \sin\theta _{prec} + V_{suc}  \sin\theta _{suc}
\end{matrix}\right.

Trovo:

\left\{\begin{matrix}
V_{suc}=\frac{V_\beta \cos\theta_{prec}-V_\alpha\sin\theta_{prec}}{\sin({\theta_{suc}-\theta_{prec})}}
\\
V_{prec}=\frac{V_\beta \cos\theta_{suc}-V_\alpha\sin\theta_{suc}}{\sin({\theta_{prec}-\theta_{suc})}}
\end{matrix}\right.

è giusto il sistema finale o avrò sbagliato qualche passaggio?

Avatar utente
Foto UtenteRLC
260 1 2 9
Frequentatore
Frequentatore
Messaggi: 117
Iscritto il: 26 ago 2018, 17:45
0
voti

[2] Re: SVM - trovare Vprec e Vsuc

Messaggioda Foto UtenteRLC » 6 ago 2020, 22:19

theta_suc è l'angolo tra asse_suc e e asse_alfa
Lo schema fidocadj qui viene diverso da quello che ho fatto io

Avatar utente
Foto UtenteSandroCalligaro
2.970 2 4 5
G.Master EY
G.Master EY
Messaggi: 1181
Iscritto il: 6 ago 2015, 19:25
1
voti

[3] Re: SVM - trovare Vprec e Vsuc

Messaggioda Foto UtenteSandroCalligaro » 7 ago 2020, 23:22

Mi pare che ci sia qualche errore... Una prova numerica è facile da fare. :-)
Volendo, puoi rifare il conto in forma di matrice. ;-) Si tratta alla fine di invertire una matrice 2x2, per risolvere il sistema:
\left[ {\begin{array}{cc}
   \cos(\theta_{prec}) & \cos(\theta_{succ}) \\
   \sin(\theta_{prec}) & \sin(\theta_{succ}) 
  \end{array} } \right]   \left[ {\begin{array}{cc}
   V_{prec} \\ V_{succ} 
  \end{array} } \right]  = \left[ {\begin{array}{cc}
   V_{\alpha} \\ V_{\beta} 
  \end{array} } \right]

Solitamente, potendo scegliere, si fa coincidere \theta_{prec} con zero, individuando prima il settore e riducendo il problema ad un caso con coseni e seni costanti.

Se ti interessa l'implementazione della SVM, dovresti trovare facilmente materiale, a partire dalle Application Note di alcuni produttori di microcontrollori, come Motorola/Freescale, Infineon, Microchip, TI.

A mio parere, però, l'implementazione più logica e semplice, che permette di arrivare allo stesso risultato, è quella basata su un'idea diversa, simile a quella che si utilizzava in analogico.
Si tratta di usare un valore "di modo comune" appropriato, da aggiungere alle tre tensioni di fase. Per replicare il risultato della SVM, basta calcolare tre tensioni pari a
V_{a0} = V_a + V_{n0}
V_{b0} = V_b + V_{n0}
V_{c0} = V_c + V_{n0}
dove
V_{n0} = \frac{V_{DC}}{2} - \frac{\max\{V_a,V_b,V_c\}-\min\{V_a,V_b,V_c\}}{2}
Si calcolano poi i valori di duty-cycle per le tre gambe dell'inverter (duty-cycle dell'high-side) dividendo le tre tensioni V_{a0},V_{b0},V_{c0} per V_{DC}.
Questo approccio è anche meno astratto, ed il ragionamento che ci sta dietro permette di capire facilmente altre modulazioni, come la bus-clamped.


Torna a “Automazione industriale ed azionamenti”