* Support for a current sensor (Hall effect sensor like ACS712) for measure the power consumption
* Support for a current sensor (Hall effect sensor like ACS712) for measure the power consumption
* Since it's more simple to deal with, we measure the DC current and we assume that POWER_VOLTAGE that comes from your power supply it's almost stable.
* Since it's more simple to deal with, we measure the DC current and we assume that POWER_VOLTAGE that comes from your power supply it's almost stable.
...
@@ -653,7 +659,7 @@ your extruder heater takes 2 minutes to hit the target on heating.
...
@@ -653,7 +659,7 @@ your extruder heater takes 2 minutes to hit the target on heating.
* With this module we measure the Printer power consumption ignoring the Power Supply power consumption, so we consider the EFFICIENCY of our supply to be 100% so without
* With this module we measure the Printer power consumption ignoring the Power Supply power consumption, so we consider the EFFICIENCY of our supply to be 100% so without
* any power dispersion. If you want to approximately add the supply consumption you can decrease the EFFICIENCY to a value less than 100. Eg: 85 is a good value.
* any power dispersion. If you want to approximately add the supply consumption you can decrease the EFFICIENCY to a value less than 100. Eg: 85 is a good value.
* You can find a better value measuring the AC current with a good multimeter and moltiple it with the mains voltage.
* You can find a better value measuring the AC current with a good multimeter and moltiple it with the mains voltage.
* For now this feature is to be consider BETA as i'll have to do some accurate test to see the affidability
* For now this feature is to be consider BETA as i'll have to do some accurate test to see the affidability
...
@@ -661,13 +667,14 @@ your extruder heater takes 2 minutes to hit the target on heating.
...
@@ -661,13 +667,14 @@ your extruder heater takes 2 minutes to hit the target on heating.
// Uncomment below to enable
// Uncomment below to enable
//#define POWER_CONSUMPTION
//#define POWER_CONSUMPTION
#define POWER_VOLTAGE 12.00 //(V) The power supply OUT voltage
#define POWER_VOLTAGE 12.00 //(V) The power supply OUT voltage
#define POWER_ZERO 2.5 //(V) The /\V coming out from the sensor when no current flow.
#define POWER_ZERO 2.5 //(V) The /\V coming out from the sensor when no current flow.
#define POWER_SENSITIVITY 0.066 //(V/A) How much increase V for 1A of increase
#define POWER_SENSITIVITY 0.066 //(V/A) How much increase V for 1A of increase
#define POWER_EFFICIENCY 100.0 //(%) The power efficency of the power supply
#define POWER_EFFICIENCY 100.0 //(%) The power efficency of the power supply
//When using an LCD, uncomment the line below to display the Power consumption sensor data on the last line instead of status. Status will appear for 5 sec.
//When using an LCD, uncomment the line below to display the Power consumption sensor data on the last line instead of status. Status will appear for 5 sec.
//if the extruder motor is idle for more than SECONDS, and the temperature over MINTEMP, some filament is retracted. The filament retracted is re-added before the next extrusion
//if the extruder motor is idle for more than SECONDS, and the temperature over MINTEMP, some filament is retracted. The filament retracted is re-added before the next extrusion
//#define IDLE_OOZING_PREVENT
//#define IDLE_OOZING_PREVENT
#define IDLE_OOZING_MINTEMP 170
#define IDLE_OOZING_MINTEMP 170
#define IDLE_OOZING_FEEDRATE 45 //default feedrate for retracting (mm/s)
#define IDLE_OOZING_FEEDRATE 45 //default feedrate for retracting (mm/s)
@@ -252,19 +252,17 @@ extern float filament_size[EXTRUDERS]; // cross-sectional area of filament (in m
...
@@ -252,19 +252,17 @@ extern float filament_size[EXTRUDERS]; // cross-sectional area of filament (in m
externfloatvolumetric_multiplier[EXTRUDERS];// reciprocal of cross-sectional area of filament (in square millimeters), stored this way to reduce computational burden in planner
externfloatvolumetric_multiplier[EXTRUDERS];// reciprocal of cross-sectional area of filament (in square millimeters), stored this way to reduce computational burden in planner
externfloatcurrent_position[NUM_AXIS];
externfloatcurrent_position[NUM_AXIS];
externfloatdestination[NUM_AXIS];
externfloatdestination[NUM_AXIS];
externfloatadd_homing[3];
externfloathome_offset[3];
// Extruder offset
// Hotend offset
#if EXTRUDERS > 1
#if HOTENDS > 1
#ifndef SINGLENOZZLE
#ifndef DUAL_X_CARRIAGE
#ifndef DUAL_X_CARRIAGE
#define NUM_HOTEND_OFFSETS 2 // only in XY plane
#define NUM_HOTEND_OFFSETS 2 // only in XY plane
#else
#else
#define NUM_HOTEND_OFFSETS 3 // supports offsets in XYZ plane
#define NUM_HOTEND_OFFSETS 3 // supports offsets in XYZ plane
accelerate_steps=max(accelerate_steps,0);// Check limits due to numerical round-off
accelerate_steps=max(accelerate_steps,0);// Check limits due to numerical round-off
accelerate_steps=min((uint32_t)accelerate_steps,block->step_event_count);//(We can cast here to unsigned, because the above line ensures that we are above zero)
accelerate_steps=min((uint32_t)accelerate_steps,block->step_event_count);//(We can cast here to unsigned, because the above line ensures that we are above zero)
//If we both have a 2nd extruder and a heated bed, show the heated bed temp on the 2nd line on the left, as the first line is filled with extruder temps
//If we both have a 2nd extruder and a heated bed, show the heated bed temp on the 2nd line on the left, as the first line is filled with extruder temps