Vai al contenuto

Upgrade Firmware... Duplicator 5 ma può essere utile a molti


Messaggi raccomandati

Ciao Ragazzi AAA cercasi aiutino per Upgrade Firmware...

Sono nella parte dell'evoluzione "Upgrade Firmware..."

Il mio obiettivo finale è quello di cambiare il tipo di estrusore da Direct a Bowden... ma primo di questo punto ho da eseguire un po di cose...

Ho diviso il mio obiettivo in vari livelli:

1) Upgrade compilatore Arduino da 1.0.1 a 1.8.5

2) Upgrade Marlin da 1.0.0 a 1.1.8

3) Modifica del Firmware Marlin 1.1.8 per l'estrusore di tipo Bowden e l'aggiunta del AUTO BED LEVELING 3POINT...

 

Punto 1...
Durante la compilazione da  Arduino da 1.0.1 a 1.8.5 il compilatore segnala vari problemi, ( ho visto altri sul forum che presentano questi problemi e la soluzione che solitamente viene data è quella di utilizzare la versione vecchia di Arduino) Logicamente a me quella soluzione non piaceva e quindi ho ben pensato di risolvere il problema (visto che è solo una questione di sintassi) il tutto è abbastanza semplice da risolvere... 
Questo è il messaggio che da di errore:
 

Arduino:1.8.5 (Windows 10), Scheda:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

  exit status 1
using typedef-name 'fpos_t' after 'struct'

Per risolvere questo problema basta cambiare il nome di "fpos_t" nel file sdbasefile.h e sdbasefile.ccp io per esempio li ho cambiati con fpos_tt ed il problema di compilazione è sparito...

Inoltre cosi, per sfizio ho cambiato la lingua del display lcd, per farlo è bastato andare nel file language.h e... usando un po di logica ho cambiato la riga:
#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(en) in:

#define LANGUAGE_INCLUDE GENERATE_LANGUAGE_INCLUDE(it)

poi ho solamente corretto e aggiunto qualche parola all'interno del file language_it.h...

A questo punto ho provato la stampante e tutto Ok...

Ora Punto 2...
Upgrade da Marlin da 1.0.0 a 1.1.8 

Questa procedura... presenta un po di difficoltà... visto che le due versioni sono veramente mooooooooooolto diverse... inoltre la scheda che ha la mia stampante non è una scheda standard..
Step1 ho scaricato "Marlin Configurator" che permette di "aiutarti" nella configurazione

Step2 Ho caricato i file configuration.h e il configuration_adv.h in "Marlin Configurator", a questo punto ho salvato tutte le impostazioni e le ho ricopiate in una nuova configurazione di  "Marlin Configurator" Ho corretto vari errori tipo le direzioni dei drive perchè tra le 2 varie versioni di marlin cambiava la logica... fatto ciò ho fatto compila e tutto ok...

---- fino a qua tutto ok ---

Step3  non avendo una scheda standard ho dedotto che devo preoccuparmi di controllare i pin di configurazione del micro... dalla configurazione originale alla nuova... e qua si presenta il mio primo problema...

In configuration.h trovo questa riga per definire la board:

#ifndef MOTHERBOARD
  #if(MACHINE_NAME==MECREATOR2)
  #define MOTHERBOARD BOARD_ULTIMAKER
  #endif
#endif

visto che a monte trovo:

#include "boards.h"

apro il file board.h e trovo...
#define BOARD_ULTIMAKER         7    // Ultimaker

deduco che sia la mia board... apro il file pins.h per avere i pin utilizzati dalla board e cerco Ultimaker... e trovo...

/*****************************************************************
* Ultimaker pin assignment
******************************************************************/

#if MB(ULTIMAKER)
#define KNOWN_BOARD

#ifndef __AVR_ATmega1280__
 #ifndef __AVR_ATmega2560__
 #error Oops!  Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
 #endif
#endif

#define LARGE_FLASH true

#define X_STEP_PIN 37 
#define X_DIR_PIN 39
#define X_MIN_PIN 22
#define X_MAX_PIN 24
#define X_ENABLE_PIN 35

#define Y_STEP_PIN 31
#define Y_DIR_PIN 33
#define Y_MIN_PIN 26
#define Y_MAX_PIN 28
#define Y_ENABLE_PIN 29

#define Z_STEP_PIN 25
#define Z_DIR_PIN 23
#define Z_MIN_PIN 30
#define Z_MAX_PIN 32
#define Z_ENABLE_PIN 27

#define HEATER_BED_PIN 4
#define TEMP_BED_PIN 10

#define HEATER_0_PIN  10//2
#define TEMP_0_PIN 11//8

#define HEATER_1_PIN 3
#define TEMP_1_PIN 9

#define HEATER_2_PIN -1
#define TEMP_2_PIN -1

#define E0_STEP_PIN         46//43
#define E0_DIR_PIN          44//45
#define E0_ENABLE_PIN       12//41

#define E1_STEP_PIN         49
#define E1_DIR_PIN          47
#define E1_ENABLE_PIN       48

#define SDPOWER            -1
#define SDSS               53
#define LED_PIN            6
#define FAN_PIN            9
#define PS_ON_PIN          12
#define KILL_PIN           -1
#define SUICIDE_PIN        54  //PIN that has to be turned on right after start, to keep power flowing.
#define SERVO0_PIN         13  // untested

#ifdef LIGHT_SUPPORT
//  #define LIGHT_SWITCH_PIN	21
  #define LIGHT_PIN	6
#endif

#ifdef ULTRA_LCD

  #ifdef NEWPANEL
  //arduino pin witch triggers an piezzo beeper
    #define BEEPER 18

    #define LCD_PINS_RS 20
    #define LCD_PINS_ENABLE 17
    #define LCD_PINS_D4 16
    #define LCD_PINS_D5 21
    #define LCD_PINS_D6 5
    #define LCD_PINS_D7 36

    //buttons are directly attached
    #define BTN_EN1 42
    #define BTN_EN2 40
    #define BTN_ENC 19  //the click

    #define SDCARDDETECT 38

  #else //old style panel with shift register
    //arduino pin witch triggers an piezzo beeper
    #define BEEPER 18

    //buttons are attached to a shift register
    #define SHIFT_CLK 38
    #define SHIFT_LD 42
    #define SHIFT_OUT 40
    #define SHIFT_EN 17

    #define LCD_PINS_RS 16
    #define LCD_PINS_ENABLE 5
    #define LCD_PINS_D4 6
    #define LCD_PINS_D5 21
    #define LCD_PINS_D6 20
    #define LCD_PINS_D7 19

    #define SDCARDDETECT -1
  #endif
#endif //ULTRA_LCD

#endif // ULTIMAKER

La mia domanda è questa :D dite che sono solo questi i piu utilizzati o devo cercare anche altrove???

Link al commento
Condividi su altri siti

  • Risposte 7
  • Creato
  • Ultima Risposta

Miglior contributo in questa discussione

Miglior contributo in questa discussione

OK punto 2 completato! ho scoperto che repiter host non funziona benissimo con marlin 1.1.8 o meglio, funziona tutto ma non mi legge la temperatura del piano, invece provando con Simplify3D tutto funziona alla perfezione :D

Ora sono arrivato al mio ultimo Step... passo 3 ovvero configurare la stampante per usare un ugello, (nozzle) 2 motori per trascinare il filo e in più volevo configurare il "3d Touch auto bel levelling sensor"... qualche consiglio sul dove collegarlo? e sul come configurare marlin?

 

Link al commento
Condividi su altri siti

Nonostante il supporto tecnico Geeetech dicesse che non è possible montare  il "3d Touch auto bel levelling sensor" ieri sera dopo un ora di lavoro sono riuscito a montarlo, configurarlo e provarlo, quindi ora manca proprio poco :D

Se ma qualcuno avesse bisogno di aiuto su questa tipo di stampante o su sua sorella minore mecreator2 sono a completa disposizione

Link al commento
Condividi su altri siti

  • 1 anno dopo...
54 minuti fa, Pietro_MaK dice:

Ciao ,io ho una mecreator2, vorrei aggiornare il firmware in modo che almeno ci sia il "resume priinting)" in caso di mancanza di corrente almeno quello... Mi puoi aiutare ? Ha una scheda gt2560 insomma quella standard come esce dalla geeetech ... 

Ti faccio notare che questa è un post di 2 anni fa... Ti conviene aprire una nuova discussione

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...