Controllo PID: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 31.195.145.158 (discussione), riportata alla versione precedente di Lollo98
Etichetta: Rollback
FrescoBot (discussione | contributi)
m Bot: numeri di pagina nei template citazione
 
(4 versioni intermedie di 4 utenti non mostrate)
Riga 19:
* Non sono stabili, a causa della presenza dell'azione integrale (vedi [[Windup]]);
* Alcune regole di taratura, come quelle di Ziegler-Nichols, reagiscono male in alcune condizioni;
* Sono intrinsecamente monovariabili, quindi non possono quindi essere usati in sistemi inerentemente multivariabili, come per esempio le [[Colonna di distillazione|colonne di distillazione]].
 
== Azioni di controllo PID ==
Riga 33:
 
=== Azione integrale (I) ===
L<nowiki>'azione integrale è proporzionale all'integrale nel tempo del segnale di errore "''"e"''</nowiki>", moltiplicato per la costante <math>K_I</math>:
:<math>u_I(t) = {K_I} \int\limits_{0}^{t} e(\tau)\,\mathrm{d}\tau</math>
 
Riga 57:
 
==Regole di Ziegler-Nichols==
Il metodo di Ziegler-Nichols, risalente al 1942, è tra i più usati ed è apprezzato per la sua semplicità, per il fatto di non richiedere un [[modello matematico]] del processo e per le prestazioni che riesce a produrre.
 
Si tratta di un algoritmo per trovare il cosiddetto "guadagno critico", dal quale si deriveranno gli altri parametri del PID<ref>{{Cita pubblicazione|titolo=Optimum settings for automatic controllers|autore=Ziegler, J.G and Nichols, N. B.|anno=1942|serie=Transactions of the ASME|volume=64|pp=759–768759-768|url=http://www2.eie.ucr.ac.cr/~valfaro/docs/Ziegler%26Nichols.pdf|urlmorto=sì|accesso=9 aprile 2013|urlarchivio=https://web.archive.org/web/20130202172939/http://www2.eie.ucr.ac.cr/~valfaro/docs/Ziegler%26Nichols.pdf|dataarchivio=2 febbraio 2013}}</ref>.
 
# Il processo viene fatto controllare da un controllore esclusivamente proporzionale (''K<sub>I</sub>'' e ''K<sub>D</sub>'' vengono impostati a zero);
Riga 92:
 
== PID in forma digitale ==
La [[funzione di trasferimento]] di un regolatore PID digitale si ottiene partendo da quella di un PID tempo continuo ed applicando la procedura di discretizzazione. È però necessario tenere conto della presenza del mantenitore di ordine zero<ref>{{Cita web|url=http://cse.lab.imtlucca.it/~bemporad/teaching/controllodigitale/pdf/10b-sistemi_dati_campionati.pdf|titolo=IMT Lucca - Controllo Digitale - A. Bemporad}}</ref>. Per esempio nella tecnica empirica di Ziegler Nichols a catena aperta, quando si leggono i valori dei parametri dalla tabella, è necessario aggiungere il ritardo finito del mantenitore di ordine zero. La forma digitale del controllo PID presenta il grande vantaggio di poter essere facilmente implementata sotto forma di algoritmo eseguito da un dispositivo microcontrollore<ref>{{Cita web|url=https://manipolando.it/modulazione-di-larghezza-dimpulso-e-sistemi-di-controllo/|titolo=Modulazione a larghezza d’impulso e controllo della velocità}}</ref> e trova larga applicazione in diversi ambiti.
 
== Pseudocodice ==
Questa è una semplice implementazione pratica di un controllo PID, attraverso semplificazioni ingegneristiche (dato che normalmente, se la funzione da controllare fosse conosciuta matematicamente, non sarebbe necessario controllarla dinamicamente). Questo [[pseudocodice]] somma tre componenti per capire quanto manovrare l'output, in base all'errore calcolato volta per volta. <br>
La parte proporzionale è direttamente proporzionale all'errore. <br>
La parte integrativa somma nel tempo gli errori volta per volta; questo riporta nel lungo periodo la variabile di uscita sui binari corretti. Purtroppo questo non impedisce un'oscillazione una volta raggiunto il valore desiderato. <br>
Riga 102:
 
<syntaxhighlight lang="text">
previous_error = 0
integral = 0
start: