Visualizza messaggio singolo
Vecchio 10 febbraio 17, 11:53   #364 (permalink)  Top
devCad
Rivenditore - devCad
 
L'avatar di devCad
 
Data registr.: 04-12-2013
Messaggi: 1.265
Citazione:
Originalmente inviato da saviothecnic Visualizza messaggio
Ho letto in altro topic che stai vedendo d'integrare GRBL + Arduino
al tuo devCnc Foam quindi sarebbe utile capire al atto pratico
paragoando i sistemi cosa puoi fare e cosa puoi non fare con il tuo soft

Gestendo elettronica TGA con Theremino o con Arduino
e la CNC Shield che è il compo in comune tra i Due sistesmi

Anche se forse con Arduino è meglio usare una scheda Tipo Ramps 1.4

Poi penso per la gestione Filo si usera un SSR per pilotare
o in ON-OFF secco o in PWM

Sicuramente Theremino è la soluzione più economica ma non ho attualmente
capito paragonando i due sistemi vantaggi e svantaggi che si avranno tra i due

Nel Dubbio ho in casa sia MM2001 sia Arduino sia Theremino

Ad occhio vedo più potenzialita nel sistema Arduino che ovviamente essendo
più costoso è anche ovvio ma potrei sbagliarmi.

Quindi era interessante capire e paragonare i sistemi di controllo
Spaghetti, mi avete provocato e mo' ve magno.
In pratica colgo l'occasione prestata da questa domanda per sfogarmi in una diarroica esternazione tecnica.

Per quanto riguarda il filo caldo:
Con Theremino attualmente sfrutto un pin in uscita per mandare un segnale On/Off o PWM. L'utente si dovra' poi preoccupare di applicare a questo segnale l'opportuna elettronica di potenza per pilotare un relais o direttamente il trasformatore.

Per quanto riguarda Arduino, attualmente sto preparando una configurazione personalizzata per Arduino Mega + Ramps. Della Ramps sfrutto l'uscita di potenza D8 che puo' gia' essere usata per pilotare il trasformatore, se la potenza richiesta non eccede quella disponibile da questa uscita, oppure puo' usare un apparecchio per aumentare la potenza, come avevi gia' suggerito tu qualche settimana fa.
Seguiranno poi antre versioni per Arduino 1 + Shield V3 etc.

Per quanto riguarda vantaggi e svantaggi:

- costo. Direi che siamo li', a meno che non compriamo versioni originali e certificate di Arduino. Theremino l'ultima volta che ho visto costava se ricordo bene 10 euro, ma oggi vedo che il sito ThereminoStore non e' accessibile. Spero sia un problema temporaneo. Per quanto riguarda Arduino Mega, vedo lo stesso prezzo di una decna di euro per diversi cloni. Io sto facendo prove appunto su dei cloni, e non ho riscontrato problemi.
Diverso e' il discorso se vogliamo utilizzare CobraUsb, il controller Theremino-like offerto da IdeeGeniali. In questo caso il prezzo e' sui 100 euro, ma abbiamo gia' la soluzione completa di drivers etc., inscatolata e pronta all'uso.

- facilita' di assemblaggio. Sempre scartando CobraUsb, che e' gia' pronta all'uso, la soluzione Arduino Mega + Ramps e' sicuramente piu' semplice da assemblare. Basta infatti incastrare le due schede una nell'altra, inserire i driver stepper nella ramps, collegare i motori (vengono forniti di solito gia' col connettore giusto, a prova di stupido) e se si usa il filo caldo collegarne anche l'uscita.
Per Theremino attualmente non esistono (o non ne conosco) shield ottimizzate per il Cnc che siano plug&play come la Ramps per Arduino. Quindi ci si deve arrangiare a riadattare una shield tipo la Cnc Shield V3 (come aveva fatto Pieri70 se ricordo bene), oppure si deve costruire qualcosa di analogo. Considerando che io ho trovato la Ramps + i 5 driver stepper a circa 20 euro in totale, direi che questa attualmente e' la soluzione con miglior rapporto prezzo costo

- prestazioni. Il discorso e' un po' piu' complesso.
L'approccio delle due soluzioni e' piuttosto diverso, provo a dettagliare meglio.

Theremino
Theremino usa il suo micro quasi solo per definire la corretta frequenza di impulsi step/dir. Molto del lavoro e' fatto infatti dal software Hal che gira sul pc.
L'approccio al problema e' piuttosto originale, infatti Theremino non usa un metodo deterministico per il calcolo di percorso/velocita', ma piuttosto un metodo ad inseguimento, tipo asino e carota per intendersi. In pratica la funzione dell'Hal e' quella di passare al micro di Theremino le coordinate di un punto sempre un po' piu' avanti rispetto al punto attuale, e questo genera impulsi step/dir per raggiungerlo.
Vantaggi:
- il software sul micro e' molto piu' semplice, quindi a parita' di potenza del processore si riesce ad avere direi una frequenza stepper maggiore (leggi velocita' massima dei motori piu' elevata). Ma siccome credo il processore di Arduino sia piu' potente, non ho riscontrato differenze preoccupanti
- e' piu' semplice prr lo sviluppatore gestire movimenti Jog, in quanto usano di solito proprio questa logica
Svantaggi:
- il processo di inseguimento come detto non e' deterministico, quindi se viene fornito una carota troppo distante dall'asino, l'asino tende a tagliare le curve. Diventa percio' difficile in certi casi per il software (nel mio caso devCnc Foam e devThereminoHal) calcolare la giusta distanza asino/carota per tutte le possibili combinazioni di velocita'/accelerazione/tipo di percorso. Molto del mio tempo di sviluppo e' stato dedicato qua, per riscrivere parte dell'Hal originale che non si adattava bene al taglio polistirolo ed a basse velocita' ed accelerazioni.
- spesso non si sentono 'cantare' i motori come si spererebbe. Questo perche' l'asino ha momenti di scoramento o di euforia, e quindi la sua velocita' non e' sempre costante quanto desidereremmo
- l'asino ha la tendenza a fare il furbo e tagliare gli angoli stretti

Arduino
Parliamo qui solo di soluzioni ad alte prestazioni.
In questo caso la brutta notizia e' che non esiste (a quanto so) un firmware (sketch) gia' pronto per gestire il caso a 4 assi lineari, interpolati ed indipendenti e con possibilita' di definire a piacere i pin di uscita (cosa indispensabile per usare la Ramps). Infatti avevo trovato solo modifiche di Grbl, ma con uscite step/dir tutte inserita sulla stessa porta di Arduino per velocizzare al massimo il processo. Questo e' buono, ma solo se non si sua una shield precablata come Ramps, che ha gli ingressi step/dir sparsi fra tutti i pin disponibili.
Quindi ho in pratica riscritto uno sketch prendendo spunto sia dal mondo Grbl che da quello delle stampanti 3D, e contemporaneamente ho aggiunto anche il quinto asse rotante richiesto dalla mia futura versione 3D di devFoam.
L'approccio usato in questo caso e' deterministico. Il firmware di Arduino infatti riceve non la posizione della carota, ma la mappa stradale che l'asino deve seguire.
Questo richiede un firmware molto (ho detto molto? correggo, moltissimo) piu' complesso e quindi difficile da ottimizzare/debuggare. Esiste all'interno anche un complesso algoritmo di lookahead, che in pratica fa si' che l'asino consulti la mappa stradale e decida in anticipo se puo' procedere alla velocita' richiesta o se deve rallentare e quanto per non uscire alla prossima curva.
Vantaggi:
- una volta scritto un buon firmare diventa piu' facile pilotare la scheda. Infatti basta mandare qualcosa di simile al normale GCode alla scheda. Nel mio caso devCnc Foam preottimizza il GCode letto da file prima di inviarlo alla scheda, e glielo invia con la cautela solo di non stressare troppo l'asino.
- il percorso effettivo risulta matematicamente predeterminato, e quindi generalmente piu' preciso.
- i motori cantano molto meglio, in quanto l'algoritmo di lookahead riesce a fare un ottimo lavoro di pianificazione delle velocita' istantanee
Svantaggi:
- direi che tutti gli svantaggi sono a carico dello sviluppatore (io). Una volta che firmware e programma Cnc sono stati sviluppati, vedo solo vantaggi per l'utente finale.

Con questo papiro vi auguro di avervi fatto desistere dall'intenzione di farvi una nuova TGA. Potrebbe nuocere gravemente alla vostra attivita' modellistica.
devCad non è collegato   Rispondi citando