Jump to content
Ultimaker Community of 3D Printing Experts
Pharao274

Cura/firmware/eeprom

Recommended Posts

Hi all 3d printer gurus.

I have just extended my 3d printer and tried to change this gcode in cura 16.021:

;End GCode

M104 S0 ;extruder heater off

M140 S0 ;heated bed heater off (if you have it)

G91 ;relative positioning

G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure

G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more

G28 X0 Y0

G90

G1 Z170 ;move X/Y to min endstops, so the head is out of the way

M84 ;steppers off

G90 ;absolute positioning

;{profile_string}

to gcode:

;End GCode

M104 S0 ;extruder heater off

M140 S0 ;heated bed heater off (if you have it)

G91 ;relative positioning

G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure

G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more

G28 X0 Y180

G90

G1 Z370 ;move X/Y to min endstops, so the head is out of the way

M84 ;steppers off

G90 ;absolute positioning

;{profile_string}

But my printer does not go into x0 y180 z370, the printer still goes to x0 y0 z170 and not x0 y180 z370.

I just hope anyone is good at gcode and will help me with this.

Thanks in advance.

Share this post


Link to post
Share on other sites

Marlin has a feature called "software endstops". This sets the print volume. You need a custom version of Marlin to get this to work.

For example in the code below from Configuration.h you would change the 200 to something larger:

 

#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 205#define X_MIN_POS 0#define Y_MAX_POS 205#define Y_MIN_POS 0#define Z_MAX_POS 200#define Z_MIN_POS 0

 

Share this post


Link to post
Share on other sites

What kind of printer is this? Do you have the marlin settings for your printer? Did you build your own Marlin? Who built the marlin for you? You really need to get the source code of the Marlin for your particular printer and then modify just the Z max pos.

If you are terrified of building Marlin you *might* be able to use this but only if you have a UMO style printer:

https://marlinbuilder.robotfuzz.com/

Share this post


Link to post
Share on other sites

@gr5

I have a Wanhao duplicator i3 Plus, that uses reprap (marlin/sprinter) in cura.

I got it to go to Y180 when I removed the line G91 ;relative positioning and I am beginning to think that there are settnings in the eeprom, that I have to change to get the printer to go to Z370 from Z180, since I tried to use the LCD display to move the Z axis and it would not go higher than 180mm.

I have a spare mainboard, that had trouble with the heatbed (known problem with early Wanhao), so if I somehow can get connected to the eeprom, I can/will play around with it, if it absolutly needed.

Another just small question, where do I find Configuration.h?

And after 3 days trying to solve the problem I am thinking about buying this:

https://www.amazon.co.uk/OSOYOO-Printer-Controller-Stepper-Heatsink/dp/B0111ZSS2O/ref=pd_sbs_107_1?_encoding=UTF8&psc=1&refRID=6ABJH72MDSEH7PN2HJ6C and hope it supports my power supply.

Share this post


Link to post
Share on other sites

By law if someone modifies Marlin and sells it or gives it away in a printer they have to supply the source code upon request. So ask Wanhao for the source code. Configuration.h is one of about 20 source files. Oh - I think this is it:

https://github.com/garychen99/Duplicator-i3-firmware

Anyway below instructions are for Ultimaker original but should be identical instructions for wanhao except for the source code which you get at the above link.

================

BUILDING MARLIN

thermistor tables:

https://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/thermistortables.h'>https://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/thermistortables.h'>https://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/thermistortables.h'>https://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/thermistortables.h

First get the source code.

UMO files here:

https://github.com/ErikZalm/Marlin

Then edit Configuration.h – this is by far the hardest step and it's not bad. I recommend you go here:

http://marlinbuilder.robotfuzz.com/

or

https://bultimaker.bulles.eu/

and use that website only to get the Configuration.h file. Then run winmerge or some other diff program to compare the latest ErikZalm version of Configuration.h to the one from robotfuzz which is usually a few months behind. Edit the ErikZalm version to match the robotfuzz generated version. Make any other edits as necessary. It sound complicated but it is extremely clear and well commented. Sometimes with paragraphs of explanation.

configuration.h file detailed explanation:

http://airtripper.com/1145/marlin-firmware-v1-basic-configuration-set-up-guide/

Then you need to build Marlin. There are instructions that come with the erik zalm download in the "README.md" text file.

Basically you download and install arduino ide:

http://arduino.cc/en/main/software

Then copy the sanguino software as explained in README file. Open Marlin.ino file in Arduino IDE by double clicking it (not pde file as stated in README - I think that's old). Select board as "Mega 2560" as explained in README file. Go to "file" "preferences" and select "verbose output" so you can find your hex file. Then build it by clicking the check box in the upper left corner. At the bottom you will see it compiling Marlin. At the end of this it says where the hex file is. If you are currently connected to your UM through USB you can just click "file" "upload" and you are done! But you should locate that hex file and save it somewhere along with the Configuration.h file used to create it so you can recreate the same version with maybe one change. Also you can upload the hex file using Cura in expert menu.

The actual ultimaker firmware is built with make file and doing it that way generates a smaller more compact firmware but doing it through the IDE works fine. I've done it many times.

Alternatively you can build Marlin with somewhat more detailed step by step instructions the command line way (which I don't prefer):

http://www.extrudable.me/2013/05/03/building-marlin-from-scratch/

Share this post


Link to post
Share on other sites

I tried to use arduino 1.8.1 and it failed to make the hex file, because of some errors.

After lokking for the errors on google one had succes with Arduino 1.0.6, I tried it and I got my hex file, updated the new firmware with cure and used the file.

I made a testprint and the printer went to z370 as it should.

Thanks for all the help.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Our picks

    • Introducing Ultimaker Cura 3.6 | Beta
      Ultimaker Cura 3.6 | Beta is available. It comes with new features, bug fixes, and UX improvements. We would really like to have your feedback on it to make our stable release as good as it can be. As always, you can download the beta for free from our website, for Windows, MacOS, and Linux.
        • Like
      • 69 replies
    • Print Core CC | Red for Ruby
      Q: For some users, abrasive materials may be a new subject matter. Can you explain what it is that makes a material abrasive when you are not sure which print core to use?
      A: Materials which are hard in a solid piece (like metals, ceramics and carbon fibers) will generally also wear down the nozzle. In general one should assume...
        • Like
      • 21 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!