Welcome! Log In Create A New Profile

Advanced

MarlinKimbra su Stratasys

Posted by MrAccrocchio 
MarlinKimbra su Stratasys
June 22, 2017 10:56AM
Ciao a Tutti, sto facendo un retrofit ad una stampante Stratasys con una elettronica autocostruita ed un arduino due
Ho provato a caricare la versione del Mago 4.3.x dev ma dopo tutta una serie di errori di compilazione ho ripiegato sulla 4.3.2 stabile.

Ora funziona quasi tutto ma, dato che questa stampante è un vero banco di prova perchè ha dentro tutto, ma proprio tutto..., ho dei problemi quando abilito la gestione delle luci della camera.
Quando abilito #define CASE_LIGHT la compilazione mi rende l'errore che segue:


In file included from sketch\src\../src/HAL/HAL.h:39:0,

from sketch\src\../base.h:86,

from sketch\src\MK_Main.cpp:31:

sketch\src\MK_Main.cpp: In function 'void gcode_M355()':

sketch\src\../src/HAL/HAL_DUE/communication.h:113:45: error: expected primary-expression before 'do'

#define SERIAL_EM(msg) do{ SERIAL_M(msg); SERIAL_E; }while(0)

^

sketch\src\MK_Main.cpp:9010:21: note: in expansion of macro 'SERIAL_EM'

case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

^

sketch\src\../src/HAL/HAL_DUE/communication.h:113:45: error: expected ':' before 'do'

#define SERIAL_EM(msg) do{ SERIAL_M(msg); SERIAL_E; }while(0)

^

sketch\src\MK_Main.cpp:9010:21: note: in expansion of macro 'SERIAL_EM'

case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

^

sketch\src\../src/HAL/HAL_DUE/communication.h:113:45: error: expected primary-expression before 'do'

#define SERIAL_EM(msg) do{ SERIAL_M(msg); SERIAL_E; }while(0)

^

sketch\src\MK_Main.cpp:9010:21: note: in expansion of macro 'SERIAL_EM'

case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

^

sketch\src\../src/HAL/HAL_DUE/communication.h:113:45: error: expected ';' before 'do'

#define SERIAL_EM(msg) do{ SERIAL_M(msg); SERIAL_E; }while(0)

^

sketch\src\MK_Main.cpp:9010:21: note: in expansion of macro 'SERIAL_EM'

case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

^

sketch\src\MK_Main.cpp:9010:37: error: expected primary-expression before ':' token

case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

^

sketch\src\MK_Main.cpp:9010:37: error: expected ';' before ':' token

exit status 1
Errore durante la compilazione per la scheda Arduino Due (Programming Port).
Attachments:
open | download - Stratasys.jpg (433.4 KB)
open | download - error.txt (2.1 KB)
Re: MarlinKimbra su Stratasys
June 22, 2017 06:13PM
Potevi allegare anche overall, almeno controllo... Ma che scheda hai con il due?
Hai definito il pin per la camera light?


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: MarlinKimbra su Stratasys
June 23, 2017 03:51AM
Si, hai ragione... ti allego configuration e pins
Sono gli unici che ho modificato per adattarli alla mia interfaccia.
La scheda di interfaccia l'ho studiata e costruita io perchè questa macchina ha un sacco di dispositivi da azionare, per cui le schede commerciali non hanno abbastanza mosfet..
Avrei dovuto comunque utilizzare una espansione aggiuntiva.
In più io ho inserito optoisolatori su tutto per separare le alimentazioni. Anche gli ingressi dei finecorsa ottici sono isolati.
I mosfet hanno tre tensioni di lavoro separate, 12V, 24V e 100V per i riscaldatori degli HotEnd.
Gli hotEnd usano termocoppie di tipo J con amplificatore AD596 a 10mV/°C. Li ho collegati agli ingressi analogici A5 e A6.
Altra rogna sono i due motori degli estrusori, che sono DC servo con riduzione epicicloidale ed encoder. Ho costruito due azionamenti closed loop con due arduino Pro Micro... li sto collaudando, sembra funzionino benino se riesco a trovare i PID giusto.
L'arduino DUE l'ho piantato sopra rovesciato, mi sembra una buona soluzione.
Come schema di base per l'elettronica ho usato la 1404, quella della RAMP-FD V2, schema da cui sono partito perchè conoscevo già.
Ho solo modificato Configuration_Pins.H per adattare le uscite alla mia elettronica.
L' EEPROM 24LC128 di I2C (l'avevo in casa) funziona alla grande.
Ieri ho stampato per la prima volta, oggi provo la camera riscaldata, anche se non ho capito bene come funziona Chamber, o meglio, dove si può visualizzare la temperatura della camera sul display...
Per cui quasi tutto funziona... è solo quella maledetta uscita CASE_LIGHT (collegata nel mio caso al pin D3), alla quale quando tolgo il commento mi da errore in compilazione...
Lo so che è un dettaglio, ma qui dentro ci sono due dicroiche che se non accendi non si vede un tubo...
Quando sarà tutto funzionante pubblicherò un articolo sul lavoro, anche perchè ho visto che in giro per il mondo c'è qualcun'altro che si è cimentato nell'impresa :-)
Il tempo che ci stò impiegando non so se vale la candela... ma mi piace, è intrigante..
Grazie Mago per l'interesse
Marco
Attachments:
open | download - Configuration_Overall.h (39.8 KB)
open | download - Configuration_Pins.h (7.2 KB)
Re: MarlinKimbra su Stratasys
June 23, 2017 11:47AM
Ma usi MK4duo 4.3.2 stable giusto??
Non ho alcun errore in compilazione con il tuo overall e pin!!!
Verifica di aver messo su nessuno i warning di IDE nelle preferenze. Per il resto è tutto ok!!!

edit: Me lo hai dato con case light disattivato... Ora provo attivato!

edit 2: Si ok da errore, ho fixato!!

Edited 2 time(s). Last edit at 06/23/2017 11:59AM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: MarlinKimbra su Stratasys
June 23, 2017 12:02PM
Allora:
ho rifatto la procedura...
sono andato sul configuratore del tuo sito, versione 4.3.2 stable,
ho caricato il Configuration_overall.h,
ho abilitato il CASE_LIGHT sul pin 3,
ho scaricato l'intero firmware,
l'ho compilato,
ed ecco l'errore :-(
sto usando una ide arduino 1.8.3 fresca
non capisco dove è il problema...
sembra venga dal modulo communication...

In file included from sketch\src\../src/HAL/HAL.h:39:0,

                 from sketch\src\../base.h:86,

                 from sketch\src\MK_Main.cpp:31:

sketch\src\MK_Main.cpp: In function 'void gcode_M355()':

sketch\src\../src/HAL/HAL_DUE/communication.h:113:45: error: expected primary-expression before 'do'

 #define SERIAL_EM(msg)                      do{ SERIAL_M(msg); SERIAL_E; }while(0)

                                             ^

sketch\src\MK_Main.cpp:9010:21: note: in expansion of macro 'SERIAL_EM'

     case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

                     ^

sketch\src\../src/HAL/HAL_DUE/communication.h:113:45: error: expected ':' before 'do'

 #define SERIAL_EM(msg)                      do{ SERIAL_M(msg); SERIAL_E; }while(0)

                                             ^

sketch\src\MK_Main.cpp:9010:21: note: in expansion of macro 'SERIAL_EM'

     case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

                     ^

sketch\src\../src/HAL/HAL_DUE/communication.h:113:45: error: expected primary-expression before 'do'

 #define SERIAL_EM(msg)                      do{ SERIAL_M(msg); SERIAL_E; }while(0)

                                             ^

sketch\src\MK_Main.cpp:9010:21: note: in expansion of macro 'SERIAL_EM'

     case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

                     ^

sketch\src\../src/HAL/HAL_DUE/communication.h:113:45: error: expected ';' before 'do'

 #define SERIAL_EM(msg)                      do{ SERIAL_M(msg); SERIAL_E; }while(0)

                                             ^

sketch\src\MK_Main.cpp:9010:21: note: in expansion of macro 'SERIAL_EM'

     case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

                     ^

sketch\src\MK_Main.cpp:9010:37: error: expected primary-expression before ':' token

     case_light_on ? SERIAL_EM("on") : SERIAL_EM("off");

                                     ^

sketch\src\MK_Main.cpp:9010:37: error: expected ';' before ':' token

exit status 1
Errore durante la compilazione per la scheda Arduino Due (Programming Port).

Edited 1 time(s). Last edit at 06/23/2017 12:05PM by MrAccrocchio.
Re: MarlinKimbra su Stratasys
June 23, 2017 12:16PM
No è ancora il file vecchio... Spetta che controllo non vorrei che hai scaricato mentre si aggiornava il file nel configuratore...


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: MarlinKimbra su Stratasys
June 23, 2017 12:18PM
Controllato è ok.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: MarlinKimbra su Stratasys
June 23, 2017 12:26PM
Si infatti, mentre stavi caricando io già scaricavo...
ora funziona, grazie mille Mago

Senti, ma secondo te come potrei fare per gestire la temperatura della camera di stampa sul display?
Per adesso ho uno full graphic smart controller, poi magari metterò un Nextion ma una cosa per volta
Re: MarlinKimbra su Stratasys
June 23, 2017 02:29PM
MA vuoi visualizzarla, perchè cmq i menu per settare la temperatura ci sono!


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: MarlinKimbra su Stratasys
June 23, 2017 02:33PM
Si voglio visualizzare i due estrusori, la camera ed il letto riscaldato
Sto guardando il codice ma non riesco a capire come fare a far visualizzare la temperatura della camera al posto del terzo estrusore..
Poi modifico il bitmap per il simbolo corretto, quello non è un problema
per questa stampante le camera è di vitale importanza, ci sono 4 ventole e due riscaldatori da 220v
Penso sia un'esigenza di tanti

Edited 1 time(s). Last edit at 06/23/2017 02:35PM by MrAccrocchio.
Re: MarlinKimbra su Stratasys
June 23, 2017 03:33PM
Allora nel file dogm_bitmaps.h ci sono le bitmap, ma il problema che è una anzi due per tutta la riga superiore, quindi ci sono tutte le combinazioni, cioè:
SOLO BED, HOTEND0 BED, HOTEND0 HOTEND1 BED, HOTEND0 HOTEND1 HOTEND2 BED
poi le stesse senza bed.
Questo vuol dire farsi tutte le combinazioni con SOLO CAMERA, CAMERA BED, HOTEND0 CAMERA BED, HOTEND0 HOTEND1 CAMERA BED.
Poi le stesse senza bed, quindi arrivando fino a 3 hotend e camera. oltre a quelle che ci sono...
Dopo di che si spara fuori la grafica solo una volta e poi c'è da aggiungere di scrivere la grafica nella posizione giusta. Questo vuol dire che bisogna anche li calcolare la posizione a secondo le combinazioni. Oppure va deciso che la camera è nella posizione 3° hotend quindi o che hai 1 o 2 più hotend o che hai il bed o che non ce l'hai la grafica è sempre al terzo hotend...
Insomma è tutta una cosa da fare che non ho mai fatto... Ma se mi fai la parte grafica poi ci penso io...

Edited 1 time(s). Last edit at 06/23/2017 04:05PM by MagoKimbra.


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: MarlinKimbra su Stratasys
June 23, 2017 04:37PM
il problema è che lo scrivere tutta la riga è complicato
non si possono scrivere le icone singole a coordinate diverse a seconda delle combinazioni?
Re: MarlinKimbra su Stratasys
June 23, 2017 05:09PM
Si ma bisogna cambiare tutto, praticamente va riscritto tutta la parte di gestione della grafica.
Adesso praticamente spara fuori due immagini per fare l'animazione della ventola, infatti mi ero scordato anche di questa, quindi c'è hotend 0 hotend 1 hotend 2 bed fan, poi se qualcosa non c'è viene messa vuota, ma la bitmap esadecimale è unica..


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Re: MarlinKimbra su Stratasys
June 23, 2017 05:42PM
be. però è assurdo. nelle animazioni conviene riscrivere solo i pixel che cambiano, non tutto quanto.
Effettivamente riscrivere è troppo oneroso visto che questi display monocromatici vanno a morire.
Vedo se riesco a rifare i bitmap con le varie combinazioni. ma teniamo fissa la camera in terza posizione al posto del terzo estrusore . se esiste il terzo estrusore scompare la camera. la camera senza bed non ha senso. che dici?
Re: MarlinKimbra su Stratasys
June 23, 2017 06:41PM
Si ma se cambi solo i pixel dovresti andare a disegnare e cancellare pixel per pixel sapendo quali sono diventa più complesso a livello di programmazione. In questo modo un ciclo spari la bitmap completa con fan in posizione 0 e poi in posizione 1 e hai fatto..
Cmq si secondo me camera e bed vanno di pari passo..


COMPRA ITALIANO - sostieni le nostre aziende - sostieni la nostra gente - sostieni il tuo popolo - sosterrai te stesso.
Alberto C. felice possessore di una Kossel K2
My Blog - My Thingiverse
Sorry, only registered users may post in this forum.

Click here to login