Welcome! Log In Create A New Profile

Advanced

Marlin RAMPS 1.4 Mendel90

Posted by Miterez1 
Marlin RAMPS 1.4 Mendel90
January 20, 2014 03:52PM
Wow, I'm finally at the stage of setting up the firmware.

I have several questions and just want to verify some setting changes that I have made to get started. I downloaded the latest version of Marlin and used nophead's Marlin configuration (https://github.com/nophead/Marlin/blob/Marlin_v1/Marlin/Configuration.h) as a guide to my setup.

My main concern right now is checking that I have the endstops setup correctly. Currently I have my Z-axis endstop plugged into the Z-Max on the Ramps board. I have also created a jumper for Z- between signal and ground. Z_HOME_DIR has been set to 1. As far as I'm aware this is correct, right? I'm using the response by nophead made in this thread: [forums.reprap.org]
Do I also need jumpers for x+ and y+?

I noticed that the newer Marlin firmware uses MIN and MAX INVERTING for X,Y, and Z. Should they all be set to false?

I have also copied all of the settings from nophead's Marlin regarding feedrate, acceleration, and jerk for my initial setup.

#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 ignored 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_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS

// Disable max endstops for compatibility with endstop checking routine
#if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
  #define DISABLE_MAX_ENDSTOPS
#endif

// 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 false
#define DISABLE_Y false
#define DISABLE_Z false
#define DISABLE_E false // For all extruders

#define INVERT_X_DIR false    // 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 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 Y_HOME_DIR -1
#define Z_HOME_DIR 1

#define min_software_endstops true // 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 100
#define X_MIN_POS -100
#define Y_MAX_POS 100
#define Y_MIN_POS -100
#define Z_MAX_POS 170  //This is just an initial setting so I don't crash the head. THIS WILL NEED TO BE ADJUSTED.
#define Z_MIN_POS 0

#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)
Re: Marlin RAMPS 1.4 Mendel90
January 20, 2014 06:29PM
The unused limit switch inputs on RAMPS either need to be jumpered to ground or their pins set to -1 in pins.h.

Yes all the endstop inverting lines should be false for normally closed switches wired to ground. They are pulled high by the pullup when the switch is triggered.


[www.hydraraptor.blogspot.com]
Re: Marlin RAMPS 1.4 Mendel90
January 21, 2014 02:43AM
You hint that you might be using official Marlin instead of nophead's fork.

If that is the case, you might want to look at #define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used. I enable this define with my use of official Marlin.

Regards,
Neil Darlow


I try to write with consideration for all nationalities. Please let me know if something is unclear.
Printing with Mendel90 from fedora 25 using Cura, FreeCAD, MeshLab, OpenSCAD, Skeinforge and Slic3r tools.
Re: Marlin RAMPS 1.4 Mendel90
January 21, 2014 03:55PM
Ok, I made some serious progress(at least I think it's progress).

Jumpers were put in for all of the necessary limit switches.
Got everything up and running. Ran through the checklist according to the Mendel90 pdf. No problems here.
I leveled the bed using the piece of paper method.
I skipped over the extruder calibration for the time being until I can bum some filament from a friend.

My issue is finding where I'm supposed to change Z_HOME_POS in configuration.h FWIW, I used a 7.91mm steel rod with the extruder just touching. Ran M114 which gave a Z reading of 16.30E. Now, I just need to know where this setting needs to be made in the official Marlin release so I can subtract the 8.39 from Z_HOME_POS. Do I use #define Z_MAX_POS or #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)? Obviously, this newbie is confused.

neildarlow, is this why you're referring to: #define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used.

If I am supposed to use MANUAL_HOME_POSITIONS, any little bit of guidance would be appreciated.confused smiley
Re: Marlin RAMPS 1.4 Mendel90
January 21, 2014 05:17PM
You could have saved yourself a lot of hassle by using the firmware I distribute. It will run on RAMPS with just the jumpers on the extra limits switch inputs.

It is an old version of Marlin, but there are no changes since that will print any better. They simple support more versions of hardware and have more bugs.


[www.hydraraptor.blogspot.com]
Re: Marlin RAMPS 1.4 Mendel90
January 21, 2014 05:34PM
I'm thinking the same thing. I will just use your fork instead. I do have an lcd from reprap discount and sd card for my ramps. As long as I can use those I'm switching over.

The same could be said if I were to do the whole thing over again, I definitely would have just purchased your entire kit. But, then I would not have enjoyed all of the headache trying to source the parts myself.
Re: Marlin RAMPS 1.4 Mendel90
January 21, 2014 09:53PM
I could never get nopheads fork to run my reprap discount lcd, it just seemed to cause a loop when ever I tried to enable an LCD. I gave up and used the most recent version and got it working after a lot of head scratching. I could upload my version if you like and you could use something like "winmerge" to compare the two files for differences.
Re: Marlin RAMPS 1.4 Mendel90
January 21, 2014 10:15PM
I would definitely appreciate seeing what you've got.

Honestly, if it ends up being too much of a hassle to deal with the lcd I will probably go with nophead's version for now.
Re: Marlin RAMPS 1.4 Mendel90
January 21, 2014 11:38PM
I quite like the LCD, i can print without being connected to the PC. It's also good for tuning, you can adjust the speed, acceleration etc on the fly.
This configuration.h has the 0 point of the bed in the corner rather than the center because I couldn't figure out how to make the LCD display negative numbers.
Hope this is of some help.
Oh and winmerge again because it was great for seeing how my config differed from nopheads
Attachments:
open | download - Configuration.h (20.3 KB)
open | download - Configuration_adv.h (14.3 KB)
Re: Marlin RAMPS 1.4 Mendel90
January 22, 2014 06:03AM
Quote
Miterez1
neildarlow, is this why you're referring to: #define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be used.

If I am supposed to use MANUAL_HOME_POSITIONS, any little bit of guidance would be appreciated.confused smiley
I was deliberately vague in my explanation because merging nophead's changes into current Marlin is not entirely trivial and if you do attempt it then you should be prepared to investigate how settings are handled by the code.

In a word, yes. If you do not use MANUAL_HOME_POSITIONS then Marlin attempts to determine the {X,Y,Z}_MIN_POS and {X,Y,Z}_MAX_POS based on axis length and bed origin. By enabling this #define you specify MANUAL_{X,Y,Z}_HOME_POS values and Marlin sets {X,Y,Z}_HOME_POS from those (see Configuration_adv.h).

Regards,
Neil Darlow


I try to write with consideration for all nationalities. Please let me know if something is unclear.
Printing with Mendel90 from fedora 25 using Cura, FreeCAD, MeshLab, OpenSCAD, Skeinforge and Slic3r tools.
Re: Marlin RAMPS 1.4 Mendel90
January 26, 2014 03:00AM
Well I made it!!!!!!!!!drinking smiley

A big thank you to isolt. Your files pushed me a little bit closer to the finish line after I made some tweaks for calibrating my Mendel90. Of course then I had to do some reading up on Slic3r, but I printed my first piece.

Below are the results. I printed the 20mm cube so that I could measure how much I'm off on the print using my current settings. The issues to be resolved are that Z needs tweaked .50mm, I had some lifting from the heated bed(increase the temp of the heated bed possibly?), looks as if it shifted to one side throughout the entire print, on the initial print the hot end is hitting the screw at the back right(assume facing the front of the machine) I'm using isolts config. files so I'm guessing something needs adjusted for the 0 location, perhaps overall printing dimensions? . Here are some stats:

.4 J-Head IV B hotend
Filament measured at 2.93mm

Some Slic3r settings that may help inform:
Extruder temp. 1st layer 210° others 205°
Bed 1st layer 65° others 60°





Front View. Odd shifting...


Layer 1 Detail (Black marking indicates the front of the cube when viewing the part set on the printer)


Odd layer about half way up.


Edited 1 time(s). Last edit at 01/26/2014 09:53AM by Miterez1.
Re: Marlin RAMPS 1.4 Mendel90
February 04, 2014 04:46PM
Why is it that Marlin by default has the Max pins "on" and not off (-1) for Ramps if like nophead stated they need to be grounded or disabled. I was talking support from a printer company and they stated that the max pins do not need to be disabled when not in use. If I was to wire the endstops to NO would I have to disable the max pins then? Sorry for so many question I'm just trying to understand how this is working. Also what would the firmware and ramps hookup be if I used a hall-o endstop?

Edited 1 time(s). Last edit at 02/04/2014 04:56PM by Carson1616.
Sorry, only registered users may post in this forum.

Click here to login