Discussione:Controllo PID

Versione del 14 mar 2019 alle 04:57 di InternetArchiveBot (discussione | contributi) (Notifica di fonti modificate che necessitano di revisione #IABot (v2.0beta13))

Ultimo commento: 6 anni fa, lasciato da InternetArchiveBot in merito all'argomento Collegamenti esterni modificati
Questa voce rientra tra gli argomenti trattati dal progetto tematico sottoindicato.
Puoi consultare le discussioni in corso, aprirne una nuova o segnalarne una avviata qui.
 Controlli automatici
La voce è stata monitorata per definirne lo stato e aiutarne lo sviluppo.
Ha ottenuto una valutazione di livello sufficiente (gennaio 2009).
BLievi problemi relativi all'accuratezza dei contenuti. Informazioni esaustive nella gran parte dei casi, ma alcuni aspetti non sono del tutto approfonditi o altri non sono direttamente attinenti. Il tema non è stabile e potrebbe in breve necessitare di aggiornamenti. (che significa?)
BLievi problemi di scrittura. Qualche inciampo nello stile. Linguaggio non sempre scorrevole. Strutturazione in paragrafi adeguata, ma ancora migliorabile sotto alcuni aspetti. (che significa?)
CSeri problemi relativi alla verificabilità della voce. Carenza di fonti attendibili. Alcuni aspetti del tema sono completamente privi di fonti a supporto. Presenza o necessità del template {{cn}}. La delicatezza del tema richiede una speciale attenzione alle fonti. (che significa?)
BLievi problemi relativi alla dotazione di immagini e altri supporti grafici nella voce. Mancano alcuni file o altri sono inadeguati. (che significa?)
Monitoraggio effettuato nel gennaio 2009

Pseudocodice

Non so per quale motivo è stata eliminata l'unica cosa utile (presente invece in wikieng) della pagina, l'implementazione pratica del PID (ovviamente non si possono calcolare integrali e derivate algebriche di valori campionati (di funzioni sconosciute). E non è possibile per la maggior parte dei PLC fare un analisi in frequenza. Naturalmente è utile per capire il perchè il controllore PID è fatto in questo modo una base matematica.

Scusa l'ignoranza, ma che vuol dire "pseudocodice"? Che nono corrisponde a nessun linguaggio di programmazione reale? In questo caso penso sia molto più utile avere un'implementazione scritta in qualche linguaggio di programmazione specifico, così almeno si può provare. Ad esempio si potrebbe inserire un esempio con il linguaggio utilizzato in Matlab (Simulink), che viene spesso utilizzato in ambito ingegneristico. --Aushulz (msg) 20:24, 9 ott 2009 (CEST)Rispondi
Come non detto. Leggendo la discussione al Bar di matematica ho capito che lo pseudocodice è meglio di altri linguaggi di programmazione. --Aushulz (msg) 23:53, 9 ott 2009 (CEST)Rispondi
In effetti non avevo letto quella decisione, mi pare coerente con lo spirito di wikipedia. Il codice l'ho preso da wikipedia eng. Ciskje (msg)

Errori!

Quest'articolo è pieno di errori!!! --212.141.219.138 (msg) 15:18, 18 dic 2008 (CET)Rispondi

È una battuta? Se ti riferisci all'occorrenza della parola "errore" nella voce, sappi che si presenta solo 5 volte. Se pensi che ci siano errori grammaticali, puoi correggerli (io non ne trovo). Se ti riferisci alla wikificazione, accomodati pure, ogni miglioramento della voce è ben accetto. --Aushulz (msg) 15:44, 18 dic 2008 (CET)Rispondi
Intendo proprio errori nei concetti, anche gravi! Non ho ancora letto la voce interamente e al momento non ho tempo di correggerla, ma lo farò al più presto. Ho letto solo velocemente la sezione di "azione integrale", e ti assicuro che è sbagliata! Ad esempio:
"L'azione integrale "sente" se c'è differenza tra i due valori di misura e set point. Se i due valori sono coincidenti, l'azione integrale è nulla. Se invece c'è differenza tra i due valori, l'azione integrale si manifesta..."
oppure:
"Appena i due valori coincideranno, l'azione integrale si annulla e la corsa dell'organo finale di regolazione cessa di variare per tale causa."
Assolutamente no!! E' proporzionale all'integrale, non al valore istantaneo!! Se l'errore si annulla, non si annulla l'azione integrale!--212.141.219.138 (msg) 17:45, 18 dic 2008 (CET)Rispondi
Effettivamente c'erano ampi margini di miglioramento. Ho riscritto l'articolo cercando di renderlo più "enciclopedico", cioè più comprensibile ai profani. Se uno vuole tutti i dettagli la bibliografia è lì per quello. 193.175.53.21 (msg) 12:00, 3 lug 2009 (CEST)Rispondi
All'utente 193.175.53.21: hai ridotto drasticamente le dimensioni della voce. Non ho dato una lettura prima e dopo del tuo intervento, comunque se hai eliminato alcune parti per rendere la voce più chiara, puoi prendere in considerazione l'idea di scrivere le parti che hai tolto nelle voci più specifiche o creare nuove voci che contengano tali argomenti. --Aushulz (msg) 14:27, 3 lug 2009 (CEST)Rispondi

Buongiorno, ho letto il codice, ma non capisco alcune cose e sono presenti degli errori concettuali oltre che di codifica: Innanzitutto il calcolo delle 3 grandezze deve avvenire contemporaneamente e sulla stessa base di tempo, altrimenti hai un sistema che è lentissimo (oltre che potenzialmente non funzionante): prendiamo il caso dell'integrale, solo per fare questa procedura passa 0,1s... ok finchè devi regolare la temperatura in una stanza, ma se hai qualcosa un attimo più veloce nei cambiamenti non ci stai più dietro. Fare un integrale su 20 acquisizioni (0,1s) e e poi fare il differenziale su 0,05s che senso ha? Bisogna usare la stessa base di tempo che è la base di variazione dell'errore (quindi dell'ingresso) Poi vengono determinati i valori del PID sulla base dell'acquisizione dell'A/D... ma la base di calcolo (l'ingresso del PID) è l'errore (differenza tra setpoit e valore misurato)! nell'integrale il discorso della "media mobile" (che di fatto non viene utilizzata, e non capisco nemmeno a cosa dovrebbe servire, visto che cambiare "a" significa solo di fatto cambiare il dx, ) non viene poi utilizzato, il dx è di fatto un termine costante, il delay dovrebbe essere pari al dx e non un numero puro, Ki non è inizializzato. Nella derivata... manca la derivata! è solo la differenza tra due valori successivi, bisogna dividere per il dx (che anche in questo caso è pari a quei 5ms del delay) Le funzioni prendono tutte "grandezza" in ingresso... e poi non la usano, così come la funzione errore, è scritta e non viene usata.

Ho dei seri dubbi che questo codice possa essere funzionante, se non per pura fortuna

correzioni nel codice per arduino

time, previoustime e interval è inutile identificarlo come float, anzi dopo poco tempo si azzererebbero per overflow, in genere le variabili contenti millis() vanno specificate come unsigned long

Collegamenti esterni modificati

Gentili utenti,

ho appena modificato 1 collegamento esterno sulla pagina Controllo PID. Per cortesia controllate la mia modifica. Se avete qualche domanda o se fosse necessario far sì che il bot ignori i link o l'intera pagina, date un'occhiata a queste FAQ. Ho effettuato le seguenti modifiche:

Fate riferimento alle FAQ per informazioni su come correggere gli errori del bot.

Saluti.—InternetArchiveBot (Segnala un errore) 03:57, 14 mar 2019 (CET)Rispondi

Ritorna alla pagina "Controllo PID".