emc, motori servo e anello chiuso con encoder

Sezione dedicata a Linuxcnc
Rispondi
franceso
Senior
Senior
Messaggi: 1341
Iscritto il: martedì 22 aprile 2008, 16:37
Località: BZ

Re: emc, motori servo e anello chiuso con encoder

Messaggio da franceso » giovedì 27 maggio 2010, 15:30

Ti copio la frase a qui mi riferisco,

Set the number of pulses for PG output signals (PAO, /PAO, PBO, /PBO) externally from the SERVOPACK.
Feedback pulses from the encoder per revolution are divided inside the SERVOPACK by the number set in Pn201 before
being output. (Set according to the system specifications of the machine or host controller.)
The setting range varies with the number of encoder pulses for the servomotor used.

Valore minimo, 16.

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

Re: emc, motori servo e anello chiuso con encoder

Messaggio da billielliot » giovedì 27 maggio 2010, 16:18

Ciao franceso

sul come abbiamo copiato le frasi non si puo' ribattere nulla :lol:

Dopo la frase da te citata, fanno un esempio che riporta:

Output Example
Pn201=16 (when 16 pulses are output per revolution)

A una prima lettura sembra che si possa impostare da un minimo di 16 impulsi/giro fino ad un massimo di 2048 impulsi/giro.

Mi sembra che questo abbia piu' senso che offrire all'utente la possibilita' di usare i segnali dell'encoder divisi per 16 (come minimo).

inoltre mi sono accorto di aver letto frettolosamente il documento: nel disegno a pagina 8-45 sezione 8.5.7 sembra che l'encoder dialoghi con il servopack in modo seriale.

Questo significa che non possiamo usare direttamente il segnale emesso dall'encoder come avevo supposto in un precedente messaggio. Dobbiamo per forza passare dal servopack per decifrare il segnale seriale generato dall'encoder

Non si finisce mai di imparare.

Ciao :-)

Mauro
Amat victoria curam

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

Re: emc, motori servo e anello chiuso con encoder

Messaggio da bigfefi » giovedì 27 maggio 2010, 16:43

penso tu non abbia problemi ad utilizzare i segnali encoder che ti spara fuori il driver. La modifica ti server nel caso in cui il segnale debba essere mandato ad una "periferica" lenta.
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)

franceso
Senior
Senior
Messaggi: 1341
Iscritto il: martedì 22 aprile 2008, 16:37
Località: BZ

Re: emc, motori servo e anello chiuso con encoder

Messaggio da franceso » giovedì 27 maggio 2010, 16:50

Anche a me e´ venuto questo dubbio, ma poi mi sono documentato meglio e purtroppo ti posso confermare
che e´ un divisore per gli segnali dell´encoder.
L´output seriale a qui ti riferisci viene usato soltanto in particolari setup che non hanno a che vedere con il
nostro caso.

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

Re: emc, motori servo e anello chiuso con encoder

Messaggio da bigfefi » giovedì 27 maggio 2010, 16:51

Quindi è sbagliato l'esempio... ?
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)

timmy70
Newbie
Newbie
Messaggi: 30
Iscritto il: domenica 10 gennaio 2010, 22:45
Località: nord milano

Re: emc, motori servo e anello chiuso con encoder

Messaggio da timmy70 » giovedì 27 maggio 2010, 17:04

x billielliot
i pin del com1 utilizzati sono
7(step)---8(gnd)
11(dir)---12(gnd)
come da schema 6.3.2
Toglietemi una curiosità  ma se esco in pwm su una scheda optoisolata normale di quelle tipo la mia per controllare
in step/dir che cosa esce?
ciao timmy70

Fabietto
Senior
Senior
Messaggi: 881
Iscritto il: mercoledì 21 novembre 2007, 17:43
Località: Prov. Ve

Re: emc, motori servo e anello chiuso con encoder

Messaggio da Fabietto » giovedì 27 maggio 2010, 22:18

Non sò se può interessare ha chiuso l'anello con mesa comandando in pwm mi pare dei servo dc ma le schede non chiudono il loop quindi posto solo per far vedere lo schema che ha utilizzsato e le interfacce varie.
Il link http://www.anderswallin.net/2008/09/servo-setup/.
Spero che serva
Ciao

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

Re: emc, motori servo e anello chiuso con encoder

Messaggio da billielliot » venerdì 28 maggio 2010, 8:58

Certo che la documentazione ufficiale lascia parecchio a desiderare. Sopratutto pensando a quanto costa un simile apparecchio. La docuemntazione di EMC non e' completa ma almeno c'e' la giustificazione che e' gestita da volontari che spesso non sono guru del settore.

A questo punto e' come combattere contro i mulini a vento. Leggendo la documentazione si viene fuorviati.

Per franceso: tu scrivi che "..L´output seriale a qui ti riferisci viene usato soltanto in particolari setup che non hanno a che vedere con il nostro caso.."

Quindi l'encoder fornisce direttamente i segnale A-B o Anegato-Bnegato?
Puo' funzionare in modo indipendente dal Servopack?

Leggendo la documentazione sembrerebbe che l'unica connessione possibile sia quella seriale. Ma visto che la documentazione potrebbe non essere corretta.....

Per timmy70:
volevo proprio suggerirti di usare il PWM al posto del segnale STEP. Leggendo la documentazione (e sempre sperando che sia corretta) il tuo servopack e' in grado di accettare in ingresso un segnale PWM (trasformandolo in un segnale continuo).

Per fabietto: complimenti per il link con connessioni pronte all'uso (anche se serve un bel po' di esperienza per tradurle in pratica in tempi brevi)

Ciao :-)

Mauro
Amat victoria curam

bigalex
Newbie
Newbie
Messaggi: 26
Iscritto il: mercoledì 13 gennaio 2010, 11:31
Località: Castenedolo (BS)

Re: emc, motori servo e anello chiuso con encoder

Messaggio da bigalex » venerdì 28 maggio 2010, 9:37

Ciao ragazzi seguo questa discussione dall'inizio e mi permetto di fare qualche precisazione.
EMC è da considerarsi principalmente come un "core" CNC ovvero racchiude in sè quelle funzioni di sistema,logiche e di calcolo (prettamente risolte a mezzo software) che permettono di poter realizzare un sistema CNC, il che non è poco.
Il problema principale di EMC è l'interfaccia verso l'esterno delle funzioni di acquisizione dei segnali di I/O , degli encoder o trasduttori di posizione e dei segnali e comandi verso i motori (attuatori di moto).
Infatti nella configurazione più semplice (stepper motor) si possono utlizzare le porte parallele con la limitazione della frequenza max di comando dei driver motori stepper.
Occorre tenere presente che comunque gli I/O devono utilizzare la tensione di 5VDC per la connessione è quindi poco consigliabile in ambito industriale dove normalmente i segnali I/O utilizzano 24VDC.
E' vero che sulla parallela sia possibile connettere anche gli encoder e quindi chiudere l'anello di posizione degli assi .
Un limite però che rimane è sempre quello della max frequenza degli impulsi encoder che può essere letta senza errori o ritardi dalla porta parallela , forse utilizzando righe ottiche per movimenti lineari tali limiti possono non essere superati.
Quindi se ci si vuole avvicinare ad un sistema CNC completo e parificabile a quelli in commercio per prestazioni di impiego (utilizzabili in ambito professionale/industriale) è necessario abbinare ad EMC dell'hardware di interfaccia adeguato.
Come avrete sicuramente letto sul manuale integratore di EMC vengono analizzate le procedure di integrazione di hardware di marche diverse che con prestazioni più o meno elevate completano EMC e ne completano le funzionalità  e prestazioni.
Un'altra caratteristica interessante di EMC è quella di avere un softplc integrato (Classic Ladder) con la possibilità  di connettere degli I/O remoti tramite la porta seriale (ModbusRTU) o Ethernet (Modbus TCPIP) cosa che ho personalmente testato e positivamente verificato.
In sintesi quindi se si vuole realizzare un sistema CNC che abbia veramente gli assi in anello chiuso di posizione allora la mia opinione è quella di utilizzare hardware tipo MESA (si possono mettere più schede es. 5120 per chi vuole gestire un numero assi elevato) che consente prestazioni di acquisizione encoder e segnali I/O di alto livello ad un costo tutto sommato contenuto.
Non a caso Ander Wallin a cui si fa riferimento spesso per la sua macchina CNC ha optato per questa soluzione a causa delle prestazioni richieste che non potevano essere risolte con soluzioni di più basso livello di integrazione.
Il limite di EMC preso a se stante è proprio il PC IBM compatibile ovvero l'hadware di interfaccia e non la capacità  di calcolo pura e semplice.
Spero di essere stato sufficientemente chiaro e comprensibile.
L'argomento CNC è molto vasto e quindi per approfondire suggerirei di scaricarsi qualche manuale hardware e del software operativo di qualche costruttore noto (es. Siemens) .
Ci si rende subito conto che buona parte del sistema è hardware che consente di interfacciare l'esterno al CNC core.
In molti casi ci sono centinaia di pagine dedicate a descrivere l'hardware di interfaccia ed altrettante centinaia per descrivere il software di gestione.
Un appunto su MESA è sicuramente la documentazione , dire poco chiara è già  fare una esagerazione in positivo.
Sarebbe interessante sviluppare dei TIPI di composizione EMC+Hardware interfaccia in modo da definire delle classi di configurazione che possano essere chiaramente identificate in funzione delle esigenze di utilizzo.

bigalex :smilebox:

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

Re: emc, motori servo e anello chiuso con encoder

Messaggio da bigfefi » venerdì 28 maggio 2010, 10:25

Ottima precisazione direi!
Per quel che mi riguarda è stata molto utile! :wink:
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)

franceso
Senior
Senior
Messaggi: 1341
Iscritto il: martedì 22 aprile 2008, 16:37
Località: BZ

Re: emc, motori servo e anello chiuso con encoder

Messaggio da franceso » venerdì 28 maggio 2010, 13:02

Faccio solo due considerazioni e un chiarimento.
1) interfacce per l´esterno.
Sia gli encoder, che altri segnali non sono solo segnali singoli.
Ad esempio gli encoder dal servo-driver a emc utilizzano una conessione di tipo rs422,
ampiamente utilizzata in ambito industriale. Mesa puo´ gestirli direttamente,
invece per la parallela ci vuole un circuito di interfaccia, locato direttamente dopo la
parallela con max 15cm di cavo. Altri segnali sono gestiti o 12V oppure 24V, dipende
dal tipo di segnale.
2) Per quanto riguarda linux e la lettura dei encoder direttamente, con un oversampling
adeguato, il limite attuale e´ 52 giri con un encoder da 5000/4800PPR.
Se si oltrepassa il limite di 50giri al secondo, allora si deve passare per un sistema di
condizionamento esterno del segnale. Questo puo essere per esempio una scheda fpga,
un circuito della LSI, un servodriver che divide gli encoder tipo yaskawa.


Perche uso mesa? Uso mesa ogni volta che devo interfacciare +-10V.
Se il driver permette 0-10V e direzione, allora generalmente non uso mesa.
Perche ho consigliato mesa al posto della pluto ? Perche e´ venuto fuori, troppo
tardi secondo me, che la necessita e´ di commandare 5 assi. La pluto funziona
soltanto con 4 assi e non e´ possibile aggiungere semplicemte due pluto per avere piu
assi per gli tempi di cambio indirizzo del protocollo epp e altre questioni.

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

Re: emc, motori servo e anello chiuso con encoder

Messaggio da bigfefi » venerdì 28 maggio 2010, 13:19

Ok franceso.
Dove posso trovare un manuale che indichi i parametri da te indicati per quel che riguarda (alla fine dei conti) la max frequenza degli encoder?
Io mi son letto, anche se velocemente, il manuale della mesa e non mi sembra di aver trovato queste indicazioni. Oppure mi è sfuggito. :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)

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

Re: emc, motori servo e anello chiuso con encoder

Messaggio da billielliot » venerdì 28 maggio 2010, 13:49

Ciao,

dopo le (molto apprezzate) precisazioni a me restano dei dubbi:

l'encoder dei motori di timmy70 parla con il servopack in modalita' seriale? Oppure invia i classici segnali A-B/Anegato-Bnegato?

Tirando al limite le possibilita' della parallela (e se ho fatto bene i conti) nell'ipotesi di far ruotare 50 giri/secondo una madrevite che ha 4mm di avanzamento a giro, otteniamo una macchina il cui asse viaggia a 12 metri/minuto (50*4*60). Solo timmy70 puo' dirci se a lui serve cotanta potenza/velocita'.

Ciao :-)

Mauro
Amat victoria curam

franceso
Senior
Senior
Messaggi: 1341
Iscritto il: martedì 22 aprile 2008, 16:37
Località: BZ

Re: emc, motori servo e anello chiuso con encoder

Messaggio da franceso » venerdì 28 maggio 2010, 14:06

Il manuale e´ quello dell hostmot2 per quanto riguarda la mesa e il manuale HW della stessa.
Per esempio, il clock degli encoder sulla 5i20 e´ di 33mhz, invece sulla 7i43 e´ di 50mhz.
Perche il clock e´ considerato valido, deve essere stabile per 3 oppure 15 misure.
Quindi prendendo esempio dalla 5i20, 33/3=11Mhz. Prendiamo come esempio un oversampling
di 2 e siamo a 5.5Mhz che con un encoder rotatorio da 5000/4800PPR corrisponde a
4400 giri al secondo possibili oppure 880 giri al secondo con il filtro di input applicato.

Invece la parallela riesce a fare 50giri al secondo se impostata correttamente.
E gli servomotori di solito fanno 1500 o 3000 RPM che equivala a 50 giri al secondo.

franceso
Senior
Senior
Messaggi: 1341
Iscritto il: martedì 22 aprile 2008, 16:37
Località: BZ

Re: emc, motori servo e anello chiuso con encoder

Messaggio da franceso » venerdì 28 maggio 2010, 15:04

billielliot ha scritto:Ciao,

dopo le (molto apprezzate) precisazioni a me restano dei dubbi:

l'encoder dei motori di timmy70 parla con il servopack in modalita' seriale? Oppure invia i classici segnali A-B/Anegato-Bnegato?
Se il servopack utilizza un encoder incrementale, allora invia gli classici segnale A/B
differenziali divisi per il valore (minimo 16) configurato.

Comunque, siccome timmy70 non ci ha detto che modello ha, comunque sembra un SGDM e sul manuale del SGDM
ho trovato questo: The maximum allowable voltage to the speed reference input (between CN1-5 and 6) is ± 12 VDC.
Quindi una Mesa gli rovinerebbe il servodrive, e ci vorrebbe un circuito 0-10V con il 5V connesso a CN1-6 e il parametro
numero 300 settato al valore 500. Senza sapere tutto e´ pura speculazione e magari si consiglia male.
E´ anche possibile settare l´ingresso analogico 0-5V e usare l´entrata CN1-6 come direzione.
billielliot ha scritto: Tirando al limite le possibilita' della parallela (e se ho fatto bene i conti) nell'ipotesi di far ruotare 50 giri/secondo una madrevite che ha 4mm di avanzamento a giro, otteniamo una macchina il cui asse viaggia a 12 metri/minuto (50*4*60). Solo timmy70 puo' dirci se a lui serve cotanta potenza/velocita'.

Ciao :-)

Mauro
Guarda, gli 50giri/sec sono per encoder con 5000PPR .
Invece se guardo la tabella dei drive SGDM, la prima trovata,
http://lt-cnc.sict.ac.cn/products/en_pro_classid-5.asp
noterai che gli drive SGDM hanno "solo" 1500RPM, che significa massimo 25 giri al secondo e altra cosa, l´encoder
non e´ da 5000 ppr ma da 3600 ppr che significa.

Accoppiato con l´informazione trovata sopra, io lo farei con la parallela. Pero´ non sono ancora sicuro, che forse la
dir/clock non sia meglio per lui visto che allora deve impostare solo un pid e non due contemporaneamente.
Eventualmente la modifica da step/dir a pwm/dir la puo sempre fare anche dopo. Gia settare un pid non e´ cosa facile,
avere da settare due pid che si influenzano reciprocamente e´ chiaramente piu difficile. Se non usi programmi appositi
e senza le conoscenze fondamentali di pid e impostazioni vari non vai lontano.

Rispondi

Torna a “Linuxcnc”