Compare commits

...

10 commits

Author SHA1 Message Date
Patrick Moessler
99e2dbef8c PID settings 2020-01-03 23:13:04 +01:00
Patrick Moessler
9eff39a074 Change TMC serial to hardware. E0/E1 use same address for now 2019-12-28 21:40:12 +01:00
Patrick Moessler
80d7bf49d7 Change encoder to 2/click 2019-12-28 21:39:53 +01:00
Patrick Moessler
6f3f66a95c Change pins for PCINT on RX 2019-12-26 23:02:36 +01:00
Patrick Moessler
6e0a13e434 Change to TMC2209 with UART 2019-12-21 23:50:58 +01:00
Patrick Moessler
216da7c858 Config for a10m 2019-12-20 00:02:40 +01:00
Vertabreaker
c088709925
line storing 2019-12-13 11:09:55 -05:00
Vertabreaker
b08a108a9d
reduced setup to 5 steps
added editable variables to the bottom of the list and some logic that helped reduce steps by 1
2019-12-13 11:05:02 -05:00
Vertabreaker
8982fb7e92
E factor stuff 2019-12-13 10:40:46 -05:00
Vertabreaker
c75769b5c5
fix logic error 2019-12-13 10:27:15 -05:00
3 changed files with 114 additions and 92 deletions

View file

@ -71,7 +71,7 @@
// @section info // @section info
// Author info of this build printed to the host during boot and M115 // Author info of this build printed to the host during boot and M115
#define STRING_CONFIG_H_AUTHOR "(Vertabreaker)" // Who made the changes. #define STRING_CONFIG_H_AUTHOR "(Vertabreaker+Asaril)" // Who made the changes.
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes) //#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
#include "Start_here.h" #include "Start_here.h"
@ -173,7 +173,7 @@
// Printer's unique ID, used by some programs to differentiate between machines. // Printer's unique ID, used by some programs to differentiate between machines.
// Choose your own or use a service like http://www.uuidgenerator.net/version4 // Choose your own or use a service like http://www.uuidgenerator.net/version4
#define MACHINE_UUID "836fa943-1337-1337-1337-98a20de75607" #define MACHINE_UUID "74ed451a-5c3a-40b7-a9d6-05fd7aa73366"
// @section extruder // @section extruder
@ -533,29 +533,34 @@
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it // If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
//FIND YOUR OWN: "M303 U1 E0 S200 C8" HOTEND PID //FIND YOUR OWN: "M303 U1 E0 S200 C8" HOTEND PID
#if ENABLED (I3PROW) || ENABLED (I3PROA) || ENABLED (I3PROC) || ENABLED (I3PROX) || ENABLED (GTM201) // #if ENABLED (I3PROW) || ENABLED (I3PROA) || ENABLED (I3PROC) || ENABLED (I3PROX) || ENABLED (GTM201)
#define DEFAULT_Kp 22.2 // #define DEFAULT_Kp 22.2
#define DEFAULT_Ki 1.08 // #define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114 // #define DEFAULT_Kd 114
#elif ENABLED (I3PROB) // #elif ENABLED (I3PROB)
#define DEFAULT_Kp 12.33 // #define DEFAULT_Kp 12.33
#define DEFAULT_Ki 0.51 // #define DEFAULT_Ki 0.51
#define DEFAULT_Kd 74.50 // #define DEFAULT_Kd 74.50
#elif ENABLED (MECREATOR2) // #elif ENABLED (MECREATOR2)
#define DEFAULT_Kp 14.94 // #define DEFAULT_Kp 14.94
#define DEFAULT_Ki 0.74 // #define DEFAULT_Ki 0.74
#define DEFAULT_Kd 74.98 // #define DEFAULT_Kd 74.98
#elif ENABLED (MIX) || ENABLED (MIXT) || ENABLED (CYCLOPS) || ENABLED (CYCLOPST) || ENABLED (DUELEX) || ENABLED (GTA30) || ENABLED (GTE180) || ENABLED (GTD200) // #elif ENABLED (MIX) || ENABLED (MIXT) || ENABLED (CYCLOPS) || ENABLED (CYCLOPST) || ENABLED (DUELEX) || ENABLED (GTA30) || ENABLED (GTE180) || ENABLED (GTD200)
#define DEFAULT_Kp 45.8 // #define DEFAULT_Kp 45.8
#define DEFAULT_Ki 3.61 // #define DEFAULT_Ki 3.61
#define DEFAULT_Kd 145.39 // #define DEFAULT_Kd 145.39
#else // #else
#define DEFAULT_Kp 32.59 // #define DEFAULT_Kp 32.59
#define DEFAULT_Ki 3.72 // #define DEFAULT_Ki 3.72
#define DEFAULT_Kd 71.43 // #define DEFAULT_Kd 71.43
#define DEFAULT_Kp 75.55
#define DEFAULT_Ki 7.69
#define DEFAULT_Kd 185.67
// #endif
#endif // PIDTEMP #endif // PIDTEMP
#endif
//=========================================================================== //===========================================================================
//====================== PID > Bed Temperature Control ====================== //====================== PID > Bed Temperature Control ======================
//=========================================================================== //===========================================================================
@ -589,30 +594,34 @@
#if ENABLED(PIDTEMPBED) #if ENABLED(PIDTEMPBED)
//#define MIN_BED_POWER 0 //#define MIN_BED_POWER 0
//#define PID_BED_DEBUG // Sends debug data to the serial port. //#define PID_BED_DEBUG // Sends debug data to the serial port.
#if ENABLED (I3PROW) || ENABLED (I3PROA) || ENABLED (I3PROC) || ENABLED (I3PROX) || ENABLED (GTM201) // #if ENABLED (I3PROW) || ENABLED (I3PROA) || ENABLED (I3PROC) || ENABLED (I3PROX) || ENABLED (GTM201)
#define DEFAULT_bedKp 10.00 // #define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023 // #define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4 // #define DEFAULT_bedKd 305.4
#elif ENABLED (I3PROB) // #elif ENABLED (I3PROB)
#define DEFAULT_bedKp 234.88 // #define DEFAULT_bedKp 234.88
#define DEFAULT_bedKi 42.79 // #define DEFAULT_bedKi 42.79
#define DEFAULT_bedKd 322.28 // #define DEFAULT_bedKd 322.28
#elif ENABLED (MECREATOR2) // #elif ENABLED (MECREATOR2)
#define DEFAULT_bedKp 129.40 // #define DEFAULT_bedKp 129.40
#define DEFAULT_bedKi 25.07 // #define DEFAULT_bedKi 25.07
#define DEFAULT_bedKd 166.96 // #define DEFAULT_bedKd 166.96
#elif ENABLED (GTA30) || ENABLED (GTD200) // #elif ENABLED (GTA30) || ENABLED (GTD200)
#define DEFAULT_bedKp 369.610 // #define DEFAULT_bedKp 369.610
#define DEFAULT_bedKi 54.132 // #define DEFAULT_bedKi 54.132
#define DEFAULT_bedKd 602.870 // #define DEFAULT_bedKd 602.870
#elif ENABLED (GTA10) || ENABLED (GTA20) // #elif ENABLED (GTA10) || ENABLED (GTA20)
#define DEFAULT_bedKp 200.24 // #define DEFAULT_bedKp 200.24
#define DEFAULT_bedKi 39.43 // #define DEFAULT_bedKi 39.43
#define DEFAULT_bedKd 254.26 // #define DEFAULT_bedKd 254.26
// FIND YOUR OWN: "M303 U1 E-1 S90 C8" to run autotune on the bed at 90 degreesC for 8 cycles. // FIND YOUR OWN: "M303 U1 E-1 S90 C8" to run autotune on the bed at 90 degreesC for 8 cycles.
#define DEFAULT_bedKp 34.63
#define DEFAULT_bedKi 6.71
#define DEFAULT_bedKd 119.13
// #endif
#endif // PIDTEMPBED #endif // PIDTEMPBED
#endif
// @section extruder // @section extruder
/** /**
@ -868,12 +877,12 @@
#define E1_DRIVER_TYPE TB6600 #define E1_DRIVER_TYPE TB6600
#define E2_DRIVER_TYPE TB6600 #define E2_DRIVER_TYPE TB6600
#elif ENABLED (CUSTOM) #elif ENABLED (CUSTOM)
#define X_DRIVER_TYPE #define X_DRIVER_TYPE TMC2209
#define Y_DRIVER_TYPE #define Y_DRIVER_TYPE TMC2209
#define Z_DRIVER_TYPE #define Z_DRIVER_TYPE TMC2209
#define E0_DRIVER_TYPE #define E0_DRIVER_TYPE TMC2209
#define E1_DRIVER_TYPE #define E1_DRIVER_TYPE TMC2209
#define E2_DRIVER_TYPE #define E2_DRIVER_TYPE TMC2209
#else #else
#error No drivers defined #error No drivers defined
#endif #endif
@ -914,9 +923,7 @@
* following movement settings. If fewer factors are given than the * following movement settings. If fewer factors are given than the
* total number of extruders, the last value applies to the rest. * total number of extruders, the last value applies to the rest.
*/ */
#if ENABLED (DUALEX) || ENABLED (TRIEX)
#define DISTINCT_E_FACTORS #define DISTINCT_E_FACTORS
#endif
/** /**
* Default Axis Steps Per Unit (steps/mm) * Default Axis Steps Per Unit (steps/mm)
@ -1343,9 +1350,9 @@
#define Y_BED_SIZE 165 #define Y_BED_SIZE 165
#define Z_MAX_POS 155 #define Z_MAX_POS 155
#elif ENABLED (GTA10) #elif ENABLED (GTA10)
#define X_BED_SIZE 230 #define X_BED_SIZE 227
#define Y_BED_SIZE 230 #define Y_BED_SIZE 227
#define Z_MAX_POS 250 #define Z_MAX_POS 247
#endif #endif
#define X_MIN_POS XMP #define X_MIN_POS XMP
@ -1956,7 +1963,7 @@
// This option overrides the default number of encoder pulses needed to // This option overrides the default number of encoder pulses needed to
// produce one step. Should be increased for high-resolution encoders. // produce one step. Should be increased for high-resolution encoders.
// //
//#define ENCODER_PULSES_PER_STEP 4 #define ENCODER_PULSES_PER_STEP 2
// //
// Use this option to override the number of step signals required to // Use this option to override the number of step signals required to

View file

@ -1730,7 +1730,7 @@
// This short retract is done immediately, before parking the nozzle. // This short retract is done immediately, before parking the nozzle.
#define FILAMENT_CHANGE_UNLOAD_FEEDRATE 60 // (mm/s) Unload filament feedrate. This can be pretty fast. #define FILAMENT_CHANGE_UNLOAD_FEEDRATE 60 // (mm/s) Unload filament feedrate. This can be pretty fast.
#define FILAMENT_CHANGE_UNLOAD_ACCEL 5 // (mm/s^2) Lower acceleration may allow a faster feedrate. #define FILAMENT_CHANGE_UNLOAD_ACCEL 5 // (mm/s^2) Lower acceleration may allow a faster feedrate.
#define FILAMENT_CHANGE_UNLOAD_LENGTH 450 // (mm) The length of filament for a complete unload. #define FILAMENT_CHANGE_UNLOAD_LENGTH 525 // (mm) The length of filament for a complete unload.
// For Bowden, the full length of the tube and nozzle. // For Bowden, the full length of the tube and nozzle.
// For direct drive, the full length of the nozzle. // For direct drive, the full length of the nozzle.
// Set to 0 for manual unloading. // Set to 0 for manual unloading.
@ -2019,19 +2019,31 @@
* on the same serial port, either here or in your board's pins file. * on the same serial port, either here or in your board's pins file.
*/ */
#define X_SLAVE_ADDRESS 0 #define X_SLAVE_ADDRESS 0
#define Y_SLAVE_ADDRESS 0 #define Y_SLAVE_ADDRESS 1
#define Z_SLAVE_ADDRESS 0 #define Z_SLAVE_ADDRESS 3
#define X2_SLAVE_ADDRESS 0 #define X2_SLAVE_ADDRESS 0
#define Y2_SLAVE_ADDRESS 0 #define Y2_SLAVE_ADDRESS 0
#define Z2_SLAVE_ADDRESS 0 #define Z2_SLAVE_ADDRESS 0
#define Z3_SLAVE_ADDRESS 0 #define Z3_SLAVE_ADDRESS 0
#define E0_SLAVE_ADDRESS 0 #define E0_SLAVE_ADDRESS 2
#define E1_SLAVE_ADDRESS 0 #define E1_SLAVE_ADDRESS 2
#define E2_SLAVE_ADDRESS 0 #define E2_SLAVE_ADDRESS 0
#define E3_SLAVE_ADDRESS 0 #define E3_SLAVE_ADDRESS 0
#define E4_SLAVE_ADDRESS 0 #define E4_SLAVE_ADDRESS 0
#define E5_SLAVE_ADDRESS 0 #define E5_SLAVE_ADDRESS 0
//
// TMC serial
//
#define X_HARDWARE_SERIAL Serial3
#define Y_HARDWARE_SERIAL Serial3
#define Z_HARDWARE_SERIAL Serial3
#define E0_HARDWARE_SERIAL Serial3
#define E1_HARDWARE_SERIAL Serial3
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 38400
/** /**
* Software enable * Software enable
* *
@ -2063,7 +2075,7 @@
* Define you own with * Define you own with
* { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] } * { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
*/ */
#define CHOPPER_TIMING CHOPPER_DEFAULT_12V #define CHOPPER_TIMING CHOPPER_DEFAULT_24V
/** /**
* Monitor Trinamic drivers for error conditions, * Monitor Trinamic drivers for error conditions,
@ -2156,7 +2168,7 @@
* Enable M122 debugging command for TMC stepper drivers. * Enable M122 debugging command for TMC stepper drivers.
* M122 S0/1 will enable continous reporting. * M122 S0/1 will enable continous reporting.
*/ */
//#define TMC_DEBUG #define TMC_DEBUG
/** /**
* You can set your own advanced settings by filling in predefined functions. * You can set your own advanced settings by filling in predefined functions.

View file

@ -22,8 +22,8 @@
//#define GTD200 // D200 - experimental, set jumpers base on board for flashing and use serial to upload. //#define GTD200 // D200 - experimental, set jumpers base on board for flashing and use serial to upload.
//-------------------------------------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------------------------------------
//Step 2) enable 1 driver timing set. //Step 2) enable 1 driver timing set.
//#define STOCK // Enable A4988 on all drivers (stock drivers) // #define STOCK // Enable A4988 on all drivers (stock drivers)
#define T2208 // Enable TMC2208 Standalone on all drivers // #define T2208 // Enable TMC2208 Standalone on all drivers
//#define T2209 // Enable TMC2209 Standalone on all drivers //#define T2209 // Enable TMC2209 Standalone on all drivers
//#define T2130 // Enable TMC2130 Standalone on all drivers //#define T2130 // Enable TMC2130 Standalone on all drivers
//#define T2160 // Enable TMC2160 Standalone on all drivers //#define T2160 // Enable TMC2160 Standalone on all drivers
@ -37,50 +37,53 @@
//#define L647 // Enable L6470 on all drivers //#define L647 // Enable L6470 on all drivers
//#define T6560 // Enable TB6560 on all drivers //#define T6560 // Enable TB6560 on all drivers
//#define T6600 // Enable TB6600 on all drivers //#define T6600 // Enable TB6600 on all drivers
//#define CUSTOM // Fill in #elif ENABLED (CUSTOM) in configuration.h with a custom set #define CUSTOM // Fill in #elif ENABLED (CUSTOM) in configuration.h with a custom set & invert in step 3 as needed
//-------------------------------------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------------------------------------
//Step 3) enable if needed to invert motors direction used on TMC drivers & Geared extruders. //Step 3) enable if needed to invert motors direction used on TMC drivers & Geared extruders.
#define INVERTE // Invert E direction disabe if wrong direction - M & T variants inverted (stock). // #define INVERTE // Invert E direction disabe if wrong direction - M & T variants inverted (stock).
#define INVERTXYZ // Invert XYZ direction disable if wrong direction. #define INVERTXYZ // Invert XYZ direction disable if wrong direction.
//-------------------------------------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------------------------------------
//Step 4) enable 1 if you have mixing or multi extruder. //Step 4) enable 1 if you have mixing or multi extruder.
//#define MIX // Enable Mixing 2 in 1 - Virtual Motor Control #define MIX // Enable Mixing 2 in 1 - Virtual Motor Control
//#define CYCLOPS // Enable Cyclops 2 in 1 - Physical Motor Control
//#define DUALEX // 2 Extruder 2 in 2 - Physical Motor Control
//#define MIXT // Enable Mixing 3 in 1 - Virtual Motor Control //#define MIXT // Enable Mixing 3 in 1 - Virtual Motor Control
// #define CYCLOPS // Enable Cyclops 2 in 1 - Physical Motor Control
//#define CYCLOPST // Enable Cyclops 3 in 1 - Physical Motor Control //#define CYCLOPST // Enable Cyclops 3 in 1 - Physical Motor Control
//#define DUALEX // 2 Extruder 2 in 2 - Physical Motor Control
//#define TRIEX // 3 Extruder 3 in 3 - Physical Motor Control //#define TRIEX // 3 Extruder 3 in 3 - Physical Motor Control
//-------------------------------------------------------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------------------------------------------------------
//Step 5) Adjust XYZE if required, suggest you run your own calibrations. //Step 5) enable 1 probe type & edit other bed leveling options.
#if DISABLED (MIX) && DISABLED (CYCLOPS) && DISABLED (DUALEX) && DISABLED (MIXT) && DISABLED (CYCLOPST) && DISABLED (TRIEX) //#define MANUALBL // Enable Manual Bed Leveling (stock)
#define XYZESTEPS { 80, 80, 400, 98 } // ungeared extruder found on a10/a20/a30/i3pro.
//#define XYZESTEPS { 80, 80, 2560, 98 } // M8 Z rod steps 2560 found on old I3pro.
#elif ENABLED (MIX) && ENABLED (CYCLOPS) && ENABLED (DUALEX) && ENABLED (MIXT) && ENABLED (CYCLOPST) && ENABLED (TRIEX)
#define XYZESTEPS { 80, 80, 400, 430 } // geared extruder found on M & T variants.
//#define XYZESTEPS { 80, 80, 2560,430 } // M8 Z rod steps 2560 found on old I3pro
#else
#error No steps defined
#endif
//--------------------------------------------------------------------------------------------------------------------------------------------------------
//Step 6) enable 1 probe type & edit other bed leveling options.
#define TOUCHPROBE // Enable Bltouch Type Probe. #define TOUCHPROBE // Enable Bltouch Type Probe.
//#define FMP // Enable Fixed Mounted Type Probe. //#define FMP // Enable Fixed Mounted Type Probe.
//#define MANUALBL // Enable Manual Bed Leveling (stock) //--------------------------------------------------------------------------------------------------------------------------------------------------------
//Other variables DO NOT DISABLE edit only.
//Other bed leveling variables DO NOT DISABLE edit only.
#define XMP -11 // X Min Position - distance from the endstop to the bed, adjust nozzle to the front left bed edge at X0. #define XMP -11 // X Min Position - distance from the endstop to the bed, adjust nozzle to the front left bed edge at X0.
#define YMP -4 // Y Min Position - distance from the endstop to the bed, adjust nozzle to the front left bed edge at Y0. #define YMP -4 // Y Min Position - distance from the endstop to the bed, adjust nozzle to the front left bed edge at Y0.
#define MPE 0 // As needed 30 Max if you have bed clips, if set to large it will cause max X crash . #define MPE 10 // As needed 30 Max if you have bed clips, if set to large it will cause max X crash.
#define GRIDSIZE 5 // 5x5 mesh grid adjust as needed. #define GRIDSIZE 5 // 5x5 mesh grid adjust as needed.
#define ZPROBESPEED 120 // Probe speed reduce if accuracy is poor. #define ZPROBESPEED 120 // Probe speed reduce if accuracy is poor.
#define G26NOZZLE 1.0 // Nozzle size for G26 #define G26NOZZLE 0.4 // Nozzle size for G26
#define G26HOTEND 250 // Hotend temp for G26 #define G26HOTEND 195 // Hotend temp for G26
#define G26BED 70 // Bed temp for G26 #define G26BED 60 // Bed temp for G26
#if DISABLED (MIX) && DISABLED (CYCLOPS) && DISABLED (DUALEX) && DISABLED (MIXT) && DISABLED (CYCLOPST) && DISABLED (TRIEX) #if DISABLED (MIX) && DISABLED (CYCLOPS) && DISABLED (DUALEX) && DISABLED (MIXT) && DISABLED (CYCLOPST) && DISABLED (TRIEX)
#define NPO { -38, 4, 0 } // Nozzle To Probe offset XYZ A10/A20 calibration suggested. #define NPO { -38, 4, 0 } // Nozzle To Probe offset XYZ A10/A20 calibration suggested.
#elif ENABLED (MIX) && ENABLED (CYCLOPS) && ENABLED (DUALEX) && ENABLED (MIXT) && ENABLED (CYCLOPST) && ENABLED (TRIEX) #elif ENABLED (MIX) || ENABLED (CYCLOPS) || ENABLED (DUALEX) || ENABLED (MIXT) || ENABLED (CYCLOPST) || ENABLED (TRIEX)
#define NPO { -40, 0, 0 } // Nozzle To Probe offset XYZ A10M/A20M calibration suggested. #define NPO { -40, 3, 0 } // Nozzle To Probe offset XYZ A10M/A20M calibration suggested.
#else #else
#error No probe offsets defined #error No probe offsets defined
#endif #endif
//--------------------------------------------------------------------------------------------------------------------------------------------------------
#if DISABLED (MIX) && DISABLED (CYCLOPS) && DISABLED (DUALEX) && DISABLED (MIXT) && DISABLED (CYCLOPST) && DISABLED (TRIEX)
#define XYZESTEPS { 80, 80, 400, 98 } // ungeared extruder found on a10/a20/a30/i3pro.
//#define XYZESTEPS { 80, 80, 2560, 98 } // M8 Z rod steps 2560 found on old I3pro.
#elif ENABLED (MIX) || ENABLED (CYCLOPS) || ENABLED (DUALEX)
#define XYZESTEPS { 80, 80, 400, 430, 430 } // geared extruder found on M & T variants.
//#define XYZESTEPS { 80, 80, 2560,430, 430 } // M8 Z rod steps 2560 found on old I3pro
#elif ENABLED (MIXT) || ENABLED (CYCLOPST) || ENABLED (TRIEX)
#define XYZESTEPS { 80, 80, 400, 430, 430, 430 } // geared extruder found on M & T variants.
//#define XYZESTEPS { 80, 80, 2560,430, 430, 430 } // M8 Z rod steps 2560 found on old I3pro
#else
#error No steps defined
#endif