Vai al contenuto
PLC Forum


Regolatori Pid Per Processi Non Lineari


fede82

Messaggi consigliati

Salve! Ho un problema che a molti potrà risultare banale, ma per il quale sto perdendo parecchio tempo nonostante le discrete basi controllistiche. Devo fare in modo che un motore asincrono trifase insegua un riferimento di velocità costante (in presenza di disturbo costante), controllando la frequenza di alimentazione attraverso un regolatore PID. Il motore è descritto da un modello non lineare. Paradossalmente, quello che mi lascia perplesso è che inserendo un semplice PID in retroazione le cose vadano esattamente come devono andare, a prescindere (o quasi) dallo stato iniziale del sistema e dall'entità del riferimento e del disturbo! In pratica un semplice PID fissa un equilibrio nel riferimento e lo rende asintoticamente stabile! Come si giustifica tale fatto? NB Ribadisco che il processo non è lineare e non ne sto considerando una linearizzazione, quindi la classica teoria sui PID non mi è di aiuto.

Grazie!

Link al commento
Condividi su altri siti


Devo fare in modo che un motore asincrono trifase insegua un riferimento di velocità costante (in presenza di disturbo costante), ..

Cosa indendi per costnte?

Intendi dire che il valore di riferimento è una costante come anche è costante il valore di disturbo?

Se la risposta è si il comportamento che descrivi è normale, anzi direi doveroso, per un regolatore decente.

Se invece ho interpretato male, prova a descrivere meglio e più dettagliatamente il tuo fenomeno.

Link al commento
Condividi su altri siti

Esattamente, il riferimento ed il disturbo sono due costanti. Quello che non capisco è quel "doveroso". Purtroppo di teoria so molto, di pratica molto poco, e teoricamente non riesco a giustificare questa fantastica azione del PID su un processo non lineare (in quanto non posso usare funzioni di trasferimento e le equazioni differenziali sono piuttosto complicate). Essendomi da poco iscritto al forum non so se si tratti di una domanda che esula dal carattere forse più applicativo delle altre discussioni. Una semplice motivazione intuitiva sarebbe comunque ben accetta! Grazie infinite

Link al commento
Condividi su altri siti

Un regolatore deve regolare, altrimenti non sarebbe un ....regolatore. :lol:

Se scomponi il regolatore PID nelle sue 3 componenti ti renderai conto che l'azione integrale ha la funzione di annullare gli errori a regime. Non per niente gli americani, sempre pragmatici, definiscono l'azione integrale come "Reset".

Quindi se dai un valore di consegna al tuo sistema regolato, che questo valore sia costante oppure variabile il regolatore farà in modo che il sistema segua il valore di consegna con errore zero. Questo fino a che la banda passante del regolatore è >= della massima frequenza con cui varia il valore di consegna. Idem per il disturbo.

Questo banalizzando e semplificando il concetto.

Per tua informazione.

Un metodo pratico per la verifica della banda passante di un regoaltore ad anello chiuso consiste proprio o nell'iniettare un disturbo, aumentarne la frequenza sino a notare la comparsa del disturbo in uscita. Oppure, più semplicemete, sovrapporre ad un riferimento di ampiezza costante, un riferimento di ampiezza variabile sinusoidlmente. SI aumenterà la frequenza, mantenendo costante l'ampiezza, sino a notare un calo del valore in uscita pari 0,707 del valore originale corrispondente ai soliti 3db. In questo modo si è tracciato sperimentalmente il diagramam di Bode relativo all'ampiezza. SI può, confrontando le fasi relative, tracciare in contemporanea anche il diagramma relativo alla fase.

Link al commento
Condividi su altri siti

Ragionando intuitivamente sulle 3 componenti del PID, mi sembra di capire che quella essenziale sia l'integratore, che fa crescere o decrescere l'ingresso del processo rispettivamente nei casi in cui la sua uscita sia troppo piccola o troppo grande rispetto al riferimento. Vista la lenta risposta dell'integratore (con le conseguenti oscillazioni), gli si affianca una componente proporzionale che riduce i fenomeni oscillatori. Quando si voglia esagerare il derivatore permette di ridurre ulteriormente le oscillazioni, perché in grado di "capire" con quale velocità l'uscita del processo si allontana dal riferimento. Tutto questo ipotizzando che vi sia una sorta di proporzionalità tra ingresso (segnale di controllo) e uscita del processo (se aumentando il segnale di controllo l'uscita del processo diminuisse allora chiaramente quanto detto non varrebbe). Sbaglio?

Per quanto riguarda l'analisi sperimentale della risposta in frequenza del regolatore ad anello chiuso (e quindi processo non lineare incluso), ho alcuni dubbi:

1) introducendo una sinusoide come riferimento o disturbo, non è detto che il regolatore ad anello chiuso risponda a regime con una sinusoide (?)

2) costruendo il diagramma di Bode "una sinusoide alla volta", e non valendo la sovrapposizione degli effetti (valida solo per i sistemi lineari), nel momento in cui si dovesse introdurre un riferimento (o un disturbo) costituito dalla somma di diverse sinusoidi, la risposta di tale ingresso "composto" non sarebbe prevedibile con il diagramma di Bode (?)

Capisco si tratti di considerazioni puramente teoriche. La questione è quanto sono teoriche rispetto alla realtà del controllo? Grazie

Link al commento
Condividi su altri siti

:) Ciao, per quanto riguarda il controllo di tipo non lineare sono dell'avviso che l'azione di un PID non sia consigliabile in presenza di un plant non-lineare.

Vedo che non sei propenso alla linearizzazione del plant, potresti provare con un controllo non-lineare sliding-mode oppure un controllo robusto. Ci sarebbero anche altri metodi di controllo ma non so se vuoi seguire quella strada...

Link al commento
Condividi su altri siti

fede82,

Ragionando intuitivamente sulle 3 componenti del PID, mi sembra di capire che quella essenziale sia l'integratore, che fa crescere o decrescere l'ingresso del processo rispettivamente nei casi in cui la sua uscita sia troppo piccola o troppo grande rispetto al riferimento.

Nozioni di base:

L'azione proporzionale fa in modo che il guadagno per la grandezza regolante in uscita sia proporzionale allo scarto o errore presente nel comparatore. L'efetto proporzionale crea un offset con una ampiezza che sara' larga in funzione alla risposta delle caratteristiche di massa della grandezza controllata

Il tempo integrale fa che il guadagno per la grandezza in uscita sia proporzionale all'ammontare di tempo lo scarto e' presente e questa tende a eliminare l'effetto offset creato dal proporzionale.

Il tempo derivativo fa che il guadagno per la grandezza regolante in uscita sia proporzionale al ritmo(rate) del cambiamento dell'errore (scarto) misurato.

Modificato: da Savino
Link al commento
Condividi su altri siti

Ciao! In effetti esistono tecniche di controllo molto più "gratificanti", ma il PID è quello utilizzato sul testo che sto studiando <_<

Per "linearizzazione" intendi feedback linearizzazione o studio locale? Certo la feedback linearizzazione potrebbe essere interessante. Non ho invece mai ben capito il senso della linearizzazione intorno ad un punto di lavoro..certo preferisco un equilibrio stabile ad uno instabile, ma che me ne faccio se la regione di attrazione non è globale o almeno sufficientemente grande? Quando parli di controllo robusto intendi la possibilità di considerare le non linearità come variazioni parametriche di un sistema lineare?

Link al commento
Condividi su altri siti

Per quanto riguarda la linearizzazione possiamo distinguere:

1) linearizzazione intorno ad un punto d'equilibrio locale

2) feedback linearization

3) gain scheduling

Il primo metodo è il più semplice ma come hai premesso tu presenta dei limiti per ciò che riguarda il range operativo del plant, infatti è applicabile quando il range di

funzionamento del plant è sufficientemente contenuto. In tal caso è sufficiente controllare il plant con una legge di controllo lineare, determinata con la teoria del

controllo lineare sulla base del sistema linearizzato intorno al punto di funzionamento nominale. Naturalmente lo svantaggio di questa tecnica è che essa è applicabile

unicamente in piccole regioni di funzionamento del sistema nello spazio di stato, pertanto i risultati ottenuti sono solo locali.

Il secondo metodo si basa sull’idea di progettare un’azione di controllo che trasformi la dinamica del sistema in un modello equivalente di forma più semplice e lineare. Essa ha lo svantaggio di richiedere tipicamente che l’intero stato del sistema sia accessibile e misurabile e che il sistema sia a fase minima.

L'ultimo metodo si fonda sull’idea di base del controllo per linearizzazione. L’obiettivo dell’approccio è superare la limitazione della tecnica di linearizzazione con validità in un intorno di un particolare punto di lavoro. Essa si basa sulla semplice idea di selezionare un certo numero di punti operativi del sistema da controllare che ne coprono il range di funzionamento.

Infine per il controllo robusto il controllore è progettato sulla base del modello del plant e di una qualche caratterizzazione delle incertezze del modello.

Saluti :)

Link al commento
Condividi su altri siti

1) introducendo una sinusoide come riferimento o disturbo, non è detto che il regolatore ad anello chiuso risponda a regime con una sinusoide (?)

Se il regolatore regola, segue esattamente il valore di consegna impostato. Esso è stupido, non sa se è una costante, una rampa lineare o altro.

Nota a sui controlli in genere.

L'argomento iniziale della discussione riguardava regolatori di tipo PID. Il PID è forse il più antico dei regolatori, ne ho visti anche di meccanici. Che poi si possa, con la tecnologia disponibile attualmente, costruire regolatori molto più furbi e performanti è un fatto. Però un regolatore PID semplice, o anche complicato (perchè esistono complicazioni sullo schema base che ne migliorano le prestazioni), deve regolare anche un processo non lineare.

Fede82, nel tuo post iniziale fai riferiemnto ad un regolatore di velocità su di un motore asincrono. Devi sapere che tutti i convertitori e invertitori di tipo analogico, praticamente l'unica tecnologia disponibile sino ad una ventina di anni addietro, regolavano egregiamente usando esclusivamente regolatori di tipo PID.

Ora la tecnologia permette regolatori più complessi e con prestazioni migliori, ma anche un regolatore semplice, come il PID, se realizzato decentemente, deve regolare.

Link al commento
Condividi su altri siti

Beh Livio i controllori PID sono regolatori per sistemi dinamici lineari tempo-invarianti, possono essere applicati a sistemi di tipo non-lineare con buona approssimazione come nelle servovalvola per ovvi motivi di costo e di semplicità di impiego. Sicuramente qualsiasi processo in natura presenta delle non-linearità che dal mio punto di vista possono risultare trascurabili al cospetto della presenza di disturbi di maggiore rilevanza.

La dinamica di un sistema non-lineare non ha nulla a che vedere con quella dei sistemi lineari, sia dal punto di vista dell'analisi che dal punto di vista del controllo, quindo se fede82 è interessato per i suoi scopi a sintetizzare un PID che "funziona lo stesso" è un discorso se no può fare un lavoro più elaborato utilizzando "metodi più innovativi" come un PID fuzzy.

Saluti :)

Link al commento
Condividi su altri siti

...se no può fare un lavoro più elaborato utilizzando "metodi più innovativi" come un PID fuzzy.

Sono almeno 20 anni che, a tratti, mi occupo di applicazioni in logica Fuzzy [ho anche avuto l'occasione, che considero un privilegio, di parlare direttamente con Ziadeh].

C'è stato un boom di interesse agli inizi degli anni '90.

Un'università del Sud in unione con un produttore Italo-Francese di semiconduttori ha tentato di realizzare un controllo vettoriale in logica Fuzzy, con risultati...(non si vede nemmeno un'applicazione industriale :( ).

Dopo il boom c'è stata un'analisi più pacata. Ora sembra consolidata l'idea che i migliori risultati con Fuzzy si ottengono nel riconoscimento forme e simili.

Per problemi come i controlli di velocità, a mio parere, i regolatori più performanti si basano su di una combinazione di di tecniche, ma questo è un discorso lunghissimo.

Comunque nel mondo, in questo momento, stanno funzionando egregiamente processi non lineari regolati da controllori PID.

E' un po' come la storia del calabrone. Secondo gli dtudi degli ingegneri aereonautici della NASA il calabrone non può assolutamente volare, è troppo pesante. Però il calabrone non lo sa e continua a volare. Che pensi sia in errore? Forse il calabrone? :)

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Veramente hai avuto l'opportunità di parlare con il Prof. Zadeh? :o

Non ero a conoscenza della storia del calabrone Vs NASA, è sorprendente! :)

La storia è piena di fesserie simili, ricordo il vettore spaziale europeo Ariene5 che per un overflow esplode subito dopo il decollo. :wallbash:

Dal discorso che ha fatto fede82 mi è parso di capire che vorrebbe andare oltre il controllo PID per carità sempre efficiente e diffuso. Quindi io ho proposto altre soluzioni che tutt'ora trovano impiego in ambito aerospaziale e automobilistico che possono, se portate avanti nel topic, arricchire questo forum.

Saluti

Link al commento
Condividi su altri siti

Veramente hai avuto l'opportunità di parlare con il Prof. Zadeh?

Lo incontrai a Milano in occasione di una conferenza organizzata da Anipla. Ricordo una persona mite e gentile, che parlava con tutti senza ostentare arie di superiorità. Proprio come certi presunti geni di casa nosta :angry: .

Dal discorso che ha fatto fede82 ..

Certo. Una cosa non esclude l'altra

Discutere e confrontare idee, esaminare i pro ed i contro fa sempre bene.

Io sono perfettamente conscio di due cose:

  • - non so tutto (anzi so molto poco)
  • - alla mia età spero sempre di riuscire ad imparare qualche cosa di nuovo. Ben vengano, quindi, proposte nuove e/o diverse.
Di professori, o presunti tali, ne circolano anche troppi ed io non ho nessuna intenzione di accrescerne il numero. :)
Link al commento
Condividi su altri siti

  • 1 year later...

Innanzitutto saluto tutti e mi presento perchè questo è il mio primo post in questo forum!!!

Sono uno studente di Ingegneria Elettronica (settore dell'automatica).

Davvero complimenti per il sito molto completo aggiornato e di facile consultazione!!!

Avrei una domanda per quanto riguarda il controllo non lineare con feedback Linearization Input-Output,

nell'ipotesi in cui non possa esistere un FL input-State quindi di ordine pieno.

Esiste in linea di principio la possibilità di non poter controllare un sistema SIMO

(ovviamente fortemente non lineare ma con modello perfettamente noto). con Feed.Lin.

Vi chiedo questo perchè sono giorni che litigo con il modello del pendolo inverso (controllato

esclusivamente con la forza sul carrello) per trovare una trasformazione in forma normale

che abbia però una Dinamica Zero stabile ma invano,

Il meglio che sono riuscito a fare è stato stabilizzare l'angolo ma a causa della instabilità

della zero dinamica

z1'=z2 (z1=angolo pendolo)

z2'-k*z

w'1=w2

w'2=0

il sistema una volta tirato su il pendolo scappa con moto rettilineo uniforme in quanto

"w1 è la posizione del carrello"

Il risultato piu' vicino a quello che vorrei fare io l'ho trovato in questo file a pag 39:

http://www.unife.it/ing/ls.infoauto/tecnic...Applicative.pdf

Ma io non posso approssimare tg(angolo) circa zero, e se mi fermassi a tale derivazione però

avrei che il controllo si annulla nel punto di equilibrio che teoricamente non è corretto (che io sappia...)

Un idea buona potrebbe essere porre un richiamo elastico nella legge di controllo ad esempio

facendo comparire la velocità del carrello nell'uscita,

ma fare questo, comporta avere il controllo alla derivata 1° dell'uscita e quindi una dinamica

interna di ordine 3, il che non mi sembra un vantaggio.

Spero di essere stato chiaro nell'esporvi il problema e spero che possiate darmi qualche idea geniale.

Grazie a tutti

Ps non posso usare altre tecniche se prima non dimostro che esiste un controllo che stabilizza tale sistema

con la feed.Lin. almeno tra -90° e 90°.

Modificato: da oERZo
Link al commento
Condividi su altri siti

Per giustificarlo formalmente puoi come ti hanno detto applicare la feedback linearization, almeno che tu non abbia parametri del sistema non noti come un eventuale carico variabile, e successivamente una volta linearizzato il sistema utilizzare la teoria dei controllo LTI classica!!

E' tipo il problema del mio post precedente!!!

Ciao

Link al commento
Condividi su altri siti

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...