From 0773ea752d26a47ce6c1d21c3f2cffc9bfb48126 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Tue, 17 May 2011 20:30:27 +0200 Subject: Refactored do_xxx_step() functions in 1 do_step() function. This is the first of a series of commits to refactor Sprinter to use bresenham on all axis. Much of the inspiration comes from ScribbleJ fork. --- Tonokip_Firmware/configuration.h | 1 + 1 file changed, 1 insertion(+) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index a658412..35c714a 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -86,6 +86,7 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move // units are in millimeters or whatever length unit you prefer: inches,football-fields,parsecs etc //Calibration variables +const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E float x_steps_per_unit = 80.376; float y_steps_per_unit = 80.376; float z_steps_per_unit = 3200/1.25; -- cgit v1.2.1 From 8060d4da56d0dc3928e787537d7b9e0ad4763d6b Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Thu, 19 May 2011 02:33:48 +0200 Subject: Added possibility to print move time to serial, to help debugging --- Tonokip_Firmware/configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 35c714a..dc6226e 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -151,6 +151,6 @@ const int Z_MAX_LENGTH = 100; #define BAUDRATE 115200 - +//#define PRINT_MOVE_TIME #endif -- cgit v1.2.1 From 7b90a1f0f89f588247051a76d849584aa515cebc Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Thu, 19 May 2011 07:26:51 +0200 Subject: X and Y axis now have their constant acceleration, and that is taken into account when calculating the leading axis acceleration for the move --- Tonokip_Firmware/configuration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index dc6226e..004c0d8 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -25,8 +25,8 @@ //Acceleration settings #ifdef RAMP_ACCELERATION float min_units_per_second = 35.0; // the minimum feedrate -long max_acceleration_units_per_sq_second = 750; // Max acceleration in mm/s^2 for printing moves -long max_travel_acceleration_units_per_sq_second = 1500; // Max acceleration in mm/s^2 for travel moves +long max_acceleration_units_per_sq_second[] = {750,750,100,10000}; // X, Y (Z and E currently not used) max acceleration in mm/s^2 for printing moves +long max_travel_acceleration_units_per_sq_second[] = {1500,1500,100}; // X, Y (Z currently not used) max acceleration in mm/s^2 for travel moves #endif #ifdef EXP_ACCELERATION float full_velocity_units = 10; // the units between minimum and G1 move feedrate -- cgit v1.2.1 From a1e6fe387581b8ad981ecf29f901cc74982762e6 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Thu, 19 May 2011 15:57:29 +0200 Subject: Some refactoring in preparation of axis with less start speed constraint check. See next commit for more info. --- Tonokip_Firmware/configuration.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 004c0d8..00bc9a5 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -24,7 +24,8 @@ //Acceleration settings #ifdef RAMP_ACCELERATION -float min_units_per_second = 35.0; // the minimum feedrate +//X, Y (Z and E currently not used) maximum start speed. E default value is good for skeinforge 40+, for older versions raise it a lot. +float max_start_speed_units_per_second[] = {35.0,35.0,1.0,10.0}; long max_acceleration_units_per_sq_second[] = {750,750,100,10000}; // X, Y (Z and E currently not used) max acceleration in mm/s^2 for printing moves long max_travel_acceleration_units_per_sq_second[] = {1500,1500,100}; // X, Y (Z currently not used) max acceleration in mm/s^2 for travel moves #endif @@ -87,10 +88,7 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move //Calibration variables const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E -float x_steps_per_unit = 80.376; -float y_steps_per_unit = 80.376; -float z_steps_per_unit = 3200/1.25; -float e_steps_per_unit = 16; +float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; float max_feedrate = 200000; //mmm, acceleration! float max_z_feedrate = 120; -- cgit v1.2.1 From 05274fd21825f03619711200a95302354b51cf29 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Thu, 19 May 2011 19:55:27 +0200 Subject: The start speed of the leading (X or Y) axis is now scaled to the speed of the limiting (X, Y, Z or E) axis in that move based on his start speed --- Tonokip_Firmware/configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 00bc9a5..81f0e29 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -24,7 +24,7 @@ //Acceleration settings #ifdef RAMP_ACCELERATION -//X, Y (Z and E currently not used) maximum start speed. E default value is good for skeinforge 40+, for older versions raise it a lot. +//X, Y, Z, E maximum start speed for accelerated moves. E default value is good for skeinforge 40+, for older versions raise it a lot. float max_start_speed_units_per_second[] = {35.0,35.0,1.0,10.0}; long max_acceleration_units_per_sq_second[] = {750,750,100,10000}; // X, Y (Z and E currently not used) max acceleration in mm/s^2 for printing moves long max_travel_acceleration_units_per_sq_second[] = {1500,1500,100}; // X, Y (Z currently not used) max acceleration in mm/s^2 for travel moves -- cgit v1.2.1 From 0cf824857bc05deb36ed0b9b3c52c4b2c9ef673c Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Thu, 19 May 2011 21:52:30 +0200 Subject: Z now has its own max acceleration, and it is now fully integrated into Bresenham --- Tonokip_Firmware/configuration.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 81f0e29..f8de2a7 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -19,15 +19,17 @@ //Comment this to disable ramp acceleration #define RAMP_ACCELERATION 1 -//Uncomment this to enable exponential acceleration +//Uncomment this to enable exponential acceleration. WARNING!! This is not supported in the current version, and will be fixed before +// merging it to the stable branch. +// TODO: fix exp acceleration to correctly perform N bresenham. //#define EXP_ACCELERATION 1 //Acceleration settings #ifdef RAMP_ACCELERATION //X, Y, Z, E maximum start speed for accelerated moves. E default value is good for skeinforge 40+, for older versions raise it a lot. -float max_start_speed_units_per_second[] = {35.0,35.0,1.0,10.0}; -long max_acceleration_units_per_sq_second[] = {750,750,100,10000}; // X, Y (Z and E currently not used) max acceleration in mm/s^2 for printing moves -long max_travel_acceleration_units_per_sq_second[] = {1500,1500,100}; // X, Y (Z currently not used) max acceleration in mm/s^2 for travel moves +float max_start_speed_units_per_second[] = {35.0,35.0,0.2,10.0}; +long max_acceleration_units_per_sq_second[] = {750,750,50,4000}; // X, Y, Z (E currently not used) max acceleration in mm/s^2 for printing moves +long max_travel_acceleration_units_per_sq_second[] = {1500,1500,50}; // X, Y, Z max acceleration in mm/s^2 for travel moves #endif #ifdef EXP_ACCELERATION float full_velocity_units = 10; // the units between minimum and G1 move feedrate @@ -89,8 +91,8 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move //Calibration variables const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; -float max_feedrate = 200000; //mmm, acceleration! -float max_z_feedrate = 120; +float max_feedrate = 200000; // mm/min, acceleration! +float max_z_feedrate = 180; // mm/min, acceleration! //float x_steps_per_unit = 10.047; //float y_steps_per_unit = 10.047; -- cgit v1.2.1 From 181df1fe733aca5264c0f63425779c767b37e54e Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Fri, 20 May 2011 10:25:34 +0200 Subject: All axes are now controlled in Bresenham. Now, also E has its own max acceleration and start speed. Also added some function useful for debugging. --- Tonokip_Firmware/configuration.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index f8de2a7..cea0740 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -26,9 +26,9 @@ //Acceleration settings #ifdef RAMP_ACCELERATION -//X, Y, Z, E maximum start speed for accelerated moves. E default value is good for skeinforge 40+, for older versions raise it a lot. +//X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. float max_start_speed_units_per_second[] = {35.0,35.0,0.2,10.0}; -long max_acceleration_units_per_sq_second[] = {750,750,50,4000}; // X, Y, Z (E currently not used) max acceleration in mm/s^2 for printing moves +long max_acceleration_units_per_sq_second[] = {750,750,50,4000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts long max_travel_acceleration_units_per_sq_second[] = {1500,1500,50}; // X, Y, Z max acceleration in mm/s^2 for travel moves #endif #ifdef EXP_ACCELERATION @@ -151,6 +151,13 @@ const int Z_MAX_LENGTH = 100; #define BAUDRATE 115200 -//#define PRINT_MOVE_TIME +//Uncomment the following line to enable debugging. You can better control debugging below the following line +//#define DEBUG +#ifdef DEBUG + #define DEBUG_PREPARE_MOVE //Enable this to debug prepare_move() function + #define DEBUG_BRESENHAM //Enable this to debug the Bresenham algorithm + #define DEBUG_RAMP_ACCELERATION //Enable this to debug all constant acceleration info + #define DEBUG_MOVE_TIME //Enable this to time each move and print the result +#endif #endif -- cgit v1.2.1 From a89f443eb2b635d67daaa01962561f452f7d8a80 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sat, 21 May 2011 01:51:29 +0200 Subject: Added options that allow to disable heating management during acceleration or during the whole move --- Tonokip_Firmware/configuration.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index cea0740..55e9872 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -56,6 +56,12 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move //How often should the heater check for new temp readings, in milliseconds #define HEATER_CHECK_INTERVAL 50 #define BED_CHECK_INTERVAL 5000 +//Uncomment the following line to disable heat management during acceleration +//#define DISABLE_CHECK_DURING_ACC +#ifndef DISABLE_CHECK_DURING_ACC + //Uncomment the following line to disable heat management during the move + //#define DISABLE_CHECK_DURING_MOVE +#endif //Experimental temperature smoothing - only uncomment this if your temp readings are noisy //#define SMOOTHING 1 -- cgit v1.2.1 From 1bbdc1970601efe630db4afc6445886bb942abe3 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sun, 22 May 2011 19:52:00 +0200 Subject: Time for move is now correctly calculated in the XYZ space. Fixed a safety bug that caused heating management not to be performed in case DISABLE_CHECK_DURING_MOVE was enabled. Fixed a bug in the moving axis start speed checking. --- Tonokip_Firmware/configuration.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 55e9872..61072dc 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -10,7 +10,7 @@ //Min step delay in microseconds. If you are experiencing missing steps, try to raise the delay microseconds, but be aware this // If you enable this, make sure STEP_DELAY_RATIO is disabled. -#define STEP_DELAY_MICROS 1 +//#define STEP_DELAY_MICROS 1 //Step delay over interval ratio. If you are still experiencing missing steps, try to uncomment the following line, but be aware this //If you enable this, make sure STEP_DELAY_MICROS is disabled. @@ -96,9 +96,9 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move //Calibration variables const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E +bool axis_relative_modes[] = {false, false, false, true}; float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; -float max_feedrate = 200000; // mm/min, acceleration! -float max_z_feedrate = 180; // mm/min, acceleration! +float max_feedrate[] = {200000, 200000, 240, 500000}; //mmm, acceleration! //float x_steps_per_unit = 10.047; //float y_steps_per_unit = 10.047; -- cgit v1.2.1 From 8a2c2233cb0a8c14a60bc3539ca9ffd7971baa3c Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sun, 22 May 2011 20:38:10 +0200 Subject: Fixed bad default configuration value that forced relative E. Changed back to default --- Tonokip_Firmware/configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 61072dc..2643338 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -96,7 +96,7 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move //Calibration variables const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E -bool axis_relative_modes[] = {false, false, false, true}; +bool axis_relative_modes[] = {false, false, false, false}; float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; float max_feedrate[] = {200000, 200000, 240, 500000}; //mmm, acceleration! -- cgit v1.2.1 From 1139131f72f97ac5d6de72ada5030d82fc98eb9f Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Mon, 23 May 2011 20:03:47 +0200 Subject: Changed configuration values to better ones, according to my experience, which should also help avoid missing steps --- Tonokip_Firmware/configuration.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 2643338..f2d23f0 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -27,8 +27,8 @@ //Acceleration settings #ifdef RAMP_ACCELERATION //X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. -float max_start_speed_units_per_second[] = {35.0,35.0,0.2,10.0}; -long max_acceleration_units_per_sq_second[] = {750,750,50,4000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts +float max_start_speed_units_per_second[] = {25.0,25.0,0.2,10.0}; +long max_acceleration_units_per_sq_second[] = {3000,3000,50,10000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts long max_travel_acceleration_units_per_sq_second[] = {1500,1500,50}; // X, Y, Z max acceleration in mm/s^2 for travel moves #endif #ifdef EXP_ACCELERATION @@ -54,10 +54,10 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move #endif //How often should the heater check for new temp readings, in milliseconds -#define HEATER_CHECK_INTERVAL 50 +#define HEATER_CHECK_INTERVAL 500 #define BED_CHECK_INTERVAL 5000 -//Uncomment the following line to disable heat management during acceleration -//#define DISABLE_CHECK_DURING_ACC +//Comment the following line to enable heat management during acceleration +#define DISABLE_CHECK_DURING_ACC #ifndef DISABLE_CHECK_DURING_ACC //Uncomment the following line to disable heat management during the move //#define DISABLE_CHECK_DURING_MOVE -- cgit v1.2.1 From 08e61b287f5cddce693a722a467bceeaadb60d2d Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sun, 5 Jun 2011 04:22:57 +0200 Subject: Added debugging code for heat management. Changed acceleration values to more reliable ones --- Tonokip_Firmware/configuration.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index f2d23f0..d77b974 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -28,8 +28,8 @@ #ifdef RAMP_ACCELERATION //X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. float max_start_speed_units_per_second[] = {25.0,25.0,0.2,10.0}; -long max_acceleration_units_per_sq_second[] = {3000,3000,50,10000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts -long max_travel_acceleration_units_per_sq_second[] = {1500,1500,50}; // X, Y, Z max acceleration in mm/s^2 for travel moves +long max_acceleration_units_per_sq_second[] = {1000,1000,50,10000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts +long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z max acceleration in mm/s^2 for travel moves #endif #ifdef EXP_ACCELERATION float full_velocity_units = 10; // the units between minimum and G1 move feedrate @@ -160,10 +160,11 @@ const int Z_MAX_LENGTH = 100; //Uncomment the following line to enable debugging. You can better control debugging below the following line //#define DEBUG #ifdef DEBUG - #define DEBUG_PREPARE_MOVE //Enable this to debug prepare_move() function - #define DEBUG_BRESENHAM //Enable this to debug the Bresenham algorithm - #define DEBUG_RAMP_ACCELERATION //Enable this to debug all constant acceleration info - #define DEBUG_MOVE_TIME //Enable this to time each move and print the result + //#define DEBUG_PREPARE_MOVE //Enable this to debug prepare_move() function + //#define DEBUG_BRESENHAM //Enable this to debug the Bresenham algorithm + //#define DEBUG_RAMP_ACCELERATION //Enable this to debug all constant acceleration info + //#define DEBUG_MOVE_TIME //Enable this to time each move and print the result + //#define DEBUG_HEAT_MGMT #endif #endif -- cgit v1.2.1 From 4689ab10ef12951a20efb1713478056d17332421 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sun, 5 Jun 2011 06:24:20 +0200 Subject: Added option to disable heat management during travel moves, on by default. This helps a lot in avoiding missing steps, hence increasing reliability --- Tonokip_Firmware/configuration.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index d77b974..7710f82 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -62,6 +62,8 @@ float min_constant_speed_units = 2; // the minimum units of an accelerated move //Uncomment the following line to disable heat management during the move //#define DISABLE_CHECK_DURING_MOVE #endif +//Comment the following line to disable heat management during travel moves. Probably this should be commented if using PID. +#define DISABLE_CHECK_DURING_TRAVEL //Experimental temperature smoothing - only uncomment this if your temp readings are noisy //#define SMOOTHING 1 -- cgit v1.2.1 From a7ed8f90215ed948a5cba8e9f78b5d00c7b5c488 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sun, 5 Jun 2011 06:27:31 +0200 Subject: Exponential acceleration discontinued. Deleted all related code --- Tonokip_Firmware/configuration.h | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 7710f82..5370977 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -19,11 +19,6 @@ //Comment this to disable ramp acceleration #define RAMP_ACCELERATION 1 -//Uncomment this to enable exponential acceleration. WARNING!! This is not supported in the current version, and will be fixed before -// merging it to the stable branch. -// TODO: fix exp acceleration to correctly perform N bresenham. -//#define EXP_ACCELERATION 1 - //Acceleration settings #ifdef RAMP_ACCELERATION //X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. @@ -31,14 +26,6 @@ float max_start_speed_units_per_second[] = {25.0,25.0,0.2,10.0}; long max_acceleration_units_per_sq_second[] = {1000,1000,50,10000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z max acceleration in mm/s^2 for travel moves #endif -#ifdef EXP_ACCELERATION -float full_velocity_units = 10; // the units between minimum and G1 move feedrate -float travel_move_full_velocity_units = 10; // used for travel moves -float min_units_per_second = 35.0; // the minimum feedrate -float min_constant_speed_units = 2; // the minimum units of an accelerated move that must be done at constant speed - // Note that if the move is shorter than this value, acceleration won't be perfomed, - // but will be done at the minimum between min_units_per_seconds and move feedrate speeds. -#endif // AD595 THERMOCOUPLE SUPPORT UNTESTED... USE WITH CAUTION!!!! -- cgit v1.2.1 From 2649509633397a9d97b998089ead76b2ae2741c8 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sun, 5 Jun 2011 06:29:41 +0200 Subject: Fixed comment in configuration.h --- Tonokip_Firmware/configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 5370977..3a9dc0c 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -49,7 +49,7 @@ long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z ma //Uncomment the following line to disable heat management during the move //#define DISABLE_CHECK_DURING_MOVE #endif -//Comment the following line to disable heat management during travel moves. Probably this should be commented if using PID. +//Comment the following line to enable heat management during travel moves. Probably this should be commented if using PID. #define DISABLE_CHECK_DURING_TRAVEL //Experimental temperature smoothing - only uncomment this if your temp readings are noisy -- cgit v1.2.1 From df7e8feffa8218d4ad83d1174802bae637c98530 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sun, 5 Jun 2011 06:44:17 +0200 Subject: Fixed automatic merge of spacexula fix --- Tonokip_Firmware/configuration.h | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 62d2031..9ba0198 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -87,14 +87,9 @@ long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z ma const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E bool axis_relative_modes[] = {false, false, false, false}; float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; -float max_feedrate[] = {200000, 200000, 240, 500000}; //mmm, acceleration! - //For SAE Prusa mendeel float z_steps_per_unit = should be 3200/1.411 for 5/16-18 rod and 3200/1.058 for 5/16-24 -//float x_steps_per_unit = 10.047; -//float y_steps_per_unit = 10.047; -//float z_steps_per_unit = 833.398; -//float e_steps_per_unit = 0.706; -//float max_feedrate = 3000; +//float axis_steps_per_unit[] = {10.047,10.047,833.398,0.706}; +float max_feedrate[] = {200000, 200000, 240, 500000}; //mmm, acceleration! //For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 const bool X_ENABLE_ON = 0; -- cgit v1.2.1 From 6e246d4ead55f27d8e2942d7fa6b75726badae3b Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Sun, 5 Jun 2011 07:35:35 +0200 Subject: Heat management now performed between moves if DISABLE_CHECK_DURING_TRAVEL is enabled --- Tonokip_Firmware/configuration.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 9ba0198..cabfdb3 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -49,7 +49,8 @@ long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z ma //Uncomment the following line to disable heat management during the move //#define DISABLE_CHECK_DURING_MOVE #endif -//Comment the following line to enable heat management during travel moves. Probably this should be commented if using PID. +//Uncomment the following line to disable heat management during travel moves, strongly recommended if you are missing steps mid print. +//Probably this should remain commented if are using PID. #define DISABLE_CHECK_DURING_TRAVEL //Experimental temperature smoothing - only uncomment this if your temp readings are noisy -- cgit v1.2.1 From 62ccc7fec878d9286b3006dc718d6011f4c04a84 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Mon, 6 Jun 2011 18:29:04 +0200 Subject: Added comment to configuration.h --- Tonokip_Firmware/configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index cabfdb3..0d4556e 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -150,7 +150,7 @@ const int Z_MAX_LENGTH = 100; //#define DEBUG_BRESENHAM //Enable this to debug the Bresenham algorithm //#define DEBUG_RAMP_ACCELERATION //Enable this to debug all constant acceleration info //#define DEBUG_MOVE_TIME //Enable this to time each move and print the result - //#define DEBUG_HEAT_MGMT + //#define DEBUG_HEAT_MGMT //Enable this to debug heat management. WARNING, this will cause axes to jitter! #endif #endif -- cgit v1.2.1 From 8c4f65709535b76e322516d6d7506eb430ca6d0b Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Mon, 6 Jun 2011 19:59:47 +0200 Subject: Added safety feature to DISABLE_CHECK_DURING_TRAVEL feature, which allows to define a max time in milliseconds after which the travel move is not considered so --- Tonokip_Firmware/configuration.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 0d4556e..86c9f39 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -51,7 +51,8 @@ long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z ma #endif //Uncomment the following line to disable heat management during travel moves, strongly recommended if you are missing steps mid print. //Probably this should remain commented if are using PID. -#define DISABLE_CHECK_DURING_TRAVEL +//It also defines the max milliseconds interval after which a travel move is not considered so for the sake of this feature. +#define DISABLE_CHECK_DURING_TRAVEL 1000 //Experimental temperature smoothing - only uncomment this if your temp readings are noisy //#define SMOOTHING 1 @@ -151,6 +152,7 @@ const int Z_MAX_LENGTH = 100; //#define DEBUG_RAMP_ACCELERATION //Enable this to debug all constant acceleration info //#define DEBUG_MOVE_TIME //Enable this to time each move and print the result //#define DEBUG_HEAT_MGMT //Enable this to debug heat management. WARNING, this will cause axes to jitter! + //#define DEBUG_DISABLE_CHECK_DURING_TRAVEL //Debug the namesake feature, see above in this file #endif #endif -- cgit v1.2.1 From 57c05dde4219454c9d3a21bfc31a824141674cd5 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Wed, 22 Jun 2011 02:03:11 +0200 Subject: Now heat check is also disabled during retract moves, if DISABLE_CHECK_DURING_TRAVEL is enabled --- Tonokip_Firmware/configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 86c9f39..2716de2 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -49,7 +49,7 @@ long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z ma //Uncomment the following line to disable heat management during the move //#define DISABLE_CHECK_DURING_MOVE #endif -//Uncomment the following line to disable heat management during travel moves, strongly recommended if you are missing steps mid print. +//Uncomment the following line to disable heat management during travel moves (and extruder-only moves, eg: retracts), strongly recommended if you are missing steps mid print. //Probably this should remain commented if are using PID. //It also defines the max milliseconds interval after which a travel move is not considered so for the sake of this feature. #define DISABLE_CHECK_DURING_TRAVEL 1000 -- cgit v1.2.1 From ae9e6f61529b7d49e752a88994bc93bbbb089820 Mon Sep 17 00:00:00 2001 From: Emanuele Caruso Date: Fri, 24 Jun 2011 02:34:48 +0200 Subject: Added comment in configuration.h explaining how to set axes steps per unit --- Tonokip_Firmware/configuration.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h index 2716de2..0a38a6a 100644 --- a/Tonokip_Firmware/configuration.h +++ b/Tonokip_Firmware/configuration.h @@ -88,7 +88,7 @@ long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z ma //Calibration variables const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E bool axis_relative_modes[] = {false, false, false, false}; -float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; +float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; // {X steps per unit, Y steps per unit, Z steps per unit, E steps per unit} //For SAE Prusa mendeel float z_steps_per_unit = should be 3200/1.411 for 5/16-18 rod and 3200/1.058 for 5/16-24 //float axis_steps_per_unit[] = {10.047,10.047,833.398,0.706}; float max_feedrate[] = {200000, 200000, 240, 500000}; //mmm, acceleration! -- cgit v1.2.1 From e4af5e82f26fab59bb2bda540e1673317f48ce8a Mon Sep 17 00:00:00 2001 From: kliment Date: Mon, 4 Jul 2011 16:17:19 +0200 Subject: Rename to Sprinter --- Tonokip_Firmware/configuration.h | 158 --------------------------------------- 1 file changed, 158 deletions(-) delete mode 100644 Tonokip_Firmware/configuration.h (limited to 'Tonokip_Firmware/configuration.h') diff --git a/Tonokip_Firmware/configuration.h b/Tonokip_Firmware/configuration.h deleted file mode 100644 index 0a38a6a..0000000 --- a/Tonokip_Firmware/configuration.h +++ /dev/null @@ -1,158 +0,0 @@ -#ifndef PARAMETERS_H -#define PARAMETERS_H - -// NO RS485/EXTRUDER CONTROLLER SUPPORT -// PLEASE VERIFY PIN ASSIGNMENTS FOR YOUR CONFIGURATION!!!!!!! -#define MOTHERBOARD 3 // ATMEGA168 = 0, SANGUINO = 1, MOTHERBOARD = 2, MEGA/RAMPS = 3, ATMEGA328 = 4, Gen6 = 5, Sanguinololu = 6 - -//Comment out to disable SD support -#define SDSUPPORT 1 - -//Min step delay in microseconds. If you are experiencing missing steps, try to raise the delay microseconds, but be aware this -// If you enable this, make sure STEP_DELAY_RATIO is disabled. -//#define STEP_DELAY_MICROS 1 - -//Step delay over interval ratio. If you are still experiencing missing steps, try to uncomment the following line, but be aware this -//If you enable this, make sure STEP_DELAY_MICROS is disabled. -//#define STEP_DELAY_RATIO 0.25 - -//Comment this to disable ramp acceleration -#define RAMP_ACCELERATION 1 - -//Acceleration settings -#ifdef RAMP_ACCELERATION -//X, Y, Z, E maximum start speed for accelerated moves. E default values are good for skeinforge 40+, for older versions raise them a lot. -float max_start_speed_units_per_second[] = {25.0,25.0,0.2,10.0}; -long max_acceleration_units_per_sq_second[] = {1000,1000,50,10000}; // X, Y, Z and E max acceleration in mm/s^2 for printing moves or retracts -long max_travel_acceleration_units_per_sq_second[] = {500,500,50}; // X, Y, Z max acceleration in mm/s^2 for travel moves -#endif - -// AD595 THERMOCOUPLE SUPPORT UNTESTED... USE WITH CAUTION!!!! - -//PID settings: -//Uncomment the following line to enable PID support. This is untested and could be disastrous. Be careful. -//#define PIDTEMP 1 -#ifdef PIDTEMP -#define PID_MAX 255 // limits current to nozzle -#define PID_INTEGRAL_DRIVE_MAX 220 -#define PID_PGAIN 180 //100 is 1.0 -#define PID_IGAIN 2 //100 is 1.0 -#define PID_DGAIN 100 //100 is 1.0 -#endif - -//How often should the heater check for new temp readings, in milliseconds -#define HEATER_CHECK_INTERVAL 500 -#define BED_CHECK_INTERVAL 5000 -//Comment the following line to enable heat management during acceleration -#define DISABLE_CHECK_DURING_ACC -#ifndef DISABLE_CHECK_DURING_ACC - //Uncomment the following line to disable heat management during the move - //#define DISABLE_CHECK_DURING_MOVE -#endif -//Uncomment the following line to disable heat management during travel moves (and extruder-only moves, eg: retracts), strongly recommended if you are missing steps mid print. -//Probably this should remain commented if are using PID. -//It also defines the max milliseconds interval after which a travel move is not considered so for the sake of this feature. -#define DISABLE_CHECK_DURING_TRAVEL 1000 - -//Experimental temperature smoothing - only uncomment this if your temp readings are noisy -//#define SMOOTHING 1 -//#define SMOOTHFACTOR 16 //best to use a power of two here - determines how many values are averaged together by the smoothing algorithm - -//Experimental watchdog and minimal temp -//The watchdog waits for the watchperiod in milliseconds whenever an M104 or M109 increases the target temperature -//If the temperature has not increased at the end of that period, the target temperature is set to zero. It can be reset with another M104/M109 -//#define WATCHPERIOD 5000 //5 seconds -//The minimal temperature defines the temperature below which the heater will not be enabled -//#define MINTEMP - -//Experimental max temp -//When temperature exceeds max temp, your bot will halt. -//This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure! -//You should use MINTEMP for thermistor short/failure protection. -//#define MAXTEMP 275 - -// Select one of these only to define how the nozzle temp is read. -#define HEATER_USES_THERMISTOR -//#define HEATER_USES_AD595 -//#define HEATER_USES_MAX6675 - -// Select one of these only to define how the bed temp is read. -#define BED_USES_THERMISTOR -//#define BED_USES_AD595 - -// Calibration formulas -// e_extruded_steps_per_mm = e_feedstock_steps_per_mm * (desired_extrusion_diameter^2 / feedstock_diameter^2) -// new_axis_steps_per_mm = previous_axis_steps_per_mm * (test_distance_instructed/test_distance_traveled) -// units are in millimeters or whatever length unit you prefer: inches,football-fields,parsecs etc - -//Calibration variables -const int NUM_AXIS = 4; // The axis order in all axis related arrays is X, Y, Z, E -bool axis_relative_modes[] = {false, false, false, false}; -float axis_steps_per_unit[] = {80.376,80.376,3200/1.25,16}; // {X steps per unit, Y steps per unit, Z steps per unit, E steps per unit} -//For SAE Prusa mendeel float z_steps_per_unit = should be 3200/1.411 for 5/16-18 rod and 3200/1.058 for 5/16-24 -//float axis_steps_per_unit[] = {10.047,10.047,833.398,0.706}; -float max_feedrate[] = {200000, 200000, 240, 500000}; //mmm, acceleration! - -//For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 -const bool X_ENABLE_ON = 0; -const bool Y_ENABLE_ON = 0; -const bool Z_ENABLE_ON = 0; -const bool E_ENABLE_ON = 0; - -//Disables axis when it's not being used. -const bool DISABLE_X = false; -const bool DISABLE_Y = false; -const bool DISABLE_Z = true; -const bool DISABLE_E = false; - -const bool INVERT_X_DIR = false; -const bool INVERT_Y_DIR = false; -const bool INVERT_Z_DIR = true; -const bool INVERT_E_DIR = false; - -// Sets direction of endstops when homing; 1=MAX, -1=MIN -const int X_HOME_DIR = -1; -const int Y_HOME_DIR = -1; -const int Z_HOME_DIR = -1; - - -//Thermistor settings: - -//Uncomment for 100k thermistor -//#include "ThermistorTable_100k.h" -//#include "BedThermistorTable_100k.h" - -//Uncomment for 200k thermistor -//#include "ThermistorTable_200k.h" -//#include "BedThermistorTable_200k.h" - -//Identical thermistors on heater and bed - use this if you have no heated bed or if the thermistors are the same on both: -#include "ThermistorTable_200k.h" -//#include "ThermistorTable_100k.h" -//#include "ThermistorTable_mendelparts.h" -#define BNUMTEMPS NUMTEMPS -#define bedtemptable temptable - -//Endstop Settings -#define ENDSTOPPULLUPS 1 -const bool ENDSTOPS_INVERTING = false; -const bool min_software_endstops = false; //If true, axis won't move to coordinates less than zero. -const bool max_software_endstops = true; //If true, axis won't move to coordinates greater than the defined lengths below. -const int X_MAX_LENGTH = 220; -const int Y_MAX_LENGTH = 220; -const int Z_MAX_LENGTH = 100; - -#define BAUDRATE 115200 - -//Uncomment the following line to enable debugging. You can better control debugging below the following line -//#define DEBUG -#ifdef DEBUG - //#define DEBUG_PREPARE_MOVE //Enable this to debug prepare_move() function - //#define DEBUG_BRESENHAM //Enable this to debug the Bresenham algorithm - //#define DEBUG_RAMP_ACCELERATION //Enable this to debug all constant acceleration info - //#define DEBUG_MOVE_TIME //Enable this to time each move and print the result - //#define DEBUG_HEAT_MGMT //Enable this to debug heat management. WARNING, this will cause axes to jitter! - //#define DEBUG_DISABLE_CHECK_DURING_TRAVEL //Debug the namesake feature, see above in this file -#endif - -#endif -- cgit v1.2.1