Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Progettazione in frequenza di un controllore

PLC, servomotori, inverter...robot

Moderatori: Foto Utentedimaios, Foto Utentecarlomariamanenti

2
voti

[11] Re: Progettazione in frequenza di un controllore

Messaggioda Foto UtenteIsidoroKZ » 1 ott 2021, 6:06

Seconda parte.

In tutta l'ingegneria c'e` sempre un compromesso fra diverse esigenze e non c'e` mai (per definizione di ingegneria) la formuletta da applicare: le cose sono sempre incasinate!

Ora provo a sviluppare un secondo approccio, che va (in teoria) un po' piu` vicino alla soluzione. Ovviamente si fanno i conti approssimati, si guarda di essere nella buona direzione, poi si affina il progetto con qualche metodo piu` potente, tipo Matlab, Matematica...

L'idea base e` che si conoscono abbastanza bene i sistemi del secondo ordine (quelli con cui hai fatto la stima dei parametri richiesti per ottenere le performance volute), e quindi si cerca di far diventare approssimativamente il sistema dato in uno del secondo ordine.

Si sa inoltre gia` che c'e` un polo nell'origine che viene attratto dallo zero in -0.1 e che quindi da` origine a un doppietto. Per ridurne l'effetto bisogna aumentare il guadagno a sufficienza per fare in modo che il doppietto sia abbastanza stretto e l'effetto sull'ampliezza sia ridotto.

Un'idea e` di mettere un polo nell'origine e uno zero a -1, in modo da cancellare uno dei due poli: il sistema diventa qualcosa del genere mostrato nella figura d), che e` facile da calcolare anche a mano.

Se non si fa nient'altro, diventa difficile rispettare la specifica di attenuazione del rumore perche' se si vuole avere -40dB di guadagno di anello a 100rad/s, scendendo con una pendenza di 20dB/dec bisogna andare in crossover \omega_c=1 che e` molto bassa, e avremmo fra i piedi il doppietto, oltre ai problemi di sensibilita` che si hanno ad andare in crossover con pendenza molto bassa.

Inoltre il margine di fase sarebbe comunque sempre maggiore di 90° con le conseguenze sul tempo di assestamento.

E` pertanto necessario introdurre un secondo polo in modo da aumentare l'attenuazione dopo il crossover e di portare il margine di fase a 60°, ottenendo qualcosa del tipo di figura e)



dove \omega_c e` la frequenza di crossover, mentre \omega_p e` la frequenza del polo aggiunto. La posizione delle due frequenze la si ottiene imponendo che l'attenuazione a \omega=100 valga -40\,\mathrm {dB} che corrisponde a un fattore 0.01.

I conti approssimati si fanno sul diagramma asintotico, con le regole fornite in questo articolo, e si ipotizza anche che il tratto con pendenza di -20dB/dec sia cominciato a frequenze molto basse e il contributo di fase sia -90°. In figura f) ho solo ingrandito un pochino la figura e)


Volendo ottenere un margine di fase di 60°, la fase ad \omega_c deve essere di -120°.

Un primo contributo di -90° e` dato dal polo a frequenze molto basse, per cui il polo in \omega_p deve dare alla frequenza \omega_c un contributo di fase di -30°. Questo lo si ottiene imponendo che 30^\circ=\arctan\left(\frac{\omega_c}{\omega_p}\right) da cui \omega_c=\omega_p\times 0.577.

Essendo il guadagno alla frequenza di crossover pari a 1, il guadagno ad \omega_p vale 0.577. Per scendere fino a 0.01 si ha un rapporto di guadagni di 57.7, e quindi il rapporto delle frequenze, essendo la pendenza di -40dB/dec diventa \sqrt{57.7}=7.6.

In definitiva la frequenza del polo deve essere \omega_p=\frac{100\,\text{rad/s}}{7.6}=13.2\,\text{rad/s} e la frequenza di crossover vale \omega_c=7.6\,\text{rad/s}

La cosa buona e` che comunque abbiamo ottenuto una frequenza di crossover minore della frequenza del polo, e circa tre ottave piu` alta del polo in \omega=1. Cio` significa che questo polo non da` praticamente nessun effetto sull'ampiezza, ma fa ancora sentire la sua presenza sulla fase.

Avendo questa prima stima, si puo`procedere a un calcolo un po' piu` preciso, considerando che il polo a \omega=1 non e` molto distante dal crossover e quindi il suo contributo di fase non e` di -90° ma solo di circa -\arctan\left(\frac{7.6\,\text{rad/s}}{1\,\text{rad/s}}\right)=-82.5^\circ, e che la frequenza di crossover non e` quella dove il diagramma asintotico intercetta l'asse a 0dBm, ma dove il diagramma vero intercetta l'asse, quindi a frequenza minore, vedi figura g) [Chi e` che diceva che con FidoCadJ non si possono disegnare i diagrammi di Bode?]

Per migliorare l'approssimazione dobbiamo tenere conto che il polo in \omega_p deve fornire un ritardo di fase di circa -37.5°, per compensare la relativa vicinanza del polo in \omega=1.

Il rapporto fra frequenza di crossover e frequenza del polo diventa quindi -37.5^\circ=-\arctan\left(\frac{\omega_c}{\omega_p}\right) da cui \omega_c=\omega_p\times 0.767. Questa e` solo una prima approssimazione, si potrebbe iterare come fatto in precedenza affinando il risultato tenendo conto della fase del polo a frequenza piu` bassa.

Bisogna pero` inoltre considerare che la frequenza di crossover \omega_c non corrisponde piu` alla frequenza di crossover del diagramma asintotico \omega_0, ma e` piu` bassa, come si vede dalla figura g).



A questo punto i conti sulle ampiezze cominciano a diventare un po' pesanti :( Si puo` provare ad ottenere una migliore approssimazione usando risultati gia` calcolati qui, nella sezione 5 (chi diceva che FidoCadJ non va bene per disegnare i diagrammi di Bode?)

Fine della seconda parte
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

1
voti

[12] Re: Progettazione in frequenza di un controllore

Messaggioda Foto UtenteIsidoroKZ » 4 ott 2021, 1:54

Terza parte
Quarta parte

Visto che non pare piu` esserci interesse per questo controllore, do solo un paio di indicazioni per concludere l'argomento, al posto di scrivere un lungo post per ogni passo.

Per imporre il margine di fase e l'attenuazione in alta frequenza, considerando anche che c'e` un polo vicino ad \omega=1\,\text{rad/s}, l'altro essendo cancellato dallo zero del compensatore, si usano le formule di questo articolo usando una procedura iterativa. Qui uso solo le formule, per il loro significato rimando all'articolo.

In questo modo si calcola l'effetto del polo vicino, come gia` fatto in precedenza e inoltre il fatto che la frequenza di crossover non e` quella data dal diagramma asintotico

Va ancora detto che la soluzione "diretta", di forza bruta, e` molto piu` costosa in termini di conti.

Si parte dal margine di fase voluto, ad esempio come valore iniziale si puo` prendere 60°, e con la (37) si calcola il Q del sistema. Con la (31) si calcola il rapporto \omega_0/\omega_2 (vedere la figura 4a dell'articolo citato).

Con questo rapporto si trovano i valori di \omega_0 ed per garantire l'attenuazione a \omega=100\,\text{rad/s}, come fatto nel messaggio precedente, dove pero` si era fatta l'approssimazione che la frequenza di crossover fosse \omega_0.

Dati \omega_0 oppure \omega_2, usando la (35) si calcola la frequenza di crossover \omega_c, (o anche \omega_M come è chiamata nell'articolo).

Data la frequenza di crossover si calcola l'effettivo ritardo di fase dovuto al polo a \omega=1 alla frequenza di crossover, e si toglie questa quantita` al margine di fase voluto per avere il margine di fase controllato dalla posizione di \omega_2.

Con la prima iterazione, margine di fase dovuto solo a \omega_2, si trova \omega_2=12.24\,\text{rad/s} e la frequenza di crossover \omega_c=7.07\,\text{rad/s}. Con questo crossover la fase dovuta al polo in \omega=1 e` di -\arctan\left(\frac{\omega_c}{1\text{rad/s}}\right)=-81.95^\circ e quindi per ottenere il margine di fase richiesto basta che \omega_2 produca un margine di fase di 60°-8.05°=51.95°.

A questo punto si itera usando questo margine di fase come valore iniziale e dopo poche iterazioni si trova che il secondo polo deve essere a \omega_2=10.2\,\text{rad/s} e la frequenza di crossover risulta pari a \omega_c=7.87\,\text{rad/s}.

Con il valore di \omega_0 si trova il guadagno in "banda piatta" del compensatore, vedere figura messaggio precedente. Compensando in questo modo l'impianto si rispetta il margine di fase, l'attenuazione in alta frequenza, si ottiene una risposta migliore del primo caso, ma ancora non si soddisfa la specifica del tempo di assestamento.

Per rispettare tutte le specifiche, senza doversi inventare la teoria dei sistemi del secondo ordine con uno zero extra, si puo` usare il metodo consueto per compensare i convertitori a commutazione.

Data una funzione di trasferimento, si mette un polo nell'origine, uno zero sopra ogni polo dell'impianto, un polo sopra ogni zero (a sinistra) dell'impianto e si va in crossover in modo da rispettare margine di fase e attenuazione in alta frequenza.

In questo modo si trasforma l'impianto in un vero sistema del secondo ordine, senza zeri vari e poli extra, e a questo punto le specifiche vengono rispettate perche' pongono i vincoli sui poli che sono stati studiati per un sistema del secondo ordine su un "vero" sistema del secondo ordine.

Ho fatto i conti, anzi addirittura anche progettato un circuito che facesse la compensazione con tre poli e due zeri, e a questo punto anche il tempo di assestamento e` rispettato :-)

La quinta parte doveva essere una valutazione delle tolleranze dei poli... ma tutto questo materiale non l'ho sviluppato perche' non serve neanche per un articolo sul blog, troppo complicato.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[13] Re: Progettazione in frequenza di un controllore

Messaggioda Foto UtenteDeltaEpsilon » 8 ott 2021, 17:08

Grazie mille per gli spunti interessanti e per il tempo dedicato O:)
Avatar utente
Foto UtenteDeltaEpsilon
15 4
 
Messaggi: 27
Iscritto il: 26 set 2021, 18:54

Precedente

Torna a Automazione industriale ed azionamenti

Chi c’è in linea

Visitano il forum: Nessuno e 22 ospiti