Settings

 


 

G12 setup.

 

 

  1. define NOZZLE_CLEAN_FEATURE

 

  1. if ENABLED(NOZZLE_CLEAN_FEATURE)


  // Default number of pattern repetitions
  #define NOZZLE_CLEAN_STROKES  8

 


  // Default number of triangles
  #define NOZZLE_CLEAN_TRIANGLES  3

 


  // Specify positions for each tool as { { X, Y, Z }, { X, Y, Z } }
  // Dual hotend system may use { {  -20, (Y_BED_SIZE / 2), (Z_MIN_POS + 1) },  {  420, (Y_BED_SIZE / 2), (Z_MIN_POS + 1) }}
  #define NOZZLE_CLEAN_START_POINT { {  -60, 0, (Z_MIN_POS + 1) }, {  380, 0, (Z_MIN_POS + 1) } }
  #define NOZZLE_CLEAN_END_POINT   { { -105, 0, (Z_MIN_POS + 1) }, {  420, 0, (Z_MIN_POS + 1) } }

 


  // Circular pattern radius
  #define NOZZLE_CLEAN_CIRCLE_RADIUS 6.5
  // Circular pattern circle fragments number
  #define NOZZLE_CLEAN_CIRCLE_FN 10
  // Middle point of circle
  #define NOZZLE_CLEAN_CIRCLE_MIDDLE NOZZLE_CLEAN_START_POINT

 


  // Move the nozzle to the initial position after cleaning
  #define NOZZLE_CLEAN_GOBACK

 


  // For a purge/clean station that's always at the gantry height (thus no Z move)
  #define NOZZLE_CLEAN_NO_Z

 


  // For a purge/clean station mounted on the X axis
  #define NOZZLE_CLEAN_NO_Y

 


  // Require a minimum hotend temperature for cleaning
  #define NOZZLE_CLEAN_MIN_TEMP 170
  //#define NOZZLE_CLEAN_HEATUP       // Heat up the nozzle instead of skipping wipe

 

Clean Nozzle G12 script example IDEX

 

// Custom Menu: Main Menu

  1. define CUSTOM_MENU_MAIN
  2. if ENABLED(CUSTOM_MENU_MAIN)


  #define CUSTOM_MENU_MAIN_TITLE "Clean Nozzle"
  //#define CUSTOM_MENU_MAIN_SCRIPT_DONE "M117 User Script Done"
  #define CUSTOM_MENU_MAIN_SCRIPT_AUDIBLE_FEEDBACK
  #define CUSTOM_MENU_MAIN_SCRIPT_RETURN   // Return to status screen after a script
  #define CUSTOM_MENU_MAIN_ONLY_IDLE         // Only show custom menu when the machine is idle

 


  #define MAIN_MENU_ITEM_5_DESC "E1 Purge & Clean PLA"
  #define MAIN_MENU_ITEM_5_GCODE "M109 T0 S190\nG28\nT0\nG1 X-105\nG92 E0\nG1 E50 F100\nG92 E0\nG12\nG12\nG28X\nM104 S0"
  //#define MAIN_MENU_ITEM_5_CONFIRM          // Show a confirmation dialog before this action

 


  #define MAIN_MENU_ITEM_6_DESC "E2 Purge & Clean PLA"
  #define MAIN_MENU_ITEM_6_GCODE "M109 T1 S190\nG28\nT1\nG1 X420\nG92 E1\nG1 E50 F100\nG92 E1\nG12\nG12\nG28X\nM104 S0"
  //#define MAIN_MENU_ITEM_5_CONFIRM          // Show a confirmation dialog before this action

 


  #define MAIN_MENU_ITEM_7_DESC "E1 Purge & Clean PETG"
  #define MAIN_MENU_ITEM_7_GCODE "M109 T0 S210\nG28\nT0\nG1 X-105\nG92 E0\nG1 E50 F100\nG92 E0\nG12\nG12\nG28X\nM104 S0"
  //#define MAIN_MENU_ITEM_5_CONFIRM          // Show a confirmation dialog before this action

 


  #define MAIN_MENU_ITEM_8_DESC "E2 Purge & Clean PETG"
  #define MAIN_MENU_ITEM_8_GCODE "M109 T1 S210\nG28\nT1\nG1 X420\nG92 E1\nG1 E50 F100\nG92 E1\nG12\nG12\nG28X\nM104 S0"
  //#define MAIN_MENU_ITEM_5_CONFIRM          // Show a confirmation dialog before this action

 


 

PID Autotune

 

Hotend: M303 E0 S200 C8

 

Bed: M303 E-1 S60 C8

 

Manually set PIDs

 

Extruder - M301 Pxx.xx Ixx.xx Dxx.xx (set values from M303)

 

Heated Bed - M304 Pxx.xx Ixx.xx Dxx.xx

 

M500 (save)

 

M503 (check)

 


 


    M303 E-1 S60 C10 U1

 

 


    M303 is the main command that triggers the PID Autotune calibration.
    E-1 is the number of the heat bed that will be calibrated.
    S60 is the temperature of the heat bed that needs to be tuned at which is 60° in this case.
    C10 is the number of cycles. It’s a good idea to let the test run 5-15 times for the best results.
    U1 automatically replaces your existing heat bed PID values with the calibrated ones so you don’t have to do another step.

 


 

DYZE design T-D500

 

Configuration.h modification

 

  1. define TEMP_SENSOR_0 66
  2. define HEATER_0_MINTEMP 21
  3. define HEATER_0_MAXTEMP 500

 

Configuration_adv.h modification

 

  1. define MAX_CONSECUTIVE_LOW_TEMPERATURE_ERROR_ALLOWED 5
  2. define MILLISECONDS_PREHEAT_TIME 30000

 

From the config changes above & as rq3 mentioned, setting MILLISECONDS_PREHEAT_TIME to 30000 should get you going.

 


 

Silicone Bed Temp

 

  1. define TEMP_SENSOR_BED 13

 

 

// R25 = 100 kOhm, beta25 = 4100 K, 4.7 kOhm pull-up, Hisens thermistor
constexpr temp_entry_t temptable_13[] PROGMEM = {
  { OV(220.86), 100 },
  { OV(270.72),  90 },
  { OV(320.06),  70 },
  { OV(517.17),  60 },
  { OV(605.61),  50 },
  { OV(751.75),  45 },
  { OV(856.74),  40 },
  { OV(939.52),  35 },
  { OV(986.03),  20 },
  { OV(1008.7),   0 }
};

 

 

 

 

 

 


OCTOPI

 

To enable support, you need to do the following:

 


    Marlin: Uncomment #define HOST_ACTION_COMMANDS in Configuration_adv.h

 

 


 

 

Stop form LCD SD printing

 

Note, it does not stop immediatly, only after buffer commands.
I use it for testing printing so I need not temp turning off and etc.
ultralcd.cpp:

 


    void lcd_sdcard_stop_g () {
      enqueue_and_echo_commands_P(PSTR("M117 Abort Print\nM25\nG91\nG0 Z10\nG90\nG0 X0 Y140\nM400\n"));
      card.stopSDPrint();
    }

 

No custom user menu, simply change stock "Stop" to the below:

 


 //        MENU_ITEM(function, MSG_STOP_PRINT, lcd_sdcard_stop);
           MENU_ITEM(function, MSG_STOP_PRINT, lcd_sdcard_stop_g);

 


 

Here is some information to book mark for help with you 3D Printing.

 

https://www.simplify3d.com/support/print-quality-troubleshooting/

 

Cura LulzBot Edition Manual
http://devel.lulzbot.com/mini/software/cura/documentation/Manual.pdf

 

E3D Hotend and Extruder Wiki
https://wiki.e3d-online.com/wiki/Titan_Assembly
https://wiki.e3d-online.com/wiki/E3D-v6_Assembly

 

E3D reseller in Australia.
http://www.aus3d.com.au/

 


 

Would be very easy to add this. Because, for example, auto-home is:
MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
So, adding:
MENU_ITEM(gcode, "Home X/Y", PSTR("G28 X0 Y0"));
Would add the command you want :-)

 

I still need to fix the "multiple GCode commands" option, as the cooldown option:
MENU_ITEM(gcode, MSG_COOLDOWN, PSTR("M104 S0\nM140 S0"));
Only cools down the hotend, and not the heated bed. So the M140 S0 doesn't get executed.

 


X Y Origin offset

 

G21        ;metric values
G90        ;absolute positioning
M82        ;set extruder to absolute mode
M107       ;start with the fan off
G28 X0 Y0  ;move X/Y to min endstops
G28 Z0     ;move Z to min endstops
G1 Z15.0 F{travel_speed} ;move the platform down 15mm
G1 X40 Y32              ; Move to print origin
G92 X0 Y0 Z15.0         ; Set this coordinate to 0,0,15
G92 E0                  ;zero the extruded length
G1 F200 E3              ;extrude 3mm of feed stock
G92 E0                  ;zero the extruded length again
G1 F{travel_speed}
;Put printing message on LCD screen
M117 Printing...

 


 


 


 Endstop Testing

 

No matter which type of endstop you use, it should be recognized by your electronics. Test procedure:

 


    Turn on your electronics/printer.
    Connect.
    Send M119 manually.
    Firmware should report back status "0" or "open".
    Engage the endstop by pressing the switch, putting cardboard into the light barrier, etc.
    Send M119 again.
    Firmware should report "1" or "triggered" or "closed".

 

Your endstop works if both reports are as expected.