• Non ci sono risultati.

3.2 Caratterizzazione del singolo agente

3.2.5 Controllo

Il controllo a basso livello per ogni singolo agente consiste nella regolazione della tensione dei motori in modo tale da seguire i riferimenti di velocit`a generati dall’algoritmo. L’analisi del sistema e lo studio del controllore `e sta- to realizzato attraverso Matlab/Simulink. L’implementazione in linguaggio C sul dispositivo embedded verr`a presentata pi`u avanti.

Il modello di un motore DC `e mostrato in figura 3.13:

3.2 Caratterizzazione del singolo agente

Con riferimento alla figura 3.13, indichiamo il significato dei parametri: • Va `e la tensione di alimentazione

• R `e la resistenza di armatura • L `e l’induttanza di armatura

• Vemf `e la tensione dovuta alla forza contro-effettomotrice

• τm `e la coppia generata dal motore

• ω = ˙ϑ `e la velocit`a angolare dell’albero del motore • Kf `e la costante di attrito

• J `e l’inerzia del rotore rispetto all’asse di rotazione

Generalmente, lo studio del modello di un motore in corrente continua si effettua suddividendo la parte elettrica dalla parte meccanica e scrivendo le equazioni dinamiche per le due sezioni distinte. Queste vengono poi messe in relazione da opportune costanti di interazione reciproca. Nel modello infatti sono presenti due parametri, non esplicitamente indicati nella figura 3.13. Sono la costante di corrente Ki e la costante contro elettro-motrice Kemf.

La prima indica il coefficiente di proporzionalit`a (assunto costante) che lega la corrente che scorre nel motore alla coppia generata all’albero; la seconda indica tensione generata per effetto Faraday nel circuito di armatura quando il motore ruota con velocit`a angolare ω, come mostrato in figura 3.14.

3.2 Caratterizzazione del singolo agente

Figura 3.14: Vista interna di un motore CC

Si hanno allora le seguenti relazioni:

τm = Kii

Vemf = KemfVa

Per prima si considera la parte elettrica, schematizzata in figura 3.15:

3.2 Caratterizzazione del singolo agente

dove il generatore di tensione Eg corrisponde alla tensione Vemf. Indicata

con i la corrente che scorre nel circuito di armatura del motore, l’equazione dinamica che regola questo sistema `e:

Va= Ri + L

di

dt + Kemfω (3.10)

Per quanto riguarda la parte meccanica, si deve tenere conto che il motore rappresenta un carico inerziale rotativo. Si consideri un corpo rigido vinco- lato a ruotare attorno ad un asse, schematizzato in figura 3.16. L’inerzia del corpo rispetto tale asse sia Jm.

Figura 3.16: Parte meccanica di un motore CC

Si supponga di applicare una coppia motrice τm, a cui si oppone una

coppia di attrito τf. Le equazioni del moto del sistema, riportato in figura,

sono le seguenti:

τm = J ˙ω + τf (3.11)

Per quanto riguarda la coppia di attrito sono necessarie alcune consid- erazioni pi`u dettagliate. La coppia di attrito pu`o essere modellizzata come riportato nella figura 3.17, dove ad un termine costante dovuto all’attrito

3.2 Caratterizzazione del singolo agente

secco, si sommano un termine di attrito viscoso (che cresce linearmente con la velocit`a) ed uno di attrito statico (che decresce rapidamente per velocit`a immediatamente superiori allo zero).

Figura 3.17: Modello della coppia d’attrito

Per semplicit`a, l’attrito verr`a considerato solo di tipo viscoso; per cui sar`a considerato un solo termine costante, Kf, che lega la coppia d’attrito τf alla

velocit`a angolare ω. Si ottiene quindi:

τf = Kfω (3.12)

per cui l’equazione 3.11 diviene:

3.2 Caratterizzazione del singolo agente

Si noti come si raggiunga un equilibrio tra la coppia motrice e quella di attrito (ovvero ˙ω = 0 ) quando

ω = τm

B (3.14)

Ricordando la 3.10, otteniamo:

Kii = J ˙ω + Kfω (3.15)

Nella 3.15 `e opportuno considerare un altro termine τd che tenga conto

di una eventuale coppia di disturbo esterna. Per cui:

Kii = J ˙ω + Kfω + τd (3.16)

Il modello del motore `e quindi completamente descritto dal seguente sis- tema di equazioni:

(

Va = Ri + Ldtdi+ Kemfω

3.2 Caratterizzazione del singolo agente

I valori dei parametri sono i seguenti: • Resistenza di armatura R = 0.5 Ω • Induttanza di armatura L = 1.5 mH

• Costante contro elettro-motrice Kemf = 0.025 V /rad/s

• Costante di corrente Ki = 0.05 N m/A

• Inerzia del rotore J = 0.00025 N m/rad/s2

3.2 Caratterizzazione del singolo agente

In figura 3.18 `e mostrato il modello del motore implementato sotto l’am- biente Matlab/Simulink :

Figura 3.18: Modello Simulink del motore

Il modello implementa i due sottosistemi, costituiti dalla parte elettrica e dalla parte meccanica: sono infatti visibili i due integratori per le variabili di stato i e ω. Nel modello `e inoltre presente un elemento di saturazione, necessario per limitare la tensione di controllo ad un valore di ± 7,2V. Sono inoltre presenti le due costanti Kemf e Ki, che legano i due sottosistemi.

Il blocco denominato reduction costituisce il termine dovuto al rapporto di riduzione del motoriduttore.

Le relazione precedentemente ottenute pongono in relazione la velocit`a di rotazione ω dell’asse alla tensione V di alimentazione. La misura effettiva- mente retroazionata dall’encoder `e per`o la posizione angolare: `e necessario quindi un ulteriore integratore pre ottenere la posizione angolare data da ϑ. In cascata al blocco integratore di ω `e presente un elemento quantizzatore: questo `e necessario a modellare la discretizzazione della misura introdotta dalle tacche dell’encoder.

3.2 Caratterizzazione del singolo agente

Per comodit`a, l’intero modello del motore viene racchiuso in un unico blocco, come mostrato in figura 3.19:

Figura 3.19: Modello Simulink del motore

Le funzioni di trasferimento associate alle equazioni 3.10 e 3.16 sono rispettivamente: i V = Ki Ls + R (3.17) e: ω i = 1 J s + Kf (3.18)

Si hanno per cui i due poli del sistema:

p1 = R L (Polo Elettrico) (3.19) p2 = Kf J (Polo Meccanico) (3.20) Come primo passo `e stata osservata la risposta al gradino in ciclo aperto. Il grafico `e mostrato nella figura seguente:

3.2 Caratterizzazione del singolo agente

Figura 3.20: Risposta al gradino in anello aperto

Dalla figura si nota che il valore di regime della velocit`a angolare `e circa 175 rpm, esattamente il valore nominale per cui `e dato il motoriduttore.

Per quanto riguarda la forma del controllore, `e stato scelto un controllo di tipo P ID mostrato in figura 3.21.

Figura 3.21: Schema del controllore

Per la scelta del guadagno, `e stato osservato il luogo delle radici della F.d.T. del sistema. Il grafico `e riportato in figura 3.22:

Esaminando il luogo delle radici con Matlab, si nota che il valore del guadagno K per cui i poli rimangono a parte immaginaria nulla, `e circa 0.07.

3.2 Caratterizzazione del singolo agente

Figura 3.22: Luogo delle radici

Figura 3.23: Luogo delle radici: dettaglio

Fissato quindi per la componente proporzionale un guadagno di 0.05, i coeffi- cienti per le componenti integrale e derivativa, determinati con la procedura di Ziegler-Nichols, valgono rispettivamente Ki = 0.8 e Kd= 0.5.

Con questi valori per le costanti del controllore, otteniamo la risposta in ciclo chiuso mostrata in figura 3.24:

3.2 Caratterizzazione del singolo agente

Figura 3.24: Risposta in ciclo chiuso con riferimento pari a 100 RPM

3.2 Caratterizzazione del singolo agente

Documenti correlati