Come Installare Il Firmware Marlin Su Anet A8

Published

Introduction: Come Installare Il Firmware Marlin Su Anet A8

Alcuni semplici passi per installare il firmware Marlin originale (1.5 mentre scrivo questa guida) sulla stampante Anet A8, che è ora supportata dal FW standard

Step 1: Scarica Ed Estrai Il Firmware

1. Scarica l'ultima versione del FW da http://marlinfw.org/meta/download/

2. Estrai il file zip e cerca la cartella Marlin\Marlin-1.1.x\Marlin\example_configurations\Anet\A8

3. Copia i files Configuration.h e Configuration_adv.h dalla cartella A8 alla cartella principale Marlin\Marlin-1.1.x\Marlin 4. Edita il file Configuration.h secondo la configurazione dela tua stampante

Step 2: Configura La Tua Stampante

Principalmente i settaggi di cui abbiamo bisogno per configurare la nostra Anet sono tutti nel file Configuration.h, che in parte grazie al passo precedente è già configurato per una Anet.

Ora vediamo invece alcuni parametri che ho impostato nella mia personale configurazione, per abilitare ad esempio l'autovel con un sensore induttivo.

Apri il file Marlin.ino con Arduino IDE (io sto usando Arduino 1.8.4), spostati sul tab Configuration.h.

Usa la funziona Modifica - Trova per rintracciare i parametri elencati qui sotto e quindi modificarli a tuo piacimento:

Definito il tipo di sensore rimuovendo il commento da questa linea:

#define FIX_MOUNTED_PROBE

Abilitato doppia misurazione sensore (per aumentare la precisione), rimuovendo il commento da questa linea:

#define PROBE_DOUBLE_TOUCH

Abilitato opzione M48 per testare il sensore, rimuovendo il commento da questa linea:

#define Z_MIN_PROBE_REPEATABILITY_TEST

Abilitato altezza minima di sicurezza prima dell'homing e autolevel, rimuovendo il commento da questa linea:

#define Z_HOMING_HEIGHT 4

Abilitato opzione di sicurezza che impedisce l'homing dell'asse Z senza che prima il sensore sia stato mosso sopra il bed, rimuovendo il commento da questa linea:

#define Z_SAFE_HOMING


Setto la velocità di movimento degli assi X e Y durante l'homing (io l'ho abbassata un pò):

#define HOMING_FEEDRATE_XY (100*30)

Impostato gli offeset del mio sensore impostando le coordinate su queste 3 linee:

#define X_PROBE_OFFSET_FROM_EXTRUDER +36 // X offset: -left +right [of the nozzle]

#define Y_PROBE_OFFSET_FROM_EXTRUDER +3 // Y offset: -front +behind [the nozzle]

#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]

Abilitato l'autovel rimuovendo il commento da questa linea:

#define AUTO_BED_LEVELING_BILINEAR

Definito l'area entro cui il sensore può muoversi per testare l'hotbed su queste 4 linee:

#define LEFT_PROBE_BED_POSITION 50

#define RIGHT_PROBE_BED_POSITION 200

#define FRONT_PROBE_BED_POSITION 20

#define BACK_PROBE_BED_POSITION 190

Una spiegazione veramente molto esaustiva e alla fine per niente complicata la trovate qui: http://marlinfw.org/docs/configuration/configuration.html

Step 3: Carica Il Firmware Aggiornato Sulla Stampante

5. Carica il FW sulla scheda Anet con Arduino IDE, seleziona i parametri come segue e premi Sketch - Carica

Scheda: Anet V1.0

Porta: la porta USB a cui è connessa la stampante

Programmatore: AVRISP mkll


Per aver la Scheda Anet disponibile tra quelle selezionabili in Arduino, segui questa istruzione https://github.com/SkyNet3D/anet-board


Step 4: Fatto

6. Il firmware è caricato! Prima di partire con il primo homing, consiglio di mettere un oggetto metallico sotto il sensore (se di tipo induttivo come il mio), ed inviare il comando M119, se viene restituito Z TRIGGERED il sensore funziona, se invece ritorna OPEN c'è qualche problema, inutile provare un homing perchè ci andremo sicuramente a schiantare sul bed

Step 5: Calibrare L'Offset Z Dell'estrusore

Di seguito la lista di comandi che utilizzo per calibrare l'Offset Z del mio estrusore rispetto al bed.

M851 Z0 ; RESET Z OFFEST TO 0

G28 ; HOME XY AXIS

G1 Z0 ; MOVE DOWN Z TO 0

M211 S0 ; REMOVE SOFTWARE SAFETY, Z CAN NOW GO BELOW Z0 -- ATTENZIONE, DOPO QUESTO COMANDO LA Z NON SI FERMERA' DA SOLA SE VOI LA MANDATE A SBATTERE SUL BED

[Adjust with SMALL Z movements your nozzle to get the right height using an A4 paper]

M114 ; READ AXIS COORDINATES

[Copy the Z value from the M114 output]

M851 Z[your value] (example M851 Z-0.80)

M500 ; STORE VALUES TO EPROM

Then if you want to check:

G28

G0 Z0

M114

Share

    Recommendations

    • Woodworking Contest

      Woodworking Contest
    • Planter Challenge

      Planter Challenge
    • Make it Move Contest

      Make it Move Contest
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    1 Questions

    E' necessario aggiornare il bootloader o funziona anche col bootloader originale ?

    14 Comments

    Ciao,
    sto usando Marlin 1.1.8 e BLtouch. Per il movimento dell'asse Z dopo il comando "M211 S0" ho usato il comando "G1 Z-0.25 F50" dove -0.25 è nel mio caso la correzione da effettuare e F50 è la velocità.
    Usando però poi il comando M114 mi ritornava valori di Z tipo 100:
    X:132.00 Y:155.00 Z:-0.25 E:0.00 Count X:13200 Y:15500 Z:-100

    Ho proseguito la guida usando M851 Z-0.25; al posto del dato letto dal comando M114 e sembra funzionare ma non mi spiego questa differenza... idee?

    2 replies

    Salutations . Pouvez vous m'envoyer votre fichier " configuration.h " modifier pour utiliser le BLtouch ? Merci d'avance.

    Salutation . Peut tu M'envoyer ton fichier " configuration.h " avec la modification faite pour le BLtouch. Merci d'avance

    ciao , sto sbattendo per via di un errore che non riesco a risolvere .

    mi compila lo sketch ma quando prova a upparlo :

    Lo sketch usa 120534 byte (94%) dello spazio disponibile per i programmi. Il massimo è 126976 byte.
    Le variabili globali usano 4334 byte di memoria dinamica.
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xd6
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6f
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x80
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xbf
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xae
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xd6
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x02
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x21
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xcc
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xd6
    Errore durante il caricamento dello sketch

    ho controllato la porta come , disinstallato e reinstallato i driver ch340 , selezionato ocme scheda anet v1.0 , non so dove sbattere la testa :(

    1 reply

    mi rispondo da solo , magari qualcuno ha il mio stesso problema .

    in pratica ha il bootloader corrotto (non chiedetemi come ma già è arrivata cosi la stampante)

    bisogna riscrivere il bootloader seguite questa guida :

    https://linuxgnublog.org/en/dealing-with-an-anet-a...

    giu a tutto c'è burning bootloader :


    Burning bootloader

    You may brick your main board if you do things like selecting a wrong
    board on the arduino IDE, forcing the system to flash a incorrect
    firmware or unplugging the USB while it is flashing. After that, you may
    not be able to flash your main board anymore and probably you will
    start getting errors like this:


    avrdude: stk500_cmd(): programmer is out of sync

    If this happens, first discard that you don’t have a defective USB
    cable by replacing it. If you are still unable to flash your main board,
    most likely you are against a boot loader corruption, so your main
    board is probably “bricked”.

    You can try to burn again the bootloader using an Arduino as ISP programer connected to your board following this diagram and following this steps:

    • Plug the USB cable to the arduino board
    • Open arduino IDE
    • Open the ArduinoISP firmware (in Examples)
    • Select the items in the Tools > Board and Tools > Serial Port
      menus that correspond to the arduino board you are using as the
      programmer (not the Anet main board being programmed)
    • Upload the ArduinoISP sketch
    • Disconnect the USB cable from the arduino board
    • Disconnect everything from your printer mainboard, even the power supply
    • Wire your Arduino board to the board as shown in the diagram
    • Check your wiring at least three times, as a wrong wiring may destroy your Arduino and even your main board
    • Plug the USB cable to the arduino board
    • Select the item “Anet V1.0” in the Tools > Board menu
    • Select the Arduino as ISP in the Tools > Programmer menu
    • Use the Burn Bootloader command
    • If the burning finish without errors, disconnect all wires between
      the arduino and the main board and connect again everything to the main
      board (fans, motors, LCD, etc.)

    Now you should be able to connect your USB cable to the main board,
    as usual, and flash any new firmware to it. I suggest you to start
    testing with the “Blink” example and check that the LED into the main
    board start to blink.

    This steps has been taken from https://www.arduino.cc/en/Tutorial/ArduinoISP, consult it for extra information.

    Ti riferisci ai comandi del punto 5? Da qualsiasi programmi usi per comandare la stampante, io uso Octoprint su Raspberry.

    e tipo io uso cura ma dove lo trovo??alla fine ho usato coolterm

    Con Cura non puoi, cura manda solo il gcode dello slicing dei modelli 3d ma non ci comandi la stampante direttamente per questi settaggi. io ho usato sempre Repeteir o Octoprint. Ma qualsiasi software equivalente va bene, dipende anche dalla tua stampante e i relativi driver per connettrla al pc

    sto iniziando con octoprint, come settaggi sapresti aiutarmi?? serve anche cura 15??

    Se usi l'ultima versione di cura puoi interfacciarla direttamente con octoprint e premere stampa direttamente da cura, con le versioni piu vecchie invece debi fare manualmente l upload del file gcode generato da cura un octoprint, ma funziona lo stesso.

    io sono riuscito a mettere il file config.ini di cura in octoprint e anche slic3r plugin + ini. Ora vorrei 1 consiglio da te come mi dici di iniziare ?

    Ciao, dovresti riuscire a calibrare la distanza del piatto riscaldata all estrusore agendo semplicemente sulle manopoline sotto il letto stesso che comprimono o meno le molle. Sposti l estrusore nei 4 angoli e aggiusti l'altezza, usando sempre un A4 come riferimento, girando in senso orario /antiorario le manopole in modo da avvicinare o allontanare il letto in base all esigenza.

    Grazie per l'ottima guida.

    Non avendo ancora acquistato l'autolevel volevo sapere se lo step5 lo devo fare ugualmente per calibrare estrusore col bed?

    Ovviamente per il momento salto la parte per la configurazio del sensore.

    Non avendo l'autolevel la calibrazione del bed devo farla prima dello step5 o dopo?