z offset: subtract 0.25 to A4 paper without friction and without warm up
todo
first layer speed 10mm/s
into start g-code keep only first G28 as below
G28; auto home G1 Z15 F300; linear move, 15mm vertical and set feedrate at 300 M107; turn fan off G90 ; absolute positioning M82 ; This command is used to override G91 and put the E axis into absolute mode independent of the other axes. G92 E0; set absolute position M107 ; M107; turn fan off G0 X10 Y20 F6000 ; move to X 10 mm Y 20 mm , feed rate 6000 G1 Z0.8 ; move Z to 0.8 mm [WHY MOVE VERTICALLY?] G1 F300 X200 E40 ; push 40 mm of filament while moving at 300 mm/min to position X=200 G1 F1200 Z2 ; move to position Z=2 at 1200 mm/min G92 E0 ; set the extruder position as the new zeros
fetch marlin code and checkout same branch release on Marlin.git and Configurations.git
apply this patch
git clone https://github.com/MarlinFirmware/Marlin.git #git clone https://github.com/Jyers/Marlin.git cd Marlin check out latest release branch, for example 2.0.9.2 git clone https://github.com/MarlinFirmware/Configurations.git cd Configurations check out latest release branch, for example 2.0.9.2 #git clone https://github.com/Jyers/Configurations.git # copy Configuration.h and Configuration_adv.h from examples cd .. rsync -av Configurations/config/examples/Geeetech/A20/ Marlin/ code . // select default shell to bash Terminal: Select Default Profile // change MOTHERBOARD #define MOTHERBOARD BOARD_GT2560_V4_A20 // enable bltouch if present // comment PROBE_MANUALLY and decomment BLTOUCH //#define PROBE_MANUALLY #define BLTOUCH #define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. #define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe. #define Z_SAFE_HOMING // temporary #define X_BED_SIZE 200 #define Y_BED_SIZE 200 #define X_MIN_POS -10 // original plate 260x260 //#define X_BED_SIZE 255 //#define Y_BED_SIZE 255 //#define Y_MIN_POS -5
install marlin auto build extension
change vscode settings.json
{
"terminal.integrated.defaultProfile.linux": "bash"
}
To upload firmware add a custom FFF (no geeetech A20 model) printer and use upload firmware menu
custom spare parts:
clone this repository
add to Marlin/Configuration.h
#define LCD_SCREEN_ROT_180
change
#define TEMP_SENSOR_0 11
decomment in Marlin/Configurationadv.h <code> Enable for M105 to include ADC values read from temperature sensors. #define SHOWTEMPADC_VALUES </code> build project <code> scp .pio/build/trigorilla_pro/firmware.bin root@octoprint:/root </code> remove jumper jp1 and change other jumper to USB video getting info <code> stm32flash /dev/ttyUSB0 stm32flash 0.5 http://stm32flash.sourceforge.net/ Interface serial_posix: 57600 8E1 Version : 0x22 Option 1 : 0x00 Option 2 : 0x00 Device ID : 0x0414 (STM32F10xxx High-density) - RAM : 64KiB (512b reserved by bootloader) - Flash : 512KiB (size first sector: 2×2048) - Option RAM : 16b - System RAM : 2KiB </code> make backup <code> stm32flash -r predator-original.bin /dev/ttyUSB0 </code> write firmware <code> stm32flash -v -R -b 57600 -g 0x8000000 -w firmware.bin /dev/ttyUSB0 </code> platformio.ini <code> [env:trigorillapro] platform = ststm32 board = genericSTM32F103ZE buildflags = !python Marlin/src/HAL/STM32F1/build_flags.py </code> === Auto calibration === * configuration → delta calibration → auto → enter → wait → enter * configuration → store === z offset === Disable software endstops (M211 S0), preheat and with motion z to grab paper: get deltaz (positive or negative, for example 0.3) * configuration → runout sensors → off * temperature → preheat PLA → preheat PLA * motion → z adjust probe z-offest adding deltaz: * configuration → probe z-offest → =z-offest+deltaz enable software endstops (M211 S1) store settings === z babysteps === <code> M290 Z0.25 ; move up 0.25mm on the Z axis … M500 ; store </code> ==== PID autotune ==== start pid autotune at 220C and 8 cycles <code> M303 S220 C8 </code> wait and store proposed values with M301 <code> M301 P13.83 I0.76 D63.18 </code> save settings <code> M500 </code> ==== Thermocouple tuning ==== Get actual extrusor thermocouple from Menu → About → Thermistors and from Configuration.h get actual thermistor_xx.h utilized set hotend to 200C from control and check in terminal ADC value (138.06 in example) <code> Recv: T:200.47 /200.00 (138.06) B:21.64 /0.00 (982.37) @:47 B@:0 </code>