salto Inserito: 11 aprile 2006 Segnala Share Inserito: 11 aprile 2006 Volevo sapere se qualcuno ha realizzato applicazioni in cui diversi motori brushless vengono sincronizzati tra loro in velocità e fase "funzionamento in albero elettrico".Il riferimento di un motore detto Master viene seguito dai restanti motori detti Slave.Come posso realizzare questo funzionamento?Come posso calcolare la precisione del sistema?Io dovrei realizzare un sistema con la precisione di 0.1mm alla velocità di 2m/sGrazie Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 aprile 2006 Segnala Share Inserita: 11 aprile 2006 Dire 0.1mm significa poco. E' l'errore massimo istantaneo? E' l'errore massimo a transitorio esaurito?Poi quanti motori in totale? Perchè un conto è un master con due slaves, un altro un master con 20 slaves. Poi i rapporti sono costanti? Sono variabili? Qale è la gamme dei rapporti? In salita? in discesa?, misto? Gli slaves sono in cascata tra loro?, sono in parallelo? misti?Come al solito: mancano i dati per dare un parere che non sia a vanvera. Link al commento Condividi su altri siti More sharing options...
Claudio Monti Inserita: 11 aprile 2006 Segnala Share Inserita: 11 aprile 2006 Oltre a quanto setto da Livio ti chiedo:- come pensi di gestire il tutto? Con PLC? Con schede dedicate?Se vuoi farla semplice ti consiglio di usare un PLC con relative schede di controllo asse, spendi un po' di piu' ma la realizzazione/collaudo/messa a punto sono veramente semplici! Link al commento Condividi su altri siti More sharing options...
salto Inserita: 12 aprile 2006 Autore Segnala Share Inserita: 12 aprile 2006 Grazie Livio, ClaudioDevo fare una applicazione per una macchina da stampa.Tanti rulli che imprimono uno dopo l'altro un disegno su un pannello.L'immagine stampata da ogni rullo deve sovrapporsi esattamente sull'altraI motori nel caso peggiore sono 12.La macchina lavora a velocità costanteL'errore a transitorio finito deve essere <0.1mm alla max velocità di lavoro 2m/sLe accelerazioni e decelerazioni per arrivare alla vel.max 2m/s sono dolci 0.1m/s2.I rapporti riduzione e diametro rulli sono costanti.Io faccio questo ragionamento:Uno spostamento di 0.1mm alla velocità di 2m/s lo si ottiene in 50usQuindi per avere una precisione di 0.1mm presumo che il sistema deve leggerela posizione di un Master almeno ogni 5us? E' giusta la mia considerazioneMi viene proposta una configurazione hw B&R basata su 12 azionamenti digitali ACOPOScollegati tra loro in powerlink ( deterministic real-time Ethernet 100BASE-X)Questi azionamenti implementano la funzione di sincronismo Master-Slave al loro interno. Ho dei dubbi che il sistema non raggiunga le prestazioni richieste?La soluzione classica senza bus di campo, unità centralizzata con tanteschede assi interfacciate con azionamenti e revolver può fornire prestazioni migliori?Ad esempio il SIMOTION della Siemens può andare? Da quali dati tecnici lo capisco? Anche il questo prodotto implementa la funzione di sincronizzazione Master-SlaveOppure avete altri prodotti da consigliarmi?Ciao Emanuele Link al commento Condividi su altri siti More sharing options...
beppeconti Inserita: 12 aprile 2006 Segnala Share Inserita: 12 aprile 2006 Il tuo ragionamento non è corretto, tu hai un errore di 0,1mm in 50us alla velocità macchina di 2mt/s solo se un asse è fermo e l’altro si sta muovendo, in realtà gli assi si stanno tutti muovendo più o meno alla stessa velocità e quindi l’errore che potresti avere in 50us di tempo è molto minore, si può tranquillamente considerare trascurabile.Per valutare la precisione del sistema prima di tutto devi darci la risoluzione di lavoro degli assi Slave delle teste di stampa, per esempio se usi un brushless con risoluzione del trasduttore pari a 4096 imp/giro_motore devi dirci 1 imp/giro_motore a quanti mm o micron di spostamento sulla testa corrispondono.Tieni presente che mediamente l’anello di posizione di un asse viene chiuso in 3ms o anche meno e questo tempo di scansione è più che sufficiente per ottenere un errore di posizione massimo istantaneo sull’asse minore di 10 imp/giro_motore, chiaramente i PID dell’asse devono e essere ben tarati.Il riferimento di posizione che viene ricevuto dal Master deve essere campionato con un tempo basso, se l’anello di posizione lavora a 3ms il tempo di campionamento del rif. posizione ricevuto dal Master deve essere minore di 3ms e quindi il bus sincrono che viene utilizzato per trasferire la posizione deve essere veloce. Il powerlink non lo conosco, comunque i bus fatti su misura per questo scopo sono molto veloci e riescono a gestire tranquillamente 12 Slave, i problemi potevano esserci se gli slave erano molti di più.Di solito i problemi maggiori si hanno durante le rampe di accelerazione e decelerazione, con le tue rampe però direi che non dovresti avere grossi problemi, al limite potresti aver bisogno di inserire un anticipo sugli Slave in modo da compensare il leggero ritardo di trasferimento della posizione da Master a Slave che si sente soprattutto durante le rampe.Su alcuni prodotti è possibile utilizzare invece della solita modalità Master à Slave la modalità Master Virtuale à Slave in cui tutti gli assi compreso il Master sono slave di un Master virtuale generato dal supervisore assi. Questa soluzione a volte da dei vantaggi.Chiaramente gli assi Slave devono avere anche la possibilità di eseguire posizionamenti assoluti per la messa in fase iniziale e presuppongo che la macchina abbia anche bisogno di eseguire delle correzioni di fase sugli Slave durante la marcia.La soluzione Simotion+Sinamics non l’ho mai usata ma sicuramente ha le funzioni da te ricercate. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 12 aprile 2006 Segnala Share Inserita: 12 aprile 2006 Non ripeto nulla delle considerazioni di BeppeConti, considerazioni che condivido. Aggiungo due considerazioni.Io non userei un'architettura master - slave, ma un master virtuale con tutti gli asi fisici slaves. Se il bus di campo è sufficientemente veloce è una soluzione ottima. Dovresti conoscere la banda passante reale di ogni asse, nelle sue condizioni di lavoro, in funzione della frequanza limite puoi decidere il tempo di rinfresco dei riferimenti di posizione.In altri termini il sistema genera 13 posizioni virtuali istantanee che ogni asse slave cerca di mantenere.Se leggi il mio tutorial sulle regolazioni (sezione didatica del forum) potrai veder sviluppato questo ragionamento. Link al commento Condividi su altri siti More sharing options...
salto Inserita: 12 aprile 2006 Autore Segnala Share Inserita: 12 aprile 2006 Grazie mille a tutti!!Livio non riesco trovare il tutorial, mi puoi mettere il link Ciao Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 12 aprile 2006 Segnala Share Inserita: 12 aprile 2006 Premi "home portale", nella pagina vai nella barra del menù e premi "Didattica", ti appare la tabella di tutti i contenuti.Comunque, per quuesta volta, ecco il link Link al commento Condividi su altri siti More sharing options...
salto Inserita: 14 aprile 2006 Autore Segnala Share Inserita: 14 aprile 2006 Ciao LivioHo guardato il tuo tutorial relativo regolazione Master-Slave.Non capisco il fattore (1000-n)/1000? n cosa è ? perche 1000 sopra e sotto?A volte nel fattore c'è un 100 invece di 1000 è un errore? Link al commento Condividi su altri siti More sharing options...
salto Inserita: 14 aprile 2006 Autore Segnala Share Inserita: 14 aprile 2006 if (ffw_s1 < S1_dac) then {ffw_s1 = ffw_s1 + delta_acc; } else ffw_s1 = step_acc1; Link al commento Condividi su altri siti More sharing options...
Claudio Monti Inserita: 14 aprile 2006 Segnala Share Inserita: 14 aprile 2006 i diversi motori brushless sono diventati 12... la cosa si complica, inoltre le velocita' e le precisioni a cui ti riferisci non sono certo "grossolane".Giustissimo il discorso del Master virtuale.Secondo me devi usare un bus di "motion" vero e proprio e quello che ti ha proposto B&R mi sembra uno fra i migliori (ho visto applicazioni decisamente piu' spinte e con molti piu' brushless).Un'alternativa e' il Sercos (proposto da Schneider, non so se anche altri lo propongono...), quello Siemens non lo conosco.Sia PowerLink sia Sercos lavorano ben al di sotto dei 3ms! Link al commento Condividi su altri siti More sharing options...
salto Inserita: 14 aprile 2006 Autore Segnala Share Inserita: 14 aprile 2006 Non dovrebbe essere così? if (ffw_s1 < S1_dac) then { ffw_s1 = ffw_s1 + step_acc1; } else ffw_s1 = S1_dac; Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 14 aprile 2006 Segnala Share Inserita: 14 aprile 2006 (modificato) No è come ho scritto. Leggi bene la spiegazione. Sono trascorsi alcuni anni da quando ho scritto e pubblicato questo tutorial, quindi rispondere ex abrupto a domande sui particolari richiederebbe, da parte mia, parecchio tempo per risalire al ragionamento originario. Però sono certo all 99.99% dell'esattezza del codice pseudo "C". Comunque per i tuoi scopi dovrebbe essere più importante capire la filosofia che sta alla base dell'architettura ipotizzata.Riguardo alla prima domanda. (1000-n)/1000 per avere il complemento di n a 1000 riscalato in millesimi, quando si usa 100 lo si fa perchè lo si riscala in centesimi. Per sapere a cosa si riferisce vale la risposta precedente. Leggendo bene il tutto si risale allo specifico significato di n Modificato: 14 aprile 2006 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
salto Inserita: 14 aprile 2006 Autore Segnala Share Inserita: 14 aprile 2006 Il mio quesito iniziale nasce da questo dubbio:A) Architettura centralizzata (Caso di Livio)Il controllo è centralizzato nel PLC, questo permette di leggere la posizione reale degli Slave nello stesso istante. Nel programma di Livio la lettura della posizione è realizzata al "volo" tramite le istruzioni:cnt1=HSC1;cnt2=HSC2;Il tempo di ritardo della seconda lettura rispetto alla prima è 2us. Alla velocità di 2m/s si ha un errore di 0.004mm Architettura distribuita.Caso di tanti posizionatori decentralizzati uniti da un BUS ad una CPU.Se l'algoritmo di controllo è implementato nella CPU, questo significa che la CPU deve ricevere le posizioni reali dei vari azionamenti,con un tempo di ritardo dipendente dalla velocità del bus, almeno >400us per una rete da 100Mbit/s.Un ritardo simile genera un errore alla velocità 2m/s di 0.8mmLe cose potrebbero migliorare se ogni posizionatore eseguisse localmente l'algoritmo di controllo.In questo caso l'errore sarebbe legato al clock di sincronismo tra i vari azionamenti, 100Mbit/s ( 0.01us)Sono giuste le mie considerazioni?P.S. Per LivioDa quello che ho capito n è il rapporto di riduzione tra Master e Slave2.Non capisco il senso di farne il complemento? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 14 aprile 2006 Segnala Share Inserita: 14 aprile 2006 (modificato) Il tempo di ritardo della seconda lettura rispetto alla prima è 2us. Alla velocità di 2m/s si ha un errore di 0.004mmNon è detto che siano 2us, dipende dalla macchina che usi. Nel tuo caso dal momento che fai la "fotografia" del primo a quello del 13 slaves trascorre il tempo pari a 13 letture di una word. Questo avviene esattamente ad ogni lettura. Se per esempio campioni ogni 10 ms ed hai un ritardo di 0.5us per ogni letura (e sono tanti), alla prima lettura avrai un ritardo tra slave 1 e slave 13 pari 6.5 us. Però tra ogni lettura e la seguente il delta è costante, a meno dell'indecisione e del timer e del tempo di latenza dlel'interput. Questo fenomeno si chiama jitter. Gli effetti del ritardo di lettura delle 13 words è ininfluente (si può dismostrare matematicamente).Poi commetti il solito errore. La velocità di 2m/s è la velocità del materiale non la velocità realtiva tra cilindro e cilindro. Se i rapporti tra i vari motori sono apri a 1, come hai scritto, la velocità relativa è zero, più o meno l'errore istantaneo che, se il drive è appena decente, sarà <<1%!.Se hai afferrato il concetto dell'architettura e di quello che to scritto nel primo messaggio, il master virtuale genera i traguardi per ogni slave, quindi l'anello viene chiuso localmente dallo slave stesso.Attenzione che inviare i traguardi tramite bus di campo può avere jitter maggiore che effetture la regolazione in modo centralizzato. Ed il jitter è un disturbo che si nota! Poi anche qua dimetichi sempre di considerare la velocità relativa invece dell'assoluta. Se si dovesse far riferimento alla velocità assoluta come si potrebbero realizzare macchine in asse elettrico con velocità che arrivano a oltre 3m/s?Per la tua ultima domanda. la risposta la trovi nel tutorial stesso. E' un modo per semplificare la meccanizzazione dell'algoritmo. Modificato: 14 aprile 2006 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
salto Inserita: 14 aprile 2006 Autore Segnala Share Inserita: 14 aprile 2006 ETHERNET Powerlink™ETHERNET Powerlink™ is currently the only standardized and open Ethernet-based system which has been field-tested for true real-time communication. ETHERNET Powerlink™ shows its strengths best when used for electronic coupling of drive systems in multi-axis applications. The protocol, which was originally developed by B&R based on standard hardware, was designed from the beginning for communication with very short cycle times (approaching 200µs) and precision (jitter < 1µs). All rights to the protocol were given to the EPSG (ETHERNET Powerlink Standardization Group), who will be handling the further development, circulation and standardization of ETHERNET Powerlink™. Allora con "cycle times (approaching 200µs) and precision (jitter < 1µs)" sto tranquillo ? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 14 aprile 2006 Segnala Share Inserita: 14 aprile 2006 I dati che riporti sembrerebbero accettabili. Per puro intento didattico ti faccio notare che una soluzione centralizzata, con lettura diretta della posizione dei 13 assi è più veloce come ciclo, lettura di 13 words di meemoria, e jitter sicuramente inferiore di 1us.Comunque la precisione e la stabilità del sistema è dterminata dalla stabilità dei singoli assi e dalle prestazioni dell'anello di posizione di ogni singolo asse. Link al commento Condividi su altri siti More sharing options...
salto Inserita: 14 aprile 2006 Autore Segnala Share Inserita: 14 aprile 2006 Grazie e buona Pasqua Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora