Linuxcnc + Ethercat

Sezione dedicata a Linuxcnc
Bloccato
Avatar utente
hellfire39
God
God
Messaggi: 3414
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Linuxcnc + Ethercat

Messaggio da hellfire39 » sabato 4 giugno 2022, 12:28

Cerco di chiarire meglio il discorso, a scanso di equivoci.
Abbiamo visto tre soluzioni:
1) uscita digitale EL2008
2) scheda/azionamento stepper della Beckhoff
3) scheda FR1000

Sulle prime due, che conosco, posso esprimermi con certezza:

per pilotare uno stepper con la prima devi generare i singoli impulsi via ethercat e ha evidenti limiti di frequenza. Di sicuro non puoi emettere impulsi a più di qualche centinaio di Hz. È una soluzione dimostrativa ma di nessun interesse pratico.

La seconda è la scelta tipica in campo professionale, nelle situazioni in cui si scelga di pilotare uno stepper in EtherCAT. Hai un azionamento direttamente sul bus, colleghi lo stepper e sei apposto.

La terza ipotesi, la scheda FR1000 per me è una incognita. Dai post iniziali e dalle descrizioni lette, ho sempre pensato che si comportasse come l'esempio con la EL2008. Ma, alla luce dei dati faticosamente ottenuti, dubito fortemente che utilizzi lo stesso metodo del video di esempio con la EL2008. L'etherCAT non sarebbe in grado di emettere impulsi alle frequenze indicate.
A questo punto mi viene il sospetto che la scheda in oggetto non sia uno slave digitale ma che generi gli impulsi in modo molto simile alla soluzione 2).
Questo cambierebbe tutto il ragionamento, rendendo comprensibile da un lato come possano essere generati impulsi ad alta frequenza, ma aprirebbe un altro discorso in merito alla latenza ed alla precisione dei segnali:
- come controllo il numero esatto di passi?
- come sincronizzo gli assi tra di loro?
- come viene gestita la fase di accelerazione in cui vario continuamente la frequenza?

P.S. ci voleva tanto ad uscire i dati?

ross
Member
Member
Messaggi: 351
Iscritto il: mercoledì 3 agosto 2011, 23:16
Località: Macerata (MC)

Re: Linuxcnc + Ethercat

Messaggio da ross » sabato 4 giugno 2022, 14:50

hellfire39 i dati ci sono, ci sono le specifiche, la documentazione delle schede c'è e c'è anche la documentazione del protocollo ma ancora non capisco perché ti ostini a portare avanti un discorso tutto tuo senza aver letto nulla di tutto ciò che è stato pubblicato.

Dato che Linuxcnc gestisce perfettamente il protocollo Ethercat e ci sono tantissime schede testate (vai a rivedere la documentazione, la lista è lunga) è evidente che non genera i segnali step e dir con la cpu del pc per passarli al modulo slave tramite il protocollo ma delega il compito alle schede slave. Il protocollo è "il modo e le regole" in cui l'informazione transita, non ha nulla a che fare con il tipo di informazione.
Tramite il protocollo puoi far viaggiare tutte le informazioni che vuoi: di posizione, singoli segnali on off ed tanti altri per esempio potresti fare viaggiare un pacchetto dati contenente il numero di step da eseguire, la rampa di accelerazione/decelerazione e direzione.

Vedi, Linuxcnc è un software molto aperto contrariamente a tanti altri programmi (e controlli numerici) che leggo in questo forum. Con gli altri sei molto limitato, con Linuxcnc puoi utilizzare tanti tipi di schede per la tua macchina ed è sufficiente cambiare la configurazione, la cinematica e tante altre cose fatte ad hoc, a seconda del tipo di scheda che andrai a collegare la generazione dei segnali per gli azionamenti (motori brushless, stepper e motori a spazzole) viene delegata o fatta dalla cpu. Nella BBB per esempio non è la cpu che si occupa dei segnali per gli azionamenti e per gli encoder ma le due unità PRU da 200MHz, abbattendo i famosi e odiati tempi di latenza entro certi limiti.

Le specifiche tecniche delle schede sono e devono essere attendibili altrimenti si chiama truffa.
Senza leggere le specifiche tecniche non vai da nessuna parte e non puoi progettare nulla, in qualsiasi campo.
Forse mi sono perso qualche post ma le specifiche della scheda EL2008 che hai indicato dice chiaramente "Switching times typ. TON: 60 µs, typ. TOFF: 300 µs" e da qui si capisce bene che è una semplice scheda per il comando degli attuatori tipo le elettrovalvole. Scusami ma non ho capito dove hai letto che viene usata per i segnali step e dir.

Spero di averti chiarito meglio questi concetti altrimenti ti invito a leggere la documentazione che ho linkato nei miei post.

Ross

Avatar utente
hellfire39
God
God
Messaggi: 3414
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Linuxcnc + Ethercat

Messaggio da hellfire39 » sabato 4 giugno 2022, 15:07

@ross
giri intorno al mondo, ti appelli a fantomatici numeri sensa senso, ma non mi rispondi nel merito.
Sto cercando di fare un discorso serio, chiarirmi le idee e renderle chiare al resto del mondo. Per cui, aiutami e smettila di agitare numeri fantomatici. O fare riferimenti generici a specifiche. Ti ricordo che l'EtherCAT lo utilizzo per lavoro, quindi un minimo di conoscenza ce l'ho.

La scheda EL2008 è sbucata fuori da uno dei primi link indicati da jjdege che mostrava come l'utente utilizzasse tale modulo per pilotare in pulse/dir un driver stepper.

Rimane aperta la questione che ho indicato nel post precedente:
- come funziona la scheda FR1000?

Se, come penso, sia un generatore di frequenza, come è possibile controllare in modo accurato il numero di impulsi che vengono generati, visto che il bus cicla intorno al ms (stima mia)?
E poi non mi avete ancora detto a quanto effettivamente sta ciclando.

L'oggetto, qui, non è quant'è bello e quanto ce l'ha più lungo LinuxCNC (cosa di cui non mi frega nulla), l'oggetto è capire come funziona effettivamente tale scheda per capirne vantaggi e limiti.

Se mi aiutate a capire come funziona e come LinuxCNC la piloti, grazie mille.

Puoi andare anche al tuo fantomatico MHz (ipotetico e non raggiungibile in single-ended), ma se poi non hai il controllo puntale di ciò che stai facendo, la cosa è abbastanza inutile. Sai come si dice: la potenza è nulla senza controllo!!!

ross
Member
Member
Messaggi: 351
Iscritto il: mercoledì 3 agosto 2011, 23:16
Località: Macerata (MC)

Re: Linuxcnc + Ethercat

Messaggio da ross » sabato 4 giugno 2022, 16:31

hellfire39 Ho scritto tutto nel post, rileggilo per cortesia.
Fai troppa confusione, la frequenza massima di step raggiungibile dalla FR1000 è di 1MHz in modo differeziale (RS422, già scritto nel post precedente) e non come dici tu (e questo dimostra che non leggi ne le specifiche ne i commenti degli utenti), in single ended è 250KHz (c'è scritto anche questo ma dato che non leggi le specifiche...).

Ti è stato spiegato il funzionamento della FR1000 (vedi post precedenti), ci sono le specifiche e c'è la documentazione.
Linuxcnc codifica le informazioni per la FR1000 (o altre schede di altre marche), sul bus tramite il protocollo viaggiano le informazioni (pacchetto dati codificato) a cadenza regolare verso i moduli slave e da quest'ultimi (o la FR1000 o altre schede di altre marche) viene decodificata l'informazione producendo per gli azionamenti ciò che da Linuxcnc viene richiesto di fare. Più chiaro di così...

Se vuoi sapere se la FR1000 usa un ARM/FPGA/DSP/DSC o altro di performante devi chiederlo al produttore altrimenti ne compri una, la smonti (invalidando la garanzia) e vedi che cosa c'è.

Se non leggi la documentazione che ho postato non posso leggerla e fartela capire io per te.
Con questo non intendo più proseguire questo tuo discorso sterile.

Ciao!
Ross

Avatar utente
hellfire39
God
God
Messaggi: 3414
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Linuxcnc + Ethercat

Messaggio da hellfire39 » sabato 4 giugno 2022, 16:47

in single ended è 250KHz
Ok, siamo d'accordo, a quanto pare le specifiche le avevo lette bene. Visto che la maggior parte dei driver hanno un fotodiodo, questa è la configurazione da considerare. Non mi pare che stiamo parlando di chissà quale driver con ingresso differenziale.
Ti è stato spiegato il funzionamento della FR1000 (vedi post precedenti)
No, sarò tonto ma non mi è chiaro per niente. Ho supposto che generi una frequenza in uscita, ma non ho avuto conferma. La documentazione non perdo tempo a leggerle. Visto che si magnificano le prestazioni della scheda, chiederei a voi di essere così cortesi di spiegarmela.
Linuxcnc codifica le informazioni per la FR1000 (o altre schede di altre marche), sul bus tramite il protocollo viaggiano le informazioni (pacchetto dati codificato) a cadenza regolare verso i moduli slave e da quest'ultimi (o la FR1000 o altre schede di altre marche) viene decodificata l'informazione producendo per gli azionamenti ciò che da Linuxcnc viene richiesto di fare. Più chiaro di così...
La lezioncina, per favore, risparmiamela. Lo so come funziona il bus! Qui non spieghi quale informazione viene passata periodicamente, che è la chiave del discorso.

Sterili sono le vostre lodi acritiche di un prodotto, senza mai entrare nel merito della questione. Troppo facile dire: "il prodotto è figo". L'onere della prova spetta a chi fa l'affermazione, mica a chi deve smentirla.

Se la scheda fornisce in uscita una frequenza, COME CAVOLO GARANTISCE CHE IL NUMERO DI IMPULSI SIA ESATTAMENTE QUELLO DESIDERATO, visto che il bus viene aggiornato periodicamente ??? (E NON MI AVETE ANCORA DETTO OGNI QUANTI MILLISECONDI VIENE AGGIORNATO).

Junior73
God
God
Messaggi: 3614
Iscritto il: lunedì 14 aprile 2014, 10:36
Località: Perugia

Re: Linuxcnc + Ethercat

Messaggio da Junior73 » sabato 4 giugno 2022, 20:00

Dalle specifiche della scheda non mi pare di leggere degli ingressi appositi per avere un sistema retroazionato con righe ottiche, resolver o encoder, nonostante ci siano 5 canali con ingresso veloce ma quest'aspetto è da approfondire con la sperimentazione sul campo perché probabilmente lavorandoci un pò si potrebbe fare qualcosa. Male che va si aggiunge una scheda tipo la EL5151 o simili.
Non esiste quindi un sistema (anche lento con assi non simultanei), a costo ragionevole, che possa in qualche modo avere un controllo sulla posizione reale o meglio "rincorrere" la stessa?

Saluti

EasyCAT
Newbie
Newbie
Messaggi: 2
Iscritto il: martedì 7 giugno 2022, 21:50

Re: Linuxcnc + Ethercat

Messaggio da EasyCAT » martedì 7 giugno 2022, 22:59

Buonasera,
provo a fare un po' di chiarezza sull'EpoCAT FR4000 in quanto produttore della suddetta scheda: partiamo dalla cosa più semplice, il tempo di aggiornamento dei dati è quello tipico dei sistemi EtherCAT vale a dire 1ms, di default anche LinuxCNC lavora a questa frequenza, quindi vuol dire che i dati vengono ciclicamente aggiornati 1000 volte al secondo.
I dati che vendono trasmessi sono in sintesi la velocità istantanea per ognuno dei 5 motori (espressa in Hertz da 0 a 4MHz a incrementi minimi di 1 Hz), in ritorno la scheda rimanda indietro al CN il numero di impulsi (step) generati per ogni asse, tenendo ovviamente in considerazione la direzione del motore. In questa maniera se il CN, in questo caso LinuxCNC, è in grado di gestire dei motori in velocità istantanea e chiudere l'anello di posizione con un PID il tutto funziona, altrimenti no. Quindi ricapitolando la scheda genera una frequenza (e di conseguenza una velocità) e conta gli impulsi che escono ridando così l'informazione sulla posizione virtuale dell'asse al CN, dico virtuale perché ovviamente se poi il motore sgrana o perde impulsi, questo non lo si può sapere. La parte di interpolazione degli assi, di calcolo delle accelerazione e delle velocità istantanee così come la posizione è completamente demandata al controllo numerico (LinuxCNC in questo caso), la scheda funge solo da attuatore fisico. L'elettronica della scheda è basata su un FPGA, i tempi di latenza da quando arriva la nuova informazione sulla frequenza a quando viene modificata sono di fatto istantanei.
Una frequenza massima di 4MHz (così come il prezzo della scheda) può sembrare eccessiva per dei motori a step e infatti lo è...in realtà noi avevamo pensato di più ad un utilizzo sui drive a treno di impulsi che gestiscono motori brushless dove per poter arrivare a 3000rpm a 10000 impulsi a giro servono frequenze elevate, il nostro target era quello, poi ovviamente può essere utilizzata anche con dei normali stepper.
A scanso di equivoci il mio messaggio sul forum non vuole essere una pubblicità alla scheda, ma solamente una spiegazione sul suo funzionamento, sicuramente in commercio (anche su questo sito) ci sono schede più economiche e più performanti dell'FR4000. Spero di aver chiarito un po' di più le idee.

Avatar utente
hellfire39
God
God
Messaggi: 3414
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Linuxcnc + Ethercat

Messaggio da hellfire39 » mercoledì 8 giugno 2022, 7:37

Grazie del chiarimento, finalmente ho capito il funzionamento.
Avevo intuito bene la parte relativa alla generazione di frequenza, mi mancava il feedback degli impulsi generati.

Dino
Senior
Senior
Messaggi: 815
Iscritto il: lunedì 13 novembre 2006, 23:08
Località: Dolomiti (BL)
Contatta:

Re: Linuxcnc + Ethercat

Messaggio da Dino » mercoledì 15 giugno 2022, 0:23

hellfire39 ha scritto:
mercoledì 8 giugno 2022, 7:37
Grazie del chiarimento, finalmente ho capito il funzionamento.
Avevo intuito bene la parte relativa alla generazione di frequenza, mi mancava il feedback degli impulsi generati.
No, non avevi capito nulla, avevi supposto mille cose (tutte errate) senza prenderti 30 secondi per cercare i dati, che sono pubblici e facilmente reperibili, non hai idea di come LinuxCNC controlli la posizione "reale" degli attuatori, di come gestisca le accelerazioni e come sia implementata la cinematica (diretta ed inversa) ma hai voluto buttare m3rd4 e sentenziare...
Forse sei convinto che ce l'hai più grosso di tutti, ed ora che ti è stato spiegato, come si farebbe ad uno studente di liceo, che quello che pensavi (che la scheda generasse i singoli impulsi via ethercat) era palesemente errato (ma ne eri convinto pur non avendo minimamente cercato conferme) vieni a scrivere "avevo intuito bene la parte relativa alla generazione di frequenza"? =D> :lol: :lol:
NON più moderatore della sezione EMC ( http://www.linuxcnc.org/ )
Felice utilizzatore di GNU/Linux http://www.gnu.org/ http://www.kernel.org/
Linux Registered User #192043 http://counter.li.org/
Sito internet http://dino.delfavero.it/

Avatar utente
hellfire39
God
God
Messaggi: 3414
Iscritto il: domenica 16 dicembre 2012, 9:04
Località: AN

Re: Linuxcnc + Ethercat

Messaggio da hellfire39 » mercoledì 15 giugno 2022, 7:35

Capisco la tua rabbia, mi dispiace per te.
Se rileggi il thread troverai conferma a quanto ho scritto.

Potresti trovare anche un po' di tempo per discutere anche delle capacitò intellettive dell'autore del post che, in dieci pagine, non è stato in grado di spiegare cosa aveva fatto.
Cosa che è riuscita egregiamente a EasyCAT in dieci righe.

In ogni caso, la spiegazione conferma l'insensatezza del sistema (che sembra molto più adatta ad un controllo di velocità che di posizione).
Il tutto tralasciando l'idea completamente fantasiosa di pilotare uno stepper a 12800 impulsi/giro!

Ma tu attacca pure me, se ti fa piacere. Qua, chi gioca a quello che ce l'ha più lungo, siete voi che volete difendere, per principio, un sistema francamente indifendibile. Quindi, per favore, finito lo sfogo, sfogata la rabbia, discutiamo sul sistema e non sulle persone.

Avatar utente
jjdege
Member
Member
Messaggi: 341
Iscritto il: sabato 28 dicembre 2019, 12:25
Località: Monza Brianza

Re: Linuxcnc + Ethercat

Messaggio da jjdege » mercoledì 15 giugno 2022, 9:01

eccolo!!!!
la prova vivente che aver studiato non è sinonomo di intelligenza

in dieci pagine non hai ancora capito il perchè delle scelte di una persona,
sei proprio un piccolo uomo, altro che discutere sul sistema,
qui ci sono belle persone, come prima cosa.
Mettitelo in quella zucca vuota

faccio altro di mestiere, se entri nel mio campo puo anche essere che ti sotterro, grande uomo

EasyCAT ovviamente aveva le risposte che cercavi, GENIO!

Dino
Senior
Senior
Messaggi: 815
Iscritto il: lunedì 13 novembre 2006, 23:08
Località: Dolomiti (BL)
Contatta:

Re: Linuxcnc + Ethercat

Messaggio da Dino » mercoledì 15 giugno 2022, 23:29

hellfire39 ha scritto:
mercoledì 15 giugno 2022, 7:35
Cosa che è riuscita egregiamente a EasyCAT in dieci righe.
In ogni caso, la spiegazione conferma l'insensatezza del sistema (che sembra molto più adatta ad un controllo di velocità che di posizione).
CUT
siete voi che volete difendere, per principio, un sistema francamente indifendibile.

Vedo che ancora non hai capito nulla, scrivi che EasyCAT in dieci righe ha egregiamente spiegato il funzionamento del sistema e sulla stessa riga affermi che il sistema ha un controllo in posizione, quando nel post si legge chiaramente che "I dati che vendono trasmessi sono la velocità istantanea per ognuno dei 5 motori" quindi non hai ancora capito nulla...
Definisci "un sistema francamente indifendibile" ma non spieghi il perché e non esponi su quale base giudichi un prodotto che ancora non conosci, continui a basarti sul nulla che ti sei inventato, fa una cortesia leggiti la documentazione prima di replicare.

PS: sono anni che non sono più moderatore e mi pare non vi sia nessuno che al momento modera i post, un peccato perché qui a mio avviso siamo arrivati alla diffamazione in questa anarchia totale.

Spero che kalytom legga faccia un po' di pulizia...
NON più moderatore della sezione EMC ( http://www.linuxcnc.org/ )
Felice utilizzatore di GNU/Linux http://www.gnu.org/ http://www.kernel.org/
Linux Registered User #192043 http://counter.li.org/
Sito internet http://dino.delfavero.it/

Avatar utente
kalytom
Administrator
Administrator
Messaggi: 42338
Iscritto il: lunedì 13 novembre 2006, 9:17
Località: Poggiomarino (Na)
Contatta:

Re: Linuxcnc + Ethercat

Messaggio da kalytom » giovedì 16 giugno 2022, 9:29

Blocco quest argomento per cancellarne alcune righe.

Invito gli utenti a moderarsi nei termini e se non d'accordo ad abbandonare il forum
Immagine

Bloccato

Torna a “Linuxcnc”