Vai al contenuto
PLC Forum


PID velocita' con dinamo tachimetrica


cerai

Messaggi consigliati

Livio Migliaresi
9 minuti fa, batta ha scritto:

Dovessi capitare dalle parti di Napoli, avrei anche un'altra persona da incontrare.

:wub:

Scusandomi per l'OT.

Link al commento
Condividi su altri siti


  • Risposte 57
  • Created
  • Ultima risposta

Top Posters In This Topic

  • cerai

    26

  • batta

    16

  • andreacappellazzo

    7

  • Livio Orsini

    5

10 ore fa, Livio Migliaresi ha scritto:

Scusandomi per l'OT.

OT molto gradito. Vedo con piacere che non c'è stato bisogno di fare nome e cognome.

 

25 minuti fa, cerai ha scritto:

alla prossima

Sono contento di esserti stato di aiuto.

Alla prossima.

Link al commento
Condividi su altri siti

Ciao Batta , ancora io. Alla fine c'e' l'ho fatta. Ora sto provando il PID per controllare una temperatura. Ho un resistore a cui ho collegato una termocoppia.

Potresti darmi un consiglio su come approcciare il problema della taratura in merito ai parametri G,I e D considerando che quest'applicazione ha una notevole inerzia termica ? Grazie

 

Link al commento
Condividi su altri siti

Per il controllo della temperatura, solitamente non si usa la componente D.
Come tempo di campionamento, generalmente si usa da 1 a 5 secondi. Diciamo che 1 secondo va quasi sempre bene.

Poi, per la taratura di un PI(D), generalmente si procede come segue:
- Attivi solo il proporzionale, ed aumenti gradualmente il guadagno fino a creare instabilità. A questo punto, riduci il guadagno di un 10-20%.
- Ora attivi l'integrale, e procedi nello stesso modo: aumenti l'azione dell'integrale fino a creare instabilità, poi riduci l'azione del 10-20%. Fai attenzione che, quando si parla di "tempo integrale", ridurre il tempo significa aumentare l'azione dell'integrale.
Per un controllo di temperatura, se il sistema è molto lento, potresti trovarti anche a dover impostare tempo integrale di 30 minuti ed oltre. Difficilmente per un controllo di temperatura (a meno che non si tratti di sistemi tipo termosaldatura o simili, con risposte piuttosto rapide del sistema) si scende con l'integrale a meno di 2-3 minuti.

 

2 ore fa, cerai ha scritto:

Ho un resistore a cui ho collegato una termocoppia.

Questa non l'ho capita.
Per rilevare la temperatura, si possono usare Termocoppie (TC) o termoresistenze (RTD). Le TC sono usate per temperature più elevate (es. forni), mentre per temperature fino a 100-150°C si usano le RTD.

Esistono anche le PTC e NTC, ma generalmente non sono usate con i PLC, perché non ci sono ingressi analogici per questo tipo di sonde. Dovresti usare dei convertitori da PTC (o NTC) a segnali standard dei PLC, ovvero 0..10V oppure 0-4..20mA ma, a questo punto, tanto vale usare direttamente TC o RTD e i moduli adatti.

Link al commento
Condividi su altri siti

Scusatemi 

Il termine resistore e' inappropriato. Ho utilizzato un elemento riscaldante al quale ho applicato una termocoppia di tipo K. Il segnale analogico della termocoppia viene inviato ad un'unità analogica della serie  331 S300 che , opportunamente settata, mi dà direttamente il valore in gradi, allego una foto dell'elemento riscaldante. La temperatura massima sviluppata dall'elemento riscaldante arriva a 230 gradi per cui non posso usare RTD, PTC o NTC. Poiche' la termoresistenza non deve riscaldare niente , se non se stessa, la temperatura aumenta velocemente e quindi l'inerzia termica e' elevata

 

resistenza_termocoppia.jpg

Link al commento
Condividi su altri siti

26 minuti fa, cerai ha scritto:

sviluppata dall'elemento riscaldante arriva a 230 gradi per cui non posso usare RTD, PTC o NTC

 

No, puoi benissimo usare una RTD PT100.

Come e con che cosa alimenti i resistore riscaldante?

Se non ha "carico" ma è solo quell'elemento in aria liberaha una risposta veloce come la punta di un saldatore, quindi dovresti campionare e regolare nell'ordine dei 100 ms o forse anche meno.

Link al commento
Condividi su altri siti

Io pensavo si trattasse di regolare una temperatura ambiente o simile.

Come dice Livio, questo sistema ha una risposta veloce (non paragonabile ad un posizionatore, ma veloce per quello che è lo standard delle termoregolazioni).

 

54 minuti fa, cerai ha scritto:

la temperatura aumenta velocemente e quindi l'inerzia termica e' elevata

Se la temperatura aumenta velocemente, significa che l'inerzia termica è bassa.

 

Per un sistema simile, concordo con Livio sul tempo di campionamento di 100 ms.

Non spieghi come viene comandato l'elemento riscaldante, immagino in PWM tramite relè statico.

Se è così, per generare gli impulsi potresti usare FB43 "PULSGEN", alla quale passare l'uscita LMN del PID.
Oppure, ti crei una funzione per trasformare l'uscita LMN del PID (0..100%) in impulsi ad ampiezza variabile.

Link al commento
Condividi su altri siti

Ho adottato il seguente sistema: L'uscita PAW ( 0-10V) La invio ad un partitore di tensione 1/2 . L'uscita del partitore ( 10V_-> 5V ) pilota un regolatore PWM a 24V regolato con una tensione di pilotaggio 0-5v sulla cui uscita e' collegata la resistenza

Link al commento
Condividi su altri siti

quello che ho notato e' che in fase iniziale , anche attivando solo la componente P con un basso guadagno, la temperatura rilevata sull'elemento riscaldante va anche oltre 30 gradi rispetto al valore di setup. Ma anche quando , in fase di discesa (LMN=0) la temperatura raggiunge in valore di setup ( e ci mette qualche minuto ) , per un minimo errore tra SP_INT e PV_IN e per una brevissima attivazione di LMN la temperatura sale di nuovo ad un valore che va ben oltre il valore impostato. Credo che questo problema sia dovuto al fatto che l'elemento di riscaldamento abbia difficolta' a smaltire il calore , Forse dovrei metterla a contatto con una massa metallica

Link al commento
Condividi su altri siti

Per prima cosa hai un coefficiente proporzionale troppo elevato, devi tener conto non solo del coefficiente P del regolatore PI, ma anche del guadagno intrinseco del drive PWM.

Poi quasi sempre i sistemi riscaldanti sono più veloci nel riscaldo rispetto al raffreddamento.

Uno dei metodi empirici di ottimizzazione dei parametri per regolatori di temperatura, specialmente adatto agli "apprendisti", è tarare il guadagno di P in modo che l'errore non si annulli mai.

Link al commento
Condividi su altri siti

Grazie per il suggerimento Livio. Avevo gia' effettuato delle prove portando il guadagno a =0.5 ma non ho risolto il problema. Provero' ad abbassarlo ancora per far in modo che P non annulli l'errore. Non pensi che potrebbe essere utile installare la resistenza su una massa metallica per rallentare l'inerzia?

Link al commento
Condividi su altri siti

3 minuti fa, cerai ha scritto:

Non pensi che potrebbe essere utile installare la resistenza su una massa metallica per rallentare l'inerzia?

 

A pare il fatto che poi sorgerebbero altri problemi, non rallenti l'inerzia ma l'accrsci se aggiungi una massa che è un vero e proprio volano termico.

 

Poi visto che stai imparandonon devi cercare "scorciatoie" ma devi far funzionare al meglio il sistema.

Potresti leggere il mio tutorial sulle regolazioni, lotrovi nella sezione didattica (il link è anche nella mia firma) sottosezione elttrotecnica. E un manualetto eminentemente pratico, con parecchi esempi generici.

Link al commento
Condividi su altri siti

45 minuti fa, cerai ha scritto:

Avevo gia' effettuato delle prove portando il guadagno a =0.5 ma non ho risolto il problema.

E il tempo integrale, a quanto è impostato?
Con che rapidità cresce la temperatura?
Con che velocità cala?

Hai provato, come ti avevo suggerito, ad iniziare attivando solo il proporzionale? Devi trovare un valore di guadagno con il quale non devi mai raggiungere il SP.
Poi attiverai l'integrale, e ci penserà quello ad annullare l'errore.
Prova a tenere sotto controllo LMN_P e LMN_I, per capire quale componente sia maggiormente responsabile del superamento elevato del set point.
Anche se si usa raramente per i controlli di temperatura, in questo caso potrebbe aiutare attivare anche la derivata, partendo da valori bassi, e solo dopo aver tarato bene P e I.

Molto utile sarebbe tracciare un trend con l'andamento della temperatura e dell'uscita del PID.
 

Modificato: da batta
Link al commento
Condividi su altri siti

Ho attivato il PID con Gain=0.1 .  I e D escluse. In SP_INT ho inserito in valore della  temperatura da raggiungere, in PV_IN viene inserito il valore della temperatura letta ( Ho provato anche a convertirli in percentuali ma non cambia niente). Nella foto che allego si po' vedere il trend . Le barre gialle che si vedono indicano i momenti in cui LMN si attiva e si disattiva, quindi per quel tempo la resistenza viene alimentata ( la linea verde indica la temperatura impostata , quella blu la temperatura della resistenza ).
Come e' possibile notare I e D sono esclusi ( Sulla destra e' possibile vedere i relativi pulsanti di attivazione. Colore rosso funzione disattivata ).  Se imposto GAIN = 0 LMN e' sempre uguale a zero e quindi la resistenza non viene alimentata. Forse mi sfugge qualcosa ma credo che tutti i parametri siano corretti.

trend_PID_temperatura.jpg

Link al commento
Condividi su altri siti

Se si potesse agire sul valore di LMN e limitare quindi la tensione di pilotaggio forse si potrebbe risolvere il problema. Ma il valore di LMN viene settato dal PID in base ai parametri di ingresso o sbaglio?

Link al commento
Condividi su altri siti

Adelino Rossi

anche a mio parere è un modello inappropriato e troppo veloce sia in riscaldamento che in raffreddamento. 

Andrebbe interposto tra riscaldatore e sonda un pezzo metallico che simula l'elemento da riscaldare e andrebbe anche installato un piccolo ventilatore

giusto per creare uno scambio termico con l'ambiente.

Link al commento
Condividi su altri siti

9 minuti fa, Adelino Rossi ha scritto:

anche a mio parere è un modello inappropriato ...

 

Adelino potrebbe essere tranquillamente assimilato ad un controllo di temperatura della punta di un saldatore.

Link al commento
Condividi su altri siti

Infatti avevo pensato di installare sia l'elemento riscaldante che la sonda  su un pezzo metallico  in modo tale da far assorbire il calore  dal pezzo riducendo l'offset tra temperatura impostata e temperatura reale. Il problema del raffreddamento e' conseguenziale, secondo me

 

Si Livio, e' proprio un paragone calzante....Qualche idea per manipolare LMN?

Link al commento
Condividi su altri siti

All'istante 10:52:02 risulta PV = 71°C, SP = 70°C, LMN = 0.
Cos'è che, all'istante 10:52:20 fa schizzare LMN alle stelle?
E perché LMN (almeno così sembra dal trend) rimane sempre elevato anche se PV è maggiore di SP?
Visualizzami in tabella i valori all'istante 10:52:55.

 

Link al commento
Condividi su altri siti

quello e' il problema, appena il valore rilevato va al di sotto del valore impostato , LMN va alle stesse e ci rimane per il tempo che vedi tra le 2 linee gialle...un secondo o due forse. Il paragone fatto da Livio calza molto bene. E' come se stessi controllando con una termocoppia la punta di un saldatore. La resistenza si riscalda troppo in fretta e il PID non riesce a seguire. Come ho scritto prima, avevo pensato di installare la resistenza su un pezzo metallico e la sonda all'altro estremo in modo tale da far distribuire il calore sviluppato dalla resistenza sul pezzo. Il problema e' che LMN assume un valore molto alto . Si dovrebbe poter gestire LMN , ma il valore di LMN e' gestito dal PID e non si puo' intervenire se non tramite qualche alchimia SW o sbaglio? 

 

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