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?

Ciao e grazie
Marco