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 dfuso 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 gballerinoh, 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 unfoperazione 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 lfescursione. Lfinterfaccia 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 lfescursione della velocità: dal massimo negativo al massimo positivo.

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

Tutta lfescursione 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 lfescursione 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. Lfanello di posizione deve mantenere la posizione reale uguale alla posizione virtuale; inizialmente lferrore di posizione aumenterà poi, quando la velocità reale eguaglia la velocità teorica, lferrore rimane costante per poi decrescere fino ad annullarsi quando la posizione virtuale ha eguagliato la quota da raggiungere.

Il diagramma a lato rappresenta lfandamento, nel tempo, della velocità e della posizione. Le linee nere intere rappresentano lfanda-mento della velocità e posizione virtuale, mentre le linee rosse rappresentano lfandamento 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. Ef 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 nellfintorno dellferrore zero. In alcune lavorazioni questo fenomeno è particolarmente dannoso, si consideri, per esempio il caso di una macchina utensile. Ef 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 è dellfordine 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 glentoh.

 

Il diagramma a lato schematizza lfandamento 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ì sfimpone 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 gscappah). Di seguito riportiamo una funzione scritta in pseudo gCh che esemplifica il sistema descritto. Come la precedente funzione PID, anche questa funzione è legata allfinterrupt 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;

            }

Nellfesempio riportato in appendice, dove si applica una CPU S7-215, lfalgoritmo prevede anche unfazione integrale. Lfintroduzione dellfintegrale 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 allfinterno della funzione di servizio dellfinterupt del real timer clock.

6.1.1.1.2 Considerazioni generali

Nellfesempio di posizionamento riportato nel capitolo precedente, si genera una posizione teorica o virtuale, il sistema fisico insegue questa posizione; lferrore 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 questfapplicazione.

6.1.2 Posizionatori con encoder

Nel sistema preso ad esempio sfipotizza lfuso 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 dfingressi digitali.

6.1.3 Posizionatori multiasse

Con il termine di multi asse sfintende 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 lfavanzamento della posizione dellfutensile e la rotazione del mandrino. Nel caso del tornio la correlazione è ottenuta in modo meccanico: lfutensile è fatto avanzare dalla rotazione di una madrevite, la madrevite è accoppiata, tramite una quaterna dfingranaggi, al mandrino; quindi ad ogni variazione angolare del mandrino corrisponderà un ben preciso incremento di posizione dellfutensile; 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 lfesatto 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 lfutensile si sarà spostato di 0.25 mm, ma il controllo deve essere continuo; pertanto si può affermare che lfavanzamento deve essere tale che per ogni grado di rotazione lfutensile 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 dellfesempio sono apparentemente restrittive, eppure questo tipo di applicazione è una delle più semplici ed è conosciuta con il nome di gasse elettrico master – slaveh.

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 lfargomento in modo dettagliato ed approfondito in un manuale dfuso generale

6.2. Assi elettrici.

Con il nome di gasse elettricoh sfidentifica un regolatore che svolge funzioni analoghe ad un albero meccanico (asse).

Storicamente, agli albori dellfera 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 lfavvento dellfenergia 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 dforgani 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.. Lfelenco 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 lfidentica velocità angolare e, mediamente, la medesima fase. La fase sarà mediamente uguale perché, durante i transitori, lfelasticità dellfalbero fa sì che alle sue estremità, per alcuni istanti, la fase sia diversa; per esempio accelerando la velocità lfalbero si torce ed una sua estremità è leggermente in ritardo rispetto allfaltra; al termine dellfaccelerazione lfelasticità del materiale ricupera il ritardo e, comunemente, compie una breve oscillazione intorno allo zero.

Sostituendo lfunico motore e lfalbero meccanico, con due motori elettrici ed un dispositivo di regolazione che mantenga la loro fase relativa senza eccessive variazioni, abbiamo realizzato un dispositivo equivalente allfalbero 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, è lfapplicazione che determina il tipo di architettura.

6.2.1.2 Configurazione gmaster – slaveh

Questfarchitettura 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 (gContravesh 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 virtualeh

Il termine gmaster virtualeh 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 dallfencoder, quindi si può simulare un motore generando la frequenza equivalente dellfencoder.

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. Lfunica 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 allfoperatore qqueste operazioni. In genere lfoperatore 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 allfallungamento 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.

Ef 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 10h <= tacc <= 30h

5.      Numero dfimpulsi per giro dellfencoder: 400 impulsi / giro.

6.      Tipo di segnale dellfencoder: 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 sullfalbero.

13.  Lfoperatore 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 nellfindustria.

Con i dati di encoder e di velocità massima del motore si ricava che la massima frequenza generata dallfencoder è 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à lfinterrupt di richiamo della routine di regolazione. Questa costituisce il nucleo del controllo. A corollario, ed a più bassa priorità, ggirerannoh le funzioni che, ricevendo i dati dallfinterfaccia 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 lfinvremento 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 lfintegrale della velocità (lo spazio), non la velocità istantanea! A transitorio esaurito, se il regolatore è ben ottimizzato, lferrore istantaneo sarà ƒÃ <= 1 impulso di encoder, ma ƒÃ è un errore di spazio e non di velocità.

La figura a lato esemplifica lfandamneto della velocità durante un transitorio. La linea rossa rappresenta lfandamento della velocità master, mentre quella nera rappresenta lfandamento della velocità slave. Le due aree, indicate dalle linee verdi sono equivalenti. Esse rappresentano lferrore di spazio accumulato dalla slave durante la fase di accelerazione, compensato dalla sovra velocità dello slave al termine dellfaccelerazione del amster. In questo modo lferrore di spazio è nullo, mentre lferrore 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 allferrata taratura dei regolatori, ma ad unferrata 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 gCh per il calcolo del feed forward e del numero dfimpulsi 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;   /*1h=1000ms è 100tics*/

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

                                   delta_acc_s2 =(180*( (1000-n)/1000))/(t_acc*100);   /*1h=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);   /*1h=1000ms è 100tics*/

                                   old_n = n;

                             }

            }

La funzione feed_forward calcola i nuovi valori per il feed forward analogico e per i delta dfimpulsi 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 dfinzializzazione si dovrà provvedere a calcolare i differenziali di counts di D/A C ed i differenziali di impulsi necessari alle rampe di accelerazione. Lfaccelerazione 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 lfaccelerazione

Void init()

            {

                        c..

                                   /*   costanti per slave 1   */

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

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

                                   /*   costanti per slave 2  */

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

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

            }

6.2.1.4.2 Routine di regolazione

La routine di regolazione verrà attivata dallfinterrupt 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 dfaccelerazione 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;

}

Dallfesame 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, dellfincremento 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, lferrore 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, lfalgoritmo proposto è comunque indipendente dal riconoscimento hardware dellfavvenuto trabocco. Lfalgoritmo è 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.; lfintroduzione di un derivativo sullferrore, in genere, rende il sistema molto gnervosoh, 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 dfavvolgitura tipo g Servodiametroh

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 gballerinoh; 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: lfaspo 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 dellfavvolgimento. Se, per esempio, la coppia del motore fosse pari a 5kgm per un raggio dfavvolgitura 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 dellfavvolgimento è 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 lfaccelerazione 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 lfattrito statico del sistema di trasmissione

3.      Coppia per compensare lfattrito dinamico dellfintero sistema

4.      Coppia per compensare lfattrito di primo distacco

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

6.      Coppia necessaria per compensare il momento dfinerzia dellfavvolgimento

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, lfattrito statico ed il momento dfinerzia. La coppia necessaria alla piegatura del materiale entra nel calcolo solo nel caso di avvolgimenti con materiali particolaramente resistenti, quali lamiere dfacciaio speciale o simili, Anche lfattrito di primo distacco, nella maggior parte delle applicazioni, o non è considerato oppure è sufficiente erogare una coppia costante per un tempo definito allfatto dellfavviamento. Lfattrito dinamico in genere, anche se non è considerato, non pregiudica il buon funzionamento del sistema.

Le componenti che influenzano pesantemente la qualità dellfavvolgimento sono: la corrispondenza coppia – diametro, la compensazione del momento dfinerzia 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 dfinerzia 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 lfoperazione di avvolgitura la bobina si presenta con la caratteristica forma a gcannocchialeh. Questa anomalia dipende dallfassenza o dal cattivo funzionamento della funzione gtaperh.

6.2.4.1 Calcolo e compensazione del momento dfinerzia.

Il momento dfinerzia è un parametro che, generalmente, influenza notevolmente le prestazioni degli aspi. Il momento di inerzia gJh è 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 dellfIngegnere e sul Manuale del Perito Industriale si trovano le formule per il calcolo del momento dfinerzia 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 dellfavvolgimento, mentre il cilindro cavo corrisponde allfavvolgimento. 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 dfinerzia. Inoltre, se la velocità del materiale è costante, cambiando il diametro varierà la velocità angolare percui con diametro minimo lfaccelerazione angolare sarà massima.

6.2.4.1.1 Calcolo del mometo dfinerzia.

Di seguito diamo le formule per il calcolo del momento dfinerzia di un cilindro cavo e di un cilindro; per chi volesse affrontare lfargomento, 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 lfintegrale 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 dfinerzia del mandrino, comprensivo anche del momento di nerzia del nucleo o supporto della bobina: Ja [kgm2]

·        il momento dfinerzia della trasmissione dal motore allfaspo: riduttore meccanico, ingraniggi, pulegge, cinghie e tutti i cinematismi interposti tra motore e bobina ed il momento dfinerzia del motore Jm [kgm2]

·        il momento dfinerzia dellfavvolgimento 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 dfinerzia totale, ridotto al motore, si calcola secondo la formula:

           Jt = A + B * r4

Dove:

          

          

r  = raggio istantaneo dellfavvolgimento [m]

r0 = raggio iniziale dellfavvolgimento [m]

l  = larghezza dellfavvolgimento [m]

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

nt = rapporto di trasmissione

Quindi potremo scrivere che il momento dfinerzia totale, riportato allfalbero motore vale:

          

Ai fini pratici potremmo scrivere:

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

Perché, sicuramente, motore e trasmissione sono definiti allfatto della costruzione della macchina, mentre le caratteristiche dellfaspo 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 dfinerzia durante le accelerazioni.

La coppia motrice, necesaria per compensare lfinerzia in fase dfaccelerazione, sarà:

          

dove:

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

           dt  = tempo di accelerazione [s]

           Jt  =  inerzia totale ridotta allfalbero 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 dellfinerzia (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 lfaltro è 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  lfinerzia 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 allfinterno dellfintervallo 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 dfinerzia delle parti della macchina sono notevoli, il momento dfinerzia della parte avvolta cresce lentamente (densità del materiale non elevata) e, contemporaneamente il valore del raggio sfincrementa abbastanza rapidamente. In questo caso la coppia è influenzata maggiormente dalla variazione dfaccelerazione 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 dfinerzia dellfavvolgimento cresce rapidamnete (densità del materiale abbastanza elevata) e si ha prevalenza dellfinerzia sullfaccelerazione angolare.

La figura a lato mostra lfandamento della coppia di compensazione in funzione del raggio dellfavvolgi-mento.

Nel primo tratto è prevalente lfeffetto dellfaccele-razione angolare, poi lfincremento del momento dfinerzia 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 dellfaspo

La coppia per compensare lfattrito di primo distacco Ccol., equivale ad una costante erogata per un tempo t allfatto dellfavviamento.

In funzione che lfaspo stia avvolgendo o svolgendo cambiano i segni delle coppie, come cambiano i segni delle coppie in funzione che lfaspo avvolga(svolga) materiale gda sottoh o gda soprah.

Fig. 6.2.4.2.1 Avvolgitore/svolgitore gda soprah a sinistra e, a destra, gda sottoh

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

 

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

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 allfinverter 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 lfeffettivo tiro del materiale, la precisione e la costanza del medesimo dipendono dallfaccuratezza 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 dfolio, 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 30f – 45f di lavoro è sufficiente una coppia di circa 1 kgm. Ef facile immaginare come varierà il tiro durante la prima ora di funzionamento, anche prevedendo una compensazione abbastanza sofisticata.

6.4.2.4 Funzione gtaperh.

Con alcuni materiali accade che, nel corso dellfavvolgimento, 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 unfestetica. Dal punto di vista tecnologico il materiale può subire danni irreversibili perché avvolto con tiro molto maggiore dellfottimale. Lfeffetto estetico consiste nellfavere 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 lfinconveniente 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 allfequazione 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. Ef 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 dfinterfaccia; 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 lfavvento dei convertitori digitali è sempre più frequnte lfimpiego degli encoders. Nel caso in cui si usi una motorizzazione in alternata sono impiegati solo encoders.

Il principio si basa sullfassunto che prima dellfaspo 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 dellfaspo 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 dellfaspo vale:

          

Per calcolare il raggio dellfavvolgimento è sufficiente misurare le due velocità angolari relative allfaspo 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 dellfaspo, oppure su n rivoluzioni.

Se si dispone dellfencoder dellfaspo 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 dellfaspo. Dividendo il conteggio degli impulsi dellafaspo per il numero dfimpulsi 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 dellfaspo 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 lfaspo 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 dfallarme. 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 dfinerzia sono essenzialmente due: una si basa su una tabella di valori precalcolati, lfaltra 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 lfinerzia durante lfaccelerazione e la decelerazione. Il numero di elementi è funzione del differenziale di raggio previsto. Per esempio, suddividendo lfintero intervallo tra il valore di minimo raggio e quello massimo, in cento differenziali avremo cento valori per lfaccelerazione e cento per la decelerazione. Dopo aver calcolato un nuovo valore di raggio, si effettua la corrispondenza con la coppia di dati corrispondenti allfintervallo di raggio che racchiude il valore misurato. Nel momento in cui si effettuata unfoperazione 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 lfinerzia, 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 lfequazine 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.

Lfasserzione è 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, lfasserzione 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à allfaspo

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 fermoh; 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 lfaspo 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 sullfavvolgimento.

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 questfultima applicazione non sono stati riportati schemi a blocchi e/o listati di funzioni in linguaggio pseudo gCh. Non si tratta di una dimenticanza, o di svogliatezza o di stanchezza. Ef 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.

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