Vai al contenuto

Aggiunta comandi arduino a firmware marlin


Messaggi raccomandati

Ciao a tutti come da titolo vorrei modificare il firmware marlin aggiungendo dei comandi per arduino, mi spiego meglio:

finalmente dopo aver usato per un po la stampante 3d della mia scuola ho deciso di comprare un prusa i3 alla quale vorrei aggiungere un comando per accendere una striscia led che illumini il piatto all'inizio del processo di stampa per poi spegnerla a fine stampa accendendo delle ventole ausiliarie per raffreddare il tutto (vorrei mettere la stampante all'interno di un cubo di plexiglass per evitare depositi di polvere).

Mi rivolgo a voi, è possibile fare questa modifica? se si come?

Grazie, Gianluigi

Link al commento
Condividi su altri siti

  • Risposte 4
  • Creato
  • Ultima Risposta

Miglior contributo in questa discussione

Miglior contributo in questa discussione

Dal punto di vista software non ci sono grandi problemi, io non ho mai aggiunto comandi al marlin ma ci stavo pensando, ed è sicuramente fattibile, Certo non puoi pensare di farlo se non sei pratico di programmazione di Arduino ed è difficle che qualcuno lo faccia per te, dritte ne trovi, programmi completi no. Una modifica del genere può richiedere due o tre giorni di lavoro se non sei gia pratico del Marlin

Il problema più grosso sta dal punto di vista hardware.

Per comandare qualsiasi cosa occorre un segnale in uscita, Nell'Arduino mega ci sono alcune uscite non utilizzate nelle stampanti 3d, il probelma è arrivarci.

Se la tua stampante monta un Arduino+Ramps o simili è facile reperire i segnali perchè Arduino li rende tutti disponibili, ma se la tua scheda è una scheda unica come la GT2560 o simili il problema è molto più grosso perchè i piedini del processore si fermano sotto il processore e sono di difficile accesso. Hai alcuni segnali utilizzabili rinunciando ad altre prestazione. Per esempio se utilizzi un solo estrusore 3 segnali arrivano inutilizzati al secondo estrusore.

Prego, Alep ?

Link al commento
Condividi su altri siti

Ciao Alep,

la stampante che mi deve arrivare dovrebbe montate Arduino + ramps separati, ma se così non fosse acquisto una scheda ramps e ci metto l'arduino mega che uso per perdere tempo.

Dal punto di vista di programmazione arduino me la cavo bene, ieri sera stavo curiosando all'interno del codice del marlin (non sono riuscito a firlo) cercando appunto dove inserire queste semplici stringhe senza trovare nulla.

Giusto per intenderci vorrei che questi comandi vengano eseguiti prima il gode di inizio e dopo quello di fine.  In che sezione del marlin sono contenute le procedure di stampa?

Link al commento
Condividi su altri siti

La sezione che interessa a te, quella del discernimento dei comandi sta nel file marlin_main.cpp e questo è un esempio di come tratta un comando preso a caso

/**
 * M203: Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
 */
inline void gcode_M203() {
  for (int8_t i = 0; i < NUM_AXIS; i++) {
    if (code_seen(axis_codes)) {
      max_feedrate = code_value();
    }
  }
}

Tieni presente che il Marlin è integralmente parametrato per potersi adattare a qualsiasi meccanica, per cui non vedrai mai un comando diretto ad una porta, ma sempre tramite routine e variabili 
 

Link al commento
Condividi su altri siti

Partecipa alla conversazione

Puoi pubblicare ora e registrarti più tardi. Se hai un account, accedi ora per pubblicarlo con il tuo account.

Ospite
Rispondi a questa discussione...

×   Hai incollato il contenuto con la formattazione.   Rimuovere la formattazione

  Sono consentiti solo 75 emoticon max.

×   Il tuo collegamento è stato incorporato automaticamente.   Mostra come un collegamento

×   Il tuo contenuto precedente è stato ripristinato.   Pulisci editor

×   Non puoi incollare le immagini direttamente. Carica o inserisci immagini dall'URL.

×
×
  • Crea Nuovo...