Skip to content

Commit c64f5b4

Browse files
committed
adaptations for wanhao duplicator i3
1 parent 25e1c20 commit c64f5b4

File tree

3 files changed

+38
-32
lines changed

3 files changed

+38
-32
lines changed

Marlin/Configuration.h

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -111,20 +111,21 @@
111111
*
112112
* :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
113113
*/
114-
#define BAUDRATE 250000
114+
#define BAUDRATE 115200
115115

116116
// Enable the Bluetooth serial interface on AT90USB devices
117117
//#define BLUETOOTH
118118

119119
// The following define selects which electronics board you have.
120120
// Please choose the name from boards.h that matches your setup
121121
#ifndef MOTHERBOARD
122-
#define MOTHERBOARD BOARD_RAMPS_14_EFB
122+
#define MOTHERBOARD BOARD_MELZI_MAKR3D
123123
#endif
124+
#define IS_WANHAO_DI3
124125

125126
// Optional custom name for your RepStrap or other custom machine
126127
// Displayed in the LCD "Ready" message
127-
//#define CUSTOM_MACHINE_NAME "3D Printer"
128+
#define CUSTOM_MACHINE_NAME "Wanhao Di3"
128129

129130
// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
130131
// You can use an online service to generate a random UUID. (eg http://www.uuidgenerator.net/version4)
@@ -137,7 +138,7 @@
137138
#define EXTRUDERS 1
138139

139140
// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
140-
#define DEFAULT_NOMINAL_FILAMENT_DIA 3.0
141+
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
141142

142143
// For Cyclops or any "multi-extruder" that shares a single nozzle.
143144
//#define SINGLENOZZLE
@@ -291,7 +292,7 @@
291292
#define TEMP_SENSOR_2 0
292293
#define TEMP_SENSOR_3 0
293294
#define TEMP_SENSOR_4 0
294-
#define TEMP_SENSOR_BED 0
295+
#define TEMP_SENSOR_BED 1
295296

296297
// Dummy thermistor constant temperature readings, for use with 998 and 999
297298
#define DUMMY_THERMISTOR_998_VALUE 25
@@ -343,7 +344,7 @@
343344
#define PID_MAX BANG_MAX // Limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
344345
#define PID_K1 0.95 // Smoothing factor within the PID
345346
#if ENABLED(PIDTEMP)
346-
//#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
347+
#define PID_AUTOTUNE_MENU // Add PID Autotune to the LCD "Temperature" menu to run M303 and apply the result.
347348
//#define PID_DEBUG // Sends debug data to the serial port.
348349
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
349350
//#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
@@ -492,9 +493,9 @@
492493
#endif
493494

494495
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
495-
#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
496-
#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
497-
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
496+
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
497+
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
498+
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
498499
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
499500
#define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
500501
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
@@ -529,7 +530,7 @@
529530
* Override with M92
530531
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
531532
*/
532-
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 }
533+
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 100 }
533534

534535
/**
535536
* Default Max Feed Rate (mm/s)
@@ -544,7 +545,7 @@
544545
* Override with M201
545546
* X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
546547
*/
547-
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
548+
#define DEFAULT_MAX_ACCELERATION { 700, 700, 100, 10000 }
548549

549550
/**
550551
* Default Acceleration (change/s) change = mm/s
@@ -554,9 +555,9 @@
554555
* M204 R Retract Acceleration
555556
* M204 T Travel Acceleration
556557
*/
557-
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
558+
#define DEFAULT_ACCELERATION 700 // X, Y, Z and E acceleration for printing moves
558559
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
559-
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
560+
#define DEFAULT_TRAVEL_ACCELERATION 700 // X, Y, Z acceleration for travel (non printing) moves
560561

561562
/**
562563
* Default Jerk (mm/s)
@@ -566,8 +567,8 @@
566567
* When changing speed and direction, if the difference is less than the
567568
* value set here, it may happen instantaneously.
568569
*/
569-
#define DEFAULT_XJERK 10.0
570-
#define DEFAULT_YJERK 10.0
570+
#define DEFAULT_XJERK 8.0
571+
#define DEFAULT_YJERK 8.0
571572
#define DEFAULT_ZJERK 0.3
572573
#define DEFAULT_EJERK 5.0
573574

@@ -620,7 +621,7 @@
620621
* Use G29 repeatedly, adjusting the Z height at each point with movement commands
621622
* or (with LCD_BED_LEVELING) the LCD controller.
622623
*/
623-
//#define PROBE_MANUALLY
624+
#define PROBE_MANUALLY
624625

625626
/**
626627
* A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
@@ -688,7 +689,7 @@
688689
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle]
689690

690691
// X and Y axis travel speed (mm/m) between probes
691-
#define XY_PROBE_SPEED 8000
692+
#define XY_PROBE_SPEED 3000
692693

693694
// Speed for the first approach when double-probing (MULTIPLE_PROBING == 2)
694695
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
@@ -749,16 +750,16 @@
749750

750751
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
751752
#define INVERT_X_DIR false
752-
#define INVERT_Y_DIR true
753-
#define INVERT_Z_DIR false
753+
#define INVERT_Y_DIR false
754+
#define INVERT_Z_DIR true
754755

755756
// Enable this option for Toshiba stepper drivers
756757
//#define CONFIG_STEPPERS_TOSHIBA
757758

758759
// @section extruder
759760

760761
// For direct drive extruder v9 set to true, for geared extruder set to false.
761-
#define INVERT_E0_DIR false
762+
#define INVERT_E0_DIR true
762763
#define INVERT_E1_DIR false
763764
#define INVERT_E2_DIR false
764765
#define INVERT_E3_DIR false
@@ -789,7 +790,7 @@
789790
#define Z_MIN_POS 0
790791
#define X_MAX_POS X_BED_SIZE
791792
#define Y_MAX_POS Y_BED_SIZE
792-
#define Z_MAX_POS 200
793+
#define Z_MAX_POS 180
793794

794795
/**
795796
* Software Endstops
@@ -873,7 +874,7 @@
873874
//#define AUTO_BED_LEVELING_LINEAR
874875
//#define AUTO_BED_LEVELING_BILINEAR
875876
//#define AUTO_BED_LEVELING_UBL
876-
//#define MESH_BED_LEVELING
877+
#define MESH_BED_LEVELING
877878

878879
/**
879880
* Enable detailed logging of G28, G29, M48, etc.
@@ -897,7 +898,7 @@
897898
/**
898899
* Enable the G26 Mesh Validation Pattern tool.
899900
*/
900-
#define G26_MESH_VALIDATION // Enable G26 mesh validation
901+
//#define G26_MESH_VALIDATION // Enable G26 mesh validation
901902
#if ENABLED(G26_MESH_VALIDATION)
902903
#define MESH_TEST_NOZZLE_SIZE 0.4 // (mm) Diameter of primary nozzle.
903904
#define MESH_TEST_LAYER_HEIGHT 0.2 // (mm) Default layer height for the G26 Mesh Validation Tool.
@@ -994,7 +995,7 @@
994995
* Use the LCD controller for bed leveling
995996
* Requires MESH_BED_LEVELING or PROBE_MANUALLY
996997
*/
997-
//#define LCD_BED_LEVELING
998+
#define LCD_BED_LEVELING
998999

9991000
#if ENABLED(LCD_BED_LEVELING)
10001001
#define MBL_Z_STEP 0.025 // Step size while manually probing Z axis.
@@ -1113,7 +1114,7 @@
11131114
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
11141115
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
11151116
//
1116-
//#define EEPROM_SETTINGS // Enable for M500 and M501 commands
1117+
#define EEPROM_SETTINGS // Enable for M500 and M501 commands
11171118
//#define DISABLE_M503 // Saves ~2700 bytes of PROGMEM. Disable for release!
11181119
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
11191120

@@ -1329,7 +1330,7 @@
13291330
* you must uncomment the following option or it won't work.
13301331
*
13311332
*/
1332-
//#define SDSUPPORT
1333+
#define SDSUPPORT
13331334

13341335
/**
13351336
* SD CARD: SPI SPEED
@@ -1532,7 +1533,7 @@
15321533
//
15331534
// LCD for Melzi Card with Graphical LCD
15341535
//
1535-
//#define LCD_FOR_MELZI
1536+
#define LCD_FOR_MELZI
15361537

15371538
//
15381539
// CONTROLLER TYPE: I2C

Marlin/Configuration_adv.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
* THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
6565
*/
6666
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
67-
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
67+
#define THERMAL_PROTECTION_PERIOD 80 // Seconds
6868
#define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
6969

7070
/**
@@ -79,15 +79,15 @@
7979
* and/or decrease WATCH_TEMP_INCREASE. WATCH_TEMP_INCREASE should not be set
8080
* below 2.
8181
*/
82-
#define WATCH_TEMP_PERIOD 20 // Seconds
82+
#define WATCH_TEMP_PERIOD 120 // Seconds
8383
#define WATCH_TEMP_INCREASE 2 // Degrees Celsius
8484
#endif
8585

8686
/**
8787
* Thermal Protection parameters for the bed are just as above for hotends.
8888
*/
8989
#if ENABLED(THERMAL_PROTECTION_BED)
90-
#define THERMAL_PROTECTION_BED_PERIOD 20 // Seconds
90+
#define THERMAL_PROTECTION_BED_PERIOD 120 // Seconds
9191
#define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius
9292

9393
/**
@@ -655,13 +655,13 @@
655655
*
656656
* Warning: Does not respect endstops!
657657
*/
658-
//#define BABYSTEPPING
658+
#define BABYSTEPPING
659659
#if ENABLED(BABYSTEPPING)
660660
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
661661
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
662662
#define BABYSTEP_MULTIPLICATOR 1 // Babysteps are very small. Increase for faster motion.
663663
//#define BABYSTEP_ZPROBE_OFFSET // Enable to combine M851 and Babystepping
664-
//#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
664+
#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
665665
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
666666
// Note: Extra time may be added to mitigate controller latency.
667667
//#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor

Marlin/pins_MELZI_MAKR3D.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,8 @@
2727
#define BOARD_NAME "Melzi (ATmega1284)"
2828
#define IS_MELZI
2929
#include "pins_SANGUINOLOLU_12.h"
30+
31+
#ifdef IS_WANHAO_DI3
32+
#define BTN_EN1 30
33+
#define BTN_EN2 29
34+
#endif

0 commit comments

Comments
 (0)