6 Applicazioni ed esempi

Di seguito saranno riportati alcuni esempi applicativi. Alcuni di loro si riferiscono ad una precisa piattaforma hardware.

6.1 Posizionamenti.

Il controllo di posizione è uno dei più ricorrenti. Non più di venti anni addietro era considerato un problema di non semplice soluzione, poi con il diffondersi di piattaforme hardware specifiche a basso costo e di facile impiego è diventato dfuso comune.

I posizionatori possono essere suddivisi in due categorie in base alla tecnica impiegata: posizionatori con trasduttore analogico e posizionatori con trasduttore numerico (encoder incrementale o assoluto).

Inoltre si possono suddividere in posizionatori a singolo asse ed in posizionatori a più assi, correlati o interpolati.

6.1.1 Posizionatori con trasduttore analogico.

I trasduttori analogici, impiegati per i controlli di posizione, sono essenzialmente i dispositivi LVDT; esistono anche trasduttori costituiti da potenziometri, lineari o rotanti, ma, se si escludono i controlli con gballerinoh, non sono quasi più usati.

6.1.1.1 Posizionatori con LVDT

I dispositivi LVDT (Low Voltage Displacement Transducer) sono impiegati per misurare spostamenti di piccole dimensione, inferiori a 20mm; anzi molto spesso le distanze misurate sono frazioni di millimetro.

In appendice è allegato un progetto per PLC S7-2xx per un controllo di posizione tramite LVDT per un trasduttore oleodinamico. Il medesimo progetto prevede anche una regolazione di pressione differenziale. I due regolatori agiscono alternativamente.

Molte sono state le scuole di pensiero sui sistemi di posizionamento ed ogni scuola ha individuato una sua strategia di regolazione ben precisa. Chi scrive preferisce la strategia che genera un riferimento di posizione variabile nel tempo, questo valore varierà fino a che non avrà raggiunto un valore uguale al valore di consegna. La derivata prima dello spazio è la velocità, pertanto, con unfoperazione abbastanza semplice, generando una posizione teorica si genera anche una velocità teorica che ha funzione di feed forward.

Poniamo di dover controllare finemente la posizione di un pistone in un sistema in cui il trasduttore di posizione sia un dispositivo LVDT. Il segnale fornito dal trasduttore, dopo opportuna amplificazione, corrisponde a }5v per tutta lfescursione. Lfinterfaccia tra il trasduttore ed il sistema di controllo, è costituita da un convertitore A/D con risoluzione pari a 12 bits (}2048 livelli discreti). Il dispositivo per azionare il pistone è comandato tramite un segnale analogico, variando il livello del segnale di comando tra –10v e 10v si ottiene tutta lfescursione della velocità: dal massimo negativo al massimo positivo.

Le variazioni di velocità devono essere effettuate in modo graduale, pena il danneggiamento dellfazionamento del pistone. La pendenza massima della rampa viene stabilita in 1v / 100 msec, cioè in 20h si passa dalla massima velocità negativa alla massima positiva.

Tutta lfescursione del trasduttore corrisponde a }2 mm. Tarando opportunamente il nostro sistema facciamo in modo che la quota di 2 mm corrisponda a 4,885v anziché a 5v; in questo modo lfescursione di 2 mm corrisponderà esattamente a 2000 counts.

Stabiliamo anche il tempo di campionamento; per le prestazioni richieste al sistema 10 msec sono sufficienti. Il tic di sistema sarà pari a 10 msec. Sulla base del tic si genera una rampa di posizione, incrementando, ad ogni campionamento, la posizione virtuale di una quota fissa fino a che la quota virtuale sarà uguale alla quota da raggiungere.

 


Fig. 6.1.1.1 Generazione del valore della posizione virtuale

La figura 6.1.1.1 esemplifica il modo per generare la posizione virtuale. Lfanello di posizione deve mantenere la posizione reale uguale alla posizione virtuale; inizialmente lferrore di posizione aumenterà poi, quando la velocità reale eguaglia la velocità teorica, lferrore rimane costante per poi decrescere fino ad annullarsi quando la posizione virtuale ha eguagliato la quota da raggiungere.

Il diagramma a lato rappresenta lfandamento, nel tempo, della velocità e della posizione. Le linee nere intere rappresentano lfanda-mento della velocità e posizione virtuale, mentre le linee rosse rappresentano lfandamento reale.

Il metodo più semplice ed efficace per effettuare il posizionamento, è realizzare un controllo proporzionale puro. Questo metodo permette di realizzare un controllo molto semplice, efficace; in pratica non è necessario effettuare operazioni di taratura.

La figura 6.1.1.2 schematizza la regolazione.

Fig. 6.1.1.2 Schema a blocchi del controllo di posizione

Analizzandolo schema di figura 6.1.1.2 si possono notare due particolarità: una soglia di errore minimo ed una soglia di velocità minima. Ef indispensabile che la missione di posizionamento venga terminata anche con errore diverso da zero, qualunque sia la risoluzione del sistema. In pratica, in assenza di una banda morta anche molto piccola, il posizionatore continuerà ad oscillare nellfintorno dellferrore zero. In alcune lavorazioni questo fenomeno è particolarmente dannoso, si consideri, per esempio il caso di una macchina utensile. Ef molto importante selezionare la risoluzione in funzione della precisione. Nel sistema preso ad esempio un count di A/D corrisponde ad un micron; considerando tutti gli errori dovuti al trasduttore ed alla sua elettronica, la precisione ottenibile è dellfordine di 10 micron; considerando }3 counts di banda morta si ha la certezza di avere un posizionamento ripetibile.

La soglia di velocità minima consente di raggiungere la posizione in tempi accettabili senza dover dipendere da un guadagno elevato. In un posizionatore tradizionale si distinguono quattro zone di lavoro: accelerazione, lavorazione a velocità costante, decelerazione e accostamento finale in glentoh.

 

Il diagramma a lato schematizza lfandamento della velocità in funzione della posizione, di un posizionatore classico. Questo tipo di approccio presuppone che, ad ogni missione, il controllore esegua tutta una serie di verifiche e calcoli. Si deve verificare, per prima cosa, che la quota sia maggiore dello spazio necessario per accelerare, decelerare ed effettuare il percorso in lento. Nel caso in cui lo spazio da percorrere sia inferiore a quello necessario per effettuare le operazioni di accelerazione, si dovrà ricalcolare un valore di velocità massima che consenta di effettuare la missione. Inoltre il tempo di accelerazione è un parametro di taratura. Con la soluzione proposta invece tutto è stabilito automaticamente dal sistema.

Nel sistema preso ad esempio è sufficiente stabilire la massima velocità di traslazione, che è comunque un dato di progetto, la banda morta, la velocità di accostamento minimo; il guadagno può essere impostato di valore unitario; per impostare la massima velocità di traslazione stabiliamo, nel sistema di esempio, che il differenziale di posizione sia pari a 10, così sfimpone uno spostamento di 10 micron ogni 10 msec equivalenti ad una velocità di 1 mm /sec.. Il parametro del guadagno (k) ha il suo effetto maggiore sul ritardo tra la velocità teorica e la velocità reale: maggiore è il valore di k, prima il valore di velocità reale sarà pari al valore della velocità teorica. Se poniamo k troppo grande si corre il rischio di avere una velocità in ogni caso maggiore della velocità minima, conseguentemente sarà quasi impossibile effettuare il posizionamento (la quota gscappah). Di seguito riportiamo una funzione scritta in pseudo gCh che esemplifica il sistema descritto. Come la precedente funzione PID, anche questa funzione è legata allfinterrupt di real time clock.

Void posizione();

            {

                        /* Si effettuano le dichiarazioni delle variabili  */

                        static int delta_pos;          /*differenziale di spazio per incrementare la quota virtuale*/

                        static int quota_ideale;     /*valore di posizione teorico*/

                        static int quota_reale;       /*valore quota reale misurata */

                        static int quota_finale;     /*valore di posizione da raggiungere */

                        static int errore;

                        static int dead_band;

                        static int velocità_massima

                        static int velocità_minima

static int rif_vel;                  /* uscita riferimento di velocità per D/A*/

                        static float Kappa               /* guadagno di sistema */

                        quota_ideale = quota_ideale + delta_pos;

                        if (quota_ideale > quota_finale) quota_ideale = quota_finale;

                        quota_reale = A/D;        /* lettura trasduttore */

                        errore = quota_ideale  - quota_reale;

                        if (erore > dead_band) {

                                   rif_vel = Kappa*errore;

                                   if ((rif_vel < velocità_minima) AND (quota_ideale = quota_finale))

rif_vel = velocità_minima;

                                   if (rif_vel > upper_limit) rif_vel = upper_limit;

                                   if (rif_vel < lower_limit) rif_vel = lower_limit;

                                   }

                        else rif_vel = 0;

            }

Nellfesempio riportato in appendice, dove si applica una CPU S7-215, lfalgoritmo prevede anche unfazione integrale. Lfintroduzione dellfintegrale dipende dal fatto che il pistone è azionato da un cilindro oleodinamico, il controllo agisce non sulla velocità ma sulla pressione; raggiunta la posizione è in ogni caso necessario mantenere un valore di pressione. Sempre nel medesimo esempio oltre alla funzione di posizionamento e ritorno a zero, alternativamente il controllo può lavorare come regolatore di pressione differenziale. La scelta è effettuata allfinterno della funzione di servizio dellfinterupt del real timer clock.

6.1.1.1.2 Considerazioni generali

Nellfesempio di posizionamento riportato nel capitolo precedente, si genera una posizione teorica o virtuale, il sistema fisico insegue questa posizione; lferrore di posizione istantaneo dipende dal guadagno del sistema; la funzione che genera la quota ideale è anche detta funzione generatrice di profilo. In questa applicazione monoasse è una funzione molto semplice; la complessità aumenta con applicazioni multiasse con interpolazione.

6.1.1.1 Posizionatori con potenziometro

Nel caso in cui il trasduttore di posizione è costituito da un potenziometro, tutto il controllo rimane identico.

Se il potenziometro ha funzione di ballerino e la sua posizione agisce su di un traino o su di un aspo, si tratta di un caso molto particolare, un apposito capitolo sarà dedicato a questfapplicazione.

6.1.2 Posizionatori con encoder

Nel sistema preso ad esempio sfipotizza lfuso di un trasduttore analogico, interfacciato da un convertitore A/D; sostituendolo con un encoder incrementale o assoluto non è necessario modificare la funzione, tranne la lettura del trasduttore che, nel caso di encoder incrementale, sarà un contatore veloce, mentre nel caso di encoder assoluto sarà un certo numero dfingressi digitali.

6.1.3 Posizionatori multiasse

Con il termine di multi asse sfintende un sistema di posizionamento con almeno due assi interpolati tra del loro. Per esemplificare la funzione si pensi ad un tornio che effettua una filettatura: ad ogni istante esiste una corrispondenza biunivoca tra lfavanzamento della posizione dellfutensile e la rotazione del mandrino. Nel caso del tornio la correlazione è ottenuta in modo meccanico: lfutensile è fatto avanzare dalla rotazione di una madrevite, la madrevite è accoppiata, tramite una quaterna dfingranaggi, al mandrino; quindi ad ogni variazione angolare del mandrino corrisponderà un ben preciso incremento di posizione dellfutensile; il rapporto tra le posizioni è stabilito dal rapporto degli ingranaggi e dal passo della madrevite.

Ipotizzando di motorizzare, in modo indipendente, mandrino e madrevite è necessario, per ottenere il medesimo risultato, che il rapporto tra le due velocità sia tale da garantire il passo voluto; stabilito lfesatto rapporto di velocità è indispensabile che questo sia mantenuto esattamente costante nel tempo. Ipotizziamo di dover realizzare una vite con passo equivalente a quattro filetti per millimetro, significa che ogni 360o gradi di rotazione del mandrino lfutensile si sarà spostato di 0.25 mm, ma il controllo deve essere continuo; pertanto si può affermare che lfavanzamento deve essere tale che per ogni grado di rotazione lfutensile avanzi di 0,69444 micron! Non solo, ma questo rapporto deve essere assolutamente costante nel tempo e deve essere mantenuto su tutta la gamma di velocità prevista per la lavorazione!

Le specifiche dellfesempio sono apparentemente restrittive, eppure questo tipo di applicazione è una delle più semplici ed è conosciuta con il nome di gasse elettrico master – slaveh.

In genere i controlli interpolati sono specifici per le macchine utensili; sono sistemi di controllo che possono raggiungere complessità davvero notevoli. Oggi giorno è possibile disegnare con un programma CAD un componente meccanico complesso, passare direttamente i files così ottenuti alla macchina CNC ed eseguire la lavorazione. Attualmente alcuni produttori di PLC e di schede per PC offrono sistemi di controllo di posizione multiasse con interpolazione, con ottime prestazioni e prezzi contenuti.

Il posizionamento pluriasse con interpolazione costituisce un argomento molto specialistico e complesso, non ritengo quindi sia il caso di affrontare lfargomento in modo dettagliato ed approfondito in un manuale dfuso generale

6.2. Assi elettrici.

Con il nome di gasse elettricoh sfidentifica un regolatore che svolge funzioni analoghe ad un albero meccanico (asse).

Storicamente, agli albori dellfera industriale, negli opifici vi era un solo motore a vapore, tramite una infinita serie di alberi, giunti, ingranaggi, cinghie e pulegge, la potenza veniva portata a tutte le macchine dello stabilimento! Con lfavvento dellfenergia elettrica la potenza si poteva trasmettere attraverso cavi e sbarre di rame così, poco alla volta, ogni macchina venne dotata del proprio motore elettrico e scomparvero dalle fabbriche i lunghi alberi su cui erano accoppiate pulegge che, tramite cinghie, trasmettevano la potenza alle macchine. Questa trasformazione è stata effettuata in tempi recenti: negli anni f50 in alcune officine erano ancora presenti quei pericolosi cinematismi. Rimaneva ancora un problema da risolvere: quando una macchina necessitava di disporre dforgani in movimento aventi velocità strettamente correlate tra loro. In questo caso, fino a non molti anni fa, erano assolutamente insostituibili gli accoppiamenti meccanici tramite ingranaggi e/o P.I.V. o variatori continui di velocità.

Con i progressi della tecnologia digitale è stato possibile, ed economicamente conveniente, sostituire motoriduttori e P.I.V. con i dispositivi denominati assi elettrici.

Si pensi ad alcune lavorazioni come macchine per carta, macchine per stampa, macchine plastificatrici, macchine per la produzione di fibre tessili, macchine per la produzione di film plastici e gomma, calandre, etc.. Lfelenco potrebbe essere lunghissimo e comprendere, in pratica, tutte le lavorazioni conosciute.

Per comprendere come funziona un asse elettrico si pensi ad un motore, cui è accoppiato un albero meccanico che movimenta due cilindri. I due cilindri avranno lfidentica velocità angolare e, mediamente, la medesima fase. La fase sarà mediamente uguale perché, durante i transitori, lfelasticità dellfalbero fa sì che alle sue estremità, per alcuni istanti, la fase sia diversa; per esempio accelerando la velocità lfalbero si torce ed una sua estremità è leggermente in ritardo rispetto allfaltra; al termine dellfaccelerazione lfelasticità del materiale ricupera il ritardo e, comunemente, compie una breve oscillazione intorno allo zero.

Sostituendo lfunico motore e lfalbero meccanico, con due motori elettrici ed un dispositivo di regolazione che mantenga la loro fase relativa senza eccessive variazioni, abbiamo realizzato un dispositivo equivalente allfalbero meccanico. Questa soluzione, pur essendo più complicata, permette di costruire macchine più compatte, con minori vincoli meccanici e, fattore in alcuni casi determinante, consente una regolazione fine delle velocità relative senza ricorrere ad ingombranti e costosi dispositivi PIV.

6.2.1Architettura degli assi elettrici.

Esistono due tipi fondamentali di architettura per assi elettrici:

·        Asse elettrico master – slave, con un master ed uno o più slave in cascata

·        Asse elettrico con un master reale o fittizio e più slave in parallelo

Entrambe le configurazioni offrono vantaggi e svantaggi, è lfapplicazione che determina il tipo di architettura.

6.2.1.2 Configurazione gmaster – slaveh

Questfarchitettura si adatta meglio dove è richiesta una cascata di velocità. Il difetto principale è costituito dal fatto che ogni variazione di velocità di un elemento si ripercuote, con ritardo, su tutti gli elementi a valle. Con la tecnologia disponibile negli anni f70 – f80, questa configurazione era la più usata pervia della facilità con cui si potevano determinare i rapporti di velocità. Infatti, era sufficiente disporre di tanti selettori decadici (gContravesh dal nome del primo produttore) quante erano le cifre del rapporto da impostare, poi la circuitazione per transcodificare il rapporto impostato con il preset dei contatori, era abbastanza semplice. Oggigiorno, disponendo di HMI ad elevate prestazioni di calcolo e collegamenti seriali efficienti, questa necessità è venuta meno e questa configurazione tende a non essere più usata proprio per il difetto segnalato in precedenza. Ha ancora una sua validità quando si lavora con un master ed un solo slave.

Fig. 6.2.1.2.1 Asse elettrico master – slave: schema di principio

6.2.1.3 Configurazione gmaster virtualeh

Il termine gmaster virtualeh indica che non esiste un vero motore master. Il sistema di controllo simula un motore cui sono asserviti tutti i motori reali. In effetti, per il sistema di controllo, il motore è rappresentato dal segnale proveniente dallfencoder, quindi si può simulare un motore generando la frequenza equivalente dellfencoder.

Fig. 6.2.1.3.1 Asse elettrico master virtuale: schema di principio

La figura 6.2.1.3.1 schematizza la regolazione con master virtuale. Questa configurazione, al contrario della configurazione master – slave, è di tipo parallelo, con un unico riferimento. La stabilità di velocità di ogni motore è funzione della stabilità del master e della qualità del regolatore. Lfunica controindicazione dipende dal fatto che non si hanno rapporti diretti tra i vari motori in cascata; i rapporti devono essere sempre riferiti al master. A titolo di esempio si supponga di avere tre motori asserviti a questa regoalzione, il rapporto tra il primo ed i secondo è pari a 1:1,33; il rapporto tra il secondo ed il terzo è pari a 1:1,59. Per comodità supponiamo che il primo motore sia sincrono con il master virtuale, pertanto avremo questi rapporti: n1 = 1, n2 = 1,33, n3 = 2.1147; non solo ma se si cambia il rapporto n1 dovranno essere modificati anche n2 ed n3. Con le possibilità che offrono i moderni dispositivi di HMI è abbastanza agevole rendere trasparente allfoperatore qqueste operazioni. In genere lfoperatore imposta direttamente le velocità dei vari motori in termini di velocità lineare (metri per minuto) oppure imposta la velocità finale della  linea e gli scorrimenti percentuali di velocità dei vari stadi. Bisogna sempre tenere presente che:

a)      la velocità di uscita di una linea di produzione è sempre prossima alla massima ammessa

b)      che gli scorrimenti percentuali corrispondono allfallungamento percentuale tra due stadi

 Nel prossimo paragrafo sarà analizzata una regolazione con un master virtuale ed uno slave reale; è intuitivo che sostituendo al master virtuale un motore reale,  si ricavi una configurazione master – slave. Inoltre, una volta compreso il meccanismo della regolazione, è molto facile estendere la regoalzione ad n slave: i limiti di configurazione dipendono solo dalla piattaforma Hardware su cui si opera.

Ef doveroso ricordare che la quasi totalità fei moderni convertitori hanno la funzione asse elettrico integrata. Esistono comunque casi in cui è necessario dover realizzare un controllo esterno al convertitore vuoi perché sono richieste prestazioni particolari, oppure si debbano usare vecchi convertitori.

6.2.1.4 Realizzazione pratica di un controllo con master virtuale.

Cominciamo con lo stabilire le specifiche generali del sistema.

1.      Numero di slave: due.

2.      Velocità massima di rotazione del motore: 3000 giri / minuto.

3.      Velocità della linea: 0.2 msec. <= Vl <= 10 msec., corrispondenti a 2700 giri / minuto.

4.      Tempo di accelerazione 10h <= tacc <= 30h

5.      Numero dfimpulsi per giro dellfencoder: 400 impulsi / giro.

6.      Tipo di segnale dellfencoder: 2 canali in quadratura con drive push – pull.

7.      Limiti dei rapporti: 0,3 <= n <= 2,5.

8.      Periodo di campionamento: 10 msec.

9.      Precisione di velocità realtiva: 0,1%.

10.  Inverter V/F pilotati con segnale analogico 0 – 10v.

11.  Piattaforma Hardware PLC più pannello operatore.

12.  Motore in corrente alternata, asincrono 2 poli, con encoder calettato direttamente sullfalbero.

13.  Lfoperatore imposterà velocità di linea e scorrimento percentuale.

14.  Il tempo di accelerazione può essere modificato solo a macchina ferna

Con queste specifiche può essere usato un micro PLC, per esempio un Siemens S7-226, tanto per citare un dispositivo molto diffuso. Comunque per la scelta del PLC bisogna far riferimento ai seguenti parametri: disponibilità di contatori veloci bidirezionali, funzioni matematiche in virgola mobile, velocità di elaborazione tale da permettere di eseguire la routine di controllo in un tempo di circa 5 – 6 msec.

Dalle specifiche si può notare che il motore dispone di un margine di circa 10% di sovravelocità, rispetto alla velocità masima prevista per la linea. Questo margine non è eccessivo, ma consente comunque di operare con una certa garanzia di affidabiltà, anche alla massima velocità di lavorazione.

La configurazione presa ad esempio potrebbe essere una parte di una linea di produzione plastica o tessile, per esempio. In ogni caso è una configurazione abbastanza presente nellfindustria.

Con i dati di encoder e di velocità massima del motore si ricava che la massima frequenza generata dallfencoder è pari a 18000 impulsi al secondo (18kHz), pertanto ad ogni intervallo di misura si potranno accumulare non più di 180 impulsi, mentre alla velocità minima il differenziale di conteggio sarà pari a 3,6 impulsi.

Esaminiamo i vari blocchi che compongono il controllo.

Il timer di sistema, caricato a 10 msec., alla sua scadenza attiverà lfinterrupt di richiamo della routine di regolazione. Questa costituisce il nucleo del controllo. A corollario, ed a più bassa priorità, ggirerannoh le funzioni che, ricevendo i dati dallfinterfaccia HMI, provvederanno a calcolrare il feed forward ed il numero di impulsi per tic di sistema. Inoltre, sempre a bassa priorità, ggireràh anche la funzione che, in base del tempo di accelerazione, calcola gli incrementi del livello analogico per il feed forvard e lfinvremento del numero di impulsi per tic di sistema.

Generare il livello feed forward è importante per avere risposte pronte ed un piccolo errore di spazio durante i transitori. Bisogna sempre tenere presente che questa regolazione regola lfintegrale della velocità (lo spazio), non la velocità istantanea! A transitorio esaurito, se il regolatore è ben ottimizzato, lferrore istantaneo sarà ƒÃ <= 1 impulso di encoder, ma ƒÃ è un errore di spazio e non di velocità.

La figura a lato esemplifica lfandamneto della velocità durante un transitorio. La linea rossa rappresenta lfandamento della velocità master, mentre quella nera rappresenta lfandamento della velocità slave. Le due aree, indicate dalle linee verdi sono equivalenti. Esse rappresentano lferrore di spazio accumulato dalla slave durante la fase di accelerazione, compensato dalla sovra velocità dello slave al termine dellfaccelerazione del amster. In questo modo lferrore di spazio è nullo, mentre lferrore istantaneo di velocità è tanto più elevato quanto più lo slave segue con ritardo il amster. Tipicamente asservendo uno slave molto inerte ad un master molto rapido, si rischia di avere un sistema instabile, instabilità dovuta non allferrata taratura dei regolatori, ma ad unferrata progettazione del sistema.

Se il sistema considerato non richiede una sincronizzazione di spazio ma di velocità, non si dovrà usare una regolazione di questo tipo, ma una semplice sincronizzazione di velocità (cfr. capitoli 1 e 2).

6.2.1.4.1 Calcolo del feed forward.

Nel caso in esame abbiamo un sistema in cui la massima veloctà della linea corrisponderà al 90% della massima velocità angolare dei motori. Il segnale di riferimento di velocità corrisponde a 10v (pari a 4095 counts di D/A C) per il 100% della velocità angolare, pertanto alla massima velocità di linea corrisponderanno 9v (pari a 3685 counts di D/A C). Inoltre il secondo slave corrisponde al motore di uscita, quindi il suo rapporto sarà sempre pari a 1.

Di seguito abbiamo la funzione in pseudo gCh per il calcolo del feed forward e del numero dfimpulsi per tic di sistema.

Void feed_forward (int vlin, int n)

            {

                        static int old_vlin;  /* valore precedente di vlin */

                        static int old_n;   /* valore precedente di n */

                        if (vlin <> old_vlin) then

                            {

                                   /*   costanti per slave 1  4095 : 3000 = 1,365 counts per rpm */

                                   S1_dac = (3685 * vlin ) / 600;  /*no di counts di D/AC equivalenti a vlin */

                                   delta_s1 =(180 * vlin ) / 600;  /*no di impulsi per tic equivalenti a vlin  */

                                   /*   costanti per slave 2   180 imp. Per tic di 10 ms @ 2700rpm*/

                                   S2_dac= (3685  * (vlin (1000-n)/1000) / 600; /*n espresso in %o */

                                   delta_2 = (180  * (vlin *(1000-n)/1000) / 600;   /*1h=1000ms è 100tics*/

                        step_acc2 = (3685  *( (1000-n)/1000)) /(t_acc*100);

                                   delta_acc_s2 =(180*( (1000-n)/1000))/(t_acc*100);   /*1h=1000ms è 100tics*/

                                   old_vlin = vlin;

                                   old_n = n;

                             }

                        else if(n <> old_n) then

                            {

                                   S2_dac= (3685  * (vlin *(100-n)/1000) / 600;

                                   delta_2 = (180  * (vlin *(1000-n)/1000) / 600;

                        step_acc2 = (3685  *( (1000-n)/1000)) /(t_acc*100);   /*1h=1000ms è 100tics*/

                                   old_n = n;

                             }

            }

La funzione feed_forward calcola i nuovi valori per il feed forward analogico e per i delta dfimpulsi per ogni tic di sitema. Se cambia anche il rapporto di scorrimento tra gli slaves saranno ricalcolati anche i differenziali necessari durante la fase di accelerazione.

Il programma main richiamerà ad ogni ciclo la funzione feed_forward. Nela routini dfinzializzazione si dovrà provvedere a calcolare i differenziali di counts di D/A C ed i differenziali di impulsi necessari alle rampe di accelerazione. Lfaccelerazione si effettua direttamente dalla funzione di regolazione.

/* dichiarazioni globali */

            float S1_dac =0, S2_dac=0, delta_s1=0, delta_s2=0;

float step_acc2=0, step_acc1=0, n_acc1=0, n_acc2=0;

float Kp1, Ki1, cor_p1, cor_int1, int_1;

float Kp2, Ki1, cor_p2, cor_int2, int_2;

int t_acc;         

Void main ()

            {

                        c.

                        Int v_lin,  n;

                        c.

                        If (first_sca == 0) then

Init();

                        c.

                        feed_forward (vlin, n);

                        c.

            }

Calcolo dei differenziali per lfaccelerazione

Void init()

            {

                        c..

                                   /*   costanti per slave 1   */

                        step_acc1 = (3685/(t_acc*100));   /*1h=1000ms == 100tics*/

                        delta_acc_s1 =(180/(t_acc*100));   /*1h=1000ms == 100tics*/

                                   /*   costanti per slave 2  */

                        step_acc2 = (3685  *( (100-n)/1000)) /(t_acc*100);   /*1h=1000ms == 100tics*/

                        delta_acc_s2 =(180*( (100-n)/1000))/(t_acc*100);   /*1h=1000ms == 100tics*/

            }

6.2.1.4.2 Routine di regolazione

La routine di regolazione verrà attivata dallfinterrupt legato allo scadere del timer di sistema.

Void regolazione()

{

            static float ffw_s1, ffw_s2, step1, step2, virt1, virt2, err_1, err_2;

            static int outdac_s1, outdac_s2, out_s1, out;s2;

            static int cnt1, old_cnt1, delta_cnt1, quota_reale1;

            static int cnt2, old_cnt2, delta_cnt2, quota_reale2;

            int temp1, temp2;

/* uscita valore totale di riferimento per i due slaves */

            out_dac1 = out_s1;

            out_dac2 = out_s2;

/* lettura contatori dei due slaves  */

            cnt1 = HSC1; /* lettura al volo e memorizzazione del contatore HW dello slave 1 */

            cnt2 = HSC2; /* lettura al volo e memorizzazione del contatore HW dello slave 2 */

/* verifica se terminata fase di accelerazione per feed forward slave 1*/          

            if  (ffw_s1 < S1_dac) then

               {

ffw_s1 = ffw_s1 + delta_acc;

               }

                        else ffw_s1 = step_acc1;

/* verifica se terminata fase di accelerazione per feed forward slave 2*/          

            if  (ffw_s2 < S2_dac) then

               {

ffw_s2 = ffw_s2 + step_acc2;

               }

                        else ffw_s2 = step_acc2;

/* verifica se terminata fase di accelerazione per differenziale per tic di slave 1*/         

            if  (step1 < delta_s1) then

               {

step1 = step1 + delta_acc_s1;

               }

                        else step1 = delta_s1;

/* verifica se terminata fase dfaccelerazione per differenziale per tic di slave 2*/          

            if  (step2 < delta_s2) then

               {

step2 = step2 + delta_acc_s2;

               }

                        else step2 = delta_s2;

/* preparazione quote virtuali per i due slaves */

            virt1 = virt1 + step1;

            virt2 = virt2 + step2;

/* calcolo quota reale per i due slaves */

         if (cnt1> old_cnt1) then delta_cnt1 = cnt1 – old_cnt1;

         if (cnt1< old_cnt1) then delta_cnt1 = cnt1 + 4294967295 – old_cnt1;

         quota_reale1 = quota_reale1 + delta_cnt1;

         old_cnt1 = cnt1;

         if (cnt2> old_cnt2) then delta_cnt2 = cnt2 – old_cnt2;

         if (cnt2< old_cnt2) then delta_cnt2 = cnt2 + 4294967295 – old_cnt2;

         quota_reale2 = quota_reale2 + delta_cnt2;

         old_cnt2 = cnt2;

/* verifica che quote reali e virtuali non trabocchino */

            if ((quota_reale1 and vitr1) >  3000000) then

                        {

                                   quota_reale1 = quota_reale1 – 3000000;

                                   virt1 = virt1 – 3000000;

                        }

            if ((quota_reale2 and vitr2) >  3000000) then

                        {

                                   quota_reale2 = quota_reale2 – 3000000;

                                   virt2 = virt2 – 3000000;

                        }

/* calcolo errori ed effettuo regolazioni */

            err_1 = (float)  (virt1 – quota_reale1);

            err_2 = (float)  (virt2 – quota_reale2);

            cor_p1 = err_1 * Kp1;

            int1 = err_1 * Ki1;

            cor_int1 = cor_int1 + int1;

            if (cor_int1 > lim_pos_int1) then cor_int1 = lim_pos_int1;

            if (cor_int1 < lim_neg_int1) then cor_int1 = lim_neg_int1;

            temp1 = (int) (cor_int1 + corp1);

            cor_p2 = err_2 * Kp2;

            int2 = err_2 * Ki2;

            cor_int2 = cor_int2 + int2;

            if (cor_int2 > lim_pos_int2) then cor_int2 = lim_pos_int2;

            if (cor_int2 < lim_neg_int2) then cor_int2 = lim_neg_int2;

            temp2 = (int) (cor_int2 + corp2);

/* somma correzioni a feed forward */

            out_s1 = ffw_s1 + temp1;

            if (out_s1 > 4095) then out_s1 = 4095;

            if (out_s1< 0)  then out_s1 = 0;

            out_s2 = ffw_s2 + temp2;

            if (out_s2 > 4095) then out_s2 = 4095;

            if (out_s2< 0)  then out_s2 = 0;

}

Dallfesame della routine regolazione si possono osservare alcuni punti interessanti.

1.      Per semplificare le operazioni vvengono generate due quote virtuali o ideali, corrispondenti alla posizione teorica dei due slaves.

2.      La posizione teorica è ottenuta sommando, ad ogni ciclo di controllo, il differenziale teorico di ogni slaves. In altri termini si effettua il calcolo, in virgola mobile e fuori linea, dellfincremento teorico di ogni slaves, ad ogni differenziale di tempo considerato; se il tic di sistema vale 10 msec il differenziale di tempo sarà uguale a 10 msec.

3.      La posizione teorica è calcolata in virgola mobile; in questo modo, anche se il rapporto di scorrimento è un numero reale, lferrore integrato nel tempo risulterà minimo. Se il conteggio fosse effettuato in numeri interi, anche un piccolo arrotondamento causerebbe, dopo qualche ora di funzionamento, errori notevoli!

4.      I contatori hardware, di regola, quando vanno in overflow ripartano da zero. Su alcune piattaforme ad ogni trabocco viene alzato un flag, lfalgoritmo proposto è comunque indipendente dal riconoscimento hardware dellfavvenuto trabocco. Lfalgoritmo è altresì indipendente dalla lunghezza del contatore (16 bits o 32 bits).

5.      Anche la posizione reale viene ricostruita in modo sintetico. Così facendo è facile evitare il trabocco delle quote reali e virtuali.

6.      La regolazione proposta è di tipo P.I.; lfintroduzione di un derivativo sullferrore, in genere, rende il sistema molto gnervosoh, caratteristica che spesso disturba perché introduce vibrazioni molto dannose al processo.

Attenzione: con alcune semplici modifiche il controllo proposto può essere convertito in un posizionatore pluriasse.

6.2.4        Controllo dfavvolgitura tipo g Servodiametroh

Nel capitolo 5 è stato analizzato un regolatore per un avvolgitore, regolato in velocità tramite cella di carico; con poche e semplici modifiche può essere trasormato in un controllo, sempre regolato in velocità, tramite ballerino.

In questo capitolo sarà analizzato un controllo di avvolgitura, regolato in coppia o tiro, ad anello aperto. Le differenze fondamentali, rispetto al controllo descritto nel capitolo 5, sono:

a)             Questo tipo di controllo non ha nessun trasduttore per misurare la forza esercitata sul materiale quindi, quanto più il modello implementato è accurato, tanto più sarà preciso il valore del tiro sul materiale.

b)             Nei controlli ad anello chiuso si regola direttamente il valore di tensione del materiale misurandone il valore tramite un trasduttore come la cella di caricao, oppure imponendone la forza tramite un dispositivo detto gballerinoh; in un controllo ad anello aperto si regola indirettamente la tensione del materiale regolando la coppia motrice secondo un modello teorico.

Nella descrizione si usa il termine generico avvolgitore, od anche aspo, indipendentemente dal fatto che sia un dispositivo avvolgente o svolgente. Si farà preciso riferimento alla funzione solo se determina regolazioni specifiche.

Fig. 6.2.4.1 Schema a blocchi di un aspo avvolgitore regolato ad anello aperto

Nella figura 6.4.2.1, dove si schematizza il layout di un generico aspo avvolgitore, appaiono gli elementi fondamentali: lfaspo con il relativo motore, il traino con il relativo motore. Non sono stati riportati gli eventuali rapporti meccanici, trasmissioni, etc.; non sono stati disegnati i trasduttori di velocità che si suppongono calettati direttamente sui motori.

Considerando il sistema in regime statico, e non considerando attriti e perdite meccaniche, la tensione del materiale sarà equivalente alla coppia motrice del motore, Cm, moltiplicata per il raggio dellfavvolgimento. Se, per esempio, la coppia del motore fosse pari a 5kgm per un raggio dfavvolgitura uguale a 0,5m, la tensione del materiale sarebbe pari a 2,5kg.

Naturalmente le perdite di coppia del sistema non sono mai trascurabili, inoltre la linea non lavora in regime statico, tranno che quando si esercita una trazione sul materiale a linea ferma. In regime normale la velocità lineare è costante, tranno quando la linea accelera, mentre la velocità angolare dellfavvolgimento è in continua variazione. Tutto questo complica il modello di calcolo della coppia istantanea che il motore dovrà erogare per mantenere costante il tiro del materiale.

A velocità lineare costante si può considerare ininfluente lfaccelerazione angolare, pertanto non sarà necessario compensarne gli effetti relativamente al calcolo della coppia motrice.

Il motore dovrà erogare una coppia totale che si può scomporre come:

1.      Coppia relativa al tiro sul materiale

2.      Coppia per compensare lfattrito statico del sistema di trasmissione

3.      Coppia per compensare lfattrito dinamico dellfintero sistema

4.      Coppia per compensare lfattrito di primo distacco

5.      Coppia necessaria a compensare il momento di piegatura del materiale

6.      Coppia necessaria per compensare il momento dfinerzia dellfavvolgimento

Naturalmente non sempre è necessario tenere conto di tutti e sei i parametri sopra elencati; nella maggior parte delle applicazioni è sufficiente considerare, oltre al tiro del materiale, lfattrito statico ed il momento dfinerzia. La coppia necessaria alla piegatura del materiale entra nel calcolo solo nel caso di avvolgimenti con materiali particolaramente resistenti, quali lamiere dfacciaio speciale o simili, Anche lfattrito di primo distacco, nella maggior parte delle applicazioni, o non è considerato oppure è sufficiente erogare una coppia costante per un tempo definito allfatto dellfavviamento. Lfattrito dinamico in genere, anche se non è considerato, non pregiudica il buon funzionamento del sistema.

Le componenti che influenzano pesantemente la qualità dellfavvolgimento sono: la corrispondenza coppia – diametro, la compensazione del momento dfinerzia durante i transitori di velocità. Addirittura in alcune lavorazioni, come per le fibre tessili, non è molto importante se ci sono variazioni di tiro, purché avvengano molto lentamente, mentre sono veramente dannose anche le piccole variazioni rapide. La bontà di un avvolgimento si può valutare in modo visivo; un buon avvolgimento è esente da spazii vuoti tra le spire, i bordi sono compatti ed allineati. Quando la compensazione dfinerzia non funziona correttamente è facile riconoscere, osservando i fianchi della bobina, i punti in cui sono avvenuti rallentamenti ed accelerazioni: basto osservare i punti in cui i fianchi presentano delle discontinuità. Se ci sono stati scorrimenti delle spire interne durante lfoperazione di avvolgitura la bobina si presenta con la caratteristica forma a gcannocchialeh. Questa anomalia dipende dallfassenza o dal cattivo funzionamento della funzione gtaperh.

6.2.4.1 Calcolo e compensazione del momento dfinerzia.

Il momento dfinerzia è un parametro che, generalmente, influenza notevolmente le prestazioni degli aspi. Il momento di inerzia gJh è il parametro meccanico che stabilisce la resistenza di una massa in rotazione a variare la sua velocità angolare: più è elevato il momento di inerzia e più è alta la sua resistenza alle variazioni. Nel sistema pratico si usa il parametro PD2, che è simile, ma sta in rapporto 1 a 4 con il momento di inerzia. I meccanici, in genere, tendono a confondere le due cose, pertanto è bene effettuare sempre le oppurtune verifiche. Su molti manuali tecnici, sul Manuale dellfIngegnere e sul Manuale del Perito Industriale si trovano le formule per il calcolo del momento dfinerzia e del PD2 delle più comuni forme. Nel caso di un aspo si tratta di comporre due solidi: un cilindro pieno ed un cilindro cavo. Il cilindro pieno corrisponde al mandrino ed al nucleo od anima dellfavvolgimento, mentre il cilindro cavo corrisponde allfavvolgimento. Ovviamente, durante la fase di avvolgitura o svolgitura, il diametro della bobina cambia ad ogni istante e quindi, istante per istante, si modifica anche il momento dfinerzia. Inoltre, se la velocità del materiale è costante, cambiando il diametro varierà la velocità angolare percui con diametro minimo lfaccelerazione angolare sarà massima.

6.2.4.1.1 Calcolo del mometo dfinerzia.

Di seguito diamo le formule per il calcolo del momento dfinerzia di un cilindro cavo e di un cilindro; per chi volesse affrontare lfargomento, dal punto di vista della meccanica classica, può fare riferimento alla bibliografia*1.

 

La figura a lato esemplifica un cilindro cavo che rappresenta la parte avvolta della bobina.

La massa elementare più conveniente per il calcolo è costituita da una guaina cilindrica di spessore infinitesimo dr, raggio r, altezza L e densità ƒÂ. Potremo scrivere:

            dm = ƒÂ * dV

dove dV è il volume della guaina cilindrica di massa dm.

            dV = (2*ƒÎ*r*dr)*L

da cui:

            dm = 2*ƒÎ*r*dr*L* ƒÂ

quindi:

           

R1 e R2 sono, rispettivamente, il raggio interno ed esterno del cilindro cavo. Si assuma come costante la densità del materiale, risolvendo lfintegrale si avrà:

           

La massa M derl corpo è ƒÂV quindi potremo scrivere:

           

pertanto il momento di inerzia di un cilindro rispetto al suo asse di rotazione è:

           

dove R è il raggio del cilindro

Il momento di inerzia totale dellaspo sarà composto:

·        il momento dfinerzia del mandrino, comprensivo anche del momento di nerzia del nucleo o supporto della bobina: Ja [kgm2]

·        il momento dfinerzia della trasmissione dal motore allfaspo: riduttore meccanico, ingraniggi, pulegge, cinghie e tutti i cinematismi interposti tra motore e bobina ed il momento dfinerzia del motore Jm [kgm2]

·        il momento dfinerzia dellfavvolgimento Javv [kgm2]

Delle tre componenti, le prime due sono costanti e dipendono esclusivamente dalla macchina, mentre la terza è variabile durante tutto il corso della lavorazione.

Il momento dfinerzia totale, ridotto al motore, si calcola secondo la formula:

           Jt = A + B * r4

Dove:

          

          

r  = raggio istantaneo dellfavvolgimento [m]

r0 = raggio iniziale dellfavvolgimento [m]

l  = larghezza dellfavvolgimento [m]

ƒÁ  = densità del materiale (peso specifico) [kgm3]

nt = rapporto di trasmissione

Quindi potremo scrivere che il momento dfinerzia totale, riportato allfalbero motore vale:

          

Ai fini pratici potremmo scrivere:

           Jt = K1 + K2 + K3(R4 – r4)

Perché, sicuramente, motore e trasmissione sono definiti allfatto della costruzione della macchina, mentre le caratteristiche dellfaspo possono variare in modo limitato. In altri termini una determinata macchina sarà costruita per avvolgere un determinato materiale con determinati nuclei di bobina, quindi K3 potrà essere scelta, di volta in volta, tra un limitato numero di varianti.

6.4.2.1.2 Compensazione del momento dfinerzia durante le accelerazioni.

La coppia motrice, necesaria per compensare lfinerzia in fase dfaccelerazione, sarà:

          

dove:

           dƒÖ = variazione dei giri al minuto del motore [rpm]

           dt  = tempo di accelerazione [s]

           Jt  =  inerzia totale ridotta allfalbero motore

Nota: come unità di misura della velocità angolare sono stati usati i giri al minuto invece dei rad/s per praticità

Facendo riferimento alla velocità lineare del materiale avvolto, la velocità angolare varrà:

            

dove:

           ƒÖ = velocità angolare del motore [rpm]

           Vl = velocità lineare del materiale avvolto

Trascurando le variazioni di diametro durante il tempo di accelerazione, si potrà scrivere:

          

da cui si ricava:

          

Il termine A rappresenta la parte costante dellfinerzia (motore, trasmissione, mantrino e nucleo), mentre il termine B rappresenta il coefficiente della parte variabile (avvolgimento). Osservando  la formula si nota che, dei due componenti che determinano il variare della coppia al variare del raggio di avvolgimento, uno è inversamente proporzionale al raggio, mentre lfaltro è direttamente proporzionale al cubo del raggio. A parità di accelerazione lineare, il diverso peso, o la diversa distribuzione, delle componenti costanti e variabili determina la richiesta di coppia supplementare, al variare del raggio, per compensare  lfinerzia durante le fasi di accelerazione.

Il minimo valore di coppia si avrà per:

          

si potranno avere tre casi in funzione del valore di rCmin . Quando il raggio per coppia minima cade allfinterno dellfintervallo r0 – rmax, oppure se rCmin ≤ rmax  o rCmin ≥ r0.

 

Fig. 6.2.4.2 Andamento della Coppia per compensare il momento di inerzia in funzione del raggio:

 a sinistra rcmin = rMax , a destra rCmax = rMax

Il caso più comune si ha quando il valore della coppia di compensazione, corrisponde ad una misura di raggio compresa tra i valori minimi e massimi.

Si ha il massimo valore di coppia in corrispondenza del minimo raggio quando i valori dfinerzia delle parti della macchina sono notevoli, il momento dfinerzia della parte avvolta cresce lentamente (densità del materiale non elevata) e, contemporaneamente il valore del raggio sfincrementa abbastanza rapidamente. In questo caso la coppia è influenzata maggiormente dalla variazione dfaccelerazione angolare.

Al contrario, quando il minimo valore di coppia corrisponde al minimo valore di raggio, la componente inerziale fissa della macchina non è elevata, contemporaneamente il momento dfinerzia dellfavvolgimento cresce rapidamnete (densità del materiale abbastanza elevata) e si ha prevalenza dellfinerzia sullfaccelerazione angolare.

La figura a lato mostra lfandamento della coppia di compensazione in funzione del raggio dellfavvolgi-mento.

Nel primo tratto è prevalente lfeffetto dellfaccele-razione angolare, poi lfincremento del momento dfinerzia prende il sopravvento sulla diminuzione del valore di accelerazione angolare.

6.4.2.2 Calcolo della coppia totale

La coppia motrice totale si può esprimere come somma di varie componenti.

          

dove Cattr. = coppia per compensare gli attriti totali: statici, dinamici e di primo distacco;

           Cattr. = Cst. + Cdin. + Ccol.

La coppia per tensionare il materiale varrà:

           Ctiro = tiro * r ;    con tiro espresso in kg e raggio espresso in m è la copia sarà in kgm.

La coppia per compensare gli attriti statici Cst. sarà equivalente ad una costante.

La coppia per compensare gli attriti dinamici Cdin. Sarà equivalente a:

                                  ƒÖa I velocità angolare dellfaspo

La coppia per compensare lfattrito di primo distacco Ccol., equivale ad una costante erogata per un tempo t allfatto dellfavviamento.

In funzione che lfaspo stia avvolgendo o svolgendo cambiano i segni delle coppie, come cambiano i segni delle coppie in funzione che lfaspo avvolga(svolga) materiale gda sottoh o gda soprah.

Fig. 6.2.4.2.1 Avvolgitore/svolgitore gda soprah a sinistra e, a destra, gda sottoh

La figura 6.4.2.1 esemplifica i due modi di avvolgimento, mentre la tabella che segue riassume i segni della coppia per le 4 configurazioni: avvolgitore/svolgitore e gda sotto/da soprah.

 

AVVOLGITORE

SVOLGITORE

 

Da sotto

Da sopra

Da sotto

Da sopra

 

Accelera

Decelera

Accelera

Decelera

Accelera

Decelera

Accelera

Decelera

Ctiro

-

-

+

+

+

+

-

-

Cattriti

-

+

+

-

-

+

+

-

Cinerzia

-

+

+

-

-

+

+

-

I segni positivi e negativi sono solo convenzionali, stanno ad indicare le direzioni delle forze che possono essere concordi, nel caso dfaccelerazione positiva, o discordi, caso accelerazione negativa.

Nel caso di tutti i segni concordi si ha la massima richiesta di coppia.

6.4.2.3 Dimensionamento del motore.

Per dimensionare correttamente il si procede nel seguente modo: *2

1.      Si determina quale sia il massimo valore di coppia richiesto.

2.      Si sceglie un motore che sia in grado di erogare il valore di coppia richiesto, verificando se è possibile sfruttare la coppia massima del motore in regime transitorio.

3.      Si verifica se è il caso di far lavorare il motore nella regione di potenza costante. Normalmente la richiesta di massima coppia corrisponde a valori di raggio prossimi al massimo, dove la velocità angolare è minima, mentre per valori di raggio minimo, quindi con velocità angolare elevata, la richiesta di coppia è vicina ai valori minimi.

Se si usa un motore in cc la coppia motrice è determinata dalla relazione :

           Cm  = K* IA   questa relazione è valida per regime di corrente di eccitazione costante e flusso saturato. Se si deflussa per aumentare la velocità massima di rotazione la costante K varia in funzione della corrente dfeccitazione.

Con motori in alternata bisogna prevedere un inverter con controllo vettoriale. In questo modo è possibile controllare direttamente il valore di coppia o tramite un riferimento analogico (-10v / +10v), oppure per mezzo di un numero inviato allfinverter sul bus di campo. I motori in alternata, controllati in modo vettoriale, lavorano in regime di coppia costante fino alla loro frequenza base, poi in regime di potenza costante, fino alla frequenza massima.

Particolare attenzione va riservata alla trasmissione: le perdite e gli attriti devono rimanere costanti nel tempo! In un controllo ad anello aperto non si ha la possibilità di misurare lfeffettivo tiro del materiale, la precisione e la costanza del medesimo dipendono dallfaccuratezza del modello, dalla bontà delle tarature e dalla costanza dei parametri. In particolare, se la trasmissione motore aspo viene effettuata tramite un riduttore ad ingranaggi in bagno dfolio, sicuramente si incontreranno problemi nella costanza del tiro, perché un dispositvo di questo tipo presenta perdite di potenza cha variano di un ordine di grandezza con il variare della temperatura di esercizio. A titolo di esempio, un riduttore che nei primi minuti di lavoro necessita di una coppia pari a circa 10kgm solo per muoversi, dopo circa 30f – 45f di lavoro è sufficiente una coppia di circa 1 kgm. Ef facile immaginare come varierà il tiro durante la prima ora di funzionamento, anche prevedendo una compensazione abbastanza sofisticata.

6.4.2.4 Funzione gtaperh.

Con alcuni materiali accade che, nel corso dellfavvolgimento, le spire più interne tendano a scivolare su se stesse,  in qusto modo la tensione del materiale delle spire più interne aumenta notevolmente. Si hanno due conseguenze: una tecnologica ed unfestetica. Dal punto di vista tecnologico il materiale può subire danni irreversibili perché avvolto con tiro molto maggiore dellfottimale. Lfeffetto estetico consiste nellfavere un avvolgimeto che assume una forma telescopica. Purtroppo questo effetto non è solo estetico, ma è causa di severi inconvenienti nelle operazioni di movimentazione e magazzinaggio delle bobine, ed anche nelle successive lavorazioni.

Per ovviare lfinconveniente si avvolge a tiro variabile. In genere si avvolge con un tiro che decresce con il crescere del raggio fino ad un valore soglia, oltre questa soglia il tiro rimane costante. In genere la variazione del tiro è lineare, in altri termini la funzione equivale allfequazione di una retta passante per due punti.

6.4.2.5 Calcolo della coppia per il tiro.

La coppia necessaria al tiro è funzione della semplice relazione:

           Ctiro = Tiro * raggio

Dove:

Ctiro è espressa in kgm se il Tiro è espresso in kg ed il raggio in metri, nel caso il tiro venga espresso in N anche la coppia sarà espressa in Nm. Per apparati molto piccoli la coppia può essere espressa in Ncm e, di conseguenza, anche il raggio sarà espresso in cm.

6.4.2.6 Calcolo del raggio

Da quanto visto nei paragrafi precedenti, una corretta valutazione del raggio è fondamentale per una buona regoalzione. Infatti la precisione del tiro e delle compensazioni durante i transisori, si basa su di un corretto valore del raggio. Ef possibile effettuare la misura del raggio con diverse modalità sia direttamente, sia indirettamente.

La misura diretta del raggio prevede la disponibilità o di dispositivi tastatori meccanici come, ad esmpio rulli cavalieri oppure, caso più comune, misuratori ad ultrasuoni. La misura indiretta necessita sempre di un trasduttore e della circuitazione dfinterfaccia; il tutto comporta un aggravio di costi che può essere quantificato da un minimo di 200€ fino a 500 – 600€ per le soluzioni più precise e sofisticate.

La misura indiretta del raggio non comporta aggravi di costi, perché si avvale di trasduttori che sono comunque presenti sulla macchina, inoltre offre garanzia di precisione, affidabilità e ripetibilità comparabili, o migliori, di quelle offerte da una misura diretta.

La metodologia può variare in funzione dei trasduttori di velocità usati dagli azionamenti. Fino a qualche anno addietro si usavano solo dinamo tachimetriche, poi con lfavvento dei convertitori digitali è sempre più frequnte lfimpiego degli encoders. Nel caso in cui si usi una motorizzazione in alternata sono impiegati solo encoders.

Il principio si basa sullfassunto che prima dellfaspo sia presente un traino od una briglia avente un raggio costante.

Fig. 6.4.2.6.1 Schematizzazione di un aspo con traino e relativa motorizzazione

La fugura precedente mosttra, in modo schematizzato, un aspo completo di traino di ingresso, motorizzati e completi dei relativi trasduttori di velocità.

I trasduttori possono essere, indifferentemente, dinamo tachimetriche od encoders.

La più classica metodologia di misura del diametro consiste nel rapportare le velocità angolari dellfaspo e del traino. Entrambi hanno la medesima velocità periferica, quindi le loro velocità angolari dipendono dai rispettivi raggi. Analiticamente potremo scrivere:

Il raggio del traino è una costante di macchina pertanto il raggio dellfaspo vale:

          

Per calcolare il raggio dellfavvolgimento è sufficiente misurare le due velocità angolari relative allfaspo ed al traino.

Nel caso di dinamo tachimetriche saranno letti due valori analogigi, mentre nel caso di encoders sarà necessario effettuare una letura di due contatorei con la medesima base dei tempi.

Nel caso in cui i trasduttori di velocità siano costituiti da encoders è possibile effettuare la misura in modo più preciso, misurando la quantità di materiale avvolto per una rivoluzione dellfaspo, oppure su n rivoluzioni.

Se si dispone dellfencoder dellfaspo dotato di camma di zero è sufficiente collegare questa camma ad un ingresso ad interrupt; ad ogni interrupt si effettua la lettura del contatore che effettua il conteggio degli impulsi del traino, la differenza tra due letture contigue equivale alla misura della circonferenza in numero di impulsi; è sufficiente moltiplicare il numero di impulsi per la costante metrica e si ottiene il valore della circonferenza. Se la costante K tiene conto anche di 1/2ƒÎ si otterrà direttamente il valore del raggio.

Se non si dispone di tacca di zero e di ingresso di interrupt, la misura può essere effettuata contendo contemporaneamente gli impulsi del traiono e dellfaspo. Dividendo il conteggio degli impulsi dellafaspo per il numero dfimpulsi per giro del suo encoder si otterrà il numero delle rivoluzioni effettuate dall'aspo. Similmente, dividendo il numero degli impulsi conteggiati sul traino per il numero di rivoluzioni calcolato, si otterrà il valore medio della circonferenza dellfaspo che, moltiplicata per una costante appropriata, fornirà il valore medio del raggio.

Il valore di raggio così ottenuto è un dato mediato su alcune rivoluzioni; si dovrà avere cura di fissare un intervallo di misura tale, da avere un valore di raggio misurato aderente alla realtà. In altri termini, se si effettua la media su un numero troppo elevato di rivoluzioni, rispetto alla velocità con cui si incrementa il raggio, si rischia di avere uno scostamento troppo elevato tra il raggio misurato ed il suo valore reale.

6.4.2.6.1 Allarmi e congruità.

Assieme alla misura del raggio è necessario effettuare il controllo di congruità del valore misurato; se si lavora in avvolgitura il raggio può solo aumentare, mentre in svolgitura può solo diminuire. Quindi se, per esempio, si effettua una misura di raggio di valore inferiore alla precedente, mentre si sta lavorando in avvolgitura, si tratta o di una misura errata oppure si è rotto il materiale e lfaspo sta viaggiando ad una velocità angolare anomala. In funzione della velocità di misura, tipo di materiale, velocità di lavoro, si dovrà stabilire il numero di reiterazioni di musura per raggiungere la soglia dfallarme. Allarme che dovrà arrestare la macchina.

6.4.2.6 Calcolo della compensazione durante le accelerazioni.

Le metologie per il calcolo della coppia necessaria a compensare il momento dfinerzia sono essenzialmente due: una si basa su una tabella di valori precalcolati, lfaltra effettua il calcolo ad ogni variazione di diametro.

Nel primo caso si calcolano, al power on, e si memorizzano in due vettori tutti i valori di coppia necessari per compensare lfinerzia durante lfaccelerazione e la decelerazione. Il numero di elementi è funzione del differenziale di raggio previsto. Per esempio, suddividendo lfintero intervallo tra il valore di minimo raggio e quello massimo, in cento differenziali avremo cento valori per lfaccelerazione e cento per la decelerazione. Dopo aver calcolato un nuovo valore di raggio, si effettua la corrispondenza con la coppia di dati corrispondenti allfintervallo di raggio che racchiude il valore misurato. Nel momento in cui si effettuata unfoperazione di accelerazione, sarà attivato un riferimento di coppia pari al valore selezionato.

Questa procedura necessita di una maggior quantità di memoria, ma si adatta meglio a piattaforme hardware che non dispongono di funzioni aritmetiche efficienti e rapide.

Nel caso in cui la piattaforma hardware disponga di funzioni aritmetiche abbastanza performanti si può optare per il calcolo dei valori di coppia, necessari per compensare lfinerzia, direttamente ad ogni aggiornamento del valore del raggio.

6.4.2.7 Operazioni in regime di potenza costante.

Per principio è sempre sconsigliabile lavorare, con un controllo di coppia ad anello aperto, in regime di potenza costante.

Nel caso di un motore in corrente continua lfequazine Cm = K * Ia è valida per Iecc = costante. Lavorando in regime di potenza costante la coppia è variabile per rispettare la relazione Pm = K * Cm * ƒÖ. In un azionamento in corrente continua, quando la rischiesta di velocità del motore supera la velocità base, si arriva al valore limite della tensione di armatura, il regolatore, raggiunta la soglia, riduce, in modo automatico, la corrente di eccitazione fino a che la velocità del motore sia uguale alla richiesta. In questo modo anche la coppia si è ridotta in modo che il valore di potenza sia rimasto costante.

Se si considera che, in un aspo, a parità di velocità lineare la velocità angolare aumenta con il diminuire del raggio, e che, contemporaneamente, al diminuire del raggio a parità di tiro, la coppia motrice necessaria diminuisce proporzionalmente, si può ipotizzare che sia sufficiente non ridurre la coppia in funzione della riduzione del raggio e tutto il sistema si tara automaticamente.

Lfasserzione è vera se, e solo se, si sta lavorando a velocità lineare costante. Se si effettua una variazione di velocità lineare, e quindi di velocità angolare, lfasserzione decade sia per effetto della richiesta di coppia supplementare, sia perché non si conosce la costante di proporzionalità tra corrente di armatura e coppia motrice. Solo conoscendo il nuovo valore del coefficiente di proporzionalità Coppia motrice – corrente di armatura, sarà possibile riaggiustare il sistema.

6.4.2.8 Considerazioni sul riferimento di velocità allfaspo

Di norma è consiglaibile dare riferimento zero per un aspo svolgitore, mentre per un avvolgitore si fornisce il medesimo riferimento di linea. Fa eccezione, per gli svolgitori, la funzione di gmessa in tensione da fermoh; in questo caso si fornirà un riferimento di velocità negativa pari ad alcuni percento (5% - 10%) del valore massimo.

Alcuni sostengono che, nel caso di aspo avvolgitore, si debba fornire un riferimento di velocità che equivalga a:

          

in questo modo anche in caso di rottura del matreriale lfaspo non ruota a velocità pericolose. Si pensi ad un aspo il cui rapporto diametri sia: diametro massiomo = 10 * diametro minimo, in caso di rottura del materiale con valori di raggio prossimi al valore massimo, si avrebbe una velocità angolare maggiore di dieci volte della velocità richiesta con possibili effetti dannosi dovuti alla forza centrifuga sullfavvolgimento.

Si possono evitare effetti dannosi, in caso di rottura del materiale, perché se la velocità angolare tende ad aumentare il raggio calcolato tende a diminuire e, nel caso di aspo avvolgitore, la diminuzione del raggio è una condizione di errore (cfr. paragrafo 6.4.2.6 Calcolo del raggio).

7 Considerazioni finali

Per questfultima applicazione non sono stati riportati schemi a blocchi e/o listati di funzioni in linguaggio pseudo gCh. Non si tratta di una dimenticanza, o di svogliatezza o di stanchezza. Ef una scelta precisa. Si presume che il lettore, che è arrivato fino a questo punto, sia in grado oramai di lavorare direttamente alla codifica del software necessario per implementare la funzione richiesta.

Potrebbe anche essere un buon esercizio.

Nellfappendice troverete una scarna bibliografia, un foglio di calcole excel che consente la verifica delle coppie e velocità angolari necessari per un determinato aspo. Il foglio di calcolo si avvale di macro in visual basic, questa macro potrebbe anche essere interessante da analizzare. Titolo del foglio: test_aspo.zip.

Sempre nellfappendice ho allegato alcuni esempi codificati per la piattaforma Hardware S7-200.

Per eventuali quesiti e precisazioni sono a disposizione, come sempre, su PLC forum.

Versione 1.0 dello 08 – 12 - 2002

Livio S. Orsini



*1 David Halliday – Robert Resnick: Fisica 1; Alonzo – Finney: Fisica 1

*2 In appendice è riportato un foglio di calcolo excel, che effettua la verifica di coppia e velocità del motore in funzione del raggio, quantizzato in centesimi di diametro.