Fixed small feedrate bug.

Copied Camiels comments in the Configuration.h file
master
Erik van der Zalm 13 years ago
parent 0024a26ccf
commit b5f6482dce

@ -15,15 +15,17 @@
//// Calibration variables //// Calibration variables
// X, Y, Z, E steps per unit - Metric Prusa Mendel with V9 extruder: // X, Y, Z, E steps per unit - Metric Mendel / Orca with V9 extruder:
float axis_steps_per_unit[] = {40, 40, 3333.92,76.2}; float axis_steps_per_unit[] = {40, 40, 3333.92, 67};
// For E steps per unit = 67 for v9 with direct drive (needs finetuning) for other extruders this needs to be changed
// Metric Prusa Mendel with Makergear geared stepper extruder: // Metric Prusa Mendel with Makergear geared stepper extruder:
//float axis_steps_per_unit[] = {80,80,3200/1.25,1380}; //float axis_steps_per_unit[] = {80,80,3200/1.25,1380};
//// Endstop Settings //// Endstop Settings
#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors #define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. // The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool ENDSTOPS_INVERTING = false; //set to true to invert the logic of the endstops const bool ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
// For optos H21LOB set to true, for Mendel-Parts newer optos TCST2103 set to false
// This determines the communication speed of the printer // This determines the communication speed of the printer
#define BAUDRATE 250000 #define BAUDRATE 250000
@ -49,10 +51,10 @@ const bool ENDSTOPS_INVERTING = false; //set to true to invert the logic of the
#define DISABLE_E false #define DISABLE_E false
// Inverting axis direction // Inverting axis direction
#define INVERT_X_DIR false #define INVERT_X_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true #define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false #define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true
#define INVERT_E_DIR true #define INVERT_E_DIR true // for direct drive extruder v9 set to true, for geared extruder set to false
//// ENDSTOP SETTINGS: //// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN // Sets direction of endstops when homing; 1=MAX, -1=MIN
@ -68,8 +70,8 @@ const bool ENDSTOPS_INVERTING = false; //set to true to invert the logic of the
//// MOVEMENT SETTINGS //// MOVEMENT SETTINGS
#define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E #define NUM_AXIS 4 // The axis order in all axis related arrays is X, Y, Z, E
float max_feedrate[] = {60000, 60000, 170, 500000}; float max_feedrate[] = {60000, 60000, 100, 500000}; // set the max speeds
float homing_feedrate[] = {1500,1500,120,0}; float homing_feedrate[] = {2400, 2400, 80, 0}; // set the homing speeds
bool axis_relative_modes[] = {false, false, false, false}; bool axis_relative_modes[] = {false, false, false, false};
//// Acceleration settings //// Acceleration settings

@ -33,7 +33,7 @@
#include "Marlin.h" #include "Marlin.h"
#include "speed_lookuptable.h" #include "speed_lookuptable.h"
char version_string[] = "0.9.2"; char version_string[] = "0.9.3";
#ifdef SDSUPPORT #ifdef SDSUPPORT
#include "SdFat.h" #include "SdFat.h"
@ -947,7 +947,7 @@ inline void get_coordinates()
void prepare_move() void prepare_move()
{ {
plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60); plan_buffer_line(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS], destination[E_AXIS], feedrate/60.0);
for(int i=0; i < NUM_AXIS; i++) { for(int i=0; i < NUM_AXIS; i++) {
current_position[i] = destination[i]; current_position[i] = destination[i];
} }
@ -1490,9 +1490,9 @@ void plan_buffer_line(float x, float y, float z, float e, float feed_rate) {
block->speed_x = delta_x_mm * multiplier; block->speed_x = delta_x_mm * multiplier;
block->speed_y = delta_y_mm * multiplier; block->speed_y = delta_y_mm * multiplier;
block->speed_e = delta_e_mm * multiplier; block->speed_e = delta_e_mm * multiplier;
block->nominal_speed = block->millimeters * multiplier; block->nominal_speed = block->millimeters * multiplier;
block->nominal_rate = ceil(block->step_event_count * multiplier / 60); block->nominal_rate = ceil(block->step_event_count * multiplier / 60);
if(block->nominal_rate < 120) block->nominal_rate = 120; if(block->nominal_rate < 120) block->nominal_rate = 120;
block->entry_speed = safe_speed(block); block->entry_speed = safe_speed(block);

Loading…
Cancel
Save