From 5c11a50220fbf16a14a4bdab6f46b4b7c88e022d Mon Sep 17 00:00:00 2001 From: sarf2k4 Date: Tue, 5 Apr 2016 22:10:43 +0800 Subject: [PATCH] Brief configuration documentation --- Marlin-Configuration.md | 167 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 Marlin-Configuration.md diff --git a/Marlin-Configuration.md b/Marlin-Configuration.md new file mode 100644 index 0000000..69f5812 --- /dev/null +++ b/Marlin-Configuration.md @@ -0,0 +1,167 @@ +## BOARD + +`#define STRING_CONFIG_H_AUTHOR "(none, default config)"` + +This is basically just to show who made the changes to the current firmware settings, this also can be a reference if you're having several config types or marlin versions. This will be displayed when you connect to the board like Pronterface. + + +*** +`#define MOTHERBOARD BOARD_RAMPS_14_EFB` +This defines what board that you used for your 3D printer. This is to tell marlin to use these specific pins and restrictions for these particular board. Below is the list of the board that can be used with marlin, taken from boards.h. + +Change the `BOARD_RAMPS_14_EFB` into one of the listed constant below that matches your current board. +The list below are often used by 3D printer owner, if not listed, kindly check the "boards.h" file + +`BOARD_RAMPS_14_EFB // RAMPS 1.4 (Power outputs: Extruder, Fan, Bed)` + +`BOARD_RAMPS_14_EEB // RAMPS 1.4 (Power outputs: Extruder0, Extruder1, Bed)` + +`BOARD_RAMPS_14_EFF // RAMPS 1.4 (Power outputs: Extruder, Fan, Fan)` + +`BOARD_RAMPS_14_EEF // RAMPS 1.4 (Power outputs: Extruder0, Extruder1, Fan)` + +`BOARD_RAMPS_14_SF // RAMPS 1.4 (Power outputs: Spindle, Controller Fan)` + +`BOARD_SANGUINOLOLU_12 // Sanguinololu 1.2 and above` + +`BOARD_MELZI // Melzi` + +`BOARD_RUMBA // Rumba` + +`BOARD_RAMBO // Rambo` + +*** +`#define CUSTOM_MACHINE_NAME "3D Printer"` + +This is the name of your printer for example setting to delta would display "delta ready" after the printer has been turned on + +*** +`#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"` + +A unique ID for your 3D printer, it is almost like a MAC Address and can be generated from here http://www.uuidgenerator.net/version4 + +*** +`#define EXTRUDERS 1` + +This defines how many extruders you have for your 3d printer model. + +If you have more than one extruder, uncomment below codes + +`//#define EXTRUDER_OFFSET_X {0.0, 20.00}` + +`//#define EXTRUDER_OFFSET_Y {0.0, 5.00}` + +As for more than 2 extruder at once, I'm not sure hwo to set them up. + +*** +`#define POWER_SUPPLY 1` + +What power supply you're using. ATX;1 or X-Box 360;2. If you're using LED Strip power supply, just use 1 +*** + +## Thermal Settings + +`#define TEMP_SENSOR_0 5` //This is your main extruder + +`#define TEMP_SENSOR_1 0` + +`#define TEMP_SENSOR_2 0` + +`#define TEMP_SENSOR_3 0` + +`#define TEMP_SENSOR_BED 3` //Heated bed + +These are the profile of your thermistors. Generic profile are often "1" which is "100K Thermistor". If you can get exact brand and thermistor type for your hotend/heated bed, use that particular number/value/profile. Because each thermistor has their own characteristics to report temperature. + +This is crucial to ensure exact temperature measurement. If you're unsure, just use 100k thermistor for `temp_sensor` and `temp_sensor_bed` + +*** +`#define HEATER_0_MINTEMP 5` + +`#define HEATER_1_MINTEMP 5` + +`#define HEATER_2_MINTEMP 5` + +`#define HEATER_3_MINTEMP 5` + +`#define BED_MINTEMP 5` + +One of the safety feature that will prevent the printer from working. Room temperature typically has a range of about 10-40'c, if one of the sensor goes below the specified value above, marlin would prevent the user from using it. + +`MINTEMP ERROR`: This error means your thermistor isn't connected into the temperature pin + +`#define HEATER_0_MAXTEMP 285` + +`#define HEATER_1_MAXTEMP 275` + +`#define HEATER_2_MAXTEMP 275` + +`#define HEATER_3_MAXTEMP 275` + +`#define BED_MAXTEMP 130` + +Maximum temperature for these heating element. If marlin reads the temperature past these values, it will stop working instantly for safety purpose. For E3D V6, 285 is the maximum value to most people. + +`MAXTEMP ERROR`: This means the thermistor legs/wires are shorted each other. + +*** + +PID + +This is a setting to ensure stable temperature on your hotend and heated bed. Marlin will try to hit the target temperature based on the PID values. This is very important for hotends so that it won't overshoot when trying to reach the temperature and during printing + +Kindly refer here http://reprap.org/wiki/PID_Tuning for having marlin to do the auto tune the PID. These are usually done once when you're changing thermistor, heating element, the board and power supply; 12v and 24v system. + +The target temperature during auto tune process is your highest target temperature (In my opinion). + +More detailed info about what PID are here https://en.wikipedia.org/wiki/PID_controller + +`#define EXTRUDE_MINTEMP 170` + +This will prevent the extruder motor from moving if the hotend temperature is less than 170'c. +*** +`// #define THERMAL_PROTECTION_HOTENDS // Enable thermal protection for all extruders` + +`// #define THERMAL_PROTECTION_BED // Enable thermal protection for the heated bed` + +This one is a cool feature to have. This one actually measures the current temperature and then sets a timer to it. If the timeout has reached then marlin will stop the printing process. + +The idea here is to avoid any loose thermistor fixture to its designated slot: +For example it suddenly came loose in the hotend during printing; target temperature at 230'c, but thermistor reading on marlin shows 170'c, marlin thinks the hotend temperature is low and need to be powered. Without this, the hotend will heat up indefinitely until it is bright red and eventually burn everything due to misreading of the temperature from the loose thermistor. + +How it works is; target temperature at 190'c, after reaching 190'c this protection will start its timeout. If the reading was below the target then marlin will power the hotend with timeout running as well. If the timeout has been triggered when the heating element still fully powered, marlin will stop the whole process. Same goes for the heated bed. + +The config of these parameters can be found in "configuration_adv.h" file. + +*** +`// Uncomment this option to enable CoreXY kinematics` + +`//#define COREXY` + +`// Uncomment this option to enable CoreXZ kinematics` + +`//#define COREXZ` + +`// Enable this option for Toshiba steppers` + +`//#define CONFIG_STEPPERS_TOSHIBA` + +These are for special type of machines and configurations because they uses different types of algorithms to move around. If you're using prusa, mendel, airwolf, or basically a cartesian based printer, as well as nema based stepper motor, leave these commented + +*** +`const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.` + +`const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.` + +`const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.` + +`const bool X_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.` + +`const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.` + +`const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.` + +`const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.` + +Inverting between triggered and open state when issuing M119 command. Usually not touched but if you don't want to fiddle the wiring again, you can invert these. +***