Closed a0s closed 9 years ago
@boelle For c9f6018 at Development
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=101 -I/usr/share/arduino/hardware/arduino/cores/arduino -I/usr/share/arduino/hardware/arduino/variants/mega -I/usr/share/arduino/libraries/Wire -I/usr/share/arduino/libraries/LiquidCrystal -I/usr/share/arduino/libraries/SPI /tmp/build4542492609945184493.tmp/temperature.cpp -o /tmp/build4542492609945184493.tmp/temperature.cpp.o
temperature.cpp:565:46: warning: extra tokens at end of #ifdef directive [enabled by default]
temperature.cpp: In function ‘void manage_heater()’:
temperature.cpp:585:31: error: ‘MAX_BED_PID’ was not declared in this scope
My config:
diff --git a/.gitignore b/.gitignore
index a24cf93..5499f23 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ applet/
*.orig
*.rej
*.bak
+.idea
diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h
index 07478e3..83eda04 100644
--- a/Marlin/Configuration.h
+++ b/Marlin/Configuration.h
@@ -33,7 +33,7 @@
#define SERIAL_PORT 0
// This determines the communication speed of the printer
-#define BAUDRATE 250000
+#define BAUDRATE 115200 // 250000
// This enables the serial port associated to the Bluetooth interface
//#define BTENABLED // Enable BT interface on AT90USB devices
@@ -41,7 +41,7 @@
// The following define selects which electronics board you have.
// Please choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
- #define MOTHERBOARD BOARD_ULTIMAKER
+ #define MOTHERBOARD BOARD_RUMBA
#endif
// Define this to set a custom name for your generic Mendel,
@@ -101,10 +101,10 @@
// 147 is Pt100 with 4k7 pullup
// 110 is Pt100 with 1k pullup (non standard)
-#define TEMP_SENSOR_0 -1
-#define TEMP_SENSOR_1 -1
+#define TEMP_SENSOR_0 1
+#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
-#define TEMP_SENSOR_BED 0
+#define TEMP_SENSOR_BED 10
// This makes temp sensor 1 a redundant sensor for sensor 0. If the temperatures difference between these sensors is to high the print will be aborted.
//#define TEMP_SENSOR_1_AS_REDUNDANT
@@ -118,10 +118,10 @@
// The minimal temperature defines the temperature below which the heater will not be enabled It is used
// to check that the wiring to the thermistor is not broken.
// Otherwise this would lead to the heater being powered on all the time.
-#define HEATER_0_MINTEMP 5
-#define HEATER_1_MINTEMP 5
-#define HEATER_2_MINTEMP 5
-#define BED_MINTEMP 5
+#define HEATER_0_MINTEMP 15
+#define HEATER_1_MINTEMP 15
+#define HEATER_2_MINTEMP 15
+#define BED_MINTEMP 15
// When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but *NOT* from thermistor short/failure!
@@ -156,9 +156,9 @@
// If you are using a pre-configured hotend then you can use one of the value sets by uncommenting it
// Ultimaker
- #define DEFAULT_Kp 22.2
- #define DEFAULT_Ki 1.08
- #define DEFAULT_Kd 114
+// #define DEFAULT_Kp 22.2
+// #define DEFAULT_Ki 1.08
+// #define DEFAULT_Kd 114
// MakerGear
// #define DEFAULT_Kp 7.0
@@ -169,6 +169,12 @@
// #define DEFAULT_Kp 63.0
// #define DEFAULT_Ki 2.25
// #define DEFAULT_Kd 440
+
+// Snake's printer bot
+ #define DEFAULT_Kp 23.81
+ #define DEFAULT_Ki 1.11
+ #define DEFAULT_Kd 127.20
+
#endif // PIDTEMP
// Bed Temperature Control
@@ -181,7 +187,7 @@
// If your configuration is significantly different than this and you don't understand the issues involved, you probably
// shouldn't use bed PID until someone else verifies your hardware works.
// If this is enabled, find your own PID constants below.
-//#define PIDTEMPBED
+#define PIDTEMPBED
//
//#define BED_LIMIT_SWITCHING
@@ -194,9 +200,13 @@
#ifdef PIDTEMPBED
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
- #define DEFAULT_bedKp 10.00
- #define DEFAULT_bedKi .023
- #define DEFAULT_bedKd 305.4
+ // #define DEFAULT_bedKp 10.00
+ // #define DEFAULT_bedKi .023
+ // #define DEFAULT_bedKd 305.4
+
+ #define DEFAULT_bedKp 207.04
+ #define DEFAULT_bedKi 21.35
+ #define DEFAULT_bedKd 502.04
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from pidautotune
@@ -211,11 +221,11 @@
//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//can be software-disabled for whatever purposes by
-#define PREVENT_DANGEROUS_EXTRUDE
+// #define PREVENT_DANGEROUS_EXTRUDE
//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately.
#define PREVENT_LENGTHY_EXTRUDE
-#define EXTRUDE_MINTEMP 170
+#define EXTRUDE_MINTEMP 180
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.
/*================== Thermal Runaway Protection ==============================
@@ -316,13 +326,13 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true
-#define INVERT_E0_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
+#define INVERT_E0_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E1_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
#define INVERT_E2_DIR false // for direct drive extruder v9 set to true, for geared extruder set to false
// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
-#define X_HOME_DIR -1
+#define X_HOME_DIR 1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
@@ -330,11 +340,11 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
#define max_software_endstops true // If true, axis won't move to coordinates greater than the defined lengths below.
// Travel limits after homing
-#define X_MAX_POS 205
+#define X_MAX_POS 175
#define X_MIN_POS 0
-#define Y_MAX_POS 205
+#define Y_MAX_POS 150
#define Y_MIN_POS 0
-#define Z_MAX_POS 200
+#define Z_MAX_POS 120
#define Z_MIN_POS 0
#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
@@ -342,7 +352,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
//============================= Bed Auto Leveling ===========================
-//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
+#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#define Z_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.
#ifdef ENABLE_AUTO_BED_LEVELING
@@ -367,14 +377,14 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
#ifdef AUTO_BED_LEVELING_GRID
// set the rectangle in which to probe
- #define LEFT_PROBE_BED_POSITION 15
- #define RIGHT_PROBE_BED_POSITION 170
- #define BACK_PROBE_BED_POSITION 180
- #define FRONT_PROBE_BED_POSITION 20
+ #define LEFT_PROBE_BED_POSITION (X_MIN_POS + 15) //15
+ #define RIGHT_PROBE_BED_POSITION (X_MAX_POS - 15) //170
+ #define BACK_PROBE_BED_POSITION (Y_MAX_POS - 15) //180
+ #define FRONT_PROBE_BED_POSITION (Y_MIN_POS + 15) //20
// set the number of grid points per dimension
// I wouldn't see a reason to go above 3 (=9 probing points on the bed)
- #define AUTO_BED_LEVELING_GRID_POINTS 2
+ #define AUTO_BED_LEVELING_GRID_POINTS 3
#else // not AUTO_BED_LEVELING_GRID
@@ -392,17 +402,17 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
// these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
- #define X_PROBE_OFFSET_FROM_EXTRUDER -25
- #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
- #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
+ #define X_PROBE_OFFSET_FROM_EXTRUDER -16.2
+ #define Y_PROBE_OFFSET_FROM_EXTRUDER 1.1
+ #define Z_PROBE_OFFSET_FROM_EXTRUDER -15.7-0.09*3
#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance.
// Be sure you have this distance over your Z_MAX_POS in case
- #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min
+ #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min
- #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point.
- #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points
+ #define Z_RAISE_BEFORE_PROBING 17 //How much the extruder will be raised before traveling to the first probing point.
+ #define Z_RAISE_BETWEEN_PROBINGS 11 //How much the extruder will be raised when traveling from between next probing points
//#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
//#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
@@ -411,7 +421,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
//The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
// You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.
-// #define PROBE_SERVO_DEACTIVATION_DELAY 300
+ #define PROBE_SERVO_DEACTIVATION_DELAY 300
//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
@@ -447,12 +457,12 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
//// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
-#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min)
+#define HOMING_FEEDRATE {25*60, 25*60, 2*60, 0} // set the homing speeds (mm/min)
// default settings
-#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200.0*8/3,760*1.1} // default steps per unit for Ultimaker
-#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25} // (mm/sec)
+#define DEFAULT_AXIS_STEPS_PER_UNIT {160.306,160.845,7918.158,1344.33} // default steps per unit for Ultimaker
+#define DEFAULT_MAX_FEEDRATE {500, 500, 2, 50} // (mm/sec)
#define DEFAULT_MAX_ACCELERATION {9000,9000,100,10000} // 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.
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E max acceleration in mm/s^2 for printing moves
@@ -672,7 +682,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
#endif
// Increase the FAN pwm frequency. Removes the PWM noise but increases heating in the FET/Arduino
-//#define FAST_PWM_FAN
+#define FAST_PWM_FAN
// Temperature status LEDs that display the hotend and bet temperature.
// If all hotends and bed temperature and temperature setpoint are < 54C then the BLUE led is on.
@@ -688,7 +698,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
// affecting heaters, and the fan if FAN_SOFT_PWM is enabled.
// However, control resolution will be halved for each increment;
// at zero value, there are 128 effective control positions.
-#define SOFT_PWM_SCALE 0
+//#define SOFT_PWM_SCALE 0
// M240 Triggers a camera by emulating a Canon RC-1 Remote
// Data from: http://www.doc-diy.net/photo/rc-1_hacked/
@@ -715,15 +725,15 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
// leaving it undefined or defining as 0 will disable the servo subsystem
// If unsure, leave commented / disabled
//
-//#define NUM_SERVOS 3 // Servo index starts with 0 for M280 command
+#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command
// Servo Endstops
//
// This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes.
// Use M206 command to correct for switch height offset to actual nozzle height. Store that setting with M500.
//
-//#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
-//#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 70,0} // X,Y,Z Axis Extend and Retract angles
+#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
+#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 115,0} // X,Y,Z Axis Extend and Retract angles
/**********************************************************************\
* Support for a filament diameter sensor
diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h
index 03d4e7d..ebc7427 100644
--- a/Marlin/Configuration_adv.h
+++ b/Marlin/Configuration_adv.h
@@ -68,14 +68,14 @@
// When first starting the main fan, run it at full speed for the
// given number of milliseconds. This gets the fan spinning reliably
// before setting a PWM value. (Does not work with software PWM for fan on Sanguinololu)
-//#define FAN_KICKSTART_TIME 100
+#define FAN_KICKSTART_TIME 100
// Extruder cooling fans
// Configure fan pin outputs to automatically turn on/off when the associated
// extruder temperature is above/below EXTRUDER_AUTO_FAN_TEMPERATURE.
// Multiple extruders can be assigned to the same pin in which case
// the fan will turn on when any selected extruder is above the threshold.
-#define EXTRUDER_0_AUTO_FAN_PIN -1
+#define EXTRUDER_0_AUTO_FAN_PIN 8
#define EXTRUDER_1_AUTO_FAN_PIN -1
#define EXTRUDER_2_AUTO_FAN_PIN -1
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
@@ -143,7 +143,7 @@
// Only a few motherboards support this, like RAMPS, which have dual extruder support (the 2nd, often unused, extruder driver is used
// to control the 2nd Z axis stepper motor). The pins are currently only defined for a RAMPS motherboards.
// On a RAMPS (or other 5 driver) motherboard, using this feature will limit you to using 1 extruder.
-//#define Z_DUAL_STEPPER_DRIVERS
+#define Z_DUAL_STEPPER_DRIVERS
#ifdef Z_DUAL_STEPPER_DRIVERS
#undef EXTRUDERS
diff --git a/Marlin/pins.h b/Marlin/pins.h
index 906522b..bd87cbc 100644
--- a/Marlin/pins.h
+++ b/Marlin/pins.h
@@ -1627,6 +1627,12 @@
#define Z_MIN_PIN 33
#define Z_MAX_PIN 32
+#ifdef Z_DUAL_STEPPER_DRIVERS
+ #define Z2_STEP_PIN 29
+ #define Z2_DIR_PIN 28
+ #define Z2_ENABLE_PIN 39
+#endif
+
#define E0_STEP_PIN 23
#define E0_DIR_PIN 22
#define E0_ENABLE_PIN 24
@@ -1635,9 +1641,11 @@
#define E1_DIR_PIN 25
#define E1_ENABLE_PIN 27
-#define E2_STEP_PIN 29
-#define E2_DIR_PIN 28
-#define E2_ENABLE_PIN 39
+#ifndef Z_DUAL_STEPPER_DRIVERS
+ #define E2_STEP_PIN 29
+ #define E2_DIR_PIN 28
+ #define E2_ENABLE_PIN 39
+#endif
#define LED_PIN 13
@@ -1690,7 +1698,7 @@
#define TEMP_BED_PIN -1
#define HEATER_BED_PIN -1
#else
- #define HEATER_BED_PIN 9 // BED
+ #define HEATER_BED_PIN 4 // PWM_1 //9 // BED
#if (TEMP_SENSOR_BED==-1)
#define TEMP_BED_PIN 7 // ANALOG NUMBERING - connector *K3* on RUMBA thermocouple ADD ON is used <-- this can not be used when TEMP_SENSOR_2 is defined as thermocouple
#else
@@ -1712,6 +1720,10 @@
#define BTN_EN2 12
#define BTN_ENC 43
+#ifdef NUM_SERVOS
+ #define SERVO0_PIN 5
+#endif
+
#endif // RUMBA
and what do you want me to do with this one??
actually a bit din doubt what this issue is.... i can see its a config file.... but are there a problem with marlin? if so is this how to fix it?
:) Ok, i found how to fix this manually abs(X_PROBE_OFFSET_FROM_EXTRUDER) should less or eq to delta value in LEFT_PROBE_BED_POSITION and RIGHT_PROBE_BED_POSITION. Similarly, for the Y-axis. For example, for my probe settings
#define X_PROBE_OFFSET_FROM_EXTRUDER -16.2
#define Y_PROBE_OFFSET_FROM_EXTRUDER 1.1
i should set
if this is a fix then sumbit a pull request against the development branch
do not make pullrequest to any other branch, we only use development branch for now
This make sense. Usually the measure area is way longer than the probe offset, so nobody else had reported such bug yet.
I will include this fix among others I'm working on..
Cheers.
Akex. Em 28/12/2014 09:24, "orangeudav" notifications@github.com escreveu:
:) Ok, i found how to fix this manually abs(X_PROBE_OFFSET_FROM_EXTRUDER) should less or eq to delta value in LEFT_PROBE_BED_POSITION and RIGHT_PROBE_BED_POSITION. Similarly, for the Y-axis. For example, for my probe settings
define X_PROBE_OFFSET_FROM_EXTRUDER -16.2
define Y_PROBE_OFFSET_FROM_EXTRUDER 1.1
i should set
define LEFT_PROBE_BED_POSITION (X_MIN_POS + 17) //15
define RIGHT_PROBE_BED_POSITION (X_MAX_POS - 17) //170
define BACK_PROBE_BED_POSITION (Y_MAX_POS - 2) //180
define FRONT_PROBE_BED_POSITION (Y_MIN_POS + 2) //20
— Reply to this email directly or view it on GitHub https://github.com/ErikZalm/Marlin/issues/1248#issuecomment-68204546.
@alexborro
which ones are you working on? those in the milestone i set last night?
Fixed.
2014-12-28 9:32 GMT-02:00 Bo Herrmannsen notifications@github.com:
@alexborro https://github.com/alexborro
which ones are you working on? those in the milestone i set last night?
— Reply to this email directly or view it on GitHub https://github.com/ErikZalm/Marlin/issues/1248#issuecomment-68204721.
"Não é o mais forte da espécie que sobrevive, nem o mais inteligente. É aquele que se adapta melhor as mudanças" ( Charles Darwin )
Alex Borro
:-D what else are you up to?
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
I test current versions of Marlin 45cfadc G29 command not working normal. I got more than one measure per point For 3x3 points field counts of measures is:
For 4x4 points field:
Config: