Funzione acker

di il
2 risposte

Funzione acker

Ciao ragazzi ho 'urgentissimo' bisogno d'aiuto!!!
Sto scrivendo una piccola relazione sul funzionamento di un motore in c.c. ma adesso ho un problema.
prosto un'immagine:

nell'immagine sono rappresentati la velocità di rotazione del motore(bianco) e la corrente rotorica in entrata(viola), è evidente come per la rapidità con la quale la velocità arriva a regime si ha un picco di corrente (parte da 0 sala fino a circa 50 e poi scende) che bisogna attenuare introducendo un regolatore.
Ora sorgono i problemi, poichè questa parte non l'ho capita benissimo e la riporto come mi è stato detto di fare dal prof:
Quello che devo fare è regolare il sistema senza regolazione:
d x(t)/dt=Ax(t) + Bu(t)
u(t)= -Fx(t)+Gv(t)
dove v(t) è il valore di riferimento da raggiungere, e G = 1/((-A-B*F)^-1)*B
L'idea è quella di allungare il tempo di raggiungimento del riferimento per evitare il picco di corrente, ciò lo si fa agendo sugli autovalori del sistema attraverso la matrice F.
per modificare gli autovalori utilizzare la funzione 'acker' di Matlab.

Ora alla funzione acker(A,B,P) bisogna passare le matrici A e B più il vettore degli autovalori che si vogliono avere(P)?? e cosa farne del risultato?
Per favore aiutatemi non so come proseguire!!
vi posto anche le matrici carattaristiche del mio sitema:

2 Risposte

  • Re: Funzione acker

    Gli autovalori di A, che sono circa -2.7 e -164 sono i poli del tuo sistema. Quindi i due modi normali del sistema hanno due coefficienti di smorzamento proporzionali a esso. Nella dinamica il modo -164 si smorza subito e non lo vedi, mentre vedi quello a -2.7 bene. Ad esempio se fai la risposta all'impulso ottieni una specie di esponenziale decrescente il cui coefficiente è circa -2.7.

    Il tuo scopo, da quel che ho capito, è quello di allungare la vita della risposta all'impulso quindi vorresti che uno dei tuoi poli sia più vicino all'asse immaginario. Prova ad esempio a metterlo a -1:
    
    P = [-1,-164]
    K = - acker(A,B,P)
    
    questo ti fornisce il compensatore voluto:
    
    K = 
                  0.3426           0.0105
    
    questo lo metti in feedback e se provi a fare la risposta all'impulso viene che si smorza più lentamente, questo dovrebbe risolvere anche il problema del tuo picco.
  • Re: Funzione acker

    Si ero riuscito ad ottenere anche io un compensatore K simile poichè avevo scelto valori differenti per P. Ciò che non capisco bene e cosa devo fare con k.
    Ovvero Ho usato la funzione 'mot=ss(A,B,C,D)' di matlab per generare il sistema, ho usato la funzione step(mot) e poi plot per avere una visualizzazione della risposta al gradino. Adesso però dopo aver ottenuto K come lo metto in feedback?? devo creare un nuovo sistema con il comando ss e inserire K al posto di una delle matrici?

    EDIT: Dopo qualche ora di studio su questa materia nuova per me, ho trovato la soluzione e la posto ne caso qualcuno ne abbia bisogno:

    Una volta ottenuto K con la funzione acker bisogna generare un nuovo sistema
    motore2=ss(A-B*K,B,C,D), e andare ad analizzare questo..grazie mille nicc per l'aiuto..
Devi accedere o registrarti per scrivere nel forum
2 risposte