Stai visualizzando 8 post - dal 65 a 72 (di 90 totali)
  • Autore
    Post
  • #3607
    AvatarVincenzoS
    Partecipante

    C’è quindi un errore influenzato dalla MaxAcc.?

    #3609
    Avatartheremino
    Amministratore del forum

    Non so dirti, a me sembrano errori casuali, probabilmente se fai due volte lo stesso test gli errori a volte ci sono e a volte no.
    Se dovremo cercare di debuggarli è necessario avere un test corto e ripetibile.

    Ieri hai scritto che avevi un test di poche righe e con un asse solo e dicevi che da sicuramente errore.
    Dicevi anche che rimane un valore non zero da qualche parte (ti ho chiesto dove ma non mi hai risposto)
    Dovremmo tentare di ripetere questa cosa anche da me.

    #3611
    AvatarVincenzoS
    Partecipante

    Quando dicevo non torna a Zero era riferito alla macchina CNC.
    Il file “Lento” nelle condizioni appena esposte può essere usato.
    Oggi controllo l’altro che stavo testando e ti aggiorno.

    #3613
    AvatarVincenzoS
    Partecipante

    Ciao Livio,
    in allegato link delle configurazioni usate.
    https://my.pcloud.com/publink/show?code=XZlfs27Zd98Bl6kqBVVxh8Y5LvjJyu14LhV7
    https://my.pcloud.com/publink/show?code=XZcfs27ZjafomvcfBdB7BeGXygcN3kmNBPDX
    https://my.pcloud.com/publink/show?code=XZVBs27ZpBuOlLaY5O4ViwRljRUrMY8HJ0QV

    Ho verificato il codice ad un asse con movimenti di Max di 1mm.
    L’errore è maggiore con AccMax da 400 in su.
    Con AccMax inferiori ovviamente ci vogliono molte righe di programma perché vada i errore o meglio credo che siano piccoli ed alla fine di un file imponente ti ritrovi con l’errore.
    Le righe di comando di seguito scritte sono state eseguite con feed di 50 e 100.
    M6 T1
    G1 X0 Y0 Z0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    G1 X1
    G1 X0
    M30

    Non so se riesci a impostare sulla tua queste accelerazioni ma come provato su file grandi anche con Acc, di 200 ci sono errori.
    Da ricordare che indipendentemente dalle impostazioni la CNC nei movimenti in rapido perpetuati anche per 1 ora e più non sbaglia di 1 centesimo.

    • Questa risposta è stata modificata 2 anni, 4 mesi fa da AvatarVincenzoS.
    • Questa risposta è stata modificata 2 anni, 4 mesi fa da AvatarVincenzoS.
    #3616
    AvatarVincenzoS
    Partecipante

    Ma ho l’impressione che anche gli FPS influiscono. Ho fatto la stessa cosa sun PC con solo SO e Theremino con una USB che non va oltre i 420, dove questo massimo valore è anche abbastanza stabile anzi in qualche momento è fermo senza oscillazioni. Qui il file con solo X ha avuto un errore più piccolo rispetto al portatile che viaggia a 600 ed oltre fps. Domani o meglio fra poche ore riprovo per conferma. Ciao.

    #3618
    Avatartheremino
    Amministratore del forum

    Ho provato con le velocità sopportabili dai miei motori
    e naturalmente non ho visto errori.
    ————————————————————————
    MaxSpeed = 300
    (i miei motori non sopportano di più)

    MaxAcc = 30
    (consigliabile tenere MaxAcc a circa 1/10 di MaxSpeed)

    Rapid = 300 —> Nessun errore
    Feed = 50 —> Nessun errore
    Feed = 100 —> Nessun errore
    ————————————————————————

    A parte che non capisco lo stesso perché ci sono errori,
    ma i valori da te impostati portano ad andare a strappi
    e senza un reale miglioramento della velocità.

    MaxSpeed = 2000 e Feed = 50 o 100 sono troppo lontani tra loro

    Con Feed a 50 o 100 dovresti abbassare MaxSpeed e Rapid a non più di 500

    MaxAcc = 500 è troppo alto, scuote la macchina e provoca vibrazioni esagerate
    senza nessun reale miglioramento dei tempi di fresatura.

    Con MaxSpeed a 2000 il MaxAcc andrebbe a 200
    Ma con il MaxSpeed a 500 il MaxAcc andrebbe a 50

    ———————————————————
    Riassumo i valori che ti consiglierei:
    ———————————————————
    – MaxSpeed = 500
    – MaxAcc = 50
    – Rapid = 500
    – Feed = 50 o 100 o anche di più
    ———————————————————

    #3623
    AvatarVincenzoS
    Partecipante

    Immagina una tavola 40x50cm da incidere con motivi floreali a profondità variabile, un lavoro dove curve ed angoli stretti si susseguono ripetutamente.
    Con Maxspeed a 2000 e MaxAcc a 200 la cnc lavora fluida.
    Normalmente Il gcode viene impostato con Feed da circa 400 a 700 mm/min. , velocità che può mantenere solo nei tratti lineari o quando gli assi producono movimenti di 45°.
    Ma nelle curve strette o negli angoli la cnc scende tranquillamente sotto i 100 mm/min. cercando di lavorare accuratamente.
    Da considerare che i cam quando creano percorsi con punte a “V” passano due volte sullo stesso percorso per rifinire bene entrambe le pareti.
    Sta di fatto che se perdo uno/due step ogni minuto… dopo un paio d’ore rischio di aver perso anche 1mm.
    Significa buttare via il lavoro.
    E ho lavori pronti da realizzare che richiedono anche più di 10 ore.
    I test eseguiti in maniera estrema sia in basso che in alto servivano solo a mettere in evidenza che determinati comportamenti (bassi feed e velocità degli fps nell’HAL)) possono interaggire con il normale funzionamento della CNC.
    Impostare Max speed a 500 e Max Acc. 50 va bene per piccole aree da incidere con passo lumacoso.
    Un esempio misurato… quando avevo i normali stepper (maxspeed 2000) ho eseguito con tecnica halftone una tavola con circa 7/8000 fori a profondità variabile in quasi 3 ore e mezza, con i closed loop e lavoro simile 7500 fori il tempo è stato di 1 ora e 20 minuti.
    Posso in qualche modo effettuare misurazioni o registrazioni per effettivamente trovare il problema?
    Notavo i grafici dell’HAL che i condizioni di errore hanno delle creste diverse…
    Saluti.

    #3625
    Avatartheremino
    Amministratore del forum

    Se abbassi MaxSpeed a 500 e MaxAcc a 50, elimini l’errore e il tempo di lavorazione non aumenta che di poco.

    Gran parte del tempo di lavorazione viene passato con Feed a 100 o 200
    Per cui i Rapidi, che siano a 2000 oppure a 500, incidono pochissimo sul tempo finale.

    In ogni caso i rapidi, se il Gcode è ben ottimizzato, non contano quasi niente.

    Portando MaxSpeed a 500, il Feed continua ad andare veloce come prima, non “lumacoso”, ma esattamente come prima.
    Anzi con 2000, a causa del LookAhead. che vede continui errori, c’è la possibilità che ci metti anche di più

    Inoltre abbassando MaxSpeed e Rapidi a 500 il tempo calcolato diventerà molto più simile a quello reale.
    E quando questi due tempi sono simili vuol dire che i parametri sono ragionevoli.

    Trovare l’errore
    ———————————————
    Non puoi fare nulla per trovare l’errore, probabilmente si genera nel firmware quando viene “tirato per il collo”
    e nessuno di noi è in grado di andare a sistemarlo.

    Il tutto e OpenSource e forse un mago del firmware potrebbe arrivarci, noi non siamo abbastanza maghi, il massimo delle nostre capacità lo abbiamo già dato quando, immersi per mesi nel firmware degli stepper, abbiamo fatto tutto il possibile per farlo andare bene. Ora sono passati anni e non ricordiamo più niente di quello che c’è dentro, solo che è molto complesso. Per cui se andassimo a toccarlo faremmo solo danni.

    Inoltre il sistema theremino utilizza una comunicazione “asincrona”, si scrive quando capita e si legge quando c’è tempo.
    Questo va bene fino a che non si esagera con le pretese di velocità ma, dato il particolare tipo di comunicazione, nulla è garantito.

    In pratica simuliamo il comportamento dei sistemi biologici, senza pretendere il determinismo assoluto.
    E, incredibile, siamo riusciti, con questi metodi non deterministici, anche a controllare macchine utensili.
    Ma non si deve dimenticare da cosa siamo partiti e non si deve “tirare per il collo il sistema”, oltre il punto in cui si vede che non ce la fa più.

    Una spiegazione più approfondita sulla comunicazione “non deterministica” si trova in questa pagina:
    https://www.theremino.com/contacts/the-theremino-mission
    e anche qui:
    https://www.theremino.com/downloads/notes-on-software#non-deterministic

    • Questa risposta è stata modificata 2 anni, 4 mesi fa da Avatartheremino.
    • Questa risposta è stata modificata 2 anni, 4 mesi fa da Avatartheremino.
Stai visualizzando 8 post - dal 65 a 72 (di 90 totali)
  • Devi essere connesso per rispondere a questo topic.