Latest Firmware for TAZ5 - advanced development version

Yep-

I too have gone back to stock.

If LulzBot released an official firmware with this tweak, that would be great. Especilly if they could figure out how to do some kind of smoothing alg. that would allow for less frequent adjustments leading to stepper chatter and vibration. I also really like the firmware retraction, having a seperate un-retract speed can be great for preventing blobs.

Best,
J

Well after waiting and hoping Sebastian would return and enlighten us with a new build, and unfortunately not hearing from him for a while, I have compiled the latest Marlin version (1.1.0 RC7).

I’m not going to post it here because it has specific tweaks to my machine (zprobe and auto leveling) but i will say that initial impressions are positive. I’ll continue to do testing. If anyone wants a copy of the build please PM me. Remember, I am using a very heavily modified Taz so unless you have followed my path, this build may / will not work for your machine.

Interesting. What relative settings are you using for retract/unretract that have helped blobs? I’m considering giving this firmware another go. Thought I’d print an extruder gear set out of nylon to see if that helps dampen the noise and vibration a bit.

Hi-

I use(d) a slower unretract than retract…for ABS or PLA I’d retract at 25-30 and unretract at 6-12. Only need about .35 retract if the K value is dialed in well. Hard to say if the FW retraction was what helped blobs or if it is merely the nozzle pressure reduction at the end of a line and before a move due to the Linear Advance function.

J

Well i’ve reverted to my previous build for now. I had FW retraction working well, but for some reason the Z axis was skipping steps and not respecting accelerations values.

I’ve been doing some reading, and it seems like perhaps further improvement to the linear advance function may be impractical with the current controller hardware. A Smoothieboard or Duet would have extra resources to devote to the computation overhead, but I think the ATMega2560 is pretty much tapped out as it is. I’m not a programmer, but I’ve seen this statement repeated several places.

I’m not sure if Smoothieware or the RepRap firmware for the Duet offer any pressure control/advance functions. If so, I might start heading towards a brain transplant in my Taz.

Hi everyone, and sorry for the long time away! I went to the Marlin Github project to get the LIN_ADVANCE code into the main Marlin branch and somewhere this forum was off my mind… :blush: I hope I will now be here again on a regular time intervall!

To give you a short summary, the Advance feature is now inside the official Marlin code and there was a lot of changes since the last posted .hex files here. That means, for everyone who want’s to use it or add further features: Just get a copy of the [and go through Configuration.h and Configuration_adv.h files using your existing files from the current firmware as a reference.

There are a lot of new features inside Marlin now compared to the Lulzbot stock FW, which will also result in smoother printing inside high-resolution arc perimeters for example. It’s worth giving it a try - and of course don’t forget to test LIN_ADVANCE :wink:

Important Note:
If you use the latest Marlin Code, you need another K value due to a changed alorithm. Instead of the 75, it might be somwhere around 110 for a TAZ 5. Also read the [url=http://marlinfw.org/docs/features/lin_advance.html]Documentation](https://github.com/MarlinFirmware/Marlin/tree/RCBugFixMarlin%20RCBugFix%20branch[/url) for further infos.

This makes me so excited, thanks Sebastian! I haven’t compiled FW for the Taz before - it’s been a couple years since I config’d Marlin and compiled a hex, but this is a great reason to relearn.

Can I use most of the settings from Lulzbot’s latest config.h?

Yes I think so. Just open both files in an editor side by side and go through them. Some options will be new or reordered, but it shouldn’t be too hard.

Thanks Sebastian so great to have you back! I was using an older version of your updated fw for taz (I think it’s the second one in this thread) and while really good leaves the occasional blob. The later ones had other problems can’t recall what they were anymore. So I am hopeful this newest version will fix all of that. Either way I’ve gotten MUCH better prints with any of the fw from this thread vs the stock one from Lulzbot which frankly produces terrible prints.

If anyone compiles the new Marlin for a Taz 5 before I get to it, I’d appreciate a post of the config’d source files or .hex.

I went back to stock FW for a while because of the grinding noises during tight curves, but ended up going back to Sebastian’s .hex because the results were so nice. A few minor bugs (heating failures after cancelling and restarting a print is the only one I can think of right now) but overall it’s awesome. Can’t wait to test drive the new one. What other new features have been rolled in? Can K be tweaked via LCD menu?

EDIT NEVERMIND NONE OF THOSE INCLUDES ARE ALLOWED IN THIS VERSION.


Sebastian I have been going through the configuration.h and _adv.h of the latest bugfix branch to change all the values to Taz 5 and I just noticed in the _adv.h you include conditionals.h twice (I am going by your second firmware posted in this thread). Once in the beginning of the _adv.h file and once at the end followed by sanitycheck.h

This seems odd. Is this correct? I am not a programmer but it seems strange to me but perhaps it’s normal.

I have it almost working except once I begin heating the extruder if I select the prepare menu it is blank. If extruder heat is off I can access the prepare menu. odd huh?

Any idea how I screwed up?

For complete Marlin, it’s best to read through the changelog provided in the releases section, see here.
I was mostly active inside the planner and stepper code, a little bit about the LCD display also. For the end user, the changes are a higher possible step rate due to a smarter display update routine (it was blocking the segment planner before sometimes) - AnHardt did the most work here.
Some bugs got fixed in the LIN_ADVANCE code, mainly the junction speeds between two segments had errors. For example, Line 1 was able to end with a extruder speed of 5mm/s and the next startet with 10mm/s. This is of course not wat happens in reality and it was one source of extra-rattling from the extruder. Other things are speed related, the code as it is now runs faster.
K is still not accessible over the LCD menu because it makes not much sense in my eyes. It depends on the used printing material, so it’s better to enter a line like “M905 K110” in the start-gcode section of your slicer. This way, you will have a propper K value when you switch from PLA to ABS for example.

How do you heat the extruder to get this error, by selecting the material over the menu or by sending a heat and wait command? I can’t reproduce it here, but I’m also not using the heat and wait thing. If it’s related to this only, I guess it’s a bug inside Marlin and than it should go on the GitHub page.

@billyd, just found this PR #5647 on Marlin GitHub. Sounds like your menu bug and a fix for it :slight_smile:

Thanks I was too tired to look for it last night I was going to try today but you saved me the trouble!

I still have one other issue though my test print is stopping suddenly after an initial priming brim run. As soon as it makes two passes on a perimeter brim and moves to print the actual part my extruder squeeks and the print abruptly stops. This one might take awhile to figure out.

Edit: In the new version, the max extrude length is set to 200 but in prior versions on your config.h you had it set equal to the sum of max x + max y or something along those lines. Which should I use?

I have a question about the replacement code above. Why are you replacing G1…F6000’s? Shouldn’t you be only replacing retract commands which would only have F1800?

Why wouldn’t you have, instead:

{REPLACE "G1 E-1.0000 F1800\n" "G10\n"}
{REPLACE "G1 E0.0000 F1800\n" "G11\n"}

Regarding the max. extrusion length, I never changed it. If it was something different before, it should be a Lulzbot default setting. 200mm should be also more than enough.

As soon as it makes two passes on a perimeter brim and moves to print the actual part my extruder squeeks and the print abruptly stops.

Do you get a error message on the LCD or in Cura / Pronterface serial console? Does this also happen with LIN_ADVANCE disabled?
The gCode of this section would be intresting. I guess it has something todo with the retract / prime move that will happen at the end of this travel move. Do you use HW or normal retract?

No error message and no indication of anything wrong other than everything just stops. I have lin_advance off because I have to calibrate it still and at k = 110 it barely extrudes anything (looks like about 50% of the material is coming out of the extruder, maybe less). Using FW retract but I would appreciate an answer about the search and replace codes to convert G1 to G10 and G11 in my recent post. I was wondering why he wants to replace rapid moves with G10 or G11. Seems weird.

Anyway I will post the gcode later I am at work right now. Also I think the progress bar didn’t appear now that I think about it so I may have some more thing to uncomment that I missed. I was blearly eyed, it’s tedious work getting the .h files correct for the Taz 5.

Fixed everything got it printing but I can’t get lin_advance to extrude anything. Obviously doing something stupid

Never mind it all works now. Just being stupid as I thought.