|
129 | 129 |
|
130 | 130 | // Name displayed in the LCD "Ready" message and Info menu |
131 | 131 | //#define CUSTOM_MACHINE_NAME "3D Printer" |
| 132 | +//#define CONFIGURABLE_MACHINE_NAME // Add G-code M550 to set/report the machine name |
132 | 133 |
|
133 | 134 | // Printer's unique ID, used by some programs to differentiate between machines. |
134 | 135 | // Choose your own or use a service like https://www.uuidgenerator.net/version4 |
|
259 | 260 | #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 } // A pair of angles for { E0, E1 }. |
260 | 261 | // For Dual Servo use two pairs: { { lower, raise }, { lower, raise } } |
261 | 262 | #define SWITCHING_NOZZLE_SERVO_DWELL 2500 // Dwell time to wait for servo to make physical move |
| 263 | + #define SWITCHING_NOZZLE_LIFT_TO_PROBE // Lift toolheads out of the way while probing |
262 | 264 | #endif |
263 | 265 |
|
264 | 266 | // Switch nozzles by bumping the toolhead. Requires EVENT_GCODE_TOOLCHANGE_#. |
|
695 | 697 | #define PID_K1 0.95 // Smoothing factor within any PID loop |
696 | 698 |
|
697 | 699 | #if ENABLED(PIDTEMP) |
698 | | - //#define MIN_POWER 0 |
699 | | - //#define PID_DEBUG // Print PID debug data to the serial port. Use 'M303 D' to toggle activation. |
| 700 | + //#define MIN_POWER 0 // Min power to improve PID stability (0..PID_MAX). |
| 701 | + // Get the power from the temperature report ('M105' => @:nnn) and try P*2-20 to P*2-10. |
| 702 | + //#define PID_DEBUG // Print PID debug data to the serial port. Use 'M303 D' to enable/disable. |
700 | 703 | //#define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders) |
701 | 704 | // Set/get with G-code: M301 E[extruder number, 0-2] |
702 | 705 |
|
|
795 | 798 | //#define PIDTEMPBED |
796 | 799 |
|
797 | 800 | #if ENABLED(PIDTEMPBED) |
798 | | - //#define MIN_BED_POWER 0 |
799 | | - //#define PID_BED_DEBUG // Print Bed PID debug data to the serial port. |
| 801 | + //#define MIN_BED_POWER 0 // Min power to improve PID stability (0..MAX_BED_POWER). |
| 802 | + // Get the power from the temperature report ('M105' => B@:nnn) and try P*2-20 to P*2-10. |
| 803 | + //#define PID_BED_DEBUG // Print Bed PID debug data to the serial port. Use 'M303 D' to enable/disable. |
800 | 804 |
|
801 | 805 | // 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+) |
802 | 806 | // from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10) |
|
877 | 881 | #define MAX_CHAMBER_POWER 255 // limits duty cycle to chamber heater; 255=full current |
878 | 882 |
|
879 | 883 | #if ENABLED(PIDTEMPCHAMBER) |
880 | | - #define MIN_CHAMBER_POWER 0 |
881 | | - //#define PID_CHAMBER_DEBUG // Print Chamber PID debug data to the serial port. |
| 884 | + //#define MIN_CHAMBER_POWER 0 // Min power to improve PID stability. (0..MAX_CHAMBER_POWER) |
| 885 | + // Get the power from the temperature report ('M105' => C@:nnn) and try P*2-20 to P*2-10. |
| 886 | + //#define PID_CHAMBER_DEBUG // Print Chamber PID debug data to the serial port. Use 'M303 D' to enable/disable. |
882 | 887 |
|
883 | 888 | // Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element |
884 | 889 | // and placed inside the small Creality printer enclosure tent. |
885 | | - // |
886 | 890 | #define DEFAULT_chamberKp 37.04 |
887 | 891 | #define DEFAULT_chamberKi 1.40 |
888 | 892 | #define DEFAULT_chamberKd 655.17 |
|
896 | 900 | #if ANY(PIDTEMP, PIDTEMPBED, PIDTEMPCHAMBER) |
897 | 901 | //#define PID_OPENLOOP // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX |
898 | 902 | //#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 |
899 | | - #define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature |
| 903 | + #define PID_FUNCTIONAL_RANGE 20 // If the temperature difference between the target temperature and the actual temperature |
900 | 904 | // is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max. |
901 | 905 |
|
902 | 906 | //#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash) |
|
1024 | 1028 | // Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers). |
1025 | 1029 | #define PRINTABLE_RADIUS 140.0 // (mm) |
1026 | 1030 |
|
1027 | | - // Maximum reachable area |
1028 | | - #define DELTA_MAX_RADIUS 140.0 // (mm) |
1029 | | - |
1030 | 1031 | // Center-to-center distance of the holes in the diagonal push rods. |
1031 | 1032 | #define DELTA_DIAGONAL_ROD 250.0 // (mm) |
1032 | 1033 |
|
|
1539 | 1540 | #define PROBE_DEPLOY_FEEDRATE (133*60) // (mm/min) Probe deploy speed |
1540 | 1541 | #define PROBE_STOW_FEEDRATE (133*60) // (mm/min) Probe stow speed |
1541 | 1542 |
|
| 1543 | + /** |
| 1544 | + * Magnetically Mounted Probe with a Servo mechanism |
| 1545 | + * Probe Deploy and Stow both follow the same basic sequence: |
| 1546 | + * - Rotate the SERVO to its Deployed angle |
| 1547 | + * - Perform XYZ moves to deploy or stow the PROBE |
| 1548 | + * - Rotate the SERVO to its Stowed angle |
| 1549 | + */ |
| 1550 | + //#define MAG_MOUNTED_PROBE_SERVO_NR 0 // Servo Number for this probe |
| 1551 | + #ifdef MAG_MOUNTED_PROBE_SERVO_NR |
| 1552 | + #define MAG_MOUNTED_PROBE_SERVO_ANGLES { 90, 0 } // Servo Angles for Deployed, Stowed |
| 1553 | + #define MAG_MOUNTED_PRE_DEPLOY { PROBE_DEPLOY_FEEDRATE, { 15, 160, 30 } } // Safe position for servo activation |
| 1554 | + #define MAG_MOUNTED_PRE_STOW { PROBE_DEPLOY_FEEDRATE, { 15, 160, 30 } } // Safe position for servo deactivation |
| 1555 | + #endif |
| 1556 | + |
1542 | 1557 | #define MAG_MOUNTED_DEPLOY_1 { PROBE_DEPLOY_FEEDRATE, { 245, 114, 30 } } // Move to side Dock & Attach probe |
1543 | 1558 | #define MAG_MOUNTED_DEPLOY_2 { PROBE_DEPLOY_FEEDRATE, { 210, 114, 30 } } // Move probe off dock |
1544 | 1559 | #define MAG_MOUNTED_DEPLOY_3 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed |
|
2022 | 2037 | //#define FILAMENT_MOTION_SENSOR |
2023 | 2038 |
|
2024 | 2039 | #if ENABLED(FILAMENT_MOTION_SENSOR) |
2025 | | - //#define FILAMENT_SWITCH_AND_MOTION |
| 2040 | + //#define FILAMENT_SWITCH_AND_MOTION // Define separate pins below to sense motion |
2026 | 2041 | #if ENABLED(FILAMENT_SWITCH_AND_MOTION) |
| 2042 | + |
| 2043 | + #define FILAMENT_MOTION_DISTANCE_MM 3.0 // (mm) Missing distance required to trigger runout |
| 2044 | + |
2027 | 2045 | #define NUM_MOTION_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_MOTION#_PIN for each. |
2028 | 2046 | //#define FIL_MOTION1_PIN -1 |
2029 | 2047 |
|
|
2059 | 2077 | //#define FIL_MOTION8_STATE LOW |
2060 | 2078 | //#define FIL_MOTION8_PULLUP |
2061 | 2079 | //#define FIL_MOTION8_PULLDOWN |
2062 | | - #endif |
| 2080 | + #endif // FILAMENT_SWITCH_AND_MOTION |
2063 | 2081 | #endif // FILAMENT_MOTION_SENSOR |
2064 | 2082 | #endif // FILAMENT_RUNOUT_DISTANCE_MM |
2065 | 2083 | #endif // FILAMENT_RUNOUT_SENSOR |
|
2262 | 2280 | //=========================================================================== |
2263 | 2281 |
|
2264 | 2282 | #define MESH_INSET 10 // Set Mesh bounds as an inset region of the bed |
2265 | | - #define GRID_MAX_POINTS_X 3 // Don't use more than 7 points per axis, implementation limited. |
| 2283 | + #define GRID_MAX_POINTS_X 3 |
2266 | 2284 | #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X |
2267 | 2285 |
|
2268 | 2286 | //#define MESH_G28_REST_ORIGIN // After homing all axes ('G28' or 'G28 XYZ') rest Z at Z_MIN_POS |
|
2898 | 2916 | // |
2899 | 2917 | //#define MAKEBOARD_MINI_2_LINE_DISPLAY_1602 |
2900 | 2918 |
|
2901 | | -// |
2902 | | -// ANET and Tronxy 20x4 Controller |
2903 | | -// |
2904 | | -//#define ZONESTAR_LCD // Requires ADC_KEYPAD_PIN to be assigned to an analog pin. |
2905 | | - // This LCD is known to be susceptible to electrical interference |
2906 | | - // which scrambles the display. Pressing any button clears it up. |
2907 | | - // This is a LCD2004 display with 5 analog buttons. |
| 2919 | +/** |
| 2920 | + * ANET and Tronxy 20x4 Controller |
| 2921 | + * LCD2004 display with 5 analog buttons. |
| 2922 | + * |
| 2923 | + * NOTE: Requires ADC_KEYPAD_PIN to be assigned to an analog pin. |
| 2924 | + * This LCD is known to be susceptible to electrical interference which |
| 2925 | + * scrambles the display. Press any button to clear it up. |
| 2926 | + */ |
| 2927 | +//#define ZONESTAR_LCD |
2908 | 2928 |
|
2909 | 2929 | // |
2910 | 2930 | // Generic 16x2, 16x4, 20x2, or 20x4 character-based LCD. |
|
3266 | 3286 | #endif |
3267 | 3287 |
|
3268 | 3288 | // |
3269 | | -// Touch-screen LCD for Malyan M200/M300 printers |
| 3289 | +// LCD for Malyan M200/M300 printers |
3270 | 3290 | // |
3271 | 3291 | //#define MALYAN_LCD |
3272 | 3292 |
|
|
3541 | 3561 | // :[1,2,3,4,5,6,7,8] |
3542 | 3562 | //#define NUM_M106_FANS 1 |
3543 | 3563 |
|
3544 | | -// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency |
3545 | | -// which is not as annoying as with the hardware PWM. On the other hand, if this frequency |
3546 | | -// is too low, you should also increment SOFT_PWM_SCALE. |
| 3564 | +/** |
| 3565 | + * Use software PWM to drive the fan, as for the heaters. This uses a very low frequency |
| 3566 | + * which is not as annoying as with the hardware PWM. On the other hand, if this frequency |
| 3567 | + * is too low, you should also increment SOFT_PWM_SCALE. |
| 3568 | + */ |
3547 | 3569 | //#define FAN_SOFT_PWM |
3548 | 3570 |
|
3549 | | -// Incrementing this by 1 will double the software PWM frequency, |
3550 | | -// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. |
3551 | | -// However, control resolution will be halved for each increment; |
3552 | | -// at zero value, there are 128 effective control positions. |
3553 | | -// :[0,1,2,3,4,5,6,7] |
| 3571 | +/** |
| 3572 | + * Incrementing this by 1 will double the software PWM frequency, affecting heaters, and |
| 3573 | + * the fan if FAN_SOFT_PWM is enabled. However, control resolution will be halved for each |
| 3574 | + * increment; at zero value, there are 128 effective control positions. |
| 3575 | + * :[0,1,2,3,4,5,6,7] |
| 3576 | + */ |
3554 | 3577 | #define SOFT_PWM_SCALE 0 |
3555 | 3578 |
|
3556 | | -// If SOFT_PWM_SCALE is set to a value higher than 0, dithering can |
3557 | | -// be used to mitigate the associated resolution loss. If enabled, |
3558 | | -// some of the PWM cycles are stretched so on average the desired |
3559 | | -// duty cycle is attained. |
| 3579 | +/** |
| 3580 | + * If SOFT_PWM_SCALE is set to a value higher than 0, dithering can be used to mitigate the |
| 3581 | + * associated resolution loss. If enabled, some of the PWM cycles are stretched so on average |
| 3582 | + * the desired duty cycle is attained. |
| 3583 | + */ |
3560 | 3584 | //#define SOFT_PWM_DITHER |
3561 | 3585 |
|
3562 | 3586 | // @section extras |
|
3566 | 3590 |
|
3567 | 3591 | // @section lights |
3568 | 3592 |
|
3569 | | -// Temperature status LEDs that display the hotend and bed temperature. |
3570 | | -// If all hotends, bed temperature, and target temperature are under 54C |
3571 | | -// then the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) |
| 3593 | +/** |
| 3594 | + * Temperature status LEDs that display the hotend and bed temperature. |
| 3595 | + * If all hotends, bed temperature, and target temperature are under 54C |
| 3596 | + * the BLUE led is on. Otherwise the RED led is on. (1C hysteresis) |
| 3597 | + */ |
3572 | 3598 | //#define TEMP_STAT_LEDS |
3573 | 3599 |
|
3574 | 3600 | // Support for BlinkM/CyzRgb |
|
0 commit comments