From 344235701b086f514ef9fa4fb928cb60bb2e4a78 Mon Sep 17 00:00:00 2001 From: blddk Date: Thu, 24 May 2012 21:07:35 +0300 Subject: Too many if('s --- Sprinter/Sprinter.pde | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sprinter/Sprinter.pde b/Sprinter/Sprinter.pde index 8801973..e76f1c4 100644 --- a/Sprinter/Sprinter.pde +++ b/Sprinter/Sprinter.pde @@ -2502,12 +2502,12 @@ void plan_buffer_line(float x, float y, float z, float e, float feed_rate) enable_y(); delayMicroseconds(DELAY_ENABLE); } - if(if(block->steps_z != 0)) + if(block->steps_z != 0) { enable_z(); delayMicroseconds(DELAY_ENABLE); } - if(if(block->steps_e != 0)) + if(block->steps_e != 0) { enable_e(); delayMicroseconds(DELAY_ENABLE); -- cgit v1.2.1 From b76a110336fd66b9da8da6aac704e408c676740d Mon Sep 17 00:00:00 2001 From: blddk Date: Thu, 24 May 2012 21:13:49 +0300 Subject: Added function to turn a fan on and off to keep heat from the hotend to rise up into the extruder. --- Sprinter/heater.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Sprinter/heater.cpp b/Sprinter/heater.cpp index ebab2a5..69e9e86 100644 --- a/Sprinter/heater.cpp +++ b/Sprinter/heater.cpp @@ -32,6 +32,10 @@ void controllerFan(void); #endif +#ifdef EXTRUDERFAN_PIN + void extruderFan(void); +#endif + // Manage heater variables. For a thermistor or AD595 thermocouple, raw values refer to the // reading from the analog pin. For a MAX6675 thermocouple, the raw value is the temperature in 0.25 // degree increments (i.e. 100=25 deg). @@ -734,6 +738,10 @@ void PID_autotune(int PIDAT_test_temp) controllerFan(); //Check if fan should be turned on to cool stepper drivers down #endif +#ifdef EXTRUDERFAN_PIN + extruderFan(); //Check if fan should be turned on to cool extruder down +#endif + } #if defined (HEATER_USES_THERMISTOR) || defined (BED_USES_THERMISTOR) @@ -844,3 +852,24 @@ void controllerFan() } #endif +#ifdef EXTRUDERFAN_PIN +unsigned long lastExtruderCheck = 0; + +void extruderFan() +{ + if ((millis() - lastExtruderCheck) >= 2500) //Not a time critical function, so we only check every 2500ms + { + lastExtruderCheck = millis(); + + if (analog2temp(current_raw) < EXTRUDERFAN_DEC) + { + WRITE(EXTRUDERFAN_PIN, LOW); //... turn the fan off + } + else + { + WRITE(EXTRUDERFAN_PIN, HIGH); //... turn the fan on + } + } +} +#endif + -- cgit v1.2.1 From 9c708af22ec71ca97bbfe18cbb6d1c868faea9a9 Mon Sep 17 00:00:00 2001 From: blddk Date: Thu, 24 May 2012 21:15:00 +0300 Subject: Added variables for extruder fan --- Sprinter/Configuration.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Sprinter/Configuration.h b/Sprinter/Configuration.h index ccf2762..5d5d78e 100644 --- a/Sprinter/Configuration.h +++ b/Sprinter/Configuration.h @@ -362,6 +362,9 @@ const int dropsegments=5; //everything with less than this number of steps will //#define CONTROLLERFAN_PIN 23 //Pin used for the fan to cool controller, comment out to disable this function #define CONTROLLERFAN_SEC 60 //How many seconds, after all motors were disabled, the fan should run +//This is for controlling a fan that will keep the extruder cool. +//#define EXTRUDERFAN_PIN 66 //Pin used to control the fan, comment out to disable this function +#define EXTRUDERFAN_DEC 50 //Hotend temperature from where the fan will be turned on //----------------------------------------------------------------------- // DEBUGING -- cgit v1.2.1