Discussione:Controllo PID: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Ensahequ (discussione | contributi)
 
(13 versioni intermedie di 3 utenti non mostrate)
Riga 93:
Livio{{unsigned|87.8.213.160}}
:Non sono nemmeno entusiasta sul fatto che molte operazioni si potrebbero semplificare, vabbè che a 200hz ci stiamo larghi, però un esempio didattico dovrebbe puntare a diffondere buone pratiche utili per ottenere bande passanti maggiori. Per i coefficienti il primo libro che ho sottomano è il Basso, Chisci, Falugi prendo i valori da lì usando la notazione tradizionale in termini di Ti e Tc, penso che gli errori nascano proprio dal tentativo di abbandonarla. --[[Utente:Vituzzu|Vito]] ([[Discussioni utente:Vituzzu|msg]]) 12:54, 2 giu 2019 (CEST)
 
-----------
 
Forse anche la mia correzione è sbagliata. In effetti semplificare la notazione Ti e Tc non è facile e per arrivare a formule certe mi ci vorrà del tempo. Però sono sicuro che le due formule scritte in questa pagina per Ki sono sbagliate. Facciamo un caso pratico (che è abbastanza significativo e che conosco bene perché ci lavoro da mesi):
 
- Oscillation frequency = 4.7 Hz
 
- Period = 0.213 sec
 
- Ki (secondo la formula di questa pagina 2 * Kp / Tu) = 2 * 0.6 = 5.6
 
E un valore oltre il 5 è assolutamente esagerato, ho anche provato a usarlo ma il tutto auto-oscilla solo a guardarlo. Il valore giusto è intorno a 0.06.
 
Saluti
Livio
 
----------------
 
Ho fatto e rifatto i calcoli e sono certo che le formule di questa pagina sono sbagliate.
 
Nel caso completo del PID e partendo dalle formule della pagina : https://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method
i coefficienti Ki e Kd (per il guadagno) vengono così:
 
Ti = Tu / 2
 
Ki = Kp / Ti
 
Ki = Kp * 2 / Tu
 
Ki(Gain) = 1 / Ki
 
Quindi Ki(Gain) = 1 / Kp * Tu / 2
 
 
Td = Tu / 8
 
Kd = Kp * Td
 
Kd = Kp * 8 / Tu
 
Kd(Gain) = 1 / Kd
 
Quindi Kd(Gain) = 1 / Kp * Tu / 8
 
Sarebbe quindi bene far controllare i miei ragionamenti da un matematico e poi correggere le formule.
 
Saluti
Livio
 
:A parte le correzioni, che vanno fatte e controllate comunque, secondo me le due sezioni con il codice esempio e lo pseudocodice sono troppo specifiche per questa voce che parla in generale del controllo PID (come è stato fatto notare), per cui andrebbero spostate da un'altra parte (Wikibooks o forse meglio Wikiversità). --[[Utente:Daniele Pugliesi|Daniele Pugliesi]] ([[Discussioni utente:Daniele Pugliesi|msg]]) 18:36, 2 giu 2019 (CEST)
 
-----------------
 
Lascerei lo pseudo-codice, è conciso e ben scritto. In poche righe mostra la semplicità del metodo PID. Senza quel codice si potrebbe pensare al PID come ad un algoritmo complesso. Ma il PID è estremamente semplice sia da capire che da codificare e quel pezzetto di codice lo dimostra più di mille parole.
 
:Ok. Ho tolto dalla voce il codice di esempio. Se qualcuno volesse trasferirlo ad altro progetto (verificando che funzioni ed eventualmente correggendolo), si trova [https://it.wikipedia.org/w/index.php?title=Controllo_PID&oldid=105021700 qui].
:Riguardo allo pseudocodice, si tratta comunque di un testo senza fonti, per cui probabilmente in futuro verrà eliminato anche questo dalla voce. --[[Utente:Daniele Pugliesi|Daniele Pugliesi]] ([[Discussioni utente:Daniele Pugliesi|msg]]) 09:52, 3 giu 2019 (CEST)
 
------
 
Ecco una buona fonte per lo pseudo-codice: http://www.concordia.sk/programming/machine-learning-robotics/193-pid-regulator
Nella pagina del link lo pseudo-codice è indentato meglio che qui.
- E' contornato da buone spiegazioni
- C'è anche una immagine che schematizza il PID meglio di quella attuale.
- Ci sono link a un codice completo e alle simulazioni.
Per piacere aggiungete voi il link, non vorrei fare dei pasticci.
 
Riguardo alle formule sono definitivamente sbagliate, la seconda riga deve essere Ki = Pu / 1.2 e la terza Ki = Pu / 2
potete controllare a pagina 13 di questo PDF http://luigiglielmo.eu/wp-content/uploads/2014/12/PID.pdf
 
Ecco un altro link che conferma che la formula per l'integrale è sbagliata: http://pages.mtu.edu/~tbco/cm416/zn.html
 
Ecco un altro link che conferma che la formula per l'integrale è sbagliata: http://www.cumacini.altervista.org/Sistemi/Ziegler_Nichols.pdf
 
--------------------
 
Visto che nessuno lo faceva ho corretto io la tabella del metodo Ziegler/Nichols.
Se qualcuno ha dei dubbi controlli i link che ho fornito qui sopra.
 
:Grazie. --[[Utente:Daniele Pugliesi|Daniele Pugliesi]] ([[Discussioni utente:Daniele Pugliesi|msg]]) 15:41, 29 giu 2019 (CEST)
Ritorna alla pagina "Controllo PID".