Vai al contenuto
PLC Forum


Motori Accoppiati Ed Oscillazione Di Velocità A Frequenza Fissa


setecastronomy

Messaggi consigliati

Una macchina ha la traslazione affidata a 3 motori con altissima riduzione (1:20000) che ingranano su una stessa cremagliera.

L'operatore muove la macchina impostando una velocità di traslazione.

Questo requisito spingerebbe a scegliere un controllo in velocità per i motori ma le particolari caratteristiche meccaniche creano qualche dubbio.

E' fondamentale che i 3 motori applichino coppie molto simili al carico: infatti, a causa dei grossi moto-riduttori presenti, potrebbe teoricamente capitare che un solo motore 'spinga' davvero e gli altri facciano la stessa velocità senza fornire coppia. Una tale situazione porterebbe al guasto della meccanica e deve essere evitata. Vista la limitata esperienza con sistemi meccanici di questo tipo non so dire se i dubbi espressi sopra siano davvero fondati, ma nel caso lo fossero invece del controllo di velocità andrebbe impostato un controllo di coppia con riferimento uguale per i tre motori e calcolato tramite un rudimentale anello di velocità fatto a codice.

Lo hardware a disposizione è già stato scelto ed è costituito da PLC Allen Bradley Compact Logix L36ERM abbinato a 3 PowerFlex 755 e 3 motori brushless con encoder assoluto multi giro.

La parte 'Motion' su questo tipo di PLC mi è del tutto nuova e cerco suggerimenti su come sia meglio affrontare la cosa.

In altri lavori che presentano analogie con quello attuale il tutto è stato fatto mettendo un motore master e gli altri slave in coppia comandando il master in controllo di velocità: da quello che ho visto una simile configurazione non è supportata dall'hardware che ho descritto sopra. Mi sbaglio ?

Grazie

Filippo

P.S.

Gradirei anche ricevere qualche link ad esempi di motion control fatti con hardware AB disponibili in rete.

Link al commento
Condividi su altri siti


Con quei rapporti di riduzione la maggior parte della coppia se la "mangia" il riduttore.

Comunque se vuoi la certezza che ogni motore contribuisca in egual misura allo sforzo devi costruire un'architettura con ripartizione di coppia.

In pratica avrai un azinamento master pilotato in velocità. Di questo azionamento si misura la coppia erogata. Gli altri 2 azionamenti sono controllati in coppia dando non il riferimento di velocità ma quello di coppia. Il regolatore dovrà regolare le 2 coppie in modo che il valore delle coppie erogate dai 3 motori siano identiche.

Questo tipo di controllo è abbastanza usuale nelle applicazioni con motori in cc e anche con azionamenti asicroni a controllo vettoriale. Non conosco i convertitori scelti quindi non so se è possibile il controllo diretto della coppia.

Per curiosità quale è la motivazione per aver scelto motori brushless per un'applicazione più adatta ad asincroni? (almeno dalle informazioni che hai dato).

Link al commento
Condividi su altri siti

>>Per curiosità quale è la motivazione per aver scelto motori brushless per un'applicazione più adatta ad asincroni?

Sono stato coinvolto quando lo hardware era già stato deciso. Da quello che mi è stato detto la scelta è andata sui motori brushless perché devono lavorare in ambiente molto polveroso (i motori scelti sono ermetici) e con problematiche di dissipazione del calore (il brushless, essendo più efficiente, dovrebbe, a parità di coppia, dissipare meno calore).

Rielaborando il suggerimento su come eseguire il controllo ed adattandolo al materiale a disposizione il setup potrebbe essere questo:

Asse1 in controllo velocità

Asse2 e Asse3 in controllo coppia.

Da programma imposto la velocità per Asse1 (credo di dover usare l'istruzione per il jog, MAJ), poi metto Axi2.CommandTorque = Axis3.CommandTorque = Axi1.ActualTorque.

L'unica mia perplessità è che in questo modo sono legato al ciclo di scansione del programma, che potrebbe essere troppo lungo per avere un controllo efficace.

Saluti

Filippo

Link al commento
Condividi su altri siti

L'unica mia perplessità è che in questo modo sono legato al ciclo di scansione del programma, che potrebbe essere troppo lungo per avere un controllo efficace.

Sicuramente il controllo non può essere svolto a ciclo, ma è necessario che il regolatore sia richiameto ad intervalli di tempo precisi e costanti. Molto spannometricamente direi che la funzione dovrebbe essere attiva con periodo <= 5ms.

Hai un'alternativa semplice e poco costosa: realizzare la bilancia di corrente con il vecchio metodo analogico. Ci sono aziende che hanno ancora in catalogo sche opzionali adatte a realizzare queste funzioni, magari componendo una specie di LEGO con 2 o 3 schedine.

Per inciso anche gli asincroni possono essere ermetici senza troppi problemi, mentre in ordine al rendimento oggi ci sono motori ad altissimo rendimento, superiore a quello dei brushless. Il tutto a costi inferiori.

Link al commento
Condividi su altri siti

  • 2 months later...

Dei motoriduttori fanno girare un braccio meccanico molto pesante come fosse la lancetta di un orologio. L'operatore controlla la velocità di rotazione per le quale non è richiesta una grande precisione. Arrivato alla posizione angolare di lavoro il braccio sta fermo per lungo tempo. Per questo sono stati scelti dei motori dotati di freno in modo da non dover dare corrente per contrastare, in condizioni statiche, la coppia dovuta al peso del braccio.

Per motivi che non sto a riportare i motori non vengono comandati tramite un asse controllato in velocità, ma con un riferimento di coppia calcolato da un PID messo nella logica ladder. Mettendo i giusti valori per le costanti proporzionale, integrale e derivativo la teoria del controllo dice che posso ottenere una risposta che segue rapidamente il set point. Come già accennato non è però necessario seguire instantaneamente e con errore minimo la velocità scelta dall'operatore, per cui le costanti del P, I, e D potrebbero essere tarate in modo tale da non stressare troppo la meccanica. Il mio dubbio però è il seguente: quando l'operatore imposta una velocità bassa ma diversa da zero per rimettere in moto il braccio fermo, sbloccando subito i freni corro il rischio che la coppia del carico sia maggiore di quella inizialmente calcolata dal PID e potrei avere un movimento che per qualche istante va in direzione contraria a quella desiderata.

Come si risolvono casi del genere ?

Prima di sbloccare i freni potrei accertarmi che la variabile di comando del pid sia sopra un certo valore, ma questo valore, per essere precisi, varia con la posizione angolare del braccio ed eventuali altri parametri.

Grazie

Filippo

Link al commento
Condividi su altri siti

La descrizione non è molto chiara, però si evince una cosa: il sistema è controllato in coppia.

Impostando una velocità differente da zero l'azionamento tende a raggiumìngere la velocità impostata sino a che la coppia non egualgi il valore imposto e, contemporaneamente la velocità del sistema non potrà comunque superare il valore di riferimento impostato.

La corretta manovra vorrebbe che il camndo di sblocco freni sia contemporaneo al comando di marcia. Il piccolo ritardo dovuto alla meccanica del freno evita un eventuale movimento in senso contrario alla marcia.

Link al commento
Condividi su altri siti

Probabilmente il ritardo nello sblocco del freno sarà sufficiente ad evitare movimenti in senso contrario.

Rielaboro però le mie considerazioni riportate sopra. I parametri del PID sono gli stessi per le due direzioni di rotazione.

Quando però il braccio è a 90 gradi (lancetta dell'orologio alle 3 o alle 9 ) esercita la coppia massima sull'asse di rotazione.

Nel momento in cui voglio muovermi le condizioni iniziali del pid sono le stesse sia che voglia andare in senso orario che antiorario, ma in un caso la coppia motore si somma a quella del peso del braccio, nell'altro si sottrae. Se la coppia dovuta al peso del braccio riportata al motore è una percentuale non trascurabile della coppia massima del motore stesso temo che il pid 'fatichi' a regolare la velocità.

Grazie

Filippo

Link al commento
Condividi su altri siti

Nella tua applicazione l'andamento della copia è sinusoidale, almeno si no ad un certa velocità angolare poi, pian piano subentra l'effetto volano che "spiana" le ondulazioni di coppia.

A parte le considerazioni sulla scelta della regolazione in coppia, io avrei usato la classica regolazione in velocità lasciando all'azionamento la generazione della coppia necessaria, se il sitema è ben ottimizzato e ben dimensionato non dovresti aver nessun effetto negativo in tutte le condizioni di esercizio.

In un regolatore PID l'azione della componente proporzionale è immediata quindi nel momento che si porduce l'errore si produce anche la correzione. E' pur vero che la sola componente proporzionale non compensa tutto l'errore ma nel tempo che intercorre tra il comando di amrcia e lo sblocco del freno meccanico già l'integrale comincia a lavorare aggiungendo al sua compensazione; inoltre anche l'azione derivativa viene in soccorso.

Questo tipo di applicazione è un classico usato come dimostrazione delle prestazioni degli inverter vettoriali a bassissima velocità.

nelle mie esperienze passate ho dovuto affrontare problematiche simili per grossi carichi (100 kg - 200 kg); ho preferito usare un calcolo di feed forward che agisce in parallelo al regolare PID retroazionato.

Link al commento
Condividi su altri siti

  • 1 month later...
setecastronomy

Per controllare un sistema uso l'istruzione PID presente nei MicroLogix Allen Bradley. Dovrebbe essere una implementazione 'classica' tempo discreta dell'algoritmo PID.

Al primo tentativo il sistema in anello chiuso si è rilevato instabile ed ho dovuto abbassare drasticamente i guadagni.

Ora che il sistema retro-azionato è stabile ho dei problemi con il range dei set point, variabili ad esempio tra 1 e 100.

Tra il set point minimo e quello massimo ci sono almeno due ordini di grandezza.

Come tutti i sistemi reali quello in esame è tutt'altro che lineare, specie per piccoli comandi, dove attriti e giochi creano una zona morta.

Per set point vicini al valore massimo l'errore con partenza da fermo è tale che la parte proporzionale del PID genera da sola un comando sufficiente a vincere tutti gli attriti, inerzie e giochi e la risposta è soddisfacente.

La partenza con con set point 'piccoli' è invece più problematica, visto che l'errore è piccolo anch'esso ed il comando verso il sistema controllato cade all'interno della zona morta.

Piano piano l'effetto della parte integrale dell'errore si fa sentire ed il sistema raggiunge il setpoint, ma i tempi sono troppo lunghi.

La costante integrale del PID non la posso incrementare molto per il rischio di instabilità.

Cosa si può fare in questi casi ?

Avete suggerimenti pratici che posso applicare ?

E trattazioni teoriche da suggerire ?

Io ho trovato un documento in cui si suggerisce di usare una tecnica PWM, ma non ci ho capito molto, e non sono neppure sicuro sia applicabile al mio hardware.

Grazie

Filippo

Link al commento
Condividi su altri siti

Cosa si può fare in questi casi ?

La cura migliore è usare il feed forward e ridurre l'influenza del PID.

Poi io eviterei di usare il regolatore standard PID di libreria. Questi algoritmi devono necessariamente essere per impieghi generali, quindi poco ottimizziati per casi specifici. In genere danno il massimo nei controlli di temperatura, controlli che non sono molto veloci.

Se tu descrivessi nei dettagli l'applicazione, forse sarebbe possibile dare un suggerimento più mirato.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

setecastronomy
Questi algoritmi devono necessariamente essere per impieghi generali, quindi poco ottimizzati per casi specifici.

Sintetizzare un controllore secondo la teoria dei controlli automatici è un operazione certo non facile ed alla portata di chiunque.

Le incertezze nella conoscenza del sistema e le sue non linearità potrebbero comunque compromettere il funzionamento di un controllore ad hoc che solo in teoria e nelle simulazioni darebbe una risposta ottimale.

Comunque sono aperto a valutare qualsiasi tipo di soluzione implementabile in tempi brevi.

Se tu descrivessi nei dettagli l'applicazione, forse sarebbe possibile dare un suggerimento più mirato.

L'applicazione è la stessa a cui ho accennato in altre discussioni. Ho dei motori con dei grossi riduttori che alzano un braccio meccanico (tipo la sbarra del passaggio a livello, ma decisamente più pesante !). L'anello in coppia è chiuso dal drive, quello in velocità, per requisito progettuale, va chiuso con la logica del plc. Il riferimento di velocità varia in un range troppo ampio e da prove effettuate senza carico la risposta è buona per riferimenti 'alti', ma non per quelli 'piccoli'. Un azione di feed forward va messa in conto per controbilanciare la coppia generata dal peso del braccio.

Se le cose dovessero diventare troppo complicate proveremo a chiudere l'anello di velocità nel drive, con una scelta che infastidirà il cliente. Inoltre non credo che il software di controllo del drive sia 'magico' per cui non mi aspetto comunque miracoli.

Saluti

Filippo

Link al commento
Condividi su altri siti

Sintetizzare un controllore secondo la teoria dei controlli automatici è un operazione certo non facile ed alla portata di chiunque.

Certo. Bisogna saperlo fare, magari tralasciando un certo numero di masturbazioni mentali che, seppur ineccepibili secondo teoria, nella pratica sono ininfluenti o, peggio, dannose perchè alcuni parametri non possono essere calcolati con sufficiente precisione.

Questo argomento, sebbene interessantissimo, non può essere dibattuto/sintetizzato nel poco spazio di un messaggio di una discussione.

Comunque sono aperto a valutare qualsiasi tipo di soluzione implementabile in tempi brevi.

La soluzione è quella di scriversi un regolatore adattato all'applicazione; i tempi possono anche essere brevi, se si verifica la condizione espressa prima. Ma questo solo tu puoi saperlo.

L'anello in coppia è chiuso dal drive, quello in velocità, per requisito progettuale, va chiuso con la logica del plc.

Questo, a mio parere. è andarsi a cercare i guai. Non conosco a fondo le potenzialità attuali di micrologix, però sonoi convinto che degrada le prestazioni del drive.

Anche se non specifichi quale tipo, modello e marca di azionamento (drive + motore + trasduttore) stai usando mi rifiuto di credere che un anello di velocità realizzato con un PLC possa essere più performate di quello di un drive appena decente.

Inoltre non credo che il software di controllo del drive sia 'magico' per cui non mi aspetto comunque miracoli.

Magico no, ma se è appena decente i risultati dovrebbero essere di gran lunga migliori di quelli ottenibili da un PID per impieghi generali realizzato con un PLC.

Ovviamente i regolatori del drive, quello di corrente e quello di velocità, devono essere ottimizzati in modo perfetto, ma questo vale per qaulsiasi regolatore.

Ultimo ma non ultimo. L'azionamento è suffiicente per le prestazioni richieste?

Alcune mie curiosità:

  • In quanto tempo si chiude il regolatore PID?
  • Qual'è il suo periodo di richiamo, e con quale precisione?
  • Che tipo di azionamento è stato impiegato?

Link al commento
Condividi su altri siti

setecastronomy

Alcune mie curiosità:

  • In quanto tempo si chiude il regolatore PID?
  • Qual'è il suo periodo di richiamo, e con quale precisione?
  • Che tipo di azionamento è stato impiegato?

Gli azionamenti sono gli Allen Bradley PowerFlex 755 collegati con motion IP o qualcosa del genere.

Il pId è inserito in un task periodico con periodo 10 o 50 ms, non ricordo.

Puoi precisare meglio la prima curiosità ?

Saluti

Filippo

Link al commento
Condividi su altri siti

Il pId è inserito in un task periodico con periodo 10 o 50 ms, non ricordo.

Gia 10 ms è un tempo lungo, al limite o già oltre il massimo ammissibile per una regolazione decente; 50 ms di periodo per un simile regolatore sarebbe un assurdo. E' fondamentale la costanza di questo periodo.

Puoi precisare meglio la prima curiosità ?

Non c'è molto da precisare, il tempo trascorso dall'acquisizione dell'errore alla generazione della correzione è un dato fondamentale per un regolatore discreto, come è fondamentale la sua costanza. Ovviamente quando il jitterig diventa non trascurabile rispetto al periodo di esecuzione bisogna ricorrere a correttivi che dubito siano inseriti in un regolatore per impieghi generali a basse prestazioni, come lo sono solitamente i PID di libreria dei PLC.

Se gli azionamenti sono brushless, come mi sembra di ricordare da una tua precedente discussione, trovo assurdo degradarne le prestazioni rifacaendo sul PLC il regolatore di velocità. Poi, se ben ricordo, i motori sono 3, quindi il PLC dovrà risolvere non uno ma 3 regolatori PID...... :wacko:

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

setecastronomy

Non c'è molto da precisare, il tempo trascorso dall'acquisizione dell'errore alla generazione della correzione è un dato fondamentale per un regolatore discreto, come è fondamentale la sua costanza.

Non ho assolutamente idea di quanto sia questo tempo, l'ho dato per scontato che fosse trascurabile.

Poi, se ben ricordo, i motori sono 3, quindi il PLC dovrà risolvere non uno ma 3 regolatori PID

Vi sono due gruppi di motori con compiti diversi, l'uno con 3 motori e l'altro con 6 motori meccanicamente collegati.

In verità l'idea era quella di usare un PID per ogni gruppo ed essere così sicuri che ogni motore abbia lo stesso riferimento di coppia.

Il committente, basandosi su considerazioni meccaniche che non conosco, è infatti fissato su questo punto, garantire che ogni motore spinga (quasi) allo stesso modo. Imporre la stessa velocità ai motori del gruppo non darebbe la solita sicurezza, sia perché piccoli errori porterebbero alcuni motori ad essere trascinati, sia perché idealmente, compiendo la stessa distanza angolare, alcuni potrebbero non essere in presa perché non hanno recuperato il gioco dei riduttori.

La soluzione PID mi sta convincendo sempre meno, ma allo stesso tempo non sono molto tranquillo pilotando 6 motori in velocità dando loro lo stesso riferimento quando c'è un accoppiamento meccanico rigido tra di essi. Sono motori uguali pilotati da drive uguali, ma basta un piccolo scostamento per far sì che uno freni o tenda a trascinare gli altri.

Il controllo in coppia mi assicura una maggior robustezza in questo caso, anche se le coppie non sono esattamente le stesse comunque i motori contribuiscono tutti al moto.

Le mie sono solo speculazioni teoriche alimentate dalla paure del committente ?

Tra le varie idee buttate là che ho sentito per pilotare questi motori ce ne è una che mi ha fatto gelare: variare dinamicamente il riferimento di velocità ai vari motori del gruppo aumentandolo a quei motori che assorbono meno corrente. Per me è il metodo migliore per tritare ingranaggi !?

Grazie

Filippo

Link al commento
Condividi su altri siti

Non ho assolutamente idea di quanto sia questo tempo, l'ho dato per scontato che fosse trascurabile.

Non credo prprio sia trascurabile ma, se va bene, quel PLC impiegherà almeno un 2-3 ms per risolvere un PID. Certo che se il periodo di richiamo è stato fatto pari a 50 ms, si può quasi ritenere trascurabile, tanto è già enormemente lento il vampionamento. :toobad:

Imporre la stessa velocità ai motori del gruppo non darebbe la solita sicurezza, sia perché piccoli errori porterebbero alcuni motori ad essere trascinati, sia perché idealmente, compiendo la stessa distanza angolare, alcuni potrebbero non essere in presa perché non hanno recuperato il gioco dei riduttori.

Invece è questa la via maestra per ottenere motori che erogano la stessa coppia, o percentuali di coppia ben precise.

Solitamente s'imposta la medesima velocità per tutti i motori; si confrontano le coppie erogate da ciascun motore e si ribilanciano con apposito regolatore. Però non è certo il caso di realizzare un simile regolatore con un PLC di livello medio basso come micrologix.

Tra le varie idee buttate là che ho sentito per pilotare questi motori ce ne è una che mi ha fatto gelare: variare dinamicamente il riferimento di velocità ai vari motori del gruppo aumentandolo a quei motori che assorbono meno corrente. Per me è il metodo migliore per tritare ingranaggi !?

Commenttendo volutamente un errore di sintassi direi che è l'idea più pessima possibile. :smilie_nono:

E' la filosofia che è sbagliata, ma le variazioni di spinta, se si vuol mantenere equilibrata la coppia motrice, ci sono sempre e comunque.

Comunque realizzare un solo anello esterno di velocità per dare il emdesimo riferimento coppia a più motori equivale a fare male quello che fa bene l'anello di velocità del convertitore. Basta usarne uno solo e dare a tutti motori il medesimo riferimento di coppia.

E' la soluzione comunenmente usata da da decenni. Volendo aumentare la precisione si misurano le coppie effettive e si correggono sommando al feed forward di coppia un suo feed back. Ad esempio su un gruppo di 3 motori che devo dare la emdesima spinta uno, con funzioni di master, è regolato in velocità; il suo riferimento di coppia viene usato anche come riferimentoi di coppia per gli altri 2. Se si vuole aumentare la precisione si comparano le 3 coppie e si correggono i riferimenti di coppia degli slave.

Ovviamnte con tempi di ciclo dell'ordine del millisecondo!

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

  • 1 month later...
setecastronomy

Su aspetti particolari del problema in esame ho aperto altre due discussioni:

****

Nota del moderatore

Le discussioni son state riunite per rendere più comprensibile il problema e le analisi.

Aprire più discussioni sul medesimo argomento, o sul medesimo problema, è vietato anche dal regolamento proprio per evitare confusioni, disguidi e cattiva comprensione

*******

Riporto solo qui un aggiornamento dei lavori con nuove richieste di suggerimenti.

Alla fine il controllo tramite pid non è stato neppure provato. Uno dei drive viene usato come 'master' con l'anello chiuso in velocità, gli altri sono impostati in controllo di coppia. Con una frequenza di 200 Hz viene copiato tramite PLC il riferimento di coppia dal master negli slave.

La risposta del sistema è accettabile, ma necessita di una messa a punto.

Vi è la possibilità di mettere un filtro passa basso per il comando di coppia del master: la teoria suggerirebbe di mettere un limite di banda a 20/40 Hz in modo da rispettare il teorema del campionamento, giusto ?!

Le prove hanno poi evidenziato l'innesco di una vibrazione meccanica a circa 2 Hz con coppia che oscilla vistosamente alla stessa frequenza. Che si può fare in questi casi ? Vi è la possibilità di mettere un notch filter sul comando di coppia. E' una prova sensata ?

Grazie

Filippo

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

  • 7 months later...

Continuo una richiesta di aiuto che si è protratta per molto tempo e su cui ho aperto più discussioni, finalizzate su aspetti particolari del problema complessivo.
Riassumo per chi legge per la prima volta.
Vi sono tre motori brushless abbinati a dei riduttori 750:1 che agiscono sulla stessa cremagliera e permettono ad un blocco molto pesante di muoversi su un arco di cerchio montato in verticale.
Lo hardware utilizzato è Allen Bradley ed il controllo dei motori avviene tramite il loro sistema 'motion', con l'utilizzo di drive PowerFlex 755.
Il motore 2 è il master in anello di velocità, mentre i motori 1 e 3 sono in anello di coppia e su di essi viene copiato, ogni 4ms, il riferimento di coppia del motore master.
Spesso iniziando il movimento si innescano forti oscillazioni a frequenza di circa 2.5 Hz che talvolta raggiungono valori tali da mandare i motori in fault o comunque da consigliare
di fermarsi. Nell'anello di velocità è possibile impostare i guadagni proporzionale ed integrale; sono state provate varie combinazioni di essi, ma la ferquenza di oscillazione è sempre rimasta la solita.
Sono stati fatti alcuni grafici (trend) ed i risultati, ammesso che siano attendibili, aprono alcuni interrogativi.
Le velocità dei tre motori, visto che sono accoppiati dalla cremagliera, dovrebbero essere le stesse, ed invece spesso i due motori slave oscillano in controfase.

Oscillazione1_controfase.jpg



Nel grafico subito sotto viene dato un riferimento di velocità positivo ed allo sblocco dei freni il master si muove per un breve istante in direzione opposta per effetto della gravità.
La coppia sale e raggiunge una velocità positiva, ma nello stesso istante il motore 1 segnala velocità negativa. Non riesco a spiegarmelo se non per la presenza di un qualche effetto elastico nella meccanica.
partenza1.png


In definitiva la domanda è questa: come è possibile operare per cercare di eliminare l'oscillazione ?

Oscillazione con i motori che frenano (il carro scende per gravità a velocità controllata)

discesa2.png

Oscillazione in salita

oscillazione2.png

Mi sono accorto che le immagini nella pagina non hanno una risoluzione sufficiente: ho messo i link a PhotoBucket dove dovrebbe comparire la lente d'ingrandimento per poterle vedere meglio. E' però necessario premere la lente una prima volta e all'apertura della finestra premerla di nuovo...


Modificato: da setecastronomy
Link al commento
Condividi su altri siti

E' inutile e controproducente aprire una nuova discussione.

Continuando con la discussione originale si ha tutta la storia, con i vari pareri e prove, sott'occhio.

Ho riunito la 2 discussioni; sei pregato di continuare così, con le discussioni riunite.

Con una frequenza di 200 Hz viene copiato tramite PLC il riferimento di coppia dal master negli slave.

Se questo è ancora valido si tratta di un metodo che serve per cercarsi i guai.

Se lavori in configurazione master-slave di coppia il riferimento di coppia agli azionamenti slaves deve essere fornito direttamente dall'azionamento master. Passare attraverso il PLC significa introdurre un ritardo che può fare solo danni!

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

E' inutile e controproducente aprire una nuova discussione.

Dopo così tanti mesi ho perso la memoria di cosa avevo già scritto. Il sistema è lo stesso, ma la problematica mi sembrava diversa. Nel futuro starò più attento.

Aggiungo due parole per spiegare la situazione, visto che qualcuno potrebbe chiedersi cosa è successo da febbraio ad oggi. Dopo un primo sbrigativo ed incompleto test la macchina è stata smontata e portata a destinazione. E' stata rimontata con una infinità di problemi elettrici e schede guaste. Per lungo tempo si è creduto che uno dei motori 'slave' fosse difettoso e la macchina è stata fatta funzionare con due soli motori e prestazioni accettabili.

Passare attraverso il PLC significa introdurre un ritardo che può fare solo danni!

I massimi esperti di Allen Bradley che è stato possibile contattare hanno detto di fare così. In rete non sono riuscito a trovare documentazione sui PowerFlex755 che permettano di fare quanto sia tu che il buon senso suggerite.

Scusa, ma il sistema che stai usando è idoneo alla tua applicazione?.

Comincio ad avere dei dubbi sulle reali capacità di chi l'ha concepito. Ad ogni modo ormai non si può cambiare.

Gli 'esperti' sono stati poi prodighi di consigli su come sistemare le cose sfruttando le potenzialità del 'motion' Allen Bradley: mettere tutti i motori in anello di velocità, realizzare assi elettrici ecc.

Vi chiedo un'ultima cortesia. Quelle oscillazioni sfasate ed amplificate sulle velocità dei 3 motori sono tipiche dei sistemi con accoppiamenti meccanici ?

Link al commento
Condividi su altri siti

Al post 8 Livio ha scitto:

Nella tua applicazione l'andamento della copia è sinusoidale, almeno si no ad un certa velocità angolare poi, pian piano subentra l'effetto volano che "spiana" le ondulazioni di coppia.

Ho ripercorso la discussione ed ho trovato questa affermazione che non avevo approfondito, visto che al tempo erano solo speculazioni teoriche.

L'andamento della coppia sinusoidale è proprio quello di cui mi lamento, con frequenza 2,5 Hz. Le velocità angolari sono nulle, circa 5s per grado, quindi nessun effetto volano.

Mi occorrerebbe però una spiegazione più dettagliata...

Grazie

Filippo

Link al commento
Condividi su altri siti

I massimi esperti di Allen Bradley che è stato possibile contattare hanno detto di fare così.

Dubito che siano dei tecnici veri, saranno dei tecnici commerciali un po' orecchianti. Chiunque abbia un minimo di conoscenza di regolazione capisce che per ben che vada inserire un PLC si inserisce un ritardo e non si ha alcun valore aggiunto per la regolazione. Ovvero inserendo il PLC si può al più peggiorare le cose, mai migliorarle; ben che vada la qaulità di regoalzione rimane immutata.

Se prendi il riferimento di coppia che esce dall'anello di velocità del master e lo usi come riferimento di coppia per gli slaves hai la certezza che tutti i motori forniscano la medesima coppia, fatti salvi i singoli errori e tolleranze di ciascun drive.

Questa è la strategia che si è sempre usato per tutti i tipi di azionamenti elettronici.

In rete non sono riuscito a trovare documentazione sui PowerFlex755 che permettano di fare quanto sia tu che il buon senso suggerite.

Se passi il riferimento a mezzo PLC significa che lo leggi dal master e lo scrivi negli slaves. Togli di mezzo il PLC e fallo direttamente.

Al post 8 Livio ha scitto:

.....

........Mi occorrerebbe però una spiegazione più dettagliata...

Ti esemplifico il concetto con un esempio banale.

Prendi un motore. Al suo albero caletta un braccio di lunghezza 0.1m; all'stremità del braccio ancori un peso di 10 kgm. Fai ruotare il motore alla velocita di 0.5 rpm (era un test per mostrare la bontà dei drives vettoriali). Se osservi l'andamento della coppia noti un andamento perfettamente cosenusinusoidale, perchè risponde proprio alla definizione geometrica della coppia: la proiezione sull'asse di un punto ch corre sulla circonferenza. Avrai, secon do convenzione, il massimo positivo a pi/2, il massimo negativo 3/2*pi ed i due minimi a pi e 2pi (0).

Se aumenti lentamente la velocità noterai che fino ad un certo valore l'ampiezza della sinusoide rimane costante, poi tende a diminuire nel valore massimo ed assume una componente continua di base; mano a mano che la velocità aumenta diminusce la componente sinusoidale ed aumenta la componente continua sino a che, da un certo valore in poi, la componente sinusoidale assume la dimensione di un disturbo costante sovrapposto alla componente continua.

Questo è l'effetto volano. Infatti il volano è assimilabile, come funzione, ad un condensatore. Così come un condensatore immagazzina energia e spiana le componenti alternate, similmente il volano assorbe le oscilalzioni di coppia, stabilizza la velocità ed immagazzina energia cinetica.

Link al commento
Condividi su altri siti

Dubito che siano dei tecnici veri, saranno dei tecnici commerciali un po' orecchianti.

Uno è un tecnico commerciale, l'altro è l'esperto suggerito dal tecnico commerciale, e non ha detto cose molte diverse.

Hanno questo 'motion' che funziona con protocollo IP con il quale si fanno facilmente cose stupende, ma che per un bilanciamento di coppia tra motori non sembra essere adeguato. Credo siano riluttanti a suggerire una strada diversa da quella che è la loro tecnologia più avanzata.

Ti esemplifico il concetto con un esempio banale.

Avevo completamente frainteso, per questo non capivo... L'andamento è sinusoidale con periodo pari al tempo per compiere un giro.

Questo comportamento l'ho accostato all'oscillazione di cui parlo io, che però è invece di tutt'altra natura.

Purtroppo, come accade spesso nella realtà di tutti i giorni, la macchina, per ritardi vari e sotto la minaccia di pesanti penali, ha cominciato a lavorare prima di essere stata messa a punto. L'analisi dei trend ha già portato alla luce alcune caratteristiche che se pur ben comprensibili non erano scontate, perlomeno nella loro entità.

Link al commento
Condividi su altri siti

Uno è un tecnico commerciale, l'altro è l'esperto suggerito dal tecnico commerciale, e non ha detto cose molte diverse.

Forse non poteva dire cose diverse per motivi commerciali. ;)

Comunque rimane il fatto che la soluzione non può essere quella indicata.

La tua applicazione, stando ai dati che pubblichi ( e non sono molto esaurienti), si può definire come un classico "Helper" a ripartizione di coppia dove ogni motore contribuisce con il 33.33% della coppia totale.

Queste configurazioni, per lavorare bene, devono avere gli anelli di coppia/corrente che rispondono esattamente nell'identico modo ed un unico riferimento di corrente che sia esattamente contemporaneo a tutti.

Potresti tentare una soluzione, ma non so se fattibile e se non peggiora le cose. Dovresti leggere, con il PLC, il riferimento di corrente del master e darlo comtemporaneamente a tutti e 3 i motori, master compreso. Comunque il PLC dovrebbe lavorare non a 200 Hz come hai dichiarato ma almeno ad 1 kHz, anche se 1 ms di tempo di campionamento lo ritengo ancora un po' troppo lento.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...