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




Discretizzazione


Messaggi consigliati

Inserito:

Salve, spero di essere nella sezione adeguata, vi pongo il mio dubbio:

ho un PID in configurazione PI sul ramo diretto e D sul ramo trasversale, bene in questa configurazione come posso ottenere l'equazione alle differenze tra u(k) e e(k) essendo l'azione derivativa funzione della variabile di uscita y?

Ps: con u(k) intendo il segnale in uscita dal controllore!

Spero di essere stato abbastanza chiaro, grazie a chiunque risponda !


Inserita:

questa e' una domanda da teoria dei sistemi

comunque sappi che un pid eseguito su macchina digitale quale un plc o un micro , essendo richiamato a tempi ben precisi sotto interrupt e' sempre un controller pid discreto

Un controller pid continuo - analogico lo ottieni con un circuito analogico che implementa amplificatori operazionali con retroazioni per guadagno , condensatori per l'integratore ect

In un controller digitale la componente derivativa del pid e' il rapporto incrementale in quanto non puoi far tendere l'incremento del tempo a zero per il motivo che l'algoritmo lo devi richiamare a tempi discreti e ben definiti , altrimenti oltre ad non essre possibile non avrai nemmeno l'azione integrale in quanto l'integrale ha come base dei rettangoli che compongono il segnale il tempo stesso , se fosse "zero " non avresti integrale e richaimare il pid a tempo zero o prossimo allo zero e' praticamente impossibile

Inserita:

Ciao Walterword, grazie per la risposta, comunque forse non sono riuscito ad essere sufficientemente chiaro, perché il mio dubbio non è sulla base del funzionamento e della logica che c'è sotto ,ma quello che non riesco a capire e' partendo da un PID in configurazione classica analogica con la sua funzione di trasferimento Dc(s)=U(s)/E(s) per sostituzione della s con i vari metodi di ottimizzazione ottengo Dd(z) e poi la relativa eq. alle differenze! Cosa succede invece nel caso di PID in configurazione come quelle del mio post? Nel senso che adesso non posso più definire Dc(s)=U(s)/E(s) poiché la parte derivativa viene fatta più sull'errore ma sulla variabile Y(s), quindi come si fa ad ottenere la Dc(s)=U(s)/E(s) prima è Dd(z) poi se è funzione di E ma anche di Y??? Grazie ancora

Inserita:

Tradotto in italiano standard.

Hai un regolatore PID; togli da questo regolatore la componente derivativa dell'errore e la sostituisci con la componente derivativa della variabile controllata.

Questo è un classico.

Il comportamentamento è quasi identico, solo che il regolatore non è affetto dalla componente derivativa nel momento del cambio del valore di consegna.

Devi solo scrivere la funzione per le componenti P ed I a cui aggiungi in somma la funzione che descrive l'anticipo sulla reazione.

Inserita:

La ringrazio Livio! Ma quindi circuitalmente dovrei aggiungerci un ADC sul segnale controllato per poter implementare l'azione derivativa giusto?

Inserita:

Scusa ma mi sembra che non hai le idde molto chiare.

La reazione devi comunque averla, altrimenti non puoi computare l'errore.

Si tratta di eseguire una derivata sul segnale di reazione.

Invece di pensare alle funzioni di trasferimento ed all'equazioni, comincia con il disegnare uno schema a blocchi del tuo regolatore, poi ragioni su quello.

Inserita:

Ok, ma la derivata sul segnale di reazione vado a sommarla all'uscita del controllore (dopo esser stato ricostruito) ,tramite un nodo sommatore fisicamente realizzato, oppure devo prendere il segnale di reazione campionarlo, sommarlo tramite il codice del pc al segnale elaborato dal PI sulla catena diretta, e poi ricostruire il segnale somma tutto insieme? Oppure sono due configurazioni ammesse entrambe?

Inserita: (modificato)

64b618347d40061d83c7f9cf82b1d6a5.png

3e2c4fd3e36db02dde3a1830c7c15af4.png

0bb5e9c79ef2f713f4c1d5db841a3edd.png

4d0da3ad1c8be29863b4b95612135296.png

Ricorda che in ambiente discreto le trasformate sono quelle Zeta non Laplace

La derivata va sommata alle altre componenti ed e' in parallelo al blocco di integrazione

Nel dominio delle frequenze due blocchi in parallelo si sommano , in serie si moltiplicano

Per cui non fare confusione con il dominio del tempo dove le cose sono opposte , quello che nel tempo tende ad infinito , nelle frequenze tende a zero e viceversa

Se lavori nel tempo come si usa fare in questo caso , il pid e' la somma algebrica delle 3 componenti che si trovano in serie come vedi sopra.

Un controller digitale implementa implicitamente la discretizzazione

Altro discorso invece nel cmapo dei campionamenti , della manipolazione DSP e nella successiva conversione in analogico , sempre di conversione D/A discreta si parla

Nello schema tu avrai per primo il nodo sommatore dove calcoli l'errore.Di seguito tre blocchi in parallelo tra di loro con le rispettive componenti P - I - D che vengono sommate in un nodo sommatore finale vicino all'uscita Y

Da qui la controreazione che riporta la Y nel primo nodo sommatore ( con segno negativo) .Il primo nodo sommatore ha due ingressi :

- Il riferimento

- L'uscita

errore=riferimento - uscita

Poi i tre blocchi componenti

Oh piu di cosi non so cosa dirti

ciao

Modificato: da walterword
Inserita:
Oppure sono due configurazioni ammesse entrambe?

Visto che le tue descrizioni sono alquanto confuse ed incomprensibili, fai quello che ti ho scritto in precedenza: disegna uno schema a blocchi (simile a quello degli appunti di Walter) in cui si possano vedere chiaramente i vari blocchi, poi ragioniamo su quelli.

Altrimenti discutiamo sul nulla.

L'azione derivativa la puoi sommare dove vuoi, dipende dallo scopo che ti prefiggi e dal problema che vuoi risolvere.

La puoi anche sommare all'errore nell'ingresso del proporzionale, oppure all'errore nell'ingresso dell'integrale. Uppure in altri modi che non sto a descrivere qui.

Il modo canonico per eseguire un regolatore di tipo PID consiste nel sottrarre la misura della varibile controllata dal valore di consegna.

La risultante grandezza rappresenta l'errore.

Il regolatore classico consiste in3 blocchi: un blocco che moltiplica l'errore per una costante (blocco proporzionale), un blocco che integra l'errore nel tempo, un blocco che esegue la derivata dell'errore.

Le uscite di questi 3 blocchi vengono tra loro sommate e costituiscono il segnale di correzione del sistema.

Nel tuo caso mi è parso di capire che il blocco derivativo esegue la derivata non dell'errore ma quella della misura della variabile controllata. Il suo effetto è simile a quello eseguito sull'errore solo che non da gli effeti spesso spiacevoli sul cambio del valore di consegna.

Inserita: (modificato)

un esempio ....

23949df4d1a3916e5e3f064124730ea4.png

quando l'errore e' nullo tutta l'azione è quella della componente integrale

comunque l'errore , in molti casi , è meglio che non sia mai nullo ma che rientri in un valore attorno l'1% .Anche perchè in un sistema ad anello chiuso che ha la forma

W(s)= F(s) / 1 + F(s) non puo' mai essere errore nullo in quanto il denominatore e' sempre maggiore del numeratore

Modificato: da walterword
Inserita:

513f0498392cc5641b876295cee076cd.jpg


Allora vediamo se ci sono:
-Ricavo l'eq. alle differenze solo degli effetti P ed I, i quali verranno ricostruiti in Ho(s) e poi inviati al nodo sommatore, nodo al quale arriva il risultato dell'azione derivativa fatta su Y(s), derivata fatta in un componente elettronico quindi il nodo sommatore somma appunto due segnali continui!
Però avrei anche potuto fare una cosa diversa, cioè non fare quella somma in un nodo sommatore fisicamente esistente, ma farla tra ite codice, però ovviamente prima avrei dovuto campionare Y(s) giusto?

Inserita:

campionare ....a quello di pensa il covnertitore analogico-digitale .Tu devi leggere il valore in digitale e trattarlo nel regolatore

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