Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Sintesi Di Un Controllore


Messaggi consigliati

Inserito:

Sono di nuovo a chiedere aiuto:

allego file dove c'e' tutto cio' che ho fatto con descrizione:

http://www.uploading.com/files/GO5I31AE ... i.zip.html

Inoltre ho usato scilab ma non riesco a completarlo col margine di fase:

queste sono le 2 fdt.

s=poly(0,'s');

N=80;

D=(1+10*s)*(1+5*s)*(1+s);

h=N/D;

sl=syslin('c',h);

bode(sl)

s=poly(0,'s');

N=80;

D=(1+s/0.004)*(1+s/2.5)^2;

h=N/D;

title='80/(1+s/0.004)*(1+s/2.5)^2';

sl=syslin('c',h);

bode(sl)

Grazie

Antonio


Inserita:

Il download non funziona <_<

Purtroppo quello che hai scritto non è sufficiente per poterti aiutare, se metti le specifiche del progetto ti posso dare una mano!

A prima vista non dovresti avere particolari rompicapi i processi sono stabili in anello aperto, mi pare di capire che devi sintetizzare un PID per ottemperare alle specifiche del progetto!

Saluti

Inserita:

Grazie della risposta,

le specifiche da rispettare sono:

- errore a transitorio esaurito e<0,1

- Wc >=0,2

- Fi(m)>=60 gradi

segnale in ingresso a gradino a 1(t) dove a<=1

segnale disturbo a gradino b 1(t) dove b<=5

Hai un host srio su cui appoggiare il file?

Grazie

Antonio

Inserita:

Un'altra cosa...

sono riuscito a trovare il margine di fase graficamente (76 gradi) ma c'e' un sistema per trovarlo analiticamente?

Inserita:

Ciao,

generalmente mi arriva la notifica di risposta stavolta niente come mai??? <_<

Veniamo a noi :)

- errore a transitorio esaurito (errore a regime permanente) e<0,1

- Wc (pulsazione di taglio) >=0,2 rad/sec

- Fi (margine di fase)>=60 gradi

segnale in ingresso a gradino a 1(t) (riferimento di ingresso) a<=1

segnale disturbo a gradino b 1(t) (disturbo) b<=5

Fammi capire bene, sono due f di t distinte? Oppure sono in cascata o in serie? Se sono distinte tutte e due devono rispettare le stesse specifiche?

Io ho un ftp ti posso dare quello...

Inserita:

Questa è la prima f di t che ho chiamato A, apparentemente stabile poiché i poli sono Re[p]<0 ma in realtà è in stabile ad anello chiuso.

Transfer function A:

80

--------------------------

50 s^3 + 65 s^2 + 16 s + 1

puoi raggiungere le specifiche desiderate utilizzando solo un controllore proporzionale per abbassare il guadagno con conseguente diminuzione della pulsazione di taglio della curva a 0dB e aumento del margine di fase.

Quindi per questa prima f di t un PID potrebbe essere esclusivamente ad azione proporzionale (solo nella carta, non mi vogliano male quelli del Forum dicendomi che è fisicamente irrealizzabile), dunque ponendo:

Kp = 0.040487

si ha una attenuazione di 20*log10(Kp)=-27.8537 dB

la nuova f di t che si avrà che ho chiama P, sarà:

P = Kp*A

Transfer function P:

3.239

--------------------------

50 s^3 + 65 s^2 + 16 s + 1

grafica le funzioni e ti accorgerai dei risultati!

PS per il margine di fase e di guadagno assieme alle loro pulsazioni in Matlab utilizzo il comando: [Gm,Pm,Wcg,Wcp] = margin (P), in Scilab mi par ci dovrebbe essere qualcosa di simile... Che diamine è openSource e non hanno una buona documentazione, che comunità sarebbe.... :lol:

Inserita:

Questi sono i grafici che finalmente sono riuscito ad allegare... :)

Inserita:

Innanzitutto ti ringrazio della esauriente risposta. :)

Allego di nuovo con un altro host (speriamo bene) :rolleyes:

http://www.mediafire.com/?lczxyxby0ct

Ma matematicamente e non graficamente si riesce ad arrivare al valore del margine di fase?

Ciao

Antonio

Inserita:

Transfer function A:

10

--------------------------

50 s^3 + 65 s^2 + 16 s + 1

E' questa la f di t del processo iniziale? Chiedo conferma! :)

Quindi la soluzione del regolatore sarà:

R2(s)=8*R2(s)=8*(1+10s)(1+5s)(1+s) / (1+250s)(1+0,4s)^2

Scordatelo! non potrà mai avere un numeratore del genere perché così facendo stai modificando le natura del processo in parole povere lo stai cancellando!

Quello che vi vorrei chiedere e’:

--Perche’ la pendenza dell’ultimo tratto in Bode ha pendenza -3?

Credo che sia più corretto dire pendenza -60dB!

Comunque è la somma dei contributi in modulo di ciascun binomio al denominatore di -20dB, quindi in totale -60dB. Il termine costante al numeratore non da nessun contributo per la pendenza.

--Deve, per caso, mantenere lo stesso andamento del tentativo 1 o c’e’ qualche altra ragione?

Devi rispettare il guadagno del sistema per ottemperare le specifiche statiche, tutto qui!

--Io ho risolto graficamente ma per trovare la soluzione matematicamente ho difficolta’.

Ti consiglio di dare uno sguardo alle reti anticipatrici e ritardatrici, così sarai sicuramente in grado di risolvere il problema. Appena ho tempo vedo di risolvere il problema e poi lo link-o.

Comunque per il calcolo del:

Mp(margine di fase) = 180 + fase(f di t in Wc)

Zero/pole/gain A:

0.2

---------------------

(jWc+1) (jWc+0.2) (jWc+0.1)

nel tuo caso Wc = 1 rad/sec, allora fase = -arctg(1/0.1) - arctg(1/0.2) - arctg(1/1) + num. non da nessun contributo in fase = -84°,28' - 78°,7' - 45° = - 207°,98'

quindi Mp = 180° + (-207°,98') = -27°,98'

In realtà ho commesso un errore di circa 2° poiché hai approssimato Wc = 1,04 rad/sec con 1.

Spero di essere stato esauriente :)

Inserita: (modificato)

Ti ho seguito e mi e' stato tutto chiaro nella prima parte.

Non mi e' chiaro quale passaggio abbia sbagliato nello svolgimento dell'esercizio del progetto dinamico.

Me lo metti in evidenza per piacere cosi' capisco meglio.

Grazie

Antonio

Modificato: da aduri
Inserita:

Aduri pazienta un po' domani ti darò una risposta esauriente! :) :) :)

Tu invece hai fatto qualche passo avanti?

Inserita:

Eccomi qua! :)

Allora il problema di sintesi del controllore si risolve con l'azione delle reti correttrici e con l'azione proporzionale.

Breve ex cursus sull'azione delle reti correttrici:

-rete anticipatrice: aumenta il la pulsazione di attraversamento (o taglio) e anticipa la fase;

-rete ritardatrice: diminuisce la pulsazione di taglio e diminuisce la fase;

Pdf con le reti correttrici.

Ora indico brevemente i passi da seguire per raggiungere la sintesi di un buon controllore:

1) soddisfare le specifiche statiche sull'errore a regime (o transitorio esaurito) agendo sul guadagno. Consiglio generalmente di partire sempre dal valore minimo, eventualmente in seguito ci puoi ritornare a lavorar su.

- Momentaneamente partiamo dal valore che hai scelto tu R1=8;

2) guardi tutti i margini di guadagno in particolare quello di fase, assieme a tutte le pulsazioni ed in particolare quella di attraversamento.

- Mp=-29°,77' a Wt=1,04 rad/sec

3) facendo la differenza tra margine attuale e margine desiderato ti trovi quanto è il gap minimo che devi compensare.

gap=Mp_attuale-Mp_desiderato=-29°,77'-60°=89°,77'

4) reti correttrici alla mano vedi quanto puoi compensare con una singola retta ed eventualmente ne usi più di una. In questo caso devi aumentare il Mp perciò devi usare un rete anticipatrice.

- Ho utilizzato 3 rete che mi davano un contributo di fase di 150°, nella pulsazione desiderata però è difficile poi centrarla in corrispondenza della pulsazione reale.

5) utilizzando le regole sulle rete anticipatrici il controllore è: R2=[(1+0.6*s)/(1+0.06*s)]^3, aumenti un po' il guadagno badando di non spostarti dalla pulsazione iniziale, almeno che non ti sia stato chiesto dalle specifiche R1=10;

Infine Rtot=R1*R2 il gioco è fatto! :) :) :)

Grafici:

- L1 con azione di R1

- L con azione di R1 e R2

Inserita:

Ti ringrazio tutto molto chiaro. ;)

Ho avuto una voce che il ns prof nella sintesi del controllore parte dal progetto dinamico e non da quello statico.

Cosa ne pensi?

Ciao

Inserita:

Ciao,

non so quanto convenga iniziare dalle specifiche sulla dinamica del processo per poi affrontare quelle statiche, generalmente si annulla l'effetto dei disturbi agendo sul guadagno o con l'azione integrale, salvo restrizioni, poi si passa alle rette correttrici e si ritocca il guadagno.

Questo mi è stato insegnato e questo ti consiglio :)

Scusa tu dove studi? :lol:

Inserita:

Io studio a Genova ma non seguo (lavorando) do' solo gli esami.

Ogni tanto incontro i professori e leggo le dispense e, dove non capisco, prendo le dispense in rete dalle altre facolta'.

Purtroppo non posso fare altrimenti, ho il tempo contato.

Fino ad ora e' andata abbastanza bene ed ho dato 28 esami e me ne mancano 8 alla fine (3 anni x ora).

Comunque non vorrei aver interpretato male io. :blink:

A dire il vero parlavano di analisi in media frequenza comunque se raggiungo l'obbiettivo di progettare un regolatore sensato mi sembra di aver capito che dovrebbe andare tutto bene.

Ciao

Antonio

Inserita:

Ok pensavo fossi nelle vicinanze di Roma.. :)

La procedura migliore è quella, non dimenticare comunque che devi procedere per tentativi, perciò se scegli una retta diversa da quella che ti ho consigliato non succede nulla purché soddisfi le specifiche (a questi livelli le specifiche sono abbastanza lasche, per fortuna!).

Ricorda una cosa fondamentale, non sintetizzare un controllore che stabilizza il sistema e soddisfa le specifiche ma che di sua natura sia instabile, se no i docenti e/o il tuo capo ti segano la testa! Tienilo sempre bene a mente! ;)

Comunque se ti va mi interesserebbe tenere aperto qualche topic su questi argomenti, quindi se hai qualche collega interessato non dubitate a chiedere! :D

Saluti

Inserita:

Esco un po' fuori topic, ora che ci sono ne approfitto, li da voi avete dispense o materiale su azionamenti idraulici o su motori elettrici lineari?

Grazie :)

Inserita:

Che io sappia non ho visto nulla sugli azionamenti idraulici.

Comunque se trovo qualcosa te lo comunico.

Io lavoro in una societa' che si interessa di impianti siderurgici e gli azionamenti idraulici li vediamo spesso.

L'approccio pero' non e' a livello universitario.

Comunque se trovo qualcosa di interessante te lo invio.

Grazie ancora

Antonio

P.S. Ha io sono uno studente un po' vecchietto ho 45 anni

Inserita:

Allora ho dubbi sui metodi di controllo industriale so a chi rivolgermi :) :) :)

Saluti ;)

Inserita:

Chiedo scusa ma ho i dubbi dell'ultima ora :oops:

Dopodomani ho l'esame :cry:

Quando cerco di rispettare la specifica dell'errore a transitorio esaurito esso deve essere finito per definizione vero?

Mi spiego meglio: se nell'esercizio precedente il segnale di test in ingresso fosse stato una rampa nel limite mi sarei trovato a denominatore una s e quindi avrei ottenuto "infinito" e non e' accettabile quindi avrei dovuto mettere a denominatore di R1(s) una s^1 anziche' s^0 ottenendo un errore di 1/10ur.

L'altro dubbio e' il seguente:

Se nell'esercizio precedente non avessi avuto una controreazione unitaria ma una H(s) per trovare l'errore a trans. esaur. avrei dovuto fare il limite x s tendente a 0 di (s x 1/1+H(s)L(s) x 1/s) (per ingresso a gradino) vero?

Ciao

Antonio

Inserita:

(domanda)???

Allora la risposta si calcola Y(s) = P(s) U(s), per cui se in ingresso hai ramp(t) -> L[ramp(t)] = 1/s^2 quindi calcola con il teorema del valore finale.

Se nell'esercizio precedente non avessi avuto una controreazione unitaria ma una H(s) per trovare l'errore a trans. esaur. avrei dovuto fare il limite x s tendente a 0 di (s x 1/1+H(s)L(s) x 1/s) (per ingresso a gradino) vero?

La f di t del processo in controreazione è OK!

Ora tieni conto dello scalino e calcola di conseguenza, in bocca al lupo! :)

Inserita:

Il povero lupo anche sta volta c'ha lasciato il pelo.

Grazie dell'aiuto che mi avete dato. :D

Passato l'esame quasi a pieni voti.

Antonio

Inserita: (modificato)

Ma dai? :o

Eh io che pensavo di beccarmi una "cazziata" per averti suggerito male....

Complimentoni ;)

PS cerca di tenere aperte discussioni in merito a questi argomenti.

Modificato: da Bender83

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...