Consigli su Controller servo, dual feedback, doppia vite,...

Sezione dedicata all'elettronica di controllo cnc.
Rispondi
TND-storm
Senior
Senior
Messaggi: 628
Iscritto il: sabato 1 settembre 2007, 12:41
Località: Padova

Consigli su Controller servo, dual feedback, doppia vite,...

Messaggio da TND-storm » lunedì 21 maggio 2012, 15:42

Ciao!
Sto ancora pensando a come realizzare la prossima CNC e sto tornando all'idea originale di utilizzare una struttura a ponte mobile a spalle basse, con una vite per lato nell'asse che muove il ponte (quindi 2 viti).
Devo ancora decidere le dimensioni definitive (che dipenderanno da come riesco a progettare il ponte), diciamo che le opzioni più plausibili sono 1100x1100mm (massima area di lavoro, forse anche esagerata ma sicuramente più versatile) e 1100x750mm.
Mi sarebbe molto utile avere la possibilità  di rimuovere il piano per piazzare delle tavole di testa o per fare un quarto asse con diametro generoso, quindi ho deciso di cercare di realizzare una soluzzione con doppia vite sulla base. So che è complicato ma so già  che sentirei la mancanza di queste possibilità  quindi procederò in quella direzione.
Servirà  un loop chiuso per controllare il sistema, non mi fido ad usare un loop aperto per pilotare 2 motori in sincrono.
Per sfruttare al meglio la doppia vite e minimizzare il rischio che il ponte si intraversi a causa di qualche problema meccanico, l'ideale sarebbe mettere

Comincio col dire che preferisco puntare a un controller USB per il semplice fatto che le risoluzioni degli encoder che intendo usare impongono che il controller generi un numero elevato di step al secondo, attualmente uso EMC e la frequenza massima di step mi limita come velocità  a 4000 mm/min. Certo potrei diminuire la risoluzione degli encoder, ma progettando una macchina nuova cerco di non scendere a compromessi, cercherò se possibile di realizzare quello che ritengo ideale per le mie "esigenze" (tra virgolette perchè mi rendo conto di esagerare spesso e che mi basterebbe di meno, ma a parte la pignoleria innata mi diverto anche a studiare queste cose, quindi...).

Ora... dopo serate di ricerche (principalmente qui e su cnczone) ho ristretto un po' la cerchia dei controller possibili e soprattutto ho definito un po' quali sono le possibilità  per realizzare un sistema di questo tipo.
Il collegamento sarà  PC -> controller -> azionamento -> motore (brushless).
Un encoder rotativo è posizionato sul motore, quello lineare (riga ottica) sull'asse in modo da rilevare il movimento effettivo. Bisogna fare in modo che entrambi gli encoder vengano utilizzati per chiudere il loop del sistema calcolando il ciclo PID. Gli azionamenti anche di livello semi-economico ormai il controllo di posizione integrato, e non solo il controllo di velocità /coppia, quindi è possibile sfruttare anche il controllo di posizionamento degli azionamenti, ma non è detto sia conveniente: bisognerà  in questo caso tarare 2 loop separati e non è detto che si ottengano buone prestazioni.
Per creare questo sistema di feedback con 2 encoder sono possibili le seguenti configurazioni:

1 - L'encoder sul motore entra nel rispettivo drive e il loop di posizione è comandato direttamente dall'azionamento stesso, mentre l'encoder lineare viene collegato al controller e questo gestisce un loop separato basandosi solo sull'encoder lineare. Questa configurazione può aver senso solo se non c'è backlash meccanico, altrimenti rischia di essere molto instabile e poco fluida nei movimenti. Tecnicamente non è un loop dual feedback, ma sono 2 loop innestati uno dentro l'altro.

2 - L'azionamento usa l'encoder sul motore solo per il controllo di velocità  o coppia, si utilizza l'uscita dell'azionamento per il forward dell'encoder per mandarlo anche al controller, a cui viene collegato anche l'encoder lineare. Il controller deve gestire il doppio loop, e l'ideale sarebbe programmarlo in modo da utilizzare l'encoder rotativo per la P e D del ciclo PID e l'encoder lineare per la parte I. Il controller comanda poi i driver con segnali analogici in modalità  velocità /coppia. Questa soluzione richiede un controller con 2 entrate encoder per ogni asse. Teoricamente è la configurazione ideale, il ciclo PID a doppio feedback gestito in questo modo dà  le prestazioni migliori.

3 - l'azionamento fa il controllo di posizione come nella prima ipotesi ma si utilizza anche qui l'uscita per il forward dell'encoder rotativo per collegare anche quello alla kflop. L'unico vantaggio che vedo in questa ipotesi rispetto alla 2 è che il controller non deve avere anche il segnale analogico di uscita, ma per il resto è analoga, con tutti i problemi che comporta.

4 - Un'alternativa per semplificare molto il processo sarebbe trovare degli azionamenti con 2 entrate encoder per asse e che possano gestire già  da soli il dual feedback, ma non ne riesco a trovare. I drive della Granite Devices avrebbero 2 entrate encoder ma mi risulta che non abbiano un firmware che permetta di eseguire il loop doppio, li utilizzano per comandare 2 motori con 1 azionamento. Conoscete azionamenti che svolgano questa funzione?

5 - Si abbandona l'idea del dual feedback e si utilizzano solo gli encoder rotativi. Si utilizza poi un controller che comanda gli azionamenti digitali senza effettuare controlli sul loop, che viene chiuso solo tra azionamenti e motore. La precisione complessiva in questo caso diminuisce, ma dubito di essere in grado di costruire una meccanica di quelle dimensioni che abbia una precisione tale da risentire dell'assenza di riga ottica. Mi peroccupa molto però quello che può avvenire in caso di guasto meccanico/elettrico: se dovesse allentarsi una puleggia o rompersi una cinghia, o se si bruciasse un azionamento, una delle viti del gantry smetterebbe di muoversi e se ciò non fosse rilevato il ponte si storcerebbe, probabilmente danneggiando la struttura. Per quanto possa essere remota questa possibilità  non starei tranquillo senza un controllo in questo senso.

A tal proposito riguardo a questa ultima opzione: che voi sappiate esistono modi di controllare l'allineamento di 2 piastre distanti circa 1 metro? Che so, tipo delle fotocellule che se dovessero disassarsi di 1 mm perdono il segnale?


Per il resto come controller ho ristretto la cerchia alla Kflop e alla Galil.
La Kflop di buono ha che è relativamente economica (molto economica se si pensa a cosa fa), ha ottime prestazioni, è possibile programmarla per controllare un doppio loop, ha una buona assistenza ed ha un plugin per mach3. Di contro va appunto programmata, il che non è necessariamente un problema visto che ho studiato informatica, solo che non è esattamente "plug&play". Inoltre benchè possa controllare 8 assi ha solo una entrata encoder per asse, quindi volendo usare 4 motori con dual feedback saturerei le entrate encoder e non potrei ad esempio usare il loop chiuso se volessi aggiungere più avanti un quarto asse. Da quello che diceva Tom (dell'assistenza della Kflop) potrebbe essere complesso scrivere il programma di controllo del dual feedback.
La Galil ha di buono che ha 2 entrate encoder per ogni asse quindi può gestire facilmente il dual feedback. Ha anche prestazioni ancora migliori della Kflop, ed ha anch'essa il plugin per mach3. Di contro però è un sistema chiuso e eventuali modifiche le deve fare la casa madre (da quel che ho capito), e costa dalle 6 alle 10 volte in più rispetto alla Kflop. Il prezzo non sarebbe di per sè un problema, se ne vale la pena al limite aspetto di più fino a racimolare quel che serve, ma quello che mi preoccupa è che ho letto che nel funzionamento non è impeccabile. Soprattutto su cnczone.com leggevo testimonianze del tipo "non ho mai visto una macchina controllata dalla galil che non fosse piena di bug" e che è una ditta "poco orientata al controllo di macchine utensili". Se devo spendere 10 volte tanto rispetto ad altri controller, quanto meno mi aspetto che il controller poi funzioni impeccabilmente...

Ovviamente valuto anche altri controller, diciamo che non mi dispiacerebbe avere la possibilità  in futuro di aggiungere un po' alla volta funzioni particolari come il cambio utensile, il quarto asse, o magari implementare il dual loop se dovessi decidere di cominciare col loop semplice.

Consigli? :oops:

Ciao e grazie
Marco

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da Pedro » lunedì 21 maggio 2012, 16:30

io non ho capito una cosa: perchè hai bisogno di 2 ingressi per asse se metti la doppia vite sull'asse che muove il ponte? quindi avrai per l'asse X o Y, basta mettersi d'accordo come vedi la cnc, due motori, due driver, due encoder sui motori e due righe ottiche, uno sarà  l'asse X, o Y, e l'altro quello che vorrai come slave. Gli altri assi, Y, o X, Z ed A faranno per 1.

PS: la kflop è perfettamente plug and play, l'attacchi e funziona solo che è da configurare un po' quale asse è attaccato a cosa, stepper-servo e di che tipo, se ha gli encoder e se usa il CL va programmato il PID come per qualsiadi driver in CL, non vedo cosa ci possa essere di complicato, alcuni inverter sono più astrusi. A differenza di alcuni altri controller non ha switch e si programma da SW, d'altra parte anche i moderni driver sono programmabili via SW
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

TND-storm
Senior
Senior
Messaggi: 628
Iscritto il: sabato 1 settembre 2007, 12:41
Località: Padova

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da TND-storm » lunedì 21 maggio 2012, 16:46

La doppia entrata encoder serve se si vuole fare il dual feedback comandato tutto dal controller invece che il doppio loop. Mi spiego meglio:
- doppio loop: gli azionamenti chiudono il loop con gli encoder e fanno già  il controllo della posizione (e non solo il controllo di velocità /coppia), ricevendo dei segnali step/dir dal controller. Il controller chiude il loop con la riga ottica ed effettua il controllo di posizione in base a quello, senza avere alcun dato sulla posizione dell'encoder dei motori.
- dual feedback loop: gli azionamenti fanno solo il controllo di velocità /coppia e vengono comandati in analogico. Il controller riceve il feedback da entrambi gli encoder e utilizza l'encoder rotativo per la parte P e D del ciclo PID, e l'encoder lineare per la parte I.

Il secondo in teoria ha prestazioni migliori ed è utilizzabile anche in presenza di gioco tra i componenti meccanici.

Ho trovato alcune spiegazioni in queste pagine:
Dual Loop Compensation Methods (Galil)
dual feedback (linuxCNC)
(Il tutorial nel sito Galil potrebbe richiedere la registrazione)

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da Pedro » lunedì 21 maggio 2012, 17:08

bisogna fare delle scelte :D
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

TND-storm
Senior
Senior
Messaggi: 628
Iscritto il: sabato 1 settembre 2007, 12:41
Località: Padova

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da TND-storm » lunedì 21 maggio 2012, 17:17

Eh già  :D
Cmq buono a sapersi per la Kflop, pensavo fosse meno immediata come utilizzo ma se è soltanto quello ciò che c'è da fare allora non è più complicato che configurare mach/emc o regolare il PID degli azionamenti...

Avatar utente
Pedro
God
God
Messaggi: 7084
Iscritto il: domenica 6 aprile 2008, 18:44
Località: Roma

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da Pedro » lunedì 21 maggio 2012, 17:26

prova a tirarti giù il software di configurazione e vedi cosa si fa
"Ho controllato molto approfonditamente," disse il computer, "e questa è sicuramente la risposta. Ad essere sinceri, penso che il problema sia che voi non abbiate mai saputo veramente qual è la domanda."

TND-storm
Senior
Senior
Messaggi: 628
Iscritto il: sabato 1 settembre 2007, 12:41
Località: Padova

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da TND-storm » martedì 22 maggio 2012, 15:17

Ci ho smanettato un pochino e mi sembra intuitivo ma senza il drive attaccato ovviamente non si può provare come funziona.

Ho contattato la Granite Devices per la questione della doppia entrata per l'encoder e mi han risposto che con i VSD-E/XE non c'è un firmware che permetta il dual feedback, ma nel prossimo modello che presenteranno ci sarà  anche questa possibilità ! Dovrebbe uscire verso estate, fra circa 3 mesi...
Questo mi scombussola un po' i piani, volevo iniziare dall'elettronica in modo da poterci prendere la mano un po' alla volta ma non volevo aspettare 3 mesi...

Avatar utente
bigfefi
Member
Member
Messaggi: 270
Iscritto il: domenica 4 maggio 2008, 15:33
Località: Cento (Ferrara)

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da bigfefi » giovedì 24 maggio 2012, 2:28

Hai valutato la combinazione EMC+ scheda MesaElectronics, tipo la 5i20 o altre? Secondo me fanno al caso tuo.
Tempo va vidi un video sul tubo in cui gestivano una 5 assi vecchia ma enorme usando la riga ottica come parte I del PID.
Altrimenti ti cerchi degli Yaskawa usati e ti compri il modulo JUSP1000 mi sembra
(comunque vedi su techbsa.it mi sembra venga 180 euro) che fa quello che vuoi tu:
l'azionamento gestisce il motore come vuoi tu,
all'azionamento attacchi il JUSP1000 (ripeto, mi sembra si chiami cosi),
a cui a sua volta attacchi la riga ottica. In pratica l'azionamento e il JUSP pralano fra loro,
uno usando l'encoder rotativo, l'altro usando la riga ottica, si confrontano e ti fanno il DUAL CLOSED LOOP
svincolandolo dal controller.

Spero di non aver detto michiate... :roll:
Il troppo pensare deriva dal poco capire.... E io penso molto! ;)
"...fatti non foste a viver come bruti ma per seguir virtute e canoscenza"
(Dante Alighieri, Divina Commedia, Inferno canto XXVI, 116-120)

TND-storm
Senior
Senior
Messaggi: 628
Iscritto il: sabato 1 settembre 2007, 12:41
Località: Padova

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da TND-storm » giovedì 24 maggio 2012, 10:21

Le Mesa le ho viste solo di sfuggita, il fatto è che con EMC c'è il limite del numero di impulsi al secondo che è vincolato dalla porta parallela quindi con gli encoder a risoluzioni altine e una demoltiplica nell'accoppiamento vite-motore le velocità  ottenibili sono piuttosto basse. Usare degli encoder lineari e poi limitare la risoluzione a 1 decimo mi parrebbe assurdo...
Non son riuscito a trovarne, ma non è che esistono controller usb anche per emc?

Per gli yaskawa mi tentano molto ma il problema è che l'usato non mi lascia mai tanto tranquillo: mettiamo che trovo anche dei kit 4 assi da 400W (ce n'è un paio da 3 in questo momento su ebay), se poi qualcosa non funziona o si danneggia dopo breve mi pare complicato (e potenzialmente costosetto) effettuare riparazioni, sostituzioni e avere assistenza, anche perchè si trova tutto dall'estero.
Volessi prenderli nuovi da qualche rivenditore ho idea che spenderei quanto tutto il resto della macchina messa insieme...

billielliot
Senior
Senior
Messaggi: 1748
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da billielliot » giovedì 24 maggio 2012, 10:40

Ciao TND-storm,

la Mesa vende schede che si collegano alla paralella e schede che si collegano al BUS PCI interno al computer.

La versione interna (su BUS PCI) elimina il collo d'oca generato dalla parallela permettendoti di usare gli encoder su piu' assi senza vincoli in termini di velocita'.

Il calcolo delle traiettorie rimane in mano a EMC2, la gestione della comunicazione con l'hardware viene invece gestita dalla scheda Mesa.

Io non saprei come implementare questa soluzione. Trovi parecchie informazioni sui forum in inglese.

Ciao :-)

Mauro
Amat victoria curam

TND-storm
Senior
Senior
Messaggi: 628
Iscritto il: sabato 1 settembre 2007, 12:41
Località: Padova

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da TND-storm » giovedì 24 maggio 2012, 10:47

Non capisco come ho fatto a non pensare alla versione PCI... #-o

Si tratta anche di capire se ci sono tutte le entrate necessarie per gli encoder (oltre che per gli home, finecorsa, magari pwm per mandrino, ecc...), dopo vedo se trovo info...

Grazie per la dritta intanto!

TND-storm
Senior
Senior
Messaggi: 628
Iscritto il: sabato 1 settembre 2007, 12:41
Località: Padova

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da TND-storm » giovedì 24 maggio 2012, 10:55

hmm aspetta... Mi sa che ricordavo male il limite di step generati su EMC non è dato dalla porta parallela, bensì dal fatto che è real-time e quindi la frequenza d'impulso minima dipende dall'intervallo d'attesa massimo che può verificarsi sul realtime! Se non sto facendo confusione in questo caso PCI o porta parallela non fa differenza, o sbaglio qualcosa?
Cioè gli encoder potranno anche mandare in input una marea di dati, ma poi è la frequenza degli step che EMC invia è troppo lenta rispetto al numero di passi al secondo da generare per ottenere una buona velocità .
Ultima modifica di TND-storm il giovedì 24 maggio 2012, 10:57, modificato 1 volta in totale.

billielliot
Senior
Senior
Messaggi: 1748
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da billielliot » giovedì 24 maggio 2012, 10:56

Ciao Manuel,

la scheda PCI usa due connettori a 25 pin simili a quelli della porta parallela per collegarsi all'esterno.

Questi due connettori li puoi collegare a una delle loro schede (break-out board) gia' pronte. Riporto dal loro sito:

"...There are currently six 5I25 compatible breakout cards available from Mesa, the 7I74 through 7I78 and 7I85. The 7I76 is a step/dir oriented breakout with 5 axis of buffered step/dir outputs, one spindle encoder input, one isolated 0-10V analog spindle speed plus isolated direction and enable outputs, one RS-422 expansion port, 32 isolated 5-32V inputs and 16 isolated 5-32V 300 mA outputs. The 7I77 is a analog servo interface with 6 encoder inputs, 6 analog +-10V outputs, one RS-422 expansion port, 32 isolated 5-32V inputs, and 16 isolated 5-32V 300 mA outputs. The 5I25 supports two breakout cards so for example a 10 Axis step/dir configuration or 12 axis analog servo configuration is possible with a single 5I25 and two Mesa breakout cards..."

Probabilmente la 7I77 potrebbe fare al caso tuo. Ma e' tutta da studiare.

Ciao :-)

Mauro
Amat victoria curam

billielliot
Senior
Senior
Messaggi: 1748
Iscritto il: martedì 16 ottobre 2007, 23:23
Località: Trezzo sull'Adda

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da billielliot » giovedì 24 maggio 2012, 10:58

...sul limite hai perfettamente ragione.

La scheda puo' eliminare il limite legato alla velocita' degli impulsi che arrivano dagli encoder ma non puo' "accelerare" il computer.

Ciao :-)

Mauro
Amat victoria curam

TND-storm
Senior
Senior
Messaggi: 628
Iscritto il: sabato 1 settembre 2007, 12:41
Località: Padova

Re: Consigli su Controller servo, dual feedback, doppia vite

Messaggio da TND-storm » giovedì 24 maggio 2012, 12:22

Ah, peccato allora!
Per ora l'alternativa che mi pare più valida sono i driver granite devices dual loop che escono questa estate, più Kflop per il controllo... A questo punto mi conviene partire dalla meccanica e valutare la soluzione migliore disponibile quando l'avrò ultimata (e non ci vorra poco temo...)

Rispondi

Torna a “Elettronica CNC”