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
// 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)
#include "Start_here.h"
@ -173,7 +173,7 @@
// 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
#define MACHINE_UUID "836fa943-1337-1337-1337-98a20de75607"
#define MACHINE_UUID "74ed451a-5c3a-40b7-a9d6-05fd7aa73366"
// @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
//FIND YOUR OWN: "M303 U1 E0 S200 C8" HOTEND PID
#if ENABLED (I3PROW) || ENABLED (I3PROA) || ENABLED (I3PROC) || ENABLED (I3PROX) || ENABLED (GTM201)
#define DEFAULT_Kp 22.2
#define DEFAULT_Ki 1.08
#define DEFAULT_Kd 114
#elif ENABLED (I3PROB)
#define DEFAULT_Kp 12.33
#define DEFAULT_Ki 0.51
#define DEFAULT_Kd 74.50
#elif ENABLED (MECREATOR2)
#define DEFAULT_Kp 14.94
#define DEFAULT_Ki 0.74
#define DEFAULT_Kd 74.98
#elif ENABLED (MIX) || ENABLED (MIXT) || ENABLED (CYCLOPS) || ENABLED (CYCLOPST) || ENABLED (DUELEX) || ENABLED (GTA30) || ENABLED (GTE180) || ENABLED (GTD200)
#define DEFAULT_Kp 45.8
#define DEFAULT_Ki 3.61
#define DEFAULT_Kd 145.39
#else
#define DEFAULT_Kp 32.59
#define DEFAULT_Ki 3.72
#define DEFAULT_Kd 71.43
// #if ENABLED (I3PROW) || ENABLED (I3PROA) || ENABLED (I3PROC) || ENABLED (I3PROX) || ENABLED (GTM201)
// #define DEFAULT_Kp 22.2
// #define DEFAULT_Ki 1.08
// #define DEFAULT_Kd 114
// #elif ENABLED (I3PROB)
// #define DEFAULT_Kp 12.33
// #define DEFAULT_Ki 0.51
// #define DEFAULT_Kd 74.50
// #elif ENABLED (MECREATOR2)
// #define DEFAULT_Kp 14.94
// #define DEFAULT_Ki 0.74
// #define DEFAULT_Kd 74.98
// #elif ENABLED (MIX) || ENABLED (MIXT) || ENABLED (CYCLOPS) || ENABLED (CYCLOPST) || ENABLED (DUELEX) || ENABLED (GTA30) || ENABLED (GTE180) || ENABLED (GTD200)
// #define DEFAULT_Kp 45.8
// #define DEFAULT_Ki 3.61
// #define DEFAULT_Kd 145.39
// #else
// #define DEFAULT_Kp 32.59
// #define DEFAULT_Ki 3.72
// #define DEFAULT_Kd 71.43
#define DEFAULT_Kp 75.55
#define DEFAULT_Ki 7.69
#define DEFAULT_Kd 185.67
// #endif
#endif // PIDTEMP
#endif
//===========================================================================
//====================== PID > Bed Temperature Control ======================
//===========================================================================
@ -589,30 +594,34 @@
#if ENABLED(PIDTEMPBED)
//#define MIN_BED_POWER 0
//#define PID_BED_DEBUG // Sends debug data to the serial port.
#if ENABLED (I3PROW) || ENABLED (I3PROA) || ENABLED (I3PROC) || ENABLED (I3PROX) || ENABLED (GTM201)
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4
#elif ENABLED (I3PROB)
#define DEFAULT_bedKp 234.88
#define DEFAULT_bedKi 42.79
#define DEFAULT_bedKd 322.28
#elif ENABLED (MECREATOR2)
#define DEFAULT_bedKp 129.40
#define DEFAULT_bedKi 25.07
#define DEFAULT_bedKd 166.96
#elif ENABLED (GTA30) || ENABLED (GTD200)
#define DEFAULT_bedKp 369.610
#define DEFAULT_bedKi 54.132
#define DEFAULT_bedKd 602.870
#elif ENABLED (GTA10) || ENABLED (GTA20)
#define DEFAULT_bedKp 200.24
#define DEFAULT_bedKi 39.43
#define DEFAULT_bedKd 254.26
// #if ENABLED (I3PROW) || ENABLED (I3PROA) || ENABLED (I3PROC) || ENABLED (I3PROX) || ENABLED (GTM201)
// #define DEFAULT_bedKp 10.00
// #define DEFAULT_bedKi .023
// #define DEFAULT_bedKd 305.4
// #elif ENABLED (I3PROB)
// #define DEFAULT_bedKp 234.88
// #define DEFAULT_bedKi 42.79
// #define DEFAULT_bedKd 322.28
// #elif ENABLED (MECREATOR2)
// #define DEFAULT_bedKp 129.40
// #define DEFAULT_bedKi 25.07
// #define DEFAULT_bedKd 166.96
// #elif ENABLED (GTA30) || ENABLED (GTD200)
// #define DEFAULT_bedKp 369.610
// #define DEFAULT_bedKi 54.132
// #define DEFAULT_bedKd 602.870
// #elif ENABLED (GTA10) || ENABLED (GTA20)
// #define DEFAULT_bedKp 200.24
// #define DEFAULT_bedKi 39.43
// #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.
#define DEFAULT_bedKp 34.63
#define DEFAULT_bedKi 6.71
#define DEFAULT_bedKd 119.13
// #endif
#endif // PIDTEMPBED
#endif
// @section extruder
/**
@ -868,12 +877,12 @@
#define E1_DRIVER_TYPE TB6600
#define E2_DRIVER_TYPE TB6600
#elif ENABLED (CUSTOM)
#define X_DRIVER_TYPE
#define Y_DRIVER_TYPE
#define Z_DRIVER_TYPE
#define E0_DRIVER_TYPE
#define E1_DRIVER_TYPE
#define E2_DRIVER_TYPE
#define X_DRIVER_TYPE TMC2209
#define Y_DRIVER_TYPE TMC2209
#define Z_DRIVER_TYPE TMC2209
#define E0_DRIVER_TYPE TMC2209
#define E1_DRIVER_TYPE TMC2209
#define E2_DRIVER_TYPE TMC2209
#else
#error No drivers defined
#endif
@ -914,9 +923,7 @@
* following movement settings. If fewer factors are given than the
* total number of extruders, the last value applies to the rest.
*/
#if ENABLED (DUALEX) || ENABLED (TRIEX)
#define DISTINCT_E_FACTORS
#endif
/**
* Default Axis Steps Per Unit (steps/mm)
@ -1343,9 +1350,9 @@
#define Y_BED_SIZE 165
#define Z_MAX_POS 155
#elif ENABLED (GTA10)
#define X_BED_SIZE 230
#define Y_BED_SIZE 230
#define Z_MAX_POS 250
#define X_BED_SIZE 227
#define Y_BED_SIZE 227
#define Z_MAX_POS 247
#endif
#define X_MIN_POS XMP
@ -1956,7 +1963,7 @@
// This option overrides the default number of encoder pulses needed to
// 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

View file

@ -1730,7 +1730,7 @@
// 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_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 direct drive, the full length of the nozzle.
// Set to 0 for manual unloading.
@ -2019,19 +2019,31 @@
* on the same serial port, either here or in your board's pins file.
*/
#define X_SLAVE_ADDRESS 0
#define Y_SLAVE_ADDRESS 0
#define Z_SLAVE_ADDRESS 0
#define Y_SLAVE_ADDRESS 1
#define Z_SLAVE_ADDRESS 3
#define X2_SLAVE_ADDRESS 0
#define Y2_SLAVE_ADDRESS 0
#define Z2_SLAVE_ADDRESS 0
#define Z3_SLAVE_ADDRESS 0
#define E0_SLAVE_ADDRESS 0
#define E1_SLAVE_ADDRESS 0
#define E0_SLAVE_ADDRESS 2
#define E1_SLAVE_ADDRESS 2
#define E2_SLAVE_ADDRESS 0
#define E3_SLAVE_ADDRESS 0
#define E4_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
*
@ -2063,7 +2075,7 @@
* Define you own with
* { <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,
@ -2156,7 +2168,7 @@
* Enable M122 debugging command for TMC stepper drivers.
* 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.

View file

@ -23,7 +23,7 @@
//--------------------------------------------------------------------------------------------------------------------------------------------------------
//Step 2) enable 1 driver timing set.
// #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 T2130 // Enable TMC2130 Standalone on all drivers
//#define T2160 // Enable TMC2160 Standalone on all drivers
@ -37,50 +37,53 @@
//#define L647 // Enable L6470 on all drivers
//#define T6560 // Enable TB6560 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.
#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.
//--------------------------------------------------------------------------------------------------------------------------------------------------------
//Step 4) enable 1 if you have mixing or multi extruder.
//#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 MIX // Enable Mixing 2 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 DUALEX // 2 Extruder 2 in 2 - 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.
#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) && 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.
//Step 5) enable 1 probe type & edit other bed leveling options.
//#define MANUALBL // Enable Manual Bed Leveling (stock)
#define TOUCHPROBE // Enable Bltouch Type Probe.
//#define FMP // Enable Fixed Mounted Type Probe.
//#define MANUALBL // Enable Manual Bed Leveling (stock)
//Other bed leveling variables DO NOT DISABLE edit only.
//--------------------------------------------------------------------------------------------------------------------------------------------------------
//Other 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 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 ZPROBESPEED 120 // Probe speed reduce if accuracy is poor.
#define G26NOZZLE 1.0 // Nozzle size for G26
#define G26HOTEND 250 // Hotend temp for G26
#define G26BED 70 // Bed temp for G26
#define G26NOZZLE 0.4 // Nozzle size for G26
#define G26HOTEND 195 // Hotend temp for G26
#define G26BED 60 // Bed temp for G26
#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.
#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.
#elif ENABLED (MIX) || ENABLED (CYCLOPS) || ENABLED (DUALEX) || ENABLED (MIXT) || ENABLED (CYCLOPST) || ENABLED (TRIEX)
#define NPO { -40, 3, 0 } // Nozzle To Probe offset XYZ A10M/A20M calibration suggested.
#else
#error No probe offsets defined
#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