When comparing all 3 FW´s (plastic, pro and repetier from Jason/for plastic) i noticed that only basic difference is radius setting.
Witch is in marlin extra devided, in repetier its all in one number.
to confirm i played with the setting until i got reasonable flatness across bed, then i calculated value (formula is given in marlin FW in radius setting) and compared it with my leveling result. I was <1% off
So i knew i was on right track.
Next was to again check bed level on outer edges and middle with cube (mine is 20x20, but any flat smooth object will do (lego)) get it to +/-0.2 so you can start carefuly printing
With repetier FW you can easly changes most settings right in host, so next bit is faster compared to marlin.
start printing spiral and correcting DELTA_DIAGONAL_CORRECTION (for rod lengths) and DELTA_RADIUS_CORRECTION (for radius right angled to specific tower)
few photos and notes will follow...
Now this is config.h page from MY CURRENT setup (far from perfect but printable)
I only changed things here (i think
)
I commented all things i changed (some were there before)
So starting point for additional calibration for PRO:
/*
This file is part of Repetier-Firmware.
Repetier-Firmware is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Repetier-Firmware is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Repetier-Firmware. If not, see <http://www.gnu.org/licenses/>.
*/
#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.91
generator:
www.repetier.com/firmware/v091/ 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 // number of extruders
#define MOTHERBOARD 37
#include "pins.h"
// ################## EDIT THESE SETTINGS MANUALLY ################
// ################ END MANUAL SETTINGS ##########################
#undef FAN_PIN
#undef FAN_BOARD_PIN
#define FAN_PIN ORIG_FAN_PIN
#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 DRIVE_SYSTEM 3
#define XAXIS_STEPS_PER_MM 80
#define YAXIS_STEPS_PER_MM 80
#define ZAXIS_STEPS_PER_MM 80
#define EXTRUDER_FAN_COOL_TEMP 50
#define EXT0_X_OFFSET 0 // hotend 1 X offset in STEPS not MM
#define EXT0_Y_OFFSET 0 // hotend 1 Y offset in STEPS not MM
#define EXT0_STEPS_PER_MM 93
#define EXT0_TEMPSENSOR_TYPE 1 // jason inclided geeetech sensor table under 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 0 // invert extruder 1 movemant
#define EXT0_ENABLE_PIN E0_ENABLE_PIN
#define EXT0_ENABLE_ON 0
#define EXT0_MAX_FEEDRATE 45
#define EXT0_MAX_START_FEEDRATE 20
#define EXT0_MAX_ACCELERATION 5000
#define EXT0_HEAT_MANAGER 0
#define EXT0_WATCHPERIOD 1
#define EXT0_PID_INTEGRAL_DRIVE_MAX 230
#define EXT0_PID_INTEGRAL_DRIVE_MIN 40
#define EXT0_PID_P 17.5 // imput here values from "M303 P0 S200" command
#define EXT0_PID_I 1.6 // imput here values from "M303 P0 S200" command
#define EXT0_PID_D 47.3 // imput here values from "M303 P0 S200" command
#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 0
#define EXT0_SELECT_COMMANDS ""
#define EXT0_DESELECT_COMMANDS ""
#define EXT0_EXTRUDER_COOLER_PIN -1
#define EXT0_EXTRUDER_COOLER_SPEED 255
#define EXT1_X_OFFSET 0 // hotend 2 X offset in STEPS not MM
#define EXT1_Y_OFFSET 0 // hotend 2 X offset in STEPS not MM
#define EXT1_STEPS_PER_MM 93
#define EXT1_TEMPSENSOR_TYPE 1 // hotend 2 thermistor
#define EXT1_TEMPSENSOR_PIN TEMP_2_PIN
#define EXT1_HEATER_PIN HEATER_2_PIN
#define EXT1_STEP_PIN ORIG_E1_STEP_PIN
#define EXT1_DIR_PIN ORIG_E1_DIR_PIN
#define EXT1_INVERSE 0 // invert extruder 2 movemant
#define EXT1_ENABLE_PIN E1_ENABLE_PIN
#define EXT1_ENABLE_ON 0
#define EXT1_MAX_FEEDRATE 45
#define EXT1_MAX_START_FEEDRATE 20
#define EXT1_MAX_ACCELERATION 5000
#define EXT1_HEAT_MANAGER 1
#define EXT1_WATCHPERIOD 1
#define EXT1_PID_INTEGRAL_DRIVE_MAX 230
#define EXT1_PID_INTEGRAL_DRIVE_MIN 40
#define EXT1_PID_P 7 // imput here values from "M303 P1 S200" command
#define EXT1_PID_I 2 // imput here values from "M303 P1 S200" command
#define EXT1_PID_D 40 // imput here values from "M303 P1 S200" command
#define EXT1_PID_MAX 255
#define EXT1_ADVANCE_K 0
#define EXT1_ADVANCE_L 0
#define EXT1_ADVANCE_BACKLASH_STEPS 0
#define EXT1_WAIT_RETRACT_TEMP 150
#define EXT1_WAIT_RETRACT_UNITS 0
#define EXT1_SELECT_COMMANDS ""
#define EXT1_DESELECT_COMMANDS ""
#define EXT1_EXTRUDER_COOLER_PIN -1
#define EXT1_EXTRUDER_COOLER_SPEED 255
#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 5
#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 USE_GENERIC_THERMISTORTABLE_1
#define GENERIC_THERM1_T0 25
#define GENERIC_THERM1_R0 100000
#define GENERIC_THERM1_BETA 3950
#define GENERIC_THERM1_MIN_TEMP -40
#define GENERIC_THERM1_MAX_TEMP 300
#define GENERIC_THERM1_R1 0
#define GENERIC_THERM1_R2 4700
#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 130
#define SKIP_M190_IF_WITHIN 3
#define HEATED_BED_SENSOR_TYPE 97
#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 110 // imput here values from "M303 P1 (P2 if dual hotend is used) S70" command
#define HEATED_BED_PID_IGAIN 32 // imput here values from "M303 P1 (P2 if dual hotend is used) S70" command
#define HEATED_BED_PID_DGAIN 95 // imput here values from "M303 P1 (P2 if dual hotend is used) S70" command
#define HEATED_BED_PID_MAX 255
#define MIN_EXTRUDER_TEMP 150 // temp needed on hotend for extruder to work
#define MAXTEMP 240 // max temp for hotend
#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 false
#define ENDSTOP_PULLUP_Y_MIN true
#define ENDSTOP_Y_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Y false
#define ENDSTOP_PULLUP_Z_MIN true
#define ENDSTOP_Z_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Z false
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_X_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_X true
#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 true
#define max_software_endstop_r true
#define min_software_endstop_x true
#define min_software_endstop_y true
#define min_software_endstop_z true
#define max_software_endstop_x false
#define max_software_endstop_y false
#define max_software_endstop_z false
#define ENDSTOP_X_BACK_MOVE 2
#define ENDSTOP_Y_BACK_MOVE 2
#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 0
#define ENDSTOP_Y_BACK_ON_HOME 0
#define ENDSTOP_Z_BACK_ON_HOME 10
#define ALWAYS_CHECK_ENDSTOPS 0
// ################# 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 // invert axis
#define INVERT_Y_DIR 1 // invert axis
#define INVERT_Z_DIR 1 // invert axis
#define X_HOME_DIR -1 // home at axis min
#define Y_HOME_DIR -1 // home at axis min
#define Z_HOME_DIR 1 // home at axis max
#define X_MAX_LENGTH 200
#define Y_MAX_LENGTH 200
#define Z_MAX_LENGTH 178.6 // Z hight
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
// ##########################################################################################
// ## Movement settings ##
// ##########################################################################################
#define FEATURE_BABYSTEPPING 0
#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_DIAGONAL_ROD 196 // mm
#define DELTA_ALPHA_A 210
#define DELTA_ALPHA_B 330
#define DELTA_ALPHA_C 90
#define DELTA_RADIUS_CORRECTION_A 0 // Tower X
#define DELTA_RADIUS_CORRECTION_B -0.200 // Tower Y
#define DELTA_RADIUS_CORRECTION_C 0 // Tower Z
#define DELTA_DIAGONAL_CORRECTION_A 0 // Tower X
#define DELTA_DIAGONAL_CORRECTION_B -1.100 // Tower Y
#define DELTA_DIAGONAL_CORRECTION_C 0.900 // Tower Z
#define DELTA_MAX_RADIUS 90
#define DELTA_RADIUS 91.2 // for plastic: 103, Horizontal distance bridged by diagonal push rods when effector is centered. #define DELTA_RADIUS (DELTA_SMOOTH_ROD_OFFSET-DELTA_EFFECTOR_OFFSET-DELTA_CARRIAGE_OFFSET+1)
#define DELTA_HOME_ON_POWER 0
#define STEP_COUNTER
#define DELTA_X_ENDSTOP_OFFSET_STEPS 0
#define DELTA_Y_ENDSTOP_OFFSET_STEPS 0
#define DELTA_Z_ENDSTOP_OFFSET_STEPS 0
//#define SOFTWARE_LEVELING
#define MAX_DELTA_SEGMENTS_PER_LINE 24
#define STEPPER_INACTIVE_TIME 0L // def. 360L motors to idle after
#define MAX_INACTIVE_TIME 0L
#define MAX_FEEDRATE_X 400
#define MAX_FEEDRATE_Y 400
#define MAX_FEEDRATE_Z 400
#define HOMING_FEEDRATE_X 40
#define HOMING_FEEDRATE_Y 40
#define HOMING_FEEDRATE_Z 40
#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 STEP_DOUBLER_FREQUENCY 12000
#define ALLOW_QUADSTEPPING 1
#define DOUBLE_STEP_DELAY 0 // 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 1000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 100
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 100
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
#define MAX_JERK 20
#define MAX_ZJERK 0.3
#define MOVE_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
// ################# Misc. settings ##################
#define BAUDRATE 250000
#define ENABLE_POWER_ON_STARTUP
#define POWER_INVERTING 0
#define KILL_METHOD 1
#define GCODE_BUFFER_SIZE 2
#define ACK_WITH_LINENUMBER
#define WAITING_IDENTIFIER "wait"
#define ECHO_ON_EXECUTE
#define EEPROM_MODE 1
/* ======== Servos =======
Control the servos with
M340 P<servoId> S<pulseInUS> / 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 FEATURE_WATCHDOG 1
// #################### Z-Probing #####################
#define FEATURE_Z_PROBE 0 // def. 1 probe for auto level
#define Z_PROBE_BED_DISTANCE 40
#define Z_PROBE_PIN ORIG_Z_MIN_PIN
#define Z_PROBE_PULLUP 1
#define Z_PROBE_ON_HIGH 1
#define Z_PROBE_X_OFFSET 24.6
#define Z_PROBE_Y_OFFSET -16.9
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 40
#define Z_PROBE_XY_SPEED 40
#define Z_PROBE_SWITCHING_DISTANCE 2
#define Z_PROBE_REPETITIONS 1
#define Z_PROBE_HEIGHT -0.6
#define Z_PROBE_START_SCRIPT ""
#define Z_PROBE_FINISHED_SCRIPT ""
#define FEATURE_AUTOLEVEL 1
#define Z_PROBE_X1 0
#define Z_PROBE_Y1 30
#define Z_PROBE_X2 -21.2
#define Z_PROBE_Y2 -21.2
#define Z_PROBE_X3 21.2
#define Z_PROBE_Y3 -21.2
#define SD_EXTENDED_DIR 1 /** Show extended directory including file length. Don't use this with Pronterface! */
#define ARC_SUPPORT 1
#define FEATURE_MEMORY_POSITION 1
#define FEATURE_CHECKSUM_FORCED 0
#define FEATURE_FAN_CONTROL 1
#define FEATURE_CONTROLLER 2
#define UI_LANGUAGE 0
#define UI_PRINTER_NAME "G2" // name displayed on screen
#define UI_PRINTER_COMPANY "Geeetech" // name displayed on screen
#define UI_PAGES_DURATION 4000
#define UI_ANIMATION 0
#define UI_SPEEDDEPENDENT_POSITIONING 0
#define UI_DISABLE_AUTO_PAGESWITCH 1
#define UI_AUTORETURN_TO_MENU_AFTER 30000
#define FEATURE_UI_KEYS 0
#define UI_ENCODER_SPEED 1
#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 // 0 to disable speaker/buzzer
#define CASE_LIGHTS_PIN -1
#define CASE_LIGHT_DEFAULT_ON 1
#define UI_START_SCREEN_DELAY 1000
/**
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 // temp settings from printer menu
#define UI_SET_PRESET_EXTRUDER_TEMP_PLA 190 // temp settings from printer menu
#define UI_SET_PRESET_HEATED_BED_TEMP_ABS 110 // temp settings from printer menu
#define UI_SET_PRESET_EXTRUDER_TEMP_ABS 230 // temp settings from printer menu
#define UI_SET_MIN_HEATED_BED_TEMP 30 // setting limitation for printer menu
#define UI_SET_MAX_HEATED_BED_TEMP 120 // setting limitation for printer menu
#define UI_SET_MIN_EXTRUDER_TEMP 170 // setting limitation for printer menu
#define UI_SET_MAX_EXTRUDER_TEMP 240 // setting limitation for printer menu
#define UI_SET_EXTRUDER_FEEDRATE 2
#define UI_SET_EXTRUDER_RETRACT_DISTANCE 3
#endif
Again you can use this as starting point but not as ready to print.