Marlin på CR-10

Marlin på Melzi board

Afinibot A31 / CR-10

(Der tages forbehold for fejl beskrivelse mm. opdateringen er på eget ansvar)

Jeg har 2 stk. printere A31/CR-10, den ene har jeg valgt at smide nyeste Marlin firmware på, 1.1.8.
Hvorfor, er det nødvendigt?, det korte svar er nej jeg gør det fordi jeg synes det er spændende.

Den eneste grund til man skulle have behov for det, er hvis man synes auto bed leveling er et must.
Eller hvis man gerne vil ændre nogle settings permanent.

Har taget udgangspunkt i en guide på instructables.

“Programmer”

På Melzi boarded der er i printeren er der ikke en så kaldt bootloader, uden kan man ikke flash ny firmware.
Så der skal bruges noget hardware, kaldet en ICSP programmer for at få Melzi gjort modtagelig.

Jeg valgte en Arduino Uno, da jeg måske kan bruge den til andre sjove ting senere.

Arduino Uno

Har dog senere erfaret der er en billigere og simplere løsning, USBasp, som jeg tror vil være nemmere for de fleste at bruge.
Hvor der også er kabel/stik der passer direkte mellem boards, med til.

Arduino IDE

Først skal man have hentet og installeret software programmet Arduino IDE
Hentes her : Arduino IDE

Klargøring af Arduino Uno

Efter Arduino IDE er installeret,  tilslut din programmer til PC.
Find ud af hvilken COM port den er tildelt, i kontrol panel.

I Aduino IDE gå i Tools/Værktøjs menu, Board og vælg Arduino/Genuino Uno

Tools/Værktøjs menu, Port, vælg den port hvor din kort sidder.

Fil/File menu vælg eksempler/Examples > ArudinoISP > ArudinoISP

Nu er der 2 vinduer åbne, luk det bagerste.
Kan være du skal vælge COM porten igen

Sketch skal nu uploades til kortet, så den bliver en programmer
Tryk på pilen for upload

Upload DONE, så kan du godt lukke programmet og tage USB stik ud.
Det er tid til at koble Melzi board på.

Forbind til Melzi

Først skal kortet tages ud af printer og stik tages ud.
God ide at notere og tage billeder af hvordan det var forbundet!.
HUSK at afbryde strømmen inden

Forbindelser:

Melzi ->   Arduino

MISO    ->    MISO
5V          ->    5V
SCK       ->    SCK
MOSI    ->    MOSI
RESET  ->    Digital Pin 10
GND      ->    GND

Læg de to boards ved siden af hinanden sådan her som på billede herunder.
Så passer stik forbindelse lige over, øverste venstre til øverste venstre osv.
Ét ben skal IKKE føres direkte, som er nederste højre på Melzi denne skal til Digital -10 på Arduino Uno.
Som den hvide ledning på billedet.

UBS/VREG jumper skal flyttes en tand på Melzi, så den står på USB, så den er over ben i midten samt ben i siden hvor der står USB.
Jumper ses her på billedet, denne står dog vist i VREG.

Bootloader

Uno bruges nu til at overfører bootloader til Melzi.
Vi skal lige have hentet et add-on : Sanguino

Pak filen ud

Flyt folderen til din Arduino mapper, typisk programmer (x86)\Arduino\hardware eller Program Files (x86)\Arduino\hardware
Filen hedder Sanguino-master, omdøb den til Sanguino, og sørg for der kun er et niveau af mapper
(der er 2 når den er pakket ud)

Kontroller alt er forbundet rigtigt (på eget ansvar)

Tilslut Melzi til PC med USB, og noter hvilken COM port den får.
Tilslut Arduino til PC med USB, og noter hvilken COM port den får.

Åbn Arduino IDE programmet igen: (Tools = Værktøj)
Tools Menu vælg Board > Sanguino
Tools > Processor > ATmega 1284P 16Mh
Tools > Port og vælg port for  Arduino board (IKKE  Melzi)
Tools > Programmer > Arduino as ISP
Til sidst, Tools > Burn Bootloader

DONE 🙂

Fjern USB kabler, og lednings forbindelser, tid til at få Marlin på Melzi.

U8glib

For at LCD kan virke, og vi overhovedet kan flash nedenstående skal vi have et bibliotek tilføjet.
Hent her : U8glib

Pak filen ud
Samme procedure som da vi hentede Sanguino.
Omdøb filen til U8glib, og sørg for der kun er et mappe niveau.
Og placer mappen i libaries
programmer (x86)\Arduino\libaries eller Program Files (x86)\Arduino\libaries

 

Marlin

Hent nyeste Marlin firmware : Marlin

Pak filen ud

Fra Arduino IDE programmet åben Marlin, Fil/File -> Open
Filen Hedder Marlin, og ligger i Marlin mappen

Nyt vindue åbner, luk det gamle.

Vil skal rette i filen der hedder Configuration.H, vælg fane blad

Når man klikker på siden, så vil der nederst i venstre hjørne stå et lille nummer, som angiver linje nummer, disse vil jeg referere til men kig på teksten.
Ret linjer til nedenstående.
Nogle settings er nødvendige for at det virker, andre er option, mens andre kan justeres efter behov og udstyr.
Nedenstående settings er ikke nødvendigvis de rette for dig, så tilpas som du ønsker.

  • Define board, angiver Melzi board
    122:
    #define MOTHERBOARD 89

Custom printer navn, valgfri fjern //

127:
#define CUSTOM_MACHINE_NAME “A31 Volcano”

140:
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75

289-294:
#define TEMP_SENSOR_0 1
//#define TEMP_SENSOR_1 0
//#define TEMP_SENSOR_2 0
//#define TEMP_SENSOR_3 0
//#define TEMP_SENSOR_4 0
#define TEMP_SENSOR_BED 1

318-323:
#define HEATER_0_MINTEMP 5
//#define HEATER_1_MINTEMP 5
//#define HEATER_2_MINTEMP 5
//#define HEATER_3_MINTEMP 5
//#define HEATER_4_MINTEMP 5
#define BED_MINTEMP 5

328-333
#define HEATER_0_MAXTEMP 275
//#define HEATER_1_MAXTEMP 275
//#define HEATER_2_MAXTEMP 275
//#define HEATER_3_MAXTEMP 275
//#define HEATER_4_MAXTEMP 275
#define BED_MAXTEMP 150

533:
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 95 }

540:
#define DEFAULT_MAX_FEEDRATE { 3000, 3000, 100, 25 }

548:
#define DEFAULT_MAX_ACCELERATION { 500, 500, 100, 5000 }

558-560
#define DEFAULT_ACCELERATION 600 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1000 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves

752: retter retning på x akse
#define INVERT_X_DIR true

762: retter retning på extruder
#define INVERT_E0_DIR false

784-785
#define X_BED_SIZE 300
#define Y_BED_SIZE 300

793:
#define Z_MAX_POS 390

1333: sdkort fjernet //
#define SDSUPPORT

1484: LCD skræm aktiveret, ved at fjerne //
#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

 

Upload Marlin

Tilslut Melzi til USB

Indstil board til : Sanguino W/ ATmega1284 or ATmega1284P (16MHz) (Tools > Board)
Sæt COM port for Melzi (Som før Tools > Serial Port)
Sæt programmer til AVRISP mkII (Tools > Programmer).

UPLOAD på pilen

Tab USB ud og tilslut LCD, sæt USB i igen så skulle skærm gerne starte med Marlin.
USB forbindelse kan somme tider drille, så hvis den fejler i upload, er der stor sandsynlighed for det er USB problemer.
Skift USB port, eller tildel evt. nyt port nummer i windows.

!!!HUSK inden du sætter board i kabinet igen, skal jumper sætter i VREG igen

Hvis motorer ikke køre i den rigtigt retning så er det disse linjer du skal kigge på:
#define INVERT_X_DIR true
#define INVERT_Y_DIR true
#define INVERT_Z_DIR true
#define INVERT_E0_DIR false
Skifte true til false eller omvendt på den pågældende motor.

Held og lykke og god fornøjelse.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *