Welcome! Log In Create A New Profile

Advanced

Updated Marlin customized for Mendel90

Posted by neildarlow 
Re: Updated Marlin customized for Mendel90
January 28, 2016 11:36AM
*Problem solved*
** The fault was stupid me using a coma as a decimal point....**


Hello,

I have this version of Marlin in my Mendel90 and use it with a Paneloulu2 without problems since a year or so.

But now I was to change the home position and get errors. I followed the instructions in the first post in this thread, but it does not work.

Help..




Marlin.h:69: error: echomagic causes a section type conflict
Marlin.h:68: error: errormagic causes a section type conflict
Marlin_main.cpp:4394: error: __c causes a section type conflict
Marlin_main.cpp:4393: error: __c causes a section type conflict
Marlin_main.cpp:4381: error: __c causes a section type conflict
Marlin_main.cpp:4380: error: __c causes a section type conflict
Marlin_main.cpp:3894: error: __c causes a section type conflict
Marlin_main.cpp:3882: error: __c causes a section type conflict
Marlin_main.cpp:3872: error: __c causes a section type conflict
Marlin_main.cpp:3870: error: __c causes a section type conflict
Marlin_main.cpp:3598: error: __c causes a section type conflict
Marlin_main.cpp:3507: error: __c causes a section type conflict
Marlin_main.cpp:3499: error: __c causes a section type conflict
Marlin_main.cpp:3497: error: __c causes a section type conflict
Marlin_main.cpp:3496: error: __c causes a section type conflict
Marlin_main.cpp:3490: error: __c causes a section type conflict
Marlin_main.cpp:2789: error: __c causes a section type conflict
Marlin_main.cpp:2777: error: __c causes a section type conflict
Marlin_main.cpp:2769: error: __c causes a section type conflict
Marlin_main.cpp:2735: error: __c causes a section type conflict
Marlin_main.cpp:2733: error: __c causes a section type conflict
Marlin_main.cpp:2731: error: __c causes a section type conflict
Marlin_main.cpp:2728: error: __c causes a section type conflict
Marlin_main.cpp:2726: error: __c causes a section type conflict
Marlin_main.cpp:2724: error: __c causes a section type conflict
Marlin_main.cpp:2722: error: __c causes a section type conflict
Marlin_main.cpp:2713: error: __c causes a section type conflict
Marlin_main.cpp:2643: error: __c causes a section type conflict
Marlin_main.cpp:2554: error: __c causes a section type conflict
Marlin_main.cpp:2545: error: __c causes a section type conflict
Marlin_main.cpp:2543: error: __c causes a section type conflict
Marlin_main.cpp:2541: error: __c causes a section type conflict
Marlin_main.cpp:2523: error: __c causes a section type conflict
Marlin_main.cpp:2516: error: __c causes a section type conflict
Marlin_main.cpp:2487: error: __c causes a section type conflict
Marlin_main.cpp:2484: error: __c causes a section type conflict
Marlin_main.cpp:2482: error: __c causes a section type conflict
Marlin_main.cpp:2433: error: __c causes a section type conflict
Marlin_main.cpp:2400: error: __c causes a section type conflict
Marlin_main.cpp:2392: error: __c causes a section type conflict
Marlin_main.cpp:2384: error: __c causes a section type conflict
Marlin_main.cpp:2382: error: __c causes a section type conflict
Marlin_main.cpp:2380: error: __c causes a section type conflict
Marlin_main.cpp:2376: error: __c causes a section type conflict
Marlin_main.cpp:2374: error: __c causes a section type conflict
Marlin_main.cpp:2371: error: __c causes a section type conflict
Marlin_main.cpp:2369: error: __c causes a section type conflict
Marlin_main.cpp:2039: error: __c causes a section type conflict
Marlin_main.cpp:1927: error: __c causes a section type conflict
Marlin_main.cpp:1925: error: __c causes a section type conflict
Marlin_main.cpp:1914: error: __c causes a section type conflict
Marlin_main.cpp:1909: error: __c causes a section type conflict
Marlin_main.cpp:1907: error: __c causes a section type conflict
Marlin_main.cpp:1883: error: __c causes a section type conflict
Marlin_main.cpp:1379: error: __c causes a section type conflict
Marlin_main.cpp:856: error: home_dir_P causes a section type conflict
Marlin_main.cpp:851: error: base_min_pos_P causes a section type conflict
Marlin_main.cpp:855: error: home_retract_mm_P causes a section type conflict
Marlin_main.cpp:785: error: __c causes a section type conflict
Marlin_main.cpp:778: error: __c causes a section type conflict
Marlin_main.cpp:732: error: __c causes a section type conflict
Marlin_main.cpp:731: error: __c causes a section type conflict
Marlin_main.cpp:728: error: __c causes a section type conflict
Marlin_main.cpp:710: error: __c causes a section type conflict
Marlin_main.cpp:695: error: __c causes a section type conflict
Marlin_main.cpp:684: error: __c causes a section type conflict
Marlin_main.cpp:667: error: __c causes a section type conflict
Marlin_main.cpp:665: error: __c causes a section type conflict
Marlin_main.cpp:624: error: __c causes a section type conflict
Marlin_main.cpp:618: error: __c causes a section type conflict
Marlin_main.cpp:609: error: __c causes a section type conflict
Marlin_main.cpp:562: error: __c causes a section type conflict
Marlin_main.cpp:560: error: __c causes a section type conflict
Marlin_main.cpp:556: error: __c causes a section type conflict
Marlin_main.cpp:555: error: __c causes a section type conflict
Marlin_main.cpp:554: error: __c causes a section type conflict
Marlin_main.cpp:553: error: __c causes a section type conflict
Marlin_main.cpp:552: error: __c causes a section type conflict
Marlin_main.cpp:551: error: __c causes a section type conflict
Marlin_main.cpp:547: error: __c causes a section type conflict
Marlin_main.cpp:546: error: __c causes a section type conflict
Marlin_main.cpp:543: error: __c causes a section type conflict
Marlin_main.cpp:542: error: __c causes a section type conflict
Marlin_main.cpp:541: error: __c causes a section type conflict
Marlin_main.cpp:540: error: __c causes a section type conflict
Marlin_main.cpp:539: error: __c causes a section type conflict
Marlin_main.cpp:534: error: __c causes a section type conflict
Marlin_main.cpp:448: error: __c causes a section type conflict
Marlin_main.cpp:446: error: __c causes a section type conflict
Marlin_main.cpp:433: error: __c causes a section type conflict
Marlin_main.cpp:431: error: __c causes a section type conflict

Edited 1 time(s). Last edit at 01/28/2016 12:09PM by amr_dwarf.
Re: Updated Marlin customized for Mendel90
January 28, 2016 07:11PM
I like the idea behind the Thermal Run Away code to add a bit of safety, but I was having issues with it. Namely, I warm the bed part of the way before I move the hot end into position to finish the warm up process. Doing so would trigger the a Thermal Run Away since the difference in temperature was greater than the threshold and the bed cannot close the gap fast enough. I could have tweaked the settings, but that would just handicap the protection itself. Instead, I submitted a pull request to your github code which allows the temperature to be changed after the initial warming phase. If at any point the intended temperature changes, the Thermal Run Away process will fall back to the warming phase until the targeted temperature is reached. This allows for intentional changes during the printing process, but will still trigger the protection in the event of a sensor issue.

I should note that this does introduce the possibility of a Thermal Run Away if a problem occurs during an intended temperature change. This condition is already possible at the beginning of a print, but it could not easily occur during the print. (Technically, it could be done by turning the heater off to reset the Thermal Run Away Protection and turning it back on at a higher temperature.) The correct solution to this is not in the existing Thermal Run Away code but to add limits and expected outcomes to the code responsible for monitoring temperature changes during an intentional temperature change. [e.g. if (current_temp < previous_temp and current_temp < target_temp) or (time_passed_for_change > reasonable_time_for_temp_difference): something is wrong.]

[github.com]
Re: Updated Marlin customized for Mendel90
January 29, 2016 12:43AM
Runaway protection is pointless for a PCB bed heater and will just cause problems. The temperature is self limiting because the resistance of copper increases with temperature. It will max out at about 135C when driven with 12V, so nothing bad happens.


[www.hydraraptor.blogspot.com]
Re: Updated Marlin customized for Mendel90
January 29, 2016 12:35PM
That's fair for a PCB bed heater; I just used it as an example. The code change applies to all heaters, however. The default of being unable to recover 4 degrees on a hotend in 40 seconds is too much in my opinion. If I can't recover 4 degrees in a fraction of that time, it may not be a runaway issue, but something is wrong.

Like I said, the right way to really do this would be adding options to configure settings for each heater and have the code realize that current behavior is outside of realistic limits and/or dangerous.
Re: Updated Marlin customized for Mendel90
January 29, 2016 03:50PM
I don't use that code because it is more trouble than it is worth unless you use 40W heater cartridges, in which case you need it because they can burn your house down.


[www.hydraraptor.blogspot.com]
Re: Updated Marlin customized for Mendel90
April 17, 2016 02:22AM
Hi,

I am currently trying to update to the latest Marlin 1.1 RC branch and use the current Arduino Version. To get there, I merged neildarows code with the current stable release of Marlin (1.0.2-1). Seems to works fine for me. If anyone is willing to test the code just send me a pm.

When Marlin 1.1 and Arduino 1.6.8 is working for me, I will publish the code at github (@neildarow: maybe I can reuse your repo?)

Regards
Re: Updated Marlin customized for Mendel90
April 19, 2016 06:22AM
Hi,

When Marlin-1.1.0 is released I will produce another branch for the Mendel90.

The problem in doing this is that Arduino-1.0.x will not build the Marlin-1.0.x and later code but Marlin-1.1.0 will require Arduino-1.6.8 or later. This means that I will have to transition to a newer Arduino and support of the old fork will likely cease.

I am still using my Mendel90 but much of my current efforts are going into developing my own dual-extruder printer. Not much to say about it right now except that it will be opensource and designed to be built by enthusiasts. The electronics will be custom and I cannot see them being home-built however.

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: Updated Marlin customized for Mendel90
April 20, 2016 02:29AM
Hi Neil,

how do you integrate the Melzi board into Arduino?


MfG / Regards

Stefan

Blog / Gallery / Wiki / Mendel90 kit since Sep 2013 from Nophead
OpenScad Workshop: Kursdateien
Octoprint Patron since April 2016
Re: Updated Marlin customized for Mendel90
April 21, 2016 09:15AM
Hi,

The Melzi is just one of many boards supported by Marlin. It is just a case of providing the relevant numerical define for what Marlin calls the Motherboard.

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: Updated Marlin customized for Mendel90
May 19, 2016 03:10AM
Quote
neildarlow
Hi,

When Marlin-1.1.0 is released I will produce another branch for the Mendel90.

The problem in doing this is that Arduino-1.0.x will not build the Marlin-1.0.x and later code but Marlin-1.1.0 will require Arduino-1.6.8 or later. This means that I will have to transition to a newer Arduino and support of the old fork will likely cease.

I am still using my Mendel90 but much of my current efforts are going into developing my own dual-extruder printer. Not much to say about it right now except that it will be opensource and designed to be built by enthusiasts. The electronics will be custom and I cannot see them being home-built however.

Regards,
Neil Darlow

May I ask why the Mendel90 version needs to be permanently branched? I'm seriously out of date, but when I last looked the differences seemed to be some hardcoded differences for z home direction and so forth. Could those not be merged upstream as build options?
Re: Updated Marlin customized for Mendel90
May 19, 2016 04:16AM
Hi,

It could possibly be supported in the example configuration files directory. It really depends on what future interest there is for the Mendel90.

I am happy with my Mendel90 using the firmware at its present level. Many of the recent changes to Marlin involve code re-factoring and newer features which the Mendel90 does not support without modification.

The bed levelling code is known to work because I configured it for a friend who has a Prusa i3 with Panelolu2 and he is happy with it (3-point levelling only).

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: Updated Marlin customized for Mendel90
October 31, 2016 01:21PM
Hi All,

I have added a new branch to my Github Marlin Repository named Mendel90_RC.

This branch has originated from Marlin-1.1.0-RC7 and I intend to use it to follow future RC versions with tagged stable releases as they occur.

There are a few items that you should be aware of in setting-up for, and using, this branch:
  1. Arduino IDE 1.6.0 or later is required
  2. The Melzi support files structure has changed
  3. The format of Configuration.h and Configuration_adv.h has changed significantly
  4. This firmware is literally a re-configuration of standard Marlin
I am currently building this firmware with Arduino IDE 1.6.4. It might be possible to use a later version but please be aware that the very latest version often contains bugs. Please test thoroughly before raising bug reports.

After selecting the Mendel90_RC branch from the Github Repository web interface you may either clone or download a zipfile of the repository content.

Three folders are of interest:
  • ArduinoAddons/hardware/melzi
  • ArduinoAddons/libraries/LiquidTWI2
  • Marlin
ArduinoAddons/hardware/melzi should be copied into your Arduino/hardware folder.
ArduinoAddons/libraries/LiquidTWI2 should be copied into your Arduino/libraries folder.
Marlin should be copied into your Arduino folder.

The functionality of this firmware is similar to my previous version and only requires editing of Z_HEIGHT_MM and E_STEPS_PER_MM expressions located towards the top of Configuration.h. Panelolu2 support is included as before.

There are a number of new features in this version:
  1. X, Y and Z coordinate display is reverted to 1mm resolution. The axis labels blink to indicate an un-homed condition
  2. Thermal runaway protection is enabled by default
  3. Cooling fan kickstart and minimum fan speed are set so that cooling fan speed control is possible
  4. Z axis Baby-stepping is enabled to permit on-the-fly adjustment of first layer height at 0.01mm resolution
  5. Completely revised Panelolu2 menu structure with access to many operational settings which may be adjusted and stored in EEPROM
  6. Progress bar display of print progress on Panelolu2 LCD display
  7. Lots of experimental features which are defaulted to off due to a need to configure their operation

If you have made additional customisations to Configuration.h or Configuration_adv.h please merge them into my new versions. Do not attempt to use files from an earlier version of Marlin - they are not compatible due to changes in configuration macro names and additions.

In order to make support of different Melzi versions possible the Melzi board choice is presented under the heading Melzi AVR Boards of the Board menu item as Melzi 1.0/2.0 hybrid. This describes nophead's Melzi as shipped with his Dibond kits i.e. an Ardentissimo-style board with ATmega-1284p microcontroller running at 16MHz.

Please enjoy testing this version of Marlin and be aware that, as this is a specific configuration of standard upstream Marlin, any bugs should be reported to the Marlin project.

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: Updated Marlin customized for Mendel90
November 16, 2016 03:28AM
Hello!

I own a Mendel 90 dibond.
I want to try this firmware, but i also want to install an auto-bed-levelling-system.
Did someone already do that?

Regards,
Holger
Re: Updated Marlin customized for Mendel90
November 25, 2016 08:23AM
I have Marlin rc7 running in my Mendel90 (converted to RAMPS).
It's actually pretty easy, just 5 minutes messing with a configuration file...
Re: Updated Marlin customized for Mendel90
December 23, 2016 09:30AM
Today I finally got around to install the latest Marlin by Neil Darlow.
Some minor quirks to iron out before I got it working.
Now its time to change from the very outdated Slic3r to a more modern slicer software.

A question to those who are more used to use the Paneloulou with their printers. How do I set the Z-height from the control panel? Or do I have to use the Z-offset, and how do I set that?
Re: Updated Marlin customized for Mendel90
December 25, 2016 02:29PM
Now I have tried a few test prints with the new firmware.
It works well. Cannot see any change in print quality. I guess that is more down to the slicer.
What I do see is much more stable temperatures both bed and nozzle. Almost no over shoot at warm up.
Re: Updated Marlin customized for Mendel90
December 27, 2016 02:03AM
Hi,

I believe there was a bug in the PID code which was fixed. The initial overshoot is much reduced particularly if you use the PID autotune on the extruder and bed.

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.
Sorry, only registered users may post in this forum.

Click here to login