controllo in velocità .... errore feedback

Sezione dedicata a Linuxcnc
Rispondi
giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

controllo in velocità .... errore feedback

Messaggio da giorgiofoga » mercoledì 4 novembre 2015, 18:18

Per la prima volta uso linuxcnc con controllo velocità e PID ... il feedback viene da un azionamento che gentilmente mi "divide" gli impulsi encoder in modo da renderne al linuxcnc una quantità gestibile.
Lcnc lo pilota in +10/-10Volt .... una passione ad impostare un PID decente sia su Lcnc che su drive (non è disponibile un software di autotuning preciso sicchè tutto a manina) ... Ora ho raggiunto i segunti risultati:
in jog-------------------
il motore muove nella direzione desiderata e alla velocità desiderata
il motore si ferma alla posizione desiderata

in automatico-------------------
il motore "segue" la traiettoria programmata senza troppa precisione (sono in test e ho settato un ferror alto)
si ferma a fine ciclo programma nella posizione errata, ma molto lentamente ritorna alla corretta posizione quando il programma è oramai terminato da almeno 1 minuto

Questo comportamente qualceh buon'anima mi sà indicare di che è il sintomo?

ho impostato solo P e I sia su drive che su Lcnc, e un valore molto basso (0.02%) di FF1 su Lcnc e di feedfoward percentage sul drive......
ho 250 (*4) impulsi giro su Lcnc e 2500(*4) sul drive .... come dicevo il drive mette a disposizione una funzione per diminuire gli impulsi giro verso il controllo .... velocità max 1000rpm riduttore 10/1 (10 giri motore = 1 giro condotto) encoder ratio 27.7778 la mia unità di misura sono i gradi 1 giro condotto = 360°= 3600°motore .... uso un fgpa e una scheda per 6 assi analogiche+encoder.

ringrazio
Giorgio

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

Re: controllo in velocità .... errore feedback

Messaggio da billielliot » mercoledì 4 novembre 2015, 21:12

Ciao giorgiofoga,

non so rispondere al tuo quesito ma mi chiedevo il perche' tu abbia impostato la riduzione degli impulsi che arrivano dall'encoder a LinuxCNC.

Se ho ben capito la tua configurazione:
econder da 2500 impulsi giro. In quadratura sarebbero 10000 impulsi giro. A 1000 giri minuto ottieni 10000000 impulsi al minuto. Diviso 60 (secondi per ogni minuto) restituisce 166667 impulsi al secondo (sarebbe 166666,6 periodico).

Una frequenza gestibilissima perfino con la porta parallela se il core di LinuxCNC fosse messo in condizioni di stare al passo con le necessita' dell'hardware esterno.

Si legga: per usare la parallela, il latency test dovrebbe avere numeri nell'intorno di 2.85us (1/350000), equivalenti a una frequenza di core di 350KHz (poco piu' del doppio di 166667).

Se usi FPGA con schede dedicate, questo limite non si dovrebbe porre (presumo tu stia usando MESA o simili). Dovresti quindi poter gestire tutto senza riduzioni.

Sono curioso di vedere come si risolvera'. Spero ci terrai aggiornati.

Ciao :-)

Mauro
Amat victoria curam

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: controllo in velocità .... errore feedback

Messaggio da giorgiofoga » giovedì 5 novembre 2015, 21:54

essenzialmente perchè volevo usare una scheda"poverella" e perchè non ho ben chiaro che frequenza è gestibile dalle mesa ... e poi perche gli assi sono 5 e potrebbero benissimo andare al massimo tutti e 5 ... alla fine avendo avuto problemi con il nuovo 2.7 e i nuovi kernel sulla poverella scheda sono dovuto passare ad una con I3 (poteva bastare un celeron .. ma tantè) ..... insomma con le accelerazioni e velocità che pensavo di dare agni asse "chiede" 333KHz ...
Sono gestibili su 5 assi contemporaneamente??

Grazie billielliot
Giorgio

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

Re: controllo in velocità .... errore feedback

Messaggio da billielliot » venerdì 6 novembre 2015, 11:36

Ciao giorgiofoga,

porta pazienza se ti faccio notare che fai domande ma non dai molti indizi. Giocare a indovinare puo' essere un bel passatempo ma rischia di creare piu' problemi che altro.

In atesa della sfera-di-vetro/teletrasporto (e sperando che rispondere alle domande non ti costringa a violare qualche trattato internazionale):

che cosa e' una "...scheda"poverella"..."?
Sei inpossesso di schede MESA?
Se possiedi le schede MESA e' possibile sapere il/i modello/i?
"...nuovo 2.7..." e "...I3..." ti riferisci a schede madri per PC?

I numeri che ti ho dato sono per leggere I segnali direttamente dalla porta parallela. Con I desiderata che hai espresso (1000RPM max, con encoder da 2500 impusi/giro in quadratura), LinuxCNC deve sondare gli ingressi della porta parallela almeno 350000 volte al secondo per capire se il segnale che arriva dall'encoder e' a livello logico basso o alto. 350000 scansioni al secondo sono il minimo sindacale per ottenere un dato corretto. Se la velocita' di scansione fosse maggiore sarebbe meglio (4 volte o piu').

Ad oggi non mi risulta che ci siano schede madri in grado di portare LinuxCNC a simili velocita' di esecuzione. E' per quetso che si e' costretti ad appoggiarsi a schede esterne.

Ciao :-)

Mauro

P.S. se consideri le tue schede "poverelle", la mia merita il titolo di accattona!
Amat victoria curam

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: controllo in velocità .... errore feedback

Messaggio da giorgiofoga » venerdì 6 novembre 2015, 21:59

la tua con athlonn? .... bhe quella che definisco poverella è una asrock AD2550D mini-itx il processore fa 1,6Ghz ... finio ad ora (Lcnc 2.5 e fino a 2.6.3) mi ci sono trovato bene .... ho fatto elle macchine cartesiane e a cinematica parallela in step/dir che fungono anche 16 ore il giorno senza grossi problemi ... sbalzi di tensione a parte (derivanti dal fornitore di energia) .... Ora però ho malauguratamente pensato di provare Lcnc2.7.1 con delle mesa 7i77 e 7i76 ..... ogni olta che uso halscope o apro una qualsiasi finecorsa ho un realtime error che non ferma l'esecuzione dei programi ma è pur sempre fastidioso .... PCW sul foruum Lcnc.org mi ha suggerito caldamente di passare a debian .... così ho fatto constatando (e la cosa mi è stata confermata) un "brutale" peggioramento delle prestazioni ... stesso pc latency test peggiorato a valori doppi con gli stessi programmi in esecuzione (6 finestre glxgear e due firefox aperti con due video youtube) .... così ho preso una asrock ... anzi una gigabite H81 (è uguale) socket L1150 ... ho montato un processore I3 a 3GHz (3 e qualcosa) ...a detta di PCW non è tanto la cpu che risolve questi errori ma la cache interna (3Mb contro i miei vecchi 1Mb) ... che tutto sommato per processori multi core ha un senso ....
Ora sono tornato a ubuntu 10.04 ... ma devo provare a installare rtai 4 e Lcnc 2.7.2 su un ubuntu 15.04 con kernel 3.19... provato? Una scheggia(per ora ho provato solo ubuntu ..... appena fatto vi oaggiorno).

Mi viene da fare una filippica sulla in'opportunità di usare debian a favore di ubuntu ... ma tantè ... gli amanti di python mi fucilerebbero.

Saluti Caro Billielliot
Giorgio

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: controllo in velocità .... errore feedback

Messaggio da giorgiofoga » venerdì 6 novembre 2015, 22:06

Aggiungo che per risolvere l'errore, primariamente bisogna impostare gli stessi parametri di PID sia su Lcnc che sul drive, avendo cura di disattivare prima tutti i filtri presenti sul drive ( filtri di coppia, velocità , frequenza smorzamenti e altro) .. appena trovata la giusta bilanciatura si può inserire con molta calma tutti i filtri e gli smorzatori e compensatori che servono .... bisogna avere sempre sott'occhi halscope e ilsegnale di pid error e quallo si axis.pos.cmd ... non fa male anche il relativo segnale di output analogico... così ci si rende conto di quanto e come i valori di P e I influiscono sulle analogiche e sull'errore si traiettoria.
E' un lavoraccio .... userò ancora le mesa per lo step/dir ... ottime, ma per il resto stò imparando ad usare altri sistemi .... tu conosci qualcuno che ha implementato il can bus o il profibus su Lcnc?

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

Re: controllo in velocità .... errore feedback

Messaggio da billielliot » sabato 7 novembre 2015, 22:35

Ciao Giorgio,

dai manuali si evince che:
la scheda mesa 7I77 supporta un count rate massimo di 2MHz per ogni canale encoder;
la scheda mesa 7I76 supporta un count rate massimo di 10MHz per ogni canale encoder.

Direi che ne hai piu' che a sufficienza per gestire 5 assi.

Purtroppo non conosco nessuno che abbia implementato il can bus o il profibus su LinuxCNC.

Grazie per aver condiviso le informazioni su come hai proceduto per tarare il PID. Un'informazione in piu' fa sempre piacere.

Ciao :-)

Mauro
Amat victoria curam

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: controllo in velocità .... errore feedback

Messaggio da giorgiofoga » domenica 8 novembre 2015, 19:44

Non si discute sulla bontà delle schede MESA .... le apprezzo molto, sono complete e professionali .... forse mi sono spiegato male, piuttosto è il nuovo Lcnc 2.7 su base debian che è divenuto un pò pesantuccio ...... (se prima 1M di cache bastava e ora non più ... infatti molti utilizzatori che mesa nel passare da Lcnc 2.6 a 2.7 hanno riscontrato il problema) ...

Per il profibus è un peccato ... continuerò a testare ethercat e dirò addio alla parallela ... teniamo presente poi che di MESA c'è la 7i76E che per l'appunto è connessa non più tramite fgpa ma tramite cavo ethernet ....

Per le capacità della scheda 7i77 ... il fatto di dividere gli impulsi scaturiva dalla mia idea di risparmiare risorse da utilizzare per le rampe di accelerazione ..... mi sono state consigliate rampe da 0 a 100% di 200msec circa ... dovrei arrivare almeno a 30msec ..... stò vedendo come almeno avvicinarmi ad un risultato decente ....

Tu hai già provato machinechit? .... hai impressioni da dare? apriamo una sezione apposita?

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

Re: controllo in velocità .... errore feedback

Messaggio da billielliot » lunedì 9 novembre 2015, 14:26

Ciao

Giorgio,

di Machinekit se ne era parlato qui.

Diventera' sicuramente concorrenziale (per non dire imbattibile) nel momento in cui adatteranno il codice per usare le due unita' real-time hardware, all'interno del processore usato sulla BeagleBone (se mai lo faranno...).

Nel frattempo ci dobbiamo "accontentare" di quello che passa il convento (tipo le MESA) :-)

A proposito di MESA: non mi pare che implementino quanto dici. Ma probabilmente non ho seguito gli sviluppi e sbaglio. Avranno fatto aggiornamenti di cui non sono al corrente.

Ciao :-)

Mauro

P.S. facci sapere se risolvi. Fa' sempre piacere leggere di qualcuno che e' riuscito.
Amat victoria curam

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

Re: controllo in velocità .... errore feedback

Messaggio da billielliot » mercoledì 18 novembre 2015, 22:45

Trovato per caso. Magari interessa qualcuno.

Controllo Ethercat implementato con LinuxCNC. Documento PDF in spagnolo.

Ciao :-)

Mauro
Amat victoria curam

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

Re: controllo in velocità .... errore feedback

Messaggio da Dino » martedì 8 dicembre 2015, 2:39

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/

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

Re: controllo in velocità .... errore feedback

Messaggio da Dino » martedì 8 dicembre 2015, 3:04

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/

giorgiofoga
Junior
Junior
Messaggi: 71
Iscritto il: venerdì 25 gennaio 2013, 10:44
Località: padova - (PD)

Re: controllo in velocità .... errore feedback

Messaggio da giorgiofoga » mercoledì 27 aprile 2016, 22:58

Nel frattempo ho cominciaTO Ad usare ethercaT per dei test...... il mese prossimo finalmente il primo robot etercath.... non vedo l'ora di finire.

@billieliot mi rifierivo alla 7i76E.... ethernet.....

appena finito il test vi posterò i risultati.....

saluti
Giorgio

Rispondi

Torna a “Linuxcnc”