Parsing GCODE

E che è averdude? :slight_smile: ce poco da fare sono ignorante. Ora provo poi ti so dire.

http://arduino.cc/forum/index.php/topic,64278.0.html
la procedura descritta da Leo vale anche per il tuo file hex al posto del bootloader ovviamente devi uploader il tuo hex.

Per quanto ho capito vado a modificare la EEPROM con l avrdude, giusto? Uplodando il file ex cosa vado a modificare? Sarò anche un rompiballe però vorrei capire :sweat_smile:

Carichi un nuovo programma. Avrdude è lo stesso programma usato dall'IDE per caricare la versione compilata dello sketch. La eeprom non c'entra nulla. Il programma viene scritto in PROGMEM (chi lo avrebbe mai detto :stuck_out_tongue: )

mmmh... quindi il bootloader rimane al suo posto ed è come se anzichè scrivere il codice sull'ide uplodassi un file già compilato?

Credo che il bootloader venga sovrascritto. Ma non ne sono sicuro al 100%.

Poi però posso rimetterglierlo con l IDE giusto?
Poi come faccio a dargli la velocità degli assi se diventa come un bootloader e non vedo lo sketch(quindi non lo posso modificare)ecc?

Ma scusa la velocità degli assi ecc. mica gliela scrivi nel sorgente: la comunichi tramite una normale trasmissione dati (tipicamente via seriale). Quindi dove sta il problema ?

@SUBSEA
se sei sotto Win, per caricare GRBL puoi utilizzare XLoader:
http://russemotto.com/xloader/
oppure usare avrdude (se sotto linux o anche no :P).
Il comando funzionante è:
./avrdude -C avrdude.conf -patmega328p -carduino -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/grbl/grbl.hex

ovviament eil comando va eseguito aggiornando i parametri relativi a porta seriale (qui con linux /dev/ttyUSB0), il path al grbl.hex, al comando avrdude e al file di configurazione avrdude.conf

Ok come fare a caricare il file l'ho capito. Poi come funziona? Che Cosa devo scrivergli via seriale?
P.s. non è che siete in combutta con banzi per farmi fondere il mio arduino e comprarne un altro? :smiley:

SUBSEA:
Ok come fare a caricare il file l'ho capito. Poi come funziona? Che Cosa devo scrivergli via seriale?
P.s. non è che siete in combutta con banzi per farmi fondere il mio arduino e comprarne un altro? :smiley:

tuxduino:
Credo che il bootloader venga sovrascritto. Ma non ne sono sicuro al 100%.

Auto-correzione: il bootloader NON viene sovrascritto:

Does grbl overwrite the Arduino bootloader?

No, grbl fits on the ATmega328P without having to overwrite the bootloader; you will still be able to upload Arduino sketches after flashing without having to re-burn the bootloader.

Ok, upload effettuato. Ora dove attacco i motori? E come invio il gcode?

SUBSEA:
Ok, upload effettuato. Ora dove attacco i motori? E come invio il gcode?

Bhè, ti dico la mia esperienza: sto facendo una mini laser engraver (tipo pitusso), uso degli stepper bipolari e per il momento comando il tutto con adafruit motor shield, gcode interpreter e mando il file .gcode con Hydra GUI (no quello x craccare, quello x il gcode :stuck_out_tongue_closed_eyes:)

ho visto questo schema e penso proprio che lo utilizzerò. Controllo il tutto con mach 3 e spero funzioni bene. ecco il link http://www.grix.it/UserFiles/ceck90/File/CNC%203%20Assi.pdf(da pag. 25 a 27)

Ciao,

Ora dove attacco i motori? E come invio il gcode?

per mandare il gcode ad Arduino, nel caso della piccola laser engraver, uso questo:
https://github.com/winder/Universal-G-Code-Sender/downloads
(qui trovi un elenco di altri sw idonei, e non solo:

).
Nel caso della stampante 3d, utilizzo invece Printrun (o Pronterface):

Cmq per l'elenco dei comandi gcode (che son standard), puoi guardare anche qui:

Cmq con Mach3 piloti direttamente i motori, senza passare per un interprete gcode installato su arduino - di fatto il GRBL.

Grazie mille pitusso! Ho guardato anche un po' in giro, e mi sembra che i motori li devo collegare ai pin 0,1 e 2 di arduino. Però sono segnali e che quindi devo utilizzare un driver come l297. Giusto? Se è così, mi faccio una scheda e uso arduino senza stare a scomodare il PC.

Dopo essermi letto praticamente tutte le pagine del manuale di mach 3 l'avevo capito. Era per questo che dicevo che forse l'arduino non mi sarebbe più servito.

Ciao

Ho guardato anche un po' in giro, e mi sembra che i motori li devo collegare ai pin 0,1 e 2 di arduino. Però sono segnali e che quindi devo utilizzare un driver come l297. Giusto? Se è così, mi faccio una scheda e uso arduino senza stare a scomodare il PC.

uhm, ti stai riferendo a che sw e fw? :slight_smile:
Nel caso di GRBL, poichè si utilizzano dei driver (io ho usato StepStick, versione oss dei Pololu), ti bastano 2 pin, che gestiscono STEP e DIREZIONE.

Per utilizzare l'integrato che citi, puoi invece prendere spunto da qui (a questo link ci son arrivato dopo segnalazione di cece99):

che è un interprete gcode nato per essere utilizzato con il motorshield di adafruit (e in genere con integrati l293)
Qui però non ho obiettivamente esperienza personale.

il file .hex che ho uplodato è questo: https://github.com/grbl/grbl/downloads e i collegamenti sono citati qui Home · grbl/grbl Wiki · GitHub. Gli l297 posso essere utilizzati con la grbl? E che differenza c'è tra gli sketch che mi hai linkato e la grbl?

Ciao,
nel pinout linkato non usano i piedini 0 e 1 (anche perchè vengono usati per inviare appunto il gcode via seriale :P).
Quel che ti ho girato è di fatot un altro gcode interpreter che però funziona as-is con il motor shield di AdaFruit, il quale monta componenti come L293, diversi nel costo e nell'uso da un Allegro presente nei Pololu/StepStick..

In ogni caso, prova a guardare se trovi soluzione qui: