MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.17k stars 19.21k forks source link

Motors not working after trying Repetier and coming back to Marlin #1562

Closed eta-orionis closed 9 years ago

eta-orionis commented 9 years ago

Hello! My Prusa i3 (Arduino Mega 2560, RAMPS 1.4, Extruder-Fan-Bed config, Ultipanel) worked fine with Marlin v1. I updated to Marlin v2 (OK), then I uploaded Repetier for a test but decided I preferred Marlin, so I reverted to Marlin v2 again. The motors now don't move; they get signals, they are active and "locked" into position, but only hum and vibrate lightly and don't move. Same thing happens when I downgrade to Marlin v1, the exact code that used to work fine before. When I upload Repetier again, everything works. I upload Marlin, it stops working. (With v2 no motor works, with v1 X and Y don't work but Z does)

I tried erasing the EEPROM completely, but it didn't change anything. Tried increasing current to the motors, again no change. Moved the Z motors to the X/Y pins, nothing.

Any idea what may be the cause or how I can fix this?

This is my Repetier config

Configuration.h ``` #ifndef CONFIGURATION_H #define CONFIGURATION_H /**************** READ FIRST ************************ This configuration file was created with the configuration tool. For that reason, it does not contain the same informations as the original Configuration.h file. It misses the comments and unused parts. Open this file file in the config tool to see and change the data. You can also upload it to newer/older versions. The system will silently add new options, so compilation continues to work. This file is optimized for version 0.92 generator: http://www.repetier.com/firmware/v092/ If you are in doubt which named functions use which pins on your board, please check the pins.h for the used name->pin assignments and your board documentation to verify it is as you expect. */ #define NUM_EXTRUDER 1 #define MOTHERBOARD 33 #include "pins.h" // ################## EDIT THESE SETTINGS MANUALLY ################ // ################ END MANUAL SETTINGS ########################## #define FAN_BOARD_PIN -1 //#define EXTERNALSERIAL use Arduino serial library instead of build in. Requires more ram, has only 63 byte input buffer. // Uncomment the following line if you are using arduino compatible firmware made for Arduino version earlier then 1.0 // If it is incompatible you will get compiler errors about write functions not beeing compatible! //#define COMPAT_PRE1 #define MIXING_EXTRUDER 0 #define DRIVE_SYSTEM 0 #define XAXIS_STEPS_PER_MM 80 #define YAXIS_STEPS_PER_MM 80 #define ZAXIS_STEPS_PER_MM 4000 #define EXTRUDER_FAN_COOL_TEMP 50 #define PDM_FOR_EXTRUDER 0 #define PDM_FOR_COOLER 0 #define DECOUPLING_TEST_MAX_HOLD_VARIANCE 20 #define DECOUPLING_TEST_MIN_TEMP_RISE 1 #define RETRACT_ON_PAUSE 2 #define PAUSE_START_COMMANDS "" #define PAUSE_END_COMMANDS "" #define EXT0_X_OFFSET 0 #define EXT0_Y_OFFSET 0 #define EXT0_STEPS_PER_MM 721.19 #define EXT0_TEMPSENSOR_TYPE 1 #define EXT0_TEMPSENSOR_PIN TEMP_0_PIN #define EXT0_HEATER_PIN HEATER_0_PIN #define EXT0_STEP_PIN ORIG_E0_STEP_PIN #define EXT0_DIR_PIN ORIG_E0_DIR_PIN #define EXT0_INVERSE 1 #define EXT0_ENABLE_PIN E0_ENABLE_PIN #define EXT0_ENABLE_ON 0 #define EXT0_MAX_FEEDRATE 50 #define EXT0_MAX_START_FEEDRATE 20 #define EXT0_MAX_ACCELERATION 2000 #define EXT0_HEAT_MANAGER 1 #define EXT0_WATCHPERIOD 1 #define EXT0_PID_INTEGRAL_DRIVE_MAX 255 #define EXT0_PID_INTEGRAL_DRIVE_MIN 40 #define EXT0_PID_PGAIN_OR_DEAD_TIME 149.63 #define EXT0_PID_I 11.42 #define EXT0_PID_D 490.33 #define EXT0_PID_MAX 255 #define EXT0_ADVANCE_K 0 #define EXT0_ADVANCE_L 0 #define EXT0_ADVANCE_BACKLASH_STEPS 0 #define EXT0_WAIT_RETRACT_TEMP 150 #define EXT0_WAIT_RETRACT_UNITS 2164 #define EXT0_SELECT_COMMANDS "" #define EXT0_DESELECT_COMMANDS "" #define EXT0_EXTRUDER_COOLER_PIN -1 #define EXT0_EXTRUDER_COOLER_SPEED 255 #define EXT0_DECOUPLE_TEST_PERIOD 12000 #define FEATURE_RETRACTION 1 #define AUTORETRACT_ENABLED 0 #define RETRACTION_LENGTH 3 #define RETRACTION_LONG_LENGTH 13 #define RETRACTION_SPEED 40 #define RETRACTION_Z_LIFT 0 #define RETRACTION_UNDO_EXTRA_LENGTH 0 #define RETRACTION_UNDO_EXTRA_LONG_LENGTH 0 #define RETRACTION_UNDO_SPEED 20 #define FILAMENTCHANGE_X_POS 80 #define FILAMENTCHANGE_Y_POS 95 #define FILAMENTCHANGE_Z_ADD 20 #define FILAMENTCHANGE_REHOME 1 #define FILAMENTCHANGE_SHORTRETRACT 5 #define FILAMENTCHANGE_LONGRETRACT 50 #define RETRACT_DURING_HEATUP true #define PID_CONTROL_RANGE 20 #define SKIP_M109_IF_WITHIN 2 #define SCALE_PID_TO_MAX 0 #define TEMP_HYSTERESIS 3 #define EXTRUDE_MAXLENGTH 160 #define NUM_TEMPS_USERTHERMISTOR0 0 #define USER_THERMISTORTABLE0 {} #define NUM_TEMPS_USERTHERMISTOR1 0 #define USER_THERMISTORTABLE1 {} #define NUM_TEMPS_USERTHERMISTOR2 0 #define USER_THERMISTORTABLE2 {} #define GENERIC_THERM_VREF 5 #define GENERIC_THERM_NUM_ENTRIES 33 #define HEATER_PWM_SPEED 0 // ############# Heated bed configuration ######################## #define HAVE_HEATED_BED 1 #define HEATED_BED_MAX_TEMP 120 #define SKIP_M190_IF_WITHIN 3 #define HEATED_BED_SENSOR_TYPE 1 #define HEATED_BED_SENSOR_PIN TEMP_1_PIN #define HEATED_BED_HEATER_PIN HEATER_1_PIN #define HEATED_BED_SET_INTERVAL 5000 #define HEATED_BED_HEAT_MANAGER 1 #define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255 #define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80 #define HEATED_BED_PID_PGAIN_OR_DEAD_TIME 372.7 #define HEATED_BED_PID_IGAIN 27.21 #define HEATED_BED_PID_DGAIN 1276.23 #define HEATED_BED_PID_MAX 255 #define HEATED_BED_DECOUPLE_TEST_PERIOD 30000 #define MIN_EXTRUDER_TEMP 170 #define MAXTEMP 275 #define MIN_DEFECT_TEMPERATURE 10 #define MAX_DEFECT_TEMPERATURE 290 // ################ Endstop configuration ##################### #define ENDSTOP_PULLUP_X_MIN true #define ENDSTOP_X_MIN_INVERTING false #define MIN_HARDWARE_ENDSTOP_X true #define ENDSTOP_PULLUP_Y_MIN true #define ENDSTOP_Y_MIN_INVERTING false #define MIN_HARDWARE_ENDSTOP_Y true #define ENDSTOP_PULLUP_Z_MIN true #define ENDSTOP_Z_MIN_INVERTING false #define MIN_HARDWARE_ENDSTOP_Z true #define ENDSTOP_PULLUP_X_MAX true #define ENDSTOP_X_MAX_INVERTING false #define MAX_HARDWARE_ENDSTOP_X false #define ENDSTOP_PULLUP_Y_MAX true #define ENDSTOP_Y_MAX_INVERTING false #define MAX_HARDWARE_ENDSTOP_Y true #define ENDSTOP_PULLUP_Z_MAX true #define ENDSTOP_Z_MAX_INVERTING false #define MAX_HARDWARE_ENDSTOP_Z false #define max_software_endstop_r true #define min_software_endstop_x false #define min_software_endstop_y false #define min_software_endstop_z false #define max_software_endstop_x true #define max_software_endstop_y false #define max_software_endstop_z true #define ENDSTOP_X_BACK_MOVE 5 #define ENDSTOP_Y_BACK_MOVE 5 #define ENDSTOP_Z_BACK_MOVE 2 #define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3 #define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3 #define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3 #define ENDSTOP_X_BACK_ON_HOME 1 #define ENDSTOP_Y_BACK_ON_HOME 1 #define ENDSTOP_Z_BACK_ON_HOME 0 #define ALWAYS_CHECK_ENDSTOPS 1 // ################# XYZ movements ################### #define X_ENABLE_ON 0 #define Y_ENABLE_ON 0 #define Z_ENABLE_ON 0 #define DISABLE_X 0 #define DISABLE_Y 0 #define DISABLE_Z 0 #define DISABLE_E 0 #define INVERT_X_DIR 1 #define INVERT_Y_DIR 1 #define INVERT_Z_DIR 0 #define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR -1 #define X_MAX_LENGTH 155 #define Y_MAX_LENGTH 192 #define Z_MAX_LENGTH 200 #define X_MIN_POS 0 #define Y_MIN_POS 0 #define Z_MIN_POS 0 #define DISTORTION_CORRECTION 0 #define DISTORTION_CORRECTION_POINTS 5 #define DISTORTION_CORRECTION_R 100 #define DISTORTION_PERMANENT 1 #define DISTORTION_UPDATE_FREQUENCY 15 #define DISTORTION_START_DEGRADE 0.5 #define DISTORTION_END_HEIGHT 1 #define DISTORTION_EXTRAPOLATE_CORNERS 0 // ########################################################################################## // ## Movement settings ## // ########################################################################################## #define FEATURE_BABYSTEPPING 1 #define BABYSTEP_MULTIPLICATOR 1 #define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves #define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves // Delta settings #define DELTA_HOME_ON_POWER 0 #define DELTASEGMENTS_PER_PRINTLINE 24 #define STEPPER_INACTIVE_TIME 360L #define MAX_INACTIVE_TIME 0L #define MAX_FEEDRATE_X 200 #define MAX_FEEDRATE_Y 200 #define MAX_FEEDRATE_Z 1 #define HOMING_FEEDRATE_X 40 #define HOMING_FEEDRATE_Y 40 #define HOMING_FEEDRATE_Z 1 #define HOMING_ORDER HOME_ORDER_ZXY #define ENABLE_BACKLASH_COMPENSATION 0 #define X_BACKLASH 0 #define Y_BACKLASH 0 #define Z_BACKLASH 0 #define RAMP_ACCELERATION 1 #define STEPPER_HIGH_DELAY 0 #define DIRECTION_DELAY 0 #define STEP_DOUBLER_FREQUENCY 12000 #define ALLOW_QUADSTEPPING 1 #define DOUBLE_STEP_DELAY 1 // time in microseconds #define MAX_HALFSTEP_INTERVAL 1999 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000 #define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 200 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000 #define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 200 #define MAX_JERK 10 #define MAX_ZJERK 0.3 #define PRINTLINE_CACHE_SIZE 16 #define MOVE_CACHE_LOW 10 #define LOW_TICKS_PER_MOVE 250000 #define FEATURE_TWO_XSTEPPER 0 #define X2_STEP_PIN ORIG_E1_STEP_PIN #define X2_DIR_PIN ORIG_E1_DIR_PIN #define X2_ENABLE_PIN E1_ENABLE_PIN #define FEATURE_TWO_YSTEPPER 0 #define Y2_STEP_PIN ORIG_E1_STEP_PIN #define Y2_DIR_PIN ORIG_E1_DIR_PIN #define Y2_ENABLE_PIN E1_ENABLE_PIN #define FEATURE_TWO_ZSTEPPER 0 #define Z2_STEP_PIN ORIG_E1_STEP_PIN #define Z2_DIR_PIN ORIG_E1_DIR_PIN #define Z2_ENABLE_PIN E1_ENABLE_PIN #define FEATURE_DITTO_PRINTING 0 #define USE_ADVANCE 0 #define ENABLE_QUADRATIC_ADVANCE 0 // ################# Misc. settings ################## #define BAUDRATE 115200 #define ENABLE_POWER_ON_STARTUP 1 #define POWER_INVERTING 0 #define KILL_METHOD 1 #define ACK_WITH_LINENUMBER 1 #define WAITING_IDENTIFIER "wait" #define ECHO_ON_EXECUTE 1 #define EEPROM_MODE 1 #define PS_ON_PIN -1 /* ======== Servos ======= Control the servos with M340 P S / ServoID = 0..3 pulseInUs = 500..2500 Servos are controlled by a pulse width normally between 500 and 2500 with 1500ms in center position. 0 turns servo off. WARNING: Servos can draw a considerable amount of current. Make sure your system can handle this or you may risk your hardware! */ #define FEATURE_SERVO 0 #define SERVO0_PIN 11 #define SERVO1_PIN -1 #define SERVO2_PIN -1 #define SERVO3_PIN -1 #define SERVO0_NEUTRAL_POS -1 #define SERVO1_NEUTRAL_POS -1 #define SERVO2_NEUTRAL_POS -1 #define SERVO3_NEUTRAL_POS -1 #define UI_SERVO_CONTROL 0 #define FAN_KICKSTART_TIME 200 #define FEATURE_WATCHDOG 1 // #################### Z-Probing ##################### #define FEATURE_Z_PROBE 0 #define Z_PROBE_BED_DISTANCE 10 #define Z_PROBE_PIN -1 #define Z_PROBE_PULLUP 0 #define Z_PROBE_ON_HIGH 0 #define Z_PROBE_X_OFFSET 0 #define Z_PROBE_Y_OFFSET 0 #define Z_PROBE_WAIT_BEFORE_TEST 0 #define Z_PROBE_SPEED 2 #define Z_PROBE_XY_SPEED 150 #define Z_PROBE_SWITCHING_DISTANCE 1 #define Z_PROBE_REPETITIONS 1 #define Z_PROBE_HEIGHT 40 #define Z_PROBE_START_SCRIPT "" #define Z_PROBE_FINISHED_SCRIPT "" #define FEATURE_AUTOLEVEL 1 #define Z_PROBE_X1 20 #define Z_PROBE_Y1 20 #define Z_PROBE_X2 160 #define Z_PROBE_Y2 20 #define Z_PROBE_X3 100 #define Z_PROBE_Y3 160 #define FEATURE_AXISCOMP 0 #define AXISCOMP_TANXY 0 #define AXISCOMP_TANYZ 0 #define AXISCOMP_TANXZ 0 #ifndef SDSUPPORT // Some boards have sd support on board. These define the values already in pins.h #define SDSUPPORT 1 #define SDCARDDETECT -1 #define SDCARDDETECTINVERTED 0 #endif #define SD_EXTENDED_DIR 1 /** Show extended directory including file length. Don't use this with Pronterface! */ #define SD_RUN_ON_STOP "" #define SD_STOP_HEATER_AND_MOTORS_ON_STOP 1 #define ARC_SUPPORT 1 #define FEATURE_MEMORY_POSITION 1 #define FEATURE_CHECKSUM_FORCED 0 #define FEATURE_FAN_CONTROL 1 #define FEATURE_CONTROLLER 1 #define UI_LANGUAGE 0 #define UI_PRINTER_NAME "Erions Prusa i3" #define UI_PRINTER_COMPANY "Home made" #define UI_PAGES_DURATION 4000 #define UI_ANIMATION 1 #define UI_SPEEDDEPENDENT_POSITIONING 0 #define UI_DISABLE_AUTO_PAGESWITCH 1 #define UI_AUTORETURN_TO_MENU_AFTER 300000 #define FEATURE_UI_KEYS 0 #define UI_ENCODER_SPEED 2 #define UI_KEY_BOUNCETIME 10 #define UI_KEY_FIRST_REPEAT 500 #define UI_KEY_REDUCE_REPEAT 50 #define UI_KEY_MIN_REPEAT 50 #define FEATURE_BEEPER 1 #define CASE_LIGHTS_PIN -1 #define CASE_LIGHT_DEFAULT_ON 1 #define UI_START_SCREEN_DELAY 1000 #define UI_DYNAMIC_ENCODER_SPEED 1 /** Beeper sound definitions for short beeps during key actions and longer beeps for important actions. Parameter is delay in microseconds and the secons is the number of repetitions. Values must be in range 1..255 */ #define BEEPER_SHORT_SEQUENCE 2,2 #define BEEPER_LONG_SEQUENCE 8,8 #define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60 #define UI_SET_PRESET_EXTRUDER_TEMP_PLA 200 #define UI_SET_PRESET_HEATED_BED_TEMP_ABS 100 #define UI_SET_PRESET_EXTRUDER_TEMP_ABS 240 #define UI_SET_MIN_HEATED_BED_TEMP 30 #define UI_SET_MAX_HEATED_BED_TEMP 120 #define UI_SET_MIN_EXTRUDER_TEMP 170 #define UI_SET_MAX_EXTRUDER_TEMP 260 #define UI_SET_EXTRUDER_FEEDRATE 2 #define UI_SET_EXTRUDER_RETRACT_DISTANCE 3 #endif ``` This is my Marlin v1 config: ``` #ifndef CONFIGURATION_H #define CONFIGURATION_H #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "Erion" // Who made the changes. #define SERIAL_PORT 0 #define BAUDRATE 250000 #ifndef MOTHERBOARD #define MOTHERBOARD 33 #endif #define CUSTOM_MENDEL_NAME "Prusa i3" #define MACHINE_UUID "00000000-0000-0000-0000-000000000001" #define EXTRUDERS 1 #define POWER_SUPPLY 1 #define TEMP_SENSOR_0 1 //61 originally, for ebay hotend #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_BED 60 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 #define TEMP_RESIDENCY_TIME 10 // (seconds) #define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one #define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. #define HEATER_0_MINTEMP 5 #define HEATER_1_MINTEMP 5 #define HEATER_2_MINTEMP 5 #define BED_MINTEMP 5 #define HEATER_0_MAXTEMP 275 #define HEATER_1_MAXTEMP 275 #define HEATER_2_MAXTEMP 275 #define BED_MAXTEMP 150 #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current #define PID_MAX 255 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current #ifdef PIDTEMP //#define PID_DEBUG // Sends debug data to the serial port. //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. #define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term #define K1 0.95 //smoothing factor within the PID #define PID_dT ((OVERSAMPLENR * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine #define DEFAULT_Kp 149.63 #define DEFAULT_Ki 11.42 #define DEFAULT_Kd 490.33 #endif // PIDTEMP #define PIDTEMPBED #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current #ifdef PIDTEMPBED #define DEFAULT_bedKp 372.70 #define DEFAULT_bedKi 27.21 #define DEFAULT_bedKd 1276.23 #endif // PIDTEMPBED #define PREVENT_DANGEROUS_EXTRUDE #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. #define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds #define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 4 // in degree Celsius #define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds #define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors #ifndef ENDSTOPPULLUPS // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined // #define ENDSTOPPULLUP_XMAX // #define ENDSTOPPULLUP_YMAX // #define ENDSTOPPULLUP_ZMAX // #define ENDSTOPPULLUP_XMIN // #define ENDSTOPPULLUP_YMIN // #define ENDSTOPPULLUP_ZMIN #endif #ifdef ENDSTOPPULLUPS #define ENDSTOPPULLUP_XMAX #define ENDSTOPPULLUP_YMAX #define ENDSTOPPULLUP_ZMAX #define ENDSTOPPULLUP_XMIN #define ENDSTOPPULLUP_YMIN #define ENDSTOPPULLUP_ZMIN #endif 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. #if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS) #define DISABLE_MAX_ENDSTOPS #endif #define X_ENABLE_ON 0 #define Y_ENABLE_ON 0 #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false #define DISABLE_E false // For all extruders #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled #define INVERT_X_DIR true // for Mendel set to false, for Orca set to true #define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false #define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true #define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR -1 #define min_software_endstops false // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. #define X_MAX_POS 155 #define X_MIN_POS 0 #define Y_MAX_POS 192 #define Y_MIN_POS 0 #define Z_MAX_POS 200 #define Z_MIN_POS 0 #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. #ifdef ENABLE_AUTO_BED_LEVELING #define AUTO_BED_LEVELING_GRID // with AUTO_BED_LEVELING_GRID, the bed is sampled in a // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid // and least squares solution is calculated // Note: this feature occupies 10'206 byte #ifdef AUTO_BED_LEVELING_GRID // set the rectangle in which to probe #define LEFT_PROBE_BED_POSITION 15 #define RIGHT_PROBE_BED_POSITION 170 #define BACK_PROBE_BED_POSITION 180 #define FRONT_PROBE_BED_POSITION 20 // set the number of grid points per dimension // I wouldn't see a reason to go above 3 (=9 probing points on the bed) #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // not AUTO_BED_LEVELING_GRID // with no grid, just probe 3 arbitrary points. A simple cross-product // is used to esimate the plane of the print bed #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 #define ABL_PROBE_PT_2_Y 20 #define ABL_PROBE_PT_3_X 170 #define ABL_PROBE_PT_3_Y 20 #endif // AUTO_BED_LEVELING_GRID // these are the offsets to the probe relative to the extruder tip (Hotend - Probe) #define X_PROBE_OFFSET_FROM_EXTRUDER -25 #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. // Be sure you have this distance over your Z_MAX_POS in case #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. // When defined, it will: // - Allow Z homing only after X and Y homing AND stepper drivers still enabled // - If stepper drivers timeout, it will need X and Y homing again before Z homing // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) // - Block Z homing only when the probe is outside bed area. #ifdef Z_SAFE_HOMING #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) #endif #endif // ENABLE_AUTO_BED_LEVELING #define MANUAL_X_HOME_POS 0 #define MANUAL_Y_HOME_POS 0 #define MANUAL_Z_HOME_POS 0 #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E #define HOMING_FEEDRATE {50*60, 50*60, 1*60, 0} // set the homing speeds (mm/min) #define DEFAULT_AXIS_STEPS_PER_UNIT {80*100/99,80,4000,721.19} #define DEFAULT_MAX_FEEDRATE {500, 500, 1, 45} // (mm/sec) #define DEFAULT_MAX_ACCELERATION {2000,2000,200,2000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot. #define DEFAULT_ACCELERATION 180 // X, Y, Z and E max acceleration in mm/s^2 for printing moves #define DEFAULT_RETRACT_ACCELERATION 60 // X, Y, Z and E max acceleration in mm/s^2 for retracts #define DEFAULT_XYJERK 10.0 // (mm/sec) #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) #define CUSTOM_M_CODES #ifdef CUSTOM_M_CODES #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 #define Z_PROBE_OFFSET_RANGE_MIN -15 #define Z_PROBE_OFFSET_RANGE_MAX -5 #endif #define EEPROM_SETTINGS #define EEPROM_CHITCHAT #define PLA_PREHEAT_HOTEND_TEMP 180 #define PLA_PREHEAT_HPB_TEMP 70 #define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 #define ABS_PREHEAT_HOTEND_TEMP 240 #define ABS_PREHEAT_HPB_TEMP 100 #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 #define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) #define ULTIPANEL //the UltiPanel as on Thingiverse #if defined (MAKRPANEL) #define DOGLCD #define SDSUPPORT #define ULTIPANEL #define NEWPANEL #define DEFAULT_LCD_CONTRAST 17 #endif #if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) #define DOGLCD #define U8GLIB_ST7920 #define REPRAP_DISCOUNT_SMART_CONTROLLER #endif #if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) #define ULTIPANEL #define NEWPANEL #endif #if defined(REPRAPWORLD_KEYPAD) #define NEWPANEL #define ULTIPANEL #endif #if defined(RA_CONTROL_PANEL) #define ULTIPANEL #define NEWPANEL #define LCD_I2C_TYPE_PCA8574 #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander #endif #ifdef LCD_I2C_SAINSMART_YWROBOT // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) // Make sure it is placed in the Arduino libraries directory. #define LCD_I2C_TYPE_PCF8575 #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander #define NEWPANEL #define ULTIPANEL #endif #ifdef LCD_I2C_PANELOLU2 // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file) // Note: The PANELOLU2 encoder click input can either be directly connected to a pin // (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD #define NEWPANEL #define ULTIPANEL #ifndef ENCODER_PULSES_PER_STEP #define ENCODER_PULSES_PER_STEP 4 #endif #ifndef ENCODER_STEPS_PER_MENU_ITEM #define ENCODER_STEPS_PER_MENU_ITEM 1 #endif #ifdef LCD_USE_I2C_BUZZER #define LCD_FEEDBACK_FREQUENCY_HZ 1000 #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 #endif #endif #ifdef LCD_I2C_VIKI // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. // Note: The pause/stop/resume LCD button pin should be connected to the Arduino // BTN_ENC pin (or set BTN_ENC to -1 if not used) #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) #define NEWPANEL #define ULTIPANEL #endif #ifdef SR_LCD #define SR_LCD_2W_NL // Non latching 2 wire shift register //#define NEWPANEL #endif #ifdef ULTIPANEL #define NEWPANEL //enable this if you have a click-encoder panel #define SDSUPPORT #define ULTRA_LCD #ifdef DOGLCD // Change number of lines to match the DOG graphic display #define LCD_WIDTH 20 #define LCD_HEIGHT 5 #else #define LCD_WIDTH 20 #define LCD_HEIGHT 4 #endif #else //no panel but just LCD #ifdef ULTRA_LCD #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display #define LCD_WIDTH 20 #define LCD_HEIGHT 5 #else #define LCD_WIDTH 16 #define LCD_HEIGHT 2 #endif #endif #endif #ifdef DOGLCD # ifndef DEFAULT_LCD_CONTRAST # define DEFAULT_LCD_CONTRAST 32 # endif #endif #define SOFT_PWM_SCALE 0 /*********************************************************************\ * R/C SERVO support * Sponsored by TrinityLabs, Reworked by codexmas **********************************************************************/ #include "Configuration_adv.h" #include "thermistortables.h" #endif //__CONFIGURATION_H ``` And this is my marlin v2 config ``` #ifndef CONFIGURATION_H #define CONFIGURATION_H #include "boards.h" #define STRING_VERSION "1.0.2" #define STRING_URL "reprap.org" #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__ // build date and time #define STRING_CONFIG_H_AUTHOR "(Erion, first config)" // Who made the changes. #define STRING_SPLASH_LINE1 "v" STRING_VERSION // will be shown during bootup in line 1 #define SERIAL_PORT 0 #define BAUDRATE 115200 #ifndef MOTHERBOARD #define MOTHERBOARD BOARD_RAMPS_13_EFB #endif #define CUSTOM_MENDEL_NAME "Prusa i3" #define MACHINE_UUID "00000000-0000-0000-0000-000000000001" #define EXTRUDERS 1 #define POWER_SUPPLY 1 #define TEMP_SENSOR_0 1 #define TEMP_SENSOR_1 0 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_3 0 #define TEMP_SENSOR_BED 60 #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10 #define TEMP_RESIDENCY_TIME 10 // (seconds) #define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one #define TEMP_WINDOW 1 // (degC) Window around target to start the residency timer x degC early. #define HEATER_0_MINTEMP 5 #define HEATER_1_MINTEMP 5 #define HEATER_2_MINTEMP 5 #define HEATER_3_MINTEMP 5 #define BED_MINTEMP 5 #define HEATER_0_MAXTEMP 275 #define HEATER_1_MAXTEMP 275 #define HEATER_2_MAXTEMP 275 #define HEATER_3_MAXTEMP 275 #define BED_MAXTEMP 120 #define PIDTEMP #define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current #define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current #ifdef PIDTEMP //#define PID_DEBUG // Sends debug data to the serial port. //#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX //#define SLOW_PWM_HEATERS // PWM with very low frequency (roughly 0.125Hz=8s) and minimum state time of approximately 1s useful for heaters driven by a relay //#define PID_PARAMS_PER_EXTRUDER // Uses separate PID parameters for each extruder (useful for mismatched extruders) // Set/get with gcode: M301 E[extruder number, 0-2] #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature // is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. #define PID_INTEGRAL_DRIVE_MAX PID_MAX //limit for the integral term #define K1 0.95 //smoothing factor within the PID #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine #define DEFAULT_Kp 149.63 #define DEFAULT_Ki 11.42 #define DEFAULT_Kd 490.33 #endif // PIDTEMP #define PIDTEMPBED #define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current #ifdef PIDTEMPBED #define DEFAULT_bedKp 372.70 #define DEFAULT_bedKi 27.21 #define DEFAULT_bedKd 1276.23 #endif // PIDTEMPBED #define PREVENT_DANGEROUS_EXTRUDE #define PREVENT_LENGTHY_EXTRUDE #define EXTRUDE_MINTEMP 170 #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances. #define THERMAL_RUNAWAY_PROTECTION_PERIOD 40 //in seconds #define THERMAL_RUNAWAY_PROTECTION_HYSTERESIS 5 // in degree Celsius #define THERMAL_RUNAWAY_PROTECTION_BED_PERIOD 20 //in seconds #define THERMAL_RUNAWAY_PROTECTION_BED_HYSTERESIS 2 // in degree Celsius #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors #ifndef ENDSTOPPULLUPS // fine endstop settings: Individual pullups. will be ignored if ENDSTOPPULLUPS is defined // #define ENDSTOPPULLUP_XMAX // #define ENDSTOPPULLUP_YMAX // #define ENDSTOPPULLUP_ZMAX // #define ENDSTOPPULLUP_XMIN // #define ENDSTOPPULLUP_YMIN // #define ENDSTOPPULLUP_ZMIN #endif #ifdef ENDSTOPPULLUPS #define ENDSTOPPULLUP_XMAX #define ENDSTOPPULLUP_YMAX #define ENDSTOPPULLUP_ZMAX #define ENDSTOPPULLUP_XMIN #define ENDSTOPPULLUP_YMIN #define ENDSTOPPULLUP_ZMIN #endif 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 = false; // 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. #define X_ENABLE_ON 0 #define Y_ENABLE_ON 0 #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false #define DISABLE_E false // For all extruders #define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled #define INVERT_X_DIR true // for Mendel set to false, for Orca set to true #define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false #define INVERT_Z_DIR false // for Mendel set to false, for Orca set to true #define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define INVERT_E3_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false #define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR -1 #define min_software_endstops false // If true, axis won't move to coordinates less than HOME_POS. #define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below. #define X_MAX_POS 155 #define X_MIN_POS 0 #define Y_MAX_POS 192 #define Y_MIN_POS 0 #define Z_MAX_POS 200 #define Z_MIN_POS 0 #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS) #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS) #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS) #define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. #ifdef ENABLE_AUTO_BED_LEVELING #define AUTO_BED_LEVELING_GRID // with AUTO_BED_LEVELING_GRID, the bed is sampled in a // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid // and least squares solution is calculated // Note: this feature occupies 10'206 byte #ifdef AUTO_BED_LEVELING_GRID // set the rectangle in which to probe #define LEFT_PROBE_BED_POSITION 15 #define RIGHT_PROBE_BED_POSITION 170 #define BACK_PROBE_BED_POSITION 180 #define FRONT_PROBE_BED_POSITION 20 // set the number of grid points per dimension // I wouldn't see a reason to go above 3 (=9 probing points on the bed) #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // not AUTO_BED_LEVELING_GRID // with no grid, just probe 3 arbitrary points. A simple cross-product // is used to esimate the plane of the print bed #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 #define ABL_PROBE_PT_2_Y 20 #define ABL_PROBE_PT_3_X 170 #define ABL_PROBE_PT_3_Y 20 #endif // AUTO_BED_LEVELING_GRID // these are the offsets to the probe relative to the extruder tip (Hotend - Probe) // X and Y offsets must be integers #define X_PROBE_OFFSET_FROM_EXTRUDER -25 #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. // Be sure you have this distance over your Z_MAX_POS in case #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like. //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile. #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. // When defined, it will: // - Allow Z homing only after X and Y homing AND stepper drivers still enabled // - If stepper drivers timeout, it will need X and Y homing again before Z homing // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) // - Block Z homing only when the probe is outside bed area. #ifdef Z_SAFE_HOMING #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28) #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28) #endif #ifdef AUTO_BED_LEVELING_GRID // Check if Probe_Offset * Grid Points is greater than Probing Range #if X_PROBE_OFFSET_FROM_EXTRUDER < 0 #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION)) #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" #endif #else #if ((X_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION)) #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" #endif #endif #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0 #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION)) #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" #endif #else #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * (AUTO_BED_LEVELING_GRID_POINTS-1)) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION)) #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS" #endif #endif #endif #endif // ENABLE_AUTO_BED_LEVELING #define MANUAL_X_HOME_POS 0 #define MANUAL_Y_HOME_POS 0 #define MANUAL_Z_HOME_POS 0 #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E #define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min) #define DEFAULT_AXIS_STEPS_PER_UNIT {80*100/99,80,4000,721.19} // default steps per unit for Ultimaker #define DEFAULT_MAX_FEEDRATE {200, 200, 1, 50} // (mm/sec) #define DEFAULT_MAX_ACCELERATION {1000,1000,200,3000} // X, Y, Z, E maximum start speed for accelerated moves. E default values are good for Skeinforge 40+, for older versions raise them a lot. #define DEFAULT_ACCELERATION 200 // X, Y, Z and E max acceleration in mm/s^2 for printing moves #define DEFAULT_RETRACT_ACCELERATION 60 // X, Y, Z and E max acceleration in mm/s^2 for retracts #define DEFAULT_XYJERK 10.0 // (mm/sec) #define DEFAULT_ZJERK 0.4 // (mm/sec) #define DEFAULT_EJERK 5.0 // (mm/sec) #define CUSTOM_M_CODES #ifdef CUSTOM_M_CODES #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851 #define Z_PROBE_OFFSET_RANGE_MIN -15 #define Z_PROBE_OFFSET_RANGE_MAX -5 #endif #define EEPROM_SETTINGS #define EEPROM_CHITCHAT #define PLA_PREHEAT_HOTEND_TEMP 210 #define PLA_PREHEAT_HPB_TEMP 70 #define PLA_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 #define ABS_PREHEAT_HOTEND_TEMP 240 #define ABS_PREHEAT_HPB_TEMP 100 #define ABS_PREHEAT_FAN_SPEED 255 // Insert Value between 0 and 255 #define DISPLAY_CHARSET_HD44780_JAPAN // "ääööüüß23°" #define SDSUPPORT // Enable SD Card Support in Hardware Console #define SDSLOW // Use slower SD transfer mode (not normally needed - uncomment if you're getting volume init error) #define ENCODER_PULSES_PER_STEP 4 // Increase if you have a high resolution encoder #define ULTIPANEL //the UltiPanel as on Thingiverse #if defined (MAKRPANEL) #define DOGLCD #define SDSUPPORT #define ULTIPANEL #define NEWPANEL #define DEFAULT_LCD_CONTRAST 17 #endif #if defined(miniVIKI) || defined(VIKI2) #define ULTRA_LCD //general LCD support, also 16x2 #define DOGLCD // Support for SPI LCD 128x64 (Controller ST7565R graphic Display Family) #define ULTIMAKERCONTROLLER //as available from the Ultimaker online store. #ifdef miniVIKI #define DEFAULT_LCD_CONTRAST 95 #else #define DEFAULT_LCD_CONTRAST 40 #endif #define ENCODER_PULSES_PER_STEP 4 #define ENCODER_STEPS_PER_MENU_ITEM 1 #endif #if defined (PANEL_ONE) #define SDSUPPORT #define ULTIMAKERCONTROLLER #endif #if defined (REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) #define DOGLCD #define U8GLIB_ST7920 #define REPRAP_DISCOUNT_SMART_CONTROLLER #endif #if defined(ULTIMAKERCONTROLLER) || defined(REPRAP_DISCOUNT_SMART_CONTROLLER) || defined(G3D_PANEL) #define ULTIPANEL #define NEWPANEL #endif #if defined(REPRAPWORLD_KEYPAD) #define NEWPANEL #define ULTIPANEL #endif #if defined(RA_CONTROL_PANEL) #define ULTIPANEL #define NEWPANEL #define LCD_I2C_TYPE_PCA8574 #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander #endif #ifdef LCD_I2C_SAINSMART_YWROBOT // This uses the LiquidCrystal_I2C library ( https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home ) // Make sure it is placed in the Arduino libraries directory. #define LCD_I2C_TYPE_PCF8575 #define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander #define NEWPANEL #define ULTIPANEL #endif #ifdef LCD_I2C_PANELOLU2 // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. // (v1.2.3 no longer requires you to define PANELOLU in the LiquidTWI2.h library header file) // Note: The PANELOLU2 encoder click input can either be directly connected to a pin // (if BTN_ENC defined to != -1) or read through I2C (when BTN_ENC == -1). #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD #define NEWPANEL #define ULTIPANEL #ifndef ENCODER_PULSES_PER_STEP #define ENCODER_PULSES_PER_STEP 4 #endif #ifndef ENCODER_STEPS_PER_MENU_ITEM #define ENCODER_STEPS_PER_MENU_ITEM 1 #endif #ifdef LCD_USE_I2C_BUZZER #define LCD_FEEDBACK_FREQUENCY_HZ 1000 #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100 #endif #endif #ifdef LCD_I2C_VIKI // This uses the LiquidTWI2 library v1.2.3 or later ( https://github.com/lincomatic/LiquidTWI2 ) // Make sure the LiquidTWI2 directory is placed in the Arduino or Sketchbook libraries subdirectory. // Note: The pause/stop/resume LCD button pin should be connected to the Arduino // BTN_ENC pin (or set BTN_ENC to -1 if not used) #define LCD_I2C_TYPE_MCP23017 #define LCD_I2C_ADDRESS 0x20 // I2C Address of the port expander #define LCD_USE_I2C_BUZZER //comment out to disable buzzer on LCD (requires LiquidTWI2 v1.2.3 or later) #define NEWPANEL #define ULTIPANEL #endif #ifdef SAV_3DLCD #define SR_LCD_2W_NL // Non latching 2 wire shiftregister #define NEWPANEL #define ULTIPANEL #endif #ifdef ULTIPANEL #define NEWPANEL //enable this if you have a click-encoder panel #define SDSUPPORT #define ULTRA_LCD #ifdef DOGLCD // Change number of lines to match the DOG graphic display #define LCD_WIDTH 22 #define LCD_HEIGHT 5 #else #define LCD_WIDTH 20 #define LCD_HEIGHT 4 #endif #else //no panel but just LCD #ifdef ULTRA_LCD #ifdef DOGLCD // Change number of lines to match the 128x64 graphics display #define LCD_WIDTH 22 #define LCD_HEIGHT 5 #else #define LCD_WIDTH 16 #define LCD_HEIGHT 2 #endif #endif #endif #ifdef DOGLCD # ifndef DEFAULT_LCD_CONTRAST # define DEFAULT_LCD_CONTRAST 32 # endif #endif #define SOFT_PWM_SCALE 0 #define FILAMENT_SENSOR_EXTRUDER_NUM 0 //The number of the extruder that has the filament sensor (0,1,2) #define MEASUREMENT_DELAY_CM 14 //measurement delay in cm. This is the distance from filament sensor to middle of barrel #define DEFAULT_NOMINAL_FILAMENT_DIA 3.0 //Enter the diameter (in mm) of the filament generally used (3.0 mm or 1.75 mm) - this is then used in the slicer software. Used for sensor reading validation #define MEASURED_UPPER_LIMIT 3.30 //upper limit factor used for sensor reading validation in mm #define MEASURED_LOWER_LIMIT 1.90 //lower limit factor for sensor reading validation in mm #define MAX_MEASUREMENT_DELAY 20 //delay buffer size in bytes (1 byte = 1cm)- limits maximum measurement delay allowable (must be larger than MEASUREMENT_DELAY_CM and lower number saves RAM) #define DEFAULT_MEASURED_FILAMENT_DIA DEFAULT_NOMINAL_FILAMENT_DIA //set measured to nominal initially #include "Configuration_adv.h" #include "thermistortables.h" #endif //__CONFIGURATION_H ```
thinkyhead commented 9 years ago

What does Marlin report for M501?

eta-orionis commented 9 years ago

SENDING:M501 echo:Hardcoded Default Settings Loaded echo:Steps per unit: echo: M92 X80.00 Y80.00 Z4000.00 E721.19 echo:Maximum feedrates (mm/s): echo: M203 X500.00 Y500.00 Z1.00 E45.00 echo:Maximum Acceleration (mm/s2): echo: M201 X2000 Y2000 Z200 E2000 echo:Acceleration: S=acceleration, T=retract acceleration echo: M204 S180.00 T60.00 echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s) echo: M205 S0.00 T0.00 B20000 X10.00 Z0.40 E5.00 echo:Home offset (mm): echo: M206 X0.00 Y0.00 Z0.00 echo:PID settings: echo: M301 P149.63 I11.42 D490.33

eta-orionis commented 9 years ago

Well, it's working now. I don't know which of the two steps below did it, but this is what solved it: 1) updated Arduino IDE to latest and compiled/uploaded again 2) in Printrun (Mac Pronterface), which I'm using for testing, increased the speed from 60mm/min to 100mm/min. I had set it that low so I would have time in case I had put the directions inverted, but apparently the motors didn't like that speed. Fun thing is, when I set it back to 60, they work now.

Thanks!

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.