Welcome! Log In Create A New Profile

Advanced

MARLIN FIRM WARE RAMPS 1.4

Posted by khaiz21 
MARLIN FIRM WARE RAMPS 1.4
July 24, 2012 10:37PM
Greetings Everyone, I need help setting up pronterface axis motors using the latest marlin firmware. I currently am only getting the x,y,z axis to move in one direction, but if I unplugg the endstops I can move them in both directions. I'm following the ramps 1.4 diagram guide on WIKI.
Re: MARLIN FIRM WARE RAMPS 1.4
July 24, 2012 10:39PM
Either switch the endstop wires so that they are connected to common and NO (normally open), or change the endstop inverting in Marlin under configuration.h.


Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
Re: MARLIN FIRM WARE RAMPS 1.4
July 24, 2012 10:43PM
I have Inverted set to true on all axis and it just moves the opposite direction one way when I have the endstop plugged into the ramps 1.4 board according to the wiki diagram. For example the YAXIS moves in one direction but when I try to move the opposite way it says endstop hit.

Edited 1 time(s). Last edit at 07/24/2012 10:53PM by khaiz21.
Re: MARLIN FIRM WARE RAMPS 1.4
July 24, 2012 11:15PM
khaiz21 Wrote:
-------------------------------------------------------
> I have Inverted set to true on all axis and it
> just moves the opposite direction one way when I
> have the endstop plugged into the ramps 1.4 board
> according to the wiki diagram. For example the
> YAXIS moves in one direction but when I try to
> move the opposite way it says endstop hit.

Then set inverted to false. Or switch the wires on the endstops.


Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
Re: MARLIN FIRM WARE RAMPS 1.4
July 25, 2012 09:30AM
Have you tryied homming each axis?

I had the same problem at the begining. I have the endstops inverted in configuration and wired to the NC (Normaly closed) contact.

I could move all the axis forward but not to the home position manually. That's because the firmware resets the zero position and should be enabled that cannot go below zero on any axis.

Try to hit home button and post it here if it works.

Best regards


Ernesto Pareja

dcctrains.netne.net
Re: MARLIN FIRM WARE RAMPS 1.4
July 25, 2012 02:34PM
//// The following define selects which electronics board you have. Please choose the one that matches your setup
// Gen7 custom (Alfons3 Version) = 10 "https://github.com/Alfons3/Generation_7_Electronics"
// Gen7 v1.1, v1.2 = 11
// Gen7 v1.3 = 12
// Gen7 v1.4 = 13
// MEGA/RAMPS up to 1.2 = 3
// RAMPS 1.3 = 33 (Power outputs: Extruder, Bed, Fan)
// RAMPS 1.3 = 34 (Power outputs: Extruder0, Extruder1, Bed)
// Gen6 = 5
// Gen6 deluxe = 51
// Sanguinololu 1.2 and above = 62
// Melzi = 63
// Ultimaker = 7
// Teensylu = 8
// Gen3+ =9

#ifndef MOTHERBOARD
#define MOTHERBOARD 33
#endif



//===========================================================================
//=============================Thermal Settings ============================
//===========================================================================
//
//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
//
//// Temperature sensor settings:
// -2 is thermocouple with MAX6675 (only for sensor 0)
// -1 is thermocouple with AD595
// 0 is not used
// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
// 3 is mendel-parts thermistor (4.7k pullup)
// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan) (4.7k pullup)
// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
//
// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
// (but gives greater accuracy and more stable PID)
// 51 is 100k thermistor - EPCOS (1k pullup)
// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan) (1k pullup)

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 1
#define TEMP_SENSOR_2 1
#define TEMP_SENSOR_BED 1

// Actual temperature must be close to target for this long before M109 returns success
#define TEMP_RESIDENCY_TIME 10 // (seconds)
#define TEMP_HYSTERESIS 3 // (degC) range of +/- temperatures considered "close" to the target one
#define TEMP_WINDOW 1 // (degC) Window around target to start the recidency timer x degC early.

// 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

// 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!
// You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 275
#define HEATER_1_MAXTEMP 275
#define HEATER_2_MAXTEMP 275
#define BED_MAXTEMP 150


// PID settings:
// Comment the following line to disable PID and enable bang-bang.
#define PIDTEMP
#define PID_MAX 255 // limits current to nozzle; 255=full current
#ifdef PIDTEMP
//#define PID_DEBUG // Sends debug data to the serial port.
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104 sets the output power in %
#define PID_INTEGRAL_DRIVE_MAX 255 //limit for the integral term
#define K1 0.95 //smoothing factor withing the PID
#define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the

// If you are using a preconfigured 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

// Makergear
#define DEFAULT_Kp 7.0
#define DEFAULT_Ki 0.1
#define DEFAULT_Kd 12

// Mendel Parts V9 on 12V
// #define DEFAULT_Kp 63.0
// #define DEFAULT_Ki 2.25
// #define DEFAULT_Kd 440
#endif // PIDTEMP

//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
//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_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.

//===========================================================================
//=============================Mechanical Settings===========================
//===========================================================================

// Uncomment the following line to enable CoreXY kinematics
//#define COREXY

// corse Endstop Settings
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

#ifndef ENDSTOPPULLUPS
// fine Enstop settings: Individual Pullups. will be ignord if ENDSTOPPULLUPS is defined
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
#endif

#ifdef ENDSTOPPULLUPS
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
#endif

// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
const bool Y_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
const bool Z_ENDSTOPS_INVERTING = false; // set to true to invert the logic of the endstops.
//#define DISABLE_MAX_ENDSTOPS

// For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
#define X_ENABLE_ON 0
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define E_ENABLE_ON 0 // For all extruders

// Disables axis when it's not being used.
#define DISABLE_X true
#define DISABLE_Y true
#define DISABLE_Z true
#define DISABLE_E true // For all extruders

#define INVERT_X_DIR false // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR true // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR false // 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_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 Y_HOME_DIR 1
#define Z_HOME_DIR 1

#define min_software_endstops false //If true, axis won't move to coordinates less than HOME_POS.
#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_MIN_POS -200
#define Y_MAX_POS 205
#define Y_MIN_POS -200
#define Z_MAX_POS 40
#define Z_MIN_POS -40

#define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
#define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
#define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)

// The position of the homing switches. Use MAX_LENGTH * -0.5 if the center should be 0, 0, 0
#define X_HOME_POS -102.5
#define Y_HOME_POS -102.5
#define Z_HOME_POS -20

//// 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)

// default settings

#define DEFAULT_AXIS_STEPS_PER_UNIT {78.7402,78.7402,200*8/3,760*1.1} // default steps per unit for ultimaker
#define DEFAULT_MAX_FEEDRATE {500, 500, 5, 45} // (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.



Was able to get both axis moving in correct direction , but it won't home when I press the home button in pronterface.


SENDING:M119
x_min:L x_max:H y_min:L y_max:H z_min:H z_max:H
>>>m114
SENDING:M114
X:-102.50Y:1.00Z:0.00E:0.00 Count X:-102.50Y:1.00Z:0.00


echo:endstops hit: X:-1.98
echo:endstops hit: X:-1.97
echo:endstops hit: X:-1.96

Edited 1 time(s). Last edit at 07/25/2012 02:36PM by khaiz21.
Re: MARLIN FIRM WARE RAMPS 1.4
July 25, 2012 03:20PM
They should all display L until hit, Have you defined the pins correctly?

If you are homing towards the max then the max endstop pins need to be defined and I think the home positions should be positive, not negative.


[www.hydraraptor.blogspot.com]
Where do I define the PINS? How should I setup the settings? I'm using Ramps 1.4 Arduino mega 2560. I'm plugging in the pins according to the ramps 1.4 wiki wiring diagram.
hey guys! I managed to get SENDING:M119
x_min:L x_max:L y_min:L y_max:L z_min:H z_max:L

I commented out the following section and it changed all the motors to L so they are now homing when I press the home button in pronter face.



// Uncomment the following line to enable CoreXY kinematics
//#define COREXY

// corse Endstop Settings
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

//#ifndef ENDSTOPPULLUPS
// fine Enstop settings: Individual Pullups. will be ignord if ENDSTOPPULLUPS is defined
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
// #define ENDSTOPPULLUP_ZMAX
// #define ENDSTOPPULLUP_XMIN
//#define ENDSTOPPULLUP_YMIN
//#define ENDSTOPPULLUP_ZMIN
//#endif

//#ifdef ENDSTOPPULLUPS
// #define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
//#define ENDSTOPPULLUP_ZMAX
// #define ENDSTOPPULLUP_XMIN
// #define ENDSTOPPULLUP_YMIN
// #define ENDSTOPPULLUP_ZMIN
//#endif
I got one more question T:189.0 E:0 Wmoody smiley


What does the W mean?? I have one heat bed connected to D8

and extruder connected to D10

No fan
Re: MARLIN FIRM WARE RAMPS 1.4
July 25, 2012 04:42PM
W is the wait timer. It starts counting down when the extruder first reaches the target temperature. When it gets to 0 the machine starts.


[www.hydraraptor.blogspot.com]
Re: MARLIN FIRM WARE RAMPS 1.4
July 25, 2012 06:22PM
khaiz21 Wrote:

> #define min_software_endstops false //If true,
> axis won't move to coordinates less than
> HOME_POS.
> #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_MIN_POS -200
> #define Y_MAX_POS 205
> #define Y_MIN_POS -200
> #define Z_MAX_POS 40
> #define Z_MIN_POS -40
>
> #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
> #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
> #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
>
> // The position of the homing switches. Use
> MAX_LENGTH * -0.5 if the center should be 0, 0, 0
> #define X_HOME_POS -102.5
> #define Y_HOME_POS -102.5
> #define Z_HOME_POS -20
>

Just curious, why do you have -205, -40 and -102.5 in the settings above?

Regards
Jan
Sorry, only registered users may post in this forum.

Click here to login