Konfigurera Marlin firmware och sätt igång den!

Konfigurera Marlin firmware och sätt igång den!

  1. Första steg
  2. Serial Ports, Baud Rate, Bluetooth, anpassat namn
  3. Stepper Driver
  4. Sensorless Homing
  5. Microstepping och Stealthchop
  6. PSU-styrning
  7. Termiska inställningar - termistor och Max/Min Temp
  8. PID-inställningar
  9. Säkerhet - Kall extrudering och termisk avgång
  10. Mekaniska inställningar - Corexy, bandskrivare, robotarm
  11. Inställningar för Endstop
  12. Inställningar för rörelse - acceleration etc. även i samband med Linear Advance
  13. Z-probe och bäddutjämning
  14. Bäddstorlek
  15. M600
  16. Tillkommande funktioner - EEPROM, inställningar för förvärmning, rengöring av munstycken, Print Job Timer, lösenord, språk, stöd för SD-kort, kodningskänslighet, högtalare, LCD-skärmar, neopixlar

En snabb notering innan vi börjar - vi kommer att nämna linjenummer så att det blir lättare att hitta rätt firmware-linje. Beroende på vilken firmware du använder eller vilka konfigurationsfiler du använder kan detta skilja sig lite, men det är ändå en relativt enkel lösning för att hitta rätt linje.

Också uttalanden i Marlin kallas definitioner, de kan vara antingen on, off eller on + valbart värde. De som är on är okommenterade, vilket innebär att de inte har någon kommentaridentifierare, vilket är ett dubbelt snedstreck. I princip slår det dubbla snedstrecket av allting och gör det möjligt att skriva kommentarer om du vill anpassa din firmware så att den kan användas av dig själv eller andra vid ett senare tillfälle. Allt som skrivs med ett // i början av raden kommer att ignoreras helt av programvaran vid kompileringen.

1. Första steg

För att redigera Marlin firmware behöver du rätt programvara. Även om det finns några alternativ skulle de flesta använda Visual Studio Code. Denna programvara kan laddas ner här gratis, både för Windows, Linux och Mac.

För att göra detta behöver du också tillägget Platform IO. När VS Code är installerat går du till tillägg i verktygsfältet till vänster (ikonen med de fyra rutorna), söker efter Platformio och klickar på Installera. Du kan också använda insticksprogrammet Auto-Build Marlin, vilket gör det hela lite snabbare om du ställer in ditt kort med rätt processor, men vi kan också göra detta på det gamla sättet. Vi kommer att visa dig hur du gör det senare i texten

När du har fått ihop allting måste du skaffa Marlin firmware. Så gå över till Marlin GitHub och ladda ner den senaste versionen

Du kommer att märka att det finns en version med felrättning och en vanlig version. Bugfix-versionen innehåller de senaste ändringarna i programvaran. Den är användbar, men också den minst stabila eftersom den ständigt bearbetas. Marlin-teamet är dock mycket bra på att identifiera och åtgärda buggar och fel, så vi gillar att använda dessa versioner.

Klicka på Code i det övre högra hörnet för att ladda ner den programvaran som en zip-fil, packa upp zip-mappen och ladda VS Code. Gå sedan till filen och öppna mappen och den programvaran för Marlin.

Nästa är konfigurationsfilerna, specifika skrivarkonfigurationer finns också på GitHub.

Dessa är särskilt användbara om du bara vill ändra programvaran en aning. Om du till exempel har en skrivare, till exempel en Ender 3, och precis har uppgraderat hotend och behöver ändra termistorn i programvaran, kan du helt enkelt ladda ner konfigurationsfilerna för den skrivaren och klistra in dem i Marlin-mappen som du just laddat ner. På så sätt finns alla detaljer i skrivarens standardfirmware redan där och du behöver bara ändra värdena för termistorn.

När du förbereder en mapp med firmware för redigering finns det en mycket viktig punkt att tänka på innan du kan börja redigera, och det är att välja rätt moderkort och processormodell.

Om du går till sidan configuration.h i Utforskaren på vänster sida ser du ett kommando på rad 70 som anger vilket moderkort som används. För många kort finns det bara en version, men vissa har varianter eller vissa skrivare har använt olika kort tidigare. Det är bäst att öppna skrivaren och kontrollera vilket kort som är installerat

För att ta reda på exakt vad ditt kort heter i programvaran, gå tillbaka till utforskaren till vänster, gå till src, core och boards.h. Detta är en lista över alla kort som Marlin stöder. Tryck sedan på CTRL F och skriv in kortets varumärke, så till exempel Creality Ender 3-kort, skriv Creality. Scrolla nedåt för att hoppa över allt som har med det nyckelordet att göra och du kommer att hitta Creality V4-korten. Du kan bara använda Board_Creality_V4. Detta är i princip samma process för alla moderkortsmärken, så länge de stöds av den versionen av Marlin. Du kommer också att hitta processorvarianterna för det här kortet, för version 4-kortet ser vi STM32F103RC och STM32F103RE här.

Notera båda, gå tillbaka till Configuration.h och kopiera brädet till området efter #define MOTHERBOARD. Nu kan du också gå till verktygsfältet explorer till vänster och klicka på fliken platform.io för att se till att rätt processormodell finns i raden default_envs högst upp på sidan

Ok, det var allt, nu kan vi redigera den fasta programvaran. Det finns två huvudsidor som vi kommer att redigera, de flesta av dem i config.h, men några också i config_adv.h.

2. Seriella portar, Baud Rate, Bluetooth, Anpassat namn

Om du går till config.h kan vi börja där. Vi är redan klara med huvudkortet, så låt oss gå vidare till nästa definition: Seriella portar.

Nästan alla skrivare använder en seriell port för att ansluta till olika enheter. I de flesta fall används bara en, men om du ansluter något annat, till exempel en pekskärm med ett SD-kort eller en USB-port, kan du behöva experimentera lite. Vi kommer inte att göra det här, så låt oss glömma det för tillfället.

Baudfrekvensen är kommunikationshastigheten för dessa portar. Den kan variera, men de flesta använder en frekvens på 115200.

Du hittar fler alternativ för seriella portar nedan, men vi kan lämna den odefinierad eftersom du förmodligen inte behöver några ytterligare seriella portar.

Det finns också alternativ för Bluetooth-anslutning, vilket är ovanligt för skrivare, och ett alternativ för att ändra skrivarnamnet, vilket är avstängt som standard. Du kan se det här namnet på LCD-skärmen när maskinen är påslagen. Slå på alternativet och ange ett nytt namn om du känner för det.

3. stepper drivrutin

Nästan är det stepper-drivrutinerna som står på tur. Det låter svårt, men det är det inte alls. Varje skrivare använder stepper-drivrutiner som styr motorerna. Tidigare använde skrivare A4988 eller andra varianter, vilket innebar att motorerna var ganska bullriga. Numera installeras TMC2208 eller TMC2209 som standarddrivrutiner i de flesta skrivare. Det finns dock ett antal andra drivrutiner med olika funktioner och fördelar, t.ex. stegdelning, maximal ström eller sensorlös homing, där det inte behövs några fysiska gränsswitchar för att homa axlarna.

Du kan enkelt ställa in vilken drivrutin du vill använda för vilken åtkomst. Ofta anger inte moderkortet för en skrivare vilka stegdrivrutiner som används. Ibland använder ett kort inbyggda stegdrivrutiner, vilket innebär att de inte kan tas bort. I det fallet anges förmodligen inte vilken drivrutin som används, men ibland finns det en markering på moderkortet som kan ange vilken drivrutin som används. Creality V4-kort har till exempel en liten kod på SD-kortkontakten. Om det står "T8" betyder det att drivrutinen TMC2208 används. Vissa moderkort använder utbytbara drivrutiner, vilket har fördelen att du enkelt kan byta ut dem om det uppstår ett fel - om det händer med integrerade drivrutiner är kortet förstört och du behöver ett nytt.

4. Sensorless Homing

Vi gillar verkligen sensorlösa homing. Den är inte lika exakt som fysiska endstop, men den minskar behovet av kablar. Alla drivrutiner har inte stöd för sensorless homing, till exempel kan de mycket populära TMC2208-drivrutinerna inte använda den här funktionen. TMC2209-drivrutinerna kan däremot göra det.

För att få sensorless homing att fungera krävs några fysiska ändringar på moderkortet, men oroa dig inte, de är väldigt enkla. Detta kan variera beroende på moderkortet, men vanligtvis handlar det helt enkelt om att ställa in jumpers på vissa stift. Se SKR Mini E3-manualen.

När det gäller firmware är det här vad som behövs för att få sensorless homing: För det första måste HOMING_BUMP sättas till 0 i linje 210 (configuration_adv.h) - detta används normalt för enstop där axeln träffar endstop, flyttar sig lite tillbaka och sedan långsamt träffar endstop igen. Som standard är detta några mm, vi måste stänga av det.

I rad 1174 måste ENDSTOP_INTERRUPTS_FEATURE (configuration.h) vara odefinierad.

Nästa punkt är ström. Det fina med dessa moderkort jämfört med äldre är att motorströmmen på gamla 8-bitarskort inte kunde ändras av firmware. Man var tvungen att ändra Vref på moderkortet genom att vrida på en liten trimpot som var mycket känslig. Vrid den en liten bit för mycket och den flyger upp till 1,5, trots att du bara behöver 0,8 (eller 800 mA) för de flesta xy-motorer. Du kan hitta raderna för att ställa in strömmen från 2386 (configuration_adv.h).

Den ström du behöver i din firmware beror på stegdrivrutinen och motorn. Om du har en ganska genomsnittlig motor som en 42-34-motor behöver strömvärdet här bara vara 800. Om du hittar ett tekniskt datablad för din motor kan du se att den maximala strömmen är 1,5 A eller 1500 mA. Men ange inte 1500 i firmware, det är ett absolut toppvärde, vi arbetar inte med toppvärden, det skulle sluta illa. Vi letar efter RMS-värdet, det genomsnittliga kvadratiska värdet av strömmen. Att beräkna rätt ström är faktiskt inte så lätt, men det finns kalkylatorer, till exempel den här från ALL3DP.

Strömhantering är avgörande när du kalibrerar sensorless homing, eftersom du kan behöva mixtra lite med det för att se till att det fungerar optimalt.

MONITOR_DRIVER_STATUS finns på rad 3204 (configuration_adv.h) - detta kontrollerar regelbundet drivrutinerna för att fastställa deras status. Marlin kan automatiskt minska drivrutinsströmmen om drivrutinen rapporterar en övertemperaturvarning. Så aktivera den.

Du kan också aktivera TMC_DEBUG på rad 3317 (configuration_adv.h), där kan du se mer information om steppardrivrutinerna.

Okej, nu kan vi aktivera SENSORLESS_HOMING på linje 3272 (configuration_adv.h), vi måste aktivera detta för X och Y och ställa in stall-känsligheten, detta är hur känsligt drivrutinerna kan mäta stall, dvs. när motorn flyttar skrivarhuvudet till en sida av sin axel och träffar slutet. Om den är för låg kommer den inte att upptäcka något och fortsätta att vrida motorn även om skrivhuvudet träffar sidan, om den är för hög kommer den att "upptäcka" stall hela tiden. Efter att ha flashat den fasta programvaran har LCD-skärmen nu en meny där du kan ändra värdena för stallkänslighet och ström, så du behöver bara ändra värdena för att få det att passa. Värdena för stall varierar från 0-255, så det första försöket bör ligga i mitten runt 128. Justera värdet i enlighet med detta och försök sedan igen och igen och igen och igen. Om du fastnar och oavsett vilket värde du väljer så fungerar det bara inte, då måste du justera strömstyrkan, öka den bara lite. BARA LITE! Om det är 800 milliampere, öka det till 850 och försök igen.

Du kan också använda define IMPROVE_HOMING_RELIABILITY lite längre ner på rad 3291, vilket är exakt vad det låter som.

Om du undrar så är sensorless homing på Z-axeln knepig, särskilt på skrivare som använder spindlar för Z-rörelsen, vilket de flesta skrivare gör. För att slippa problem här kan du skippa att aktivera sensorless homing för Z-axeln.

5. Microstepping och Stealthchop

På rad 2838 finns ytterligare en drivrutinsfunktion X_MICROSTEPS (configuration_adv.h). Stegdrivrutiner rör sig i steg, vanligtvis 1,8 grader per steg, vilket är mycket exakt, men kan detta bli mer exakt? Förutom att skaffa en annan motor som har ett mindre mått per steg kan du använda mikrosteg, vilket säger till drivrutinen att den ska signalera till motorn att röra sig mindre än 1,8 grader, vilket är ganska praktiskt för en mycket exakt inställning. Standardvärdet är 16, men du kan gå högre, vilket naturligtvis innebär att antalet steg som krävs för att flytta en motor en viss sträcka också ändras. Det är därför Marlin har den här underbara funktionen som heter Interpolate på rad 2833 (configuration_adv.h) som, om du ställer in den på true, automatiskt "interpolerar" varje motorstegsvärde så att du inte behöver ändra något manuellt. Så om du ändrar microstepping från 16 till 32 måste du justera stegen för alla motorer för att nå det nya värdet. Om du aktiverar interpolationen sker detta automatiskt

Nästa punkt är STEALTHCHOP på rad 3140 (configuration_adv.h). Slå på den här, den gör allting super tyst - du bör också kontrollera CHOPPER_TIMING CHOPPER_DEFAULT strax under den. Du har troligen en 24 V-skrivare, så ställ in den på 24 V. Naturligtvis beror möjligheten att använda Stealthchop också på din drivrutin, men som tur är kan de flesta hantera det nuförtiden.

6. Kontroll av PSU

Tillbaka i Configuration.h, på rad 388 hittar vi PSU-kontrollen (configuration.h), som kan vara intressant om vi vill stänga av skrivaren automatiskt när ett utskriftsjobb är klart.

7. Termiska inställningar - Termistor och Max/Min Temp

Nästa punkt är de termiska inställningarna i linje 430 (configuration.h), och detta är förmodligen den mest efterfrågade handledningen för firmware av alla. För många människor är en Hotend-uppgradering den första ändringen de gör. Så om du har en Ender 3 och vill uppgradera till en Revo hotend, vad gör du då? Jo, det finns två saker att ändra, den första är termistorn. De flesta skrivare använder en 100k termistor, för vilken sensortypen i Marlin är "1". Revo och många andra termistorer använder dock nummer 5, som också är en 100k termistor, men från Semitec. Som du kan se finns det ett fåtal märken som använder denna typ av termistor. Men kanske vill du uppgradera till något starkare som en PT1000? Det beror på PT1000, men de flesta använder sensor nummer 1047 med en pull up på 4,7 ohm.

Det samma kan du göra för temp_sensor_bed på rad 536 (configuration.h).

Den andra delen av uppgraderingen av hotend är HEATER_0_MAXTEMP på rad 611 (configuration.h). PTFE-värmare är i allmänhet begränsade till 260C, vilket anges som 275C i Marlin. Vi är inte säker på varför detta gjordes, men oavsett vilken temperatur du anger här kommer skrivarens faktiska uppnåeliga temperatur att vara 15C lägre. Så om du har en 300C hotend, måste du ange minst 315C som maximalt värde.

På rad 597 hittar du också HEATER_0_MINTEMP, som automatiskt stänger av värmaren när den når denna temperatur. Förresten, om du har en skrivare som stänger av värmaren eller visar ett mintemp-fel och du inte är säker på varför, kan det bero på att skrivaren befinner sig i en för kall miljö. Vi får många frågor om detta på vintern eftersom många har sina skrivare i garaget och det kan lätt hända.

På rad 623 har du en termisk översvängning (configuration.h) som tillåter temperaturer över maxtemp-värdet innan den stänger av maskinen. Översteg kan uppstå om din värmare inte är kalibrerad, vilket leder oss till rad 633 och PID-avstämningen (configuration.h)

8. PID-inställningar

Detta synkroniserar värmaren och termistorn så att värmaren är exakt. Det viktigaste här är rad 659, som ger standardvärdena för proportionell, integral och derivativ. Du behöver egentligen inte ändra något här, men när du byter värmare är det en bra idé att göra en PID-avstämning, som i huvudsak kalibrerar din värmare eller termistor så att temperaturen inte fluktuerar för mycket när skrivaren är igång. Vi skulle rekommendera att göra detta efter en Hotend-uppgradering. Det finns flera sätt att göra detta, men ett enkelt sätt är att aktivera detta i din LCD-meny i rad 803. En annan metod är att ansluta skrivaren till datorn via USB och använda ett terminalprogram som Pronterface.

I denna terminal kan du skriva in gcode-kommandon. Det korrekta kommandot för PID-avstämning är "M303 E0 S210 C10 U".

Här M303 är kommandot för att starta röstningen.

E0 hänvisar till den använda värmaren (E0 är standardinställningen för nästan alla skrivare med en enda extruder).

S210 hänvisar till temperaturen 210C, som är lämplig för PLA, men du kan ändra den om du främst vill använda andra filament.

C7 anger hur ofta du ska köra testet. Ju fler gånger du kör testet, desto noggrannare är det, men vi har funnit att det inte behövs mer än 7 försök.

När du har angett detta kommando utförs testet och värdena för Kp, Ki och Kd spottas ut.

När du har dessa värden kan du ange dem i terminalen med kommandot M301, till exempel M301 P30 I3 D60.

Spara sedan dina inställningar med ett M500-kommando och du är klar.

Spara dina inställningar med ett M500-kommando och du är klar

Det finns mer att göra med PID-reglering. PID-inställningen för din byggplatta är inte lika nödvändig som för din hotend. Hotends byts ut mycket oftare än termistorn för byggplattan.

9. Säkerhet - kall extrudering och termisk genomströmning

Nästa viktiga punkt är skyddet mot termisk genomgång i rad 827 (configuration.h), som du definitivt bör slå på! Detta kommer att stänga av skrivaren om temperaturen stiger över den förväntade nivån. Kanske har termistorn förskjutits och du vet inte om det. Utan det kommer temperaturen att fortsätta att stiga och termistorvärdet kommer knappt att förändras. Detta är dåligt. Sätt på den!

Det finns också en funktion för att förhindra kall extrudering på rad 816 (configuration.h). Den förhindrar att extrudermotorn aktiveras när temperaturen är lägre än det inmatade värdet. Som standard är ett värde på 170 inställt här. Vilket filament du normalt använder med din skrivare kommer att tala om vilket värde som ska användas här. Om du till exempel huvudsakligen skriver ut PETG bör du ställa in en temperatur på cirka 220C

10. Mekaniska inställningar - Corexy, bandskrivare, robotarm

Nästa är de mekaniska inställningarna, och eftersom vi kommer att använda en Corexy-uppställning är detta mycket viktigt. Här måste vi definiera Corexy.

Det finns även andra kinematiska inställningar här, till exempel delta, bandskrivare eller om du har en robotarm är detta också möjligt.

11. Inställningar för endstop och Endstop Noise Threshold

Nästan kommer inställningarna för endstop i rad 1071 (configuration.h). Det är helt enkelt här som endstop aktiveras.

Här finns ytterligare en liten funktion för Endstop Noise Threshold. För länge sedan var vi tvungen att använda den här funktionen när vi ville fästa extra långa kablar till en skrivare så att all elektronik var utanför höljet. Av någon anledning orsak orsakade de långa kablarna att fel upptäcktes under homing, men den här funktionen räddade oss.

12. Rörelseinställningar - Acceleration, steg, Feedrate, Jerk, Junction Deviation, Linear Advance​​​​​​​

Nästa är rörelseinställningarna på 1194 (configuration.h) och det allra första är standardsteg. Som tidigare nämnts roterar stegmotorer i steg var 1,8:e grad (om du inte har en motor med 0,9 graders vinkel). När motorn vrider ett band, en spindel eller ett kugghjul måste den ta ett visst antal steg för att få delen att röra sig i önskad omfattning. Oftast behöver detta ändras vid uppgraderingar av extruder, där allt du egentligen behöver göra är att ändra numret på den här raden. Vanligtvis anger tillverkarna extruderstegen (eller esteps), men dessa kan behöva justeras, så vi gör en esteps-kalibrering. Det finns många videor om detta.

Esteps och faktiskt alla steppingvärden behöver inte konfigureras i firmware, du kan bara redigera din startkode för att infoga ett nytt värde med ett M92-kommando. Detta är det enklaste sättet när du uppgraderar din extruder, du behöver inte uppdatera din firmware i de flesta fall, du kan bara använda gcoden antingen i din slicer eller via Pronterface som vi redan har visat. Detta kan faktiskt göras för alla värden i kategorin rörelseinställningar med M203 för maximal matningshastighet, M201 för maximal acceleration, m204 för standardacceleration och M205 för jerk-inställningar. Om du till exempel vill ändra extruderstegen för en ny Bondtech-extruder behöver du bara skriva M92 E415 i start Gcode (M92 är kommandot för att ändra stegen för en motor och E anger att det är extrudermotorn), det är allt. Så dessa värden är inte huggna i sten och kan ändras ganska enkelt utan att ändra programvaran.

Förresten, om du är intresserad av gcode-kommandon i allmänhet och de parametrar som används med dem, kan du kolla in Marlins webbplats, som har en lista över alla gcode-kommandon, varav några kan vara mycket användbara. Här finns ett exempel på M204:s startaccelerationskod.

Jerk är en funktion som begränsar förändringshastigheten av accelerationen för en axel, särskilt när skrivhuvudet står stilla och sedan plötsligt börjar röra sig, men också när det roterar 90 grader. Det är en relativt gammal funktion i firmware som fortfarande används av många skrivare, men nyare skrivare, särskilt de med Klipper firmware, använder något som kallas Junction Deviation, så låt oss ta en titt på det.

När det gäller ändringarna i programvaran är detta mycket enkelt: gå till rad 1288 och definiera junction deviation. Kontrollera också att classic_jerk inte är definierat i linje 1265 (configuration.h). Därmed är firmware-delen klar, men du måste fortfarande ta reda på värdet för junction deviation. Som standard är det inställt på 0,013 mm, men det beror helt på din skrivare. Som tur är är det ett enkelt test, allt vi behöver göra är att skriva ut en modell där varje lager har ett något annorlunda värde för junction deviation och sedan kontrollera vilket lager som skriver ut bäst. Om du märker mycket ringning är värdet för högt. Men det får inte heller vara för lågt, eftersom det skulle sakta ner processen.

TeachingTech har en bra guide och kalkylator.

Nästan är S-kurva-accelerationen i rad 1301 (configuration.h), som minskar vibrationerna och som liksom jerk-funktionen är relativt gammal och har lagts på hyllan till förmån för nya funktioner. En av dessa är Linear Advance, vad är det? Jo, den används för att styra hastigheten på den extruderade volymen när accelerationen ändras. Har du någonsin märkt när du skriver ut 90 graders hörn att utskriften kröker lite där? Det är precis vad Linear Advance är avsedd att åtgärda.

När det gäller firmware liknar det Junction Deviation. Gå till rad 2205 i configuration_adv.h så hittar du den (configuration_adv.h). Allt du behöver göra är att ta bort kommentaren så att den definieras. Sedan måste du kalibrera den för att hitta rätt värde. Vi kallar det för k-värdet, som standard är det 0,22.

Kalibreringen av k-värdet liknar kalibreringen av Junction Deviation-värdet, vi skriver ut något med olika värden och ser vilket som fungerar bäst. Som tur är har Marlin en helt briljant kalkylator som du kan använda för att räkna ut det hela.

13. Z-sond, utjämning av byggplattan, ändring av motorns rotationsriktning

På rad 1311 kommer vi till utjämning av byggplattan och Z-proberna (configuration.h). Detta är ett mycket omfattande avsnitt eftersom det finns många olika metoder för nivellering, inte bara tillägg för automatisk nivellering utan även en hel del andra saker. Om du vill läsa på om firmware för BLTouch eller liknande enheter rekommenderar jag videon från TeachingTech om hur man får en BLTouch att fungera på praktiskt taget alla enheter.

Behövs det att vända motorns riktning? Ibland är detta nödvändigt vid uppgraderingar av extruder eller byte av stepper driver. Det finns många funktioner i Marlin som kräver riktningsomvändning, men du behöver inte göra det nu. När du kompilerar och flashar din firmware är det bara att prova att flytta en motor och se om den går i rätt riktning. Om du behöver ändra riktning går du till rad 1698 och ändrar INVERT_[X/Y/Z]_DIR till false eller true.

14. Byggplatta och Filament-Runout-Sensoren

Nästa punkt på rad 1753 (configuration.h) är bäddstorleken. Byggplattorna bör ha lite spelrum eftersom vi inte vill att vår modell ska skrivas ut utanför kanterna, så vi kan ställa in vår min_position till 0, vilket kommer att vara den punkt där endstop eller sensorless homing kommer att stoppa den här axeln vid automatisk homing. Kanske är endstop redan på ett rimligt avstånd från kanten, eller så är den kanske inte ens på byggplattan. I det här fallet behöver du ett avstånd, så du behöver bara redigera min_position i mm för att inkludera ditt avstånd, och sedan flytta vagnen till den motsatta sidan av byggplattan till den punkt du inte vill att den ska gå längre än så, och det är din max_position.

Nästan är filament runout-sensorerna i rad 1818 (configuration.h). Det enklaste sättet att konfigurera denna senros är att använda ett normalt endstop med en liten rulle i slutet. Denna rulle är ganska viktig eftersom om du drar ut filamentet kommer metallremsan att böjas eller till och med gå sönder, vilket gör brytaren oanvändbar eller opålitlig. Det finns andra alternativ som en opto-sensor, som vi tror är mycket mer tillförlitlig. Vi har aldrig haft problem med sensorn på Prusa MK3, men endstopsensor är lätta att lägga till, de är billiga och med rätt utformning kan de fungera mycket bra. Så om du vill använda en sådan så avkommentera filament_runout_sensor på rad 1830, du bör ha #define FIL_RUNOUT_ENABLED_DEFAULT aktiverat och satt till true och du behöver bara 1, såvida du inte har en dubbel extruder så sätt #define NUM_RUNOUT_SENSORS till 1, du bör definitivt ha M600-kommandot aktiverat (mer om det lite senare) så byt till rad 1877 (configuration.h).

Du måste också gå till ADVANCED_PAUSE_FEATURE på rad 2752 (configuration_adv.h) och ta bort kommentartecknet. Det finns många andra justeringar som du kan göra här, och Marlin har lagt in några mycket hjälpsamma, lättförståeliga kommentarer bredvid dem. Ändra dem som du vill och anpassa dem till din skrivare

Det enda du behöver göra nu är att ansluta kortet. Beroende på ditt kort kan du också ändra det om du vill. För att kontrollera var standardpinnen är kan du gå till SRC, PINS och din processormodell, välj den och tryck CTRL F och skriv FIL_RUNOUT_PIN, för oss på en BTT SKR e3 Mini V3.0 är pinnen PC15, gå till Google och skriv in namnet på ditt kort och pinoutdiagrammet och se var den pinnen är.

15. M600

Vi har redan nämnt kommandot M600. Detta är en tyvärr underutnyttjad men mycket användbar firmwarefunktion, nämligen att byta filament under utskrift. Om du vill skriva ut de första lagren i en färg, nästa i en annan och sedan fortsätta att byta färg kan du göra det med den här funktionen. Ta en titt på det här märket som vi gjorde med M600-kommandot.

Så vi har redan aktiverat M600 och den avancerade pausfunktionen, nu måste vi aktivera funktionen för parkering av skrivarhuvudet. Så gå till rad 2362 (configuration.h) och aktivera "nozzle park". Du kan ändra positionen här om du vill, och även hastigheten under "feed rate" och "minimum z feed rate"

Gå nu till rad 824 och aktivera Extrude max length (configuration.h). Detta kommer att dra in ny filament upp till denna längd, vilket är tillräckligt för att ta bort gammal filament och ändra färgen helt och hållet. Detta värde beror på om du har en Bowdenkabel eller en Direct Drive. Om du har en Bowdenkabel med ett långt PTFE-rör måste detta värde vara ganska högt, om du har en Direct Drive kan det vara lågt

Gå sedan tillbaka till den avancerade pausfunktionen i configuration_adv.h och se till att PARK_HEAD_ON_PAUSE inte är kommenterad så att munstycket parkeras i enlighet med detta (configuration_adv.h)

16. Ytterligare funktioner - EEPROM, förvärmningsinställningar, rengöring av munstycken, lösenord, språk, känslighet för kodare, LCD-skärmar, neopixlar

Nästa punkt är EEPROM på rad 2291 och bör definitivt aktiveras (configuration.h) - det är som minnesfunktionen på din skrivare. Så om du ändrar något, i princip vad som helst med ett Gcode-kommando, kan du spara det med ett M500-kommando och det kommer att bevaras. Utan den funktionen kommer skrivaren bara att starta om med de inställningar för den programvaran som du ställt in på datorn. Det gör det verkligen bekvämt.

Nästan är förvärmningskonstanterna i rad 2335 (configuration.h). Precis som med EEPROM bör de finnas där som standard, även om värdena ibland inte är så bra. Vi gillar att dessa värden är lite högre än den faktiska utskriftstemperaturen. Som standard är endast PLA- och ABS-temperaturer förinställda, men om du egentligen inte använder någon av dem eller behöver många förinställningar kan upp till 10 stycken läggas till.

Nästa är funktionen för rent munstycke i rad 2374 (configuration.h). Detta är användbart för en skrivare med dubbla extruder, men kan också vara användbart för en skrivare med en enda extruder om du vill att det första lagret ska vara perfekt.

Nästa är lösenordet på rad 2498 (configuration.h) - du kanske inte vill att till exempel ditt barn eller rumskamrater som inte känner till några gränser ska använda skrivaren. Lösenordsskydd kan vara användbart i det fallet, men om du är den enda som har tillgång till skrivaren är ett lösenord meningslöst.

Vi har också inställningar för LCD-stöd på rad 2529 (configuration.h). Om engelska eller kinesiska inte är ditt första språk är det inget problem, du har några att välja mellan här. Om din styrenhet använder ett kodarhjul kan du ändra känsligheten på rad 2602 (configuration.h). Längre ner i inställningarna för styrenhet kan du välja din styrenhet, kanske en med stöd för SD-kort eller en med pekskärm.

Du kan också uppgradera din skrivare med neopixlar, vilket är lysdioder som du kan fästa på skrivaren för att skapa bättre belysning eller en häftig ljusshow. Du hittar dessa inställningar på rad 3450 (configuration.h)

Slutligt finns det en ny och mycket cool funktion som kallas Input Shaping. Detta är en ny funktion i Marlin som kan kompensera för vibrationer som kan orsaka fula defekter i din utskrift. Vi har redan skapat en video och guide för att hjälpa dig att ställa in den.

Denna lista täcker inte alls allt, utan ger bara en översikt över vilka ändringar som ofta görs i allmänhet. Om du har problem med en viss del av programvaran för Marlin eller om du vill att den här listan ska utökas är du välkommen att kontakta oss. Vi kommer att utöka den här guiden i framtiden för att hjälpa dig med de ändringar du vill göra.