Vai al contenuto
PLC Forum


Rampe Di Temperatura Controllate - Sistema di riscaldamento ad induzione


Fede

Messaggi consigliati

Ciao a tutti. Devo studiare un'applicazione che prevede il riscaldamento di particolari metallici e il conseguente raffreddamento secondo rampe lineari impostabili in pendenza. Non essendo un esperto di regolazione mi rivolgo ai guru che ho avuto modo di apprezzare in questo sito per professionalità, capacità e disponibilità. Cercherò di seguito di dare le specifiche generiche dell'applicazione in modo che possiate valutare ed eventualmente darmi qualche suggerimento. Dalla poca esperienza che ho non penso che un regolatore tipo PID possa fare al caso mio.

Hardware:

- Sistema scaldante => Generatore ad induzione da 10kW

- Riferimento di potenza richiesta => analogico 0-10V

- Misura energia trasmessa => Analogico

- misura temperatura => pirometro con uscita analogica

- CPU => s7-300

- HMI => PC con SCADA interfacciato con stampante per stampa rampe di temperatura

- Inerzia termica => Non la conosco esattamente ma comunque il sistema dovrebbe rispondere in modo veloce vista la potenza del generatore e la massa metallica (esigua) da riscaldare

Targhet:

- Tempo medio di salita => 3 ore con rampa lineare impostabile da HMI

- Set point di temperatura => impostabile

- Tempo medio di discesa => circa 2h con rampa lineare impostabile da HMI

Grazie ancora per la disponibilità e comunque complimenti per il sito

Link al commento
Condividi su altri siti


Caro Fede,

in attesa che qualche guru della regolazione ti risponda, aggiungi qualche info per dare un'idea del sistema.

10 kW su "particolari metallici" mi dice poco. Scaldi un pugno di spilli (in un decimo di secondo diventano rossi) o un cestone di rubinetti? Tutto il materiale e' sottoposto all'alta frequenza o solo una parte in movimento? E' un sistema mobile o statico? Quale temperatura massima devi prevedere? Quanto sara' la componente del raffreddamento per conduzione e per emissione infrarossa?

Scrivi, scrivi, meglio scrivere un po' di piu' che sbagliare e pagare.

Ciao

Mario

Link al commento
Condividi su altri siti

Inerzia termica => Non la conosco esattamente ma comunque il sistema dovrebbe rispondere in modo veloce vista la potenza del generatore e la massa metallica (esigua) da riscaldare

Cosa intendi esattamente per "modo veloce" 1C/1", oppure 1C/1', oppure più lento, ed anche il gradiente presunto con quale % di potenza è ottenuto.

Cerco di chiaeire meglio con un esempio.

Ammetti che nelle fatidiche tre ore devi passare dalla temperatura ambiente a 800C. Ora se, per esempio, dando il 100% della potenza in continuo (a gradino per intenderci) il tuo sistema raggiunge la temperatura di 800C in 15' si può ritenere sicuramente veloce; invece se, sempre a titolo di esempio, la raggiunge in 150' non si può considerare veloce e sarebbe ben difficile regolarne la rampa.

Poi togliendo potenza all'elemento riscaldante in quanto tempo il tuo sistema passerebbe daglio 800C alla temperatura ambiente. Perchè da quanto dici disponi solo di un riscaldatore, quindi per controllare la discesa è indispensabile che la dispersione di calore consenta un raffreddamento molto rapido.

Poi mancano i dati relativi alla gamma di temperatura di funzionamento e quello relativo alla precisione richiesta.

Se il tuo sistema fosse veramente sufficientemente rapido e le precisioni richieste compatibili con il sistema di misura e regoalzione, allora il problema sarebbe abbastanza facilmente risolvibile con un algoritmo PID affiancato da un buon feed forward. Con il solo PID rischi di avere sovra elongazioni ed imprecisioni troppo grandi durante la rampa.

Link al commento
Condividi su altri siti

Cercherò di darvi ulteriori informazioni (quelle che ho a disposizione):

- Temperatura massima da raggiungere => circa 600-700°C (setpoint variabile da 300 a 600-700°C)

- Tipo di raffreddamento => in aria per scambio termico non forzato

- Risposta del sistema a gradino della Potenza massima => Il sistema è in grado di inalzare la alla temperatura massima il componente da riscaldare per la zone interessata nel tempo massimo di 1 minuto e di mantenerlo in temperatura con una potenza trasmessa ben al di sotto della massima erogabile

- Il riscaldamento è di tipo statico (l'induttore viene portato in posizione di lavoro con il generatore spento), si tratta di un trattamento termico superficiale sulla superfice interna di fori eseguiti su materiale metallico dello spessore di qualche centimetro. La penetrazione del riscaldamento dovrà essere di circa 1cm per cui la risposta del sistema è molto veloce (come rilevato da prove eseguite).

- Il raffreddamento dovrà essere controllato riscaldando opportunamente per evitare che il materiale nella zona interessata non si raffreddi in qualche minuto ma bensì lo faccia in modo lineare e costante secondo la rampa impostata.

Vedo che (come speravo) i ""Guru"" hanno risposto. Grazie Livio e Mario, i Vostri consigli sono sempre preziosi

Link al commento
Condividi su altri siti

Dai dati che dai dovrebbe essere abbastanza semplice effettuare la regolazione.

Primo consiglio: non usare il PID Siemens. IMplementalo tu a tuo uso e consumo. Se vuoi leggi il mio tutorial e ci sono parecchi esempi al riguardo.

Scegli un tempo di rinfresco dell'ordine di 0.1" (100 ms) perchè da quello che dici sembra che sia veramente veloce. Asicurati che la termcoppia - pirometro più l'interfaccia sia sufficientemente veloce da seguire questo tempo.

La temporizzazione falla ad interrupt (OB35)

Genera la tua rampa analogica di riferimento di temperatura; questa rampa fungerò da riferimento per il PID. In parallelo genera anche il tuo feed forward (poi attingere sempre al tutorial per maggiori info)

Le rampe saranno due una per la salita e l'altra per la discesa.

Non hai dato dati sulla precisione. Se è una cosa normale mettere a punto un regolatore per questo lavoro dovrebbe essere relativamente semplice

Link al commento
Condividi su altri siti

Caro Livio la precisione non l'ho indicata perchè non è richiesta una precisione molto spinta ma penso senza esagerare che si possa considerare attorno alla decina di gradi o al massimo qualche grado. La misura viene effettuata con un pirometro laser penso veloce e preciso. Ho letto con attenzione la tua dispensa sulla regolazione e l'ho trovata molto interessante; mi sono proposto di rileggerla in modo più accurato, anzi se hai dei consigli su siti, link o altro facilmente reperibile per documentarmi sono ben anzi molto accetti.

Ti volevo chiedere come mai mi consigli di utlilizzare un interrupt così veloce per il refresh dell'algoritmo pid; immagino che sia per la velocità del sistema che mi trovo a controllare...

Seconda cosa, perchè sconsigli il pid standard siemens?

Grazie ancora Livio e ciao

Link al commento
Condividi su altri siti

Se non ho capito male mi dici che in un minuto, e con molto meno del 100% della potenza, raggiungi il set point di temperatura: ergo il sistema è molto veloce e quindi va controllato velocemente. Se il gradiente fosse di 1C/1' potresti pensare ad un tempo di ciclo dell'ordine di 30".

Io non amo usare il PID Siemens per una serie di motivi, motivi che sono sopra a tutto persoanli; altri potrebbero trovarli del tutto irrilevanti o addirittura punti forza. Uno perchè gli algoritmi Siemens sono, a mio giudizio, inutilmente complicati (come quasi tutti i prodotti di quella casa: è la loro filosofia che è complicata). Due usa una strategia che non condivido. Tre preferisco usare algoritmi che posso dominare a mio piacimento ed il PID Siemens lo devi usare così come è.

Da ultimo, ma non meno importante, io ho sempre ottenuto ottimi risultati con i miei PID più o meno canonici.

Link al commento
Condividi su altri siti

Caro Livio sono passato all'atto pratico nel senso che sto cercando di realizzare il PID custome come mi suggerisci. Complimenti ancora per la dispensa molto chiara e precisa, nonostante questo avevo alcuni dubbi da sciogliere prima di partire in quarta:

- non conosco esattamente la temperatura alla quale si portrà la parte da scaldare, questo sarà frutto di rilevazion epserimentale, ma al momento non ho i mezzi per farlo, posso solo ipotizzare che con riferimento al generatore di 10V (fondo scala) potrà corrispondere una temperatura di 300-500°C.

- Non conosco esattamente neanche il k di lettura del pirometro, comunque dovrebbe avere un'uscita 0-10V corrsipondente al fondo scala di misura (che non conosco).

Fatte queste premesse, mantenedo valido tutto quello detto in precedenza pensavo di applicare una regolazione con aggiornamento del regolatore ogni 100ms. Volevo costruire l'algoritmo utilizzando variabili tipo float riferendo tutto al valori di temperatura (setpoint e valore misurato) per poi (una volta eseguite le prove) adattare la temperatura di uscita dal regolatore PID alla scala del riferimento con un k opportuno che converti i gradi in riferimento di tensione richiesto al generatore e quindi potenza.

Passimao alle domande:

- Mi consigli di effettuare la parte derivata del regolatore sulla reazione della grandezza o sull'errore

- mentre mi risulta chiero che valore dare ai limiti del di uscita del regolatore (f.s. del riferimento massimo compatibilmente con il limite del DA) non avrei idea dei valori da assegare ai limitatori delle tre componenti separate

- pensi che debba sommare la componente di feedfarward; mi hai già detto di farlo ma non capisco la tua affermazione "In parallelo genera anche il tuo feed forward". Se fo ben capito questa componente è proporzionale al valore di riferimento moltiplicato per un k di riduzione che potrebbe essere 0.8 per esempio

Ok per il momento . e grazie nuovamente per i preziosi consigli

Link al commento
Condividi su altri siti

pensi che debba sommare la componente di feedfarward; mi hai già detto di farlo ma non capisco la tua affermazione "In parallelo genera anche il tuo feed forward". Se fo ben capito questa componente è proporzionale al valore di riferimento moltiplicato per un k di riduzione che potrebbe essere 0.8 per esempio

Attento a non confondere la parte proporzionale del PID dal controllo Feed_Forward, questultimo è un controllo in avanti, ossia conoscendo la situazione iniziale e sapendo dove vuoi arrivare ... parti già da una condizione nota ...

quindi è un aiuto per velocizzere l'anello chiuso ...

In teoria, se sai che per arrivare a 10 impieghi 100 Unità, all'ora se parti da zero e vuoi arrivare a 5 in teoria senza aspettare che l'anello chiuso si calcoli l'uscita, sommi già 45/50.

ciao

Link al commento
Condividi su altri siti

In effetti ti sei gia dato le risposte a quasi tutte le domande. Per il feed forward, come dice ancheFederico, sarebbe meglio partire con costanti più basse, magari 0.3 - 0.4. poi, quando conosci meglio le reazioni del tuo sistema potrai affinare il tutto.

I limiti sulle componenti PID sono relativamente importanti. La componente veramente importante da limitare è la parte integrativa, perchè se l'integrale cresce troppo poi impieghi troppo tempo a farlo rientrare. Io quando non posso effettuare uno studio analitico teorico, ma sono costreto ad effettuare solo ottimizzazioni empiriche, preferisco tenere il limite dell'integrale piuttosto basso, male che vada non azzererò l'errore. Tieni presente che con un feed forward ben tarato l'intagrale se ne sta basso basso :P .

Se proprio ti serve il derivativo ricordati che il derivativo sulla rezione ha il medesimo effetto del derivativo sull'errore, solo che non crea sovraelongazioni ad una variazione a gradino del riferimento.

Buon lavoro e, sopra a tutto, Buon Natale e Felice 2005

Link al commento
Condividi su altri siti

Grazie ad entrambi, contraccambio gli auguri...

P.S. per Federico, lo sai che siamo quasi concittadini, io lavoro nella zona Padova e sono di Venezia, non si sa mai che.....

Ciao ci sentiamo

Link al commento
Condividi su altri siti

Rieccomi all'attacco con un nuovo problema relativo alle rampe di temperatura...

Una volta eseguite o meglio durante il riscaldamento avrei la necessità di stampare le curve della variabile temperatura nella funzione del tempo. Il cliente chiede un registratore...

Utilizzando per questo progetto protool pro 6 il massimo che posso fare è la seguente cosa....

Stampante ad aghi nella quale eseguo l'hardcopy della pagina nella quale è implementato il grafico della variabile in oggetto. Potrei anche eseguire l'hardcopy della pagina a tempo (impostato dall'utente) zummando opportunamente la scala del grafico in modo da fare corrispondere scala delle x con tempo di stampa ed avere una specie di grafici contingui...

Che ne dite.. Probabilmente la cosa migliore da fare sarebbe esportare i dati e trattarli con un programmino ad hoc che esegue la gestione continua della stampa dei punti...

Qualcuno ha già fatto delle esperienze simili e riesce a darmi delle dritte...

Ciao di nuovo

Link al commento
Condividi su altri siti

Salve Fede,

Qualcuno ha già fatto delle esperienze simili e riesce a darmi delle dritte...

Si...!

Dalla mi sperienza in merito, il consiglio che ti posso dare e di campionare i trends di temperatura

registrandoli sul HD sotto un nome file che puo essere nominato a secondo la data corrente o il

numero del trend corrente.

Quindi, ti programmi un timer con una frecuenza di clock a secondo la quantita' di campioni voluti per la

durata del trend, e salvi le words con i valori di temperatura preferibilmente serializzando in un

file binario, cosi' occupando il menore spazio possibile.

Considera che se per essempio hai 10 val. di SP +10 val. di ist. da campionare per 10 zone, quindi 20 words:

20 words al sec. in 1 ora avrai il tuo file lungo 144000 byte= 144Kb ( 3600 sec.*40 byte) e cosi' via.

Una frecuenza di 1 sec. puo' essere forse troppo bassa, ma ti permette comunque di averli tutti e allora

fare delle medie aritmetica, etc...

Poi, una volta archiviati, puoi stampare i trends in una seconda applicazione o pure formattare in Excel.

Questa seconda API potrebbe anche fare una overview del trend in stand alone con il HD e forse poi

alla fine non bisogna ne anche stampare.

Auguri.

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