Would you mind if I use your source to try out a few ideas on better Z axis control. I could create my own fork but Id rather be part of a team all working on different sections. I’m just starting to dig into the movement routines and have seen a few holes that should not be that difficult to address. The biggest problem I see is missed steps on the Z axis are not corrected, if at all, until the next Z position command at the start of a new layer. I see no reason the start of each line can’t have an absolute Z value, giving the printer a change to to correct at the next line segment instead of ruining the entire layer, and often the whole print. I also discovered that is there are less than 5 Z steps they are ignored until the next movement block. This seems to me to inherently propogate errors. Ideally I’d like to see a method to sanity check All axis’s against a another model, perhaps built using a rotary encoder to maintain an actual distance from home instead of relying on a software model that doesn’t account of actual movement. If a stepper is told to move 7mm but misses half the steps currently you might as well abandoned a print. A longer range goal would be a way to stop when and error occurs and allow te code to rewind to a set point and continue.
If anyone else is already working on such things please let me know, or let me know if you are interested in helping. I’m retired now and have the time and interest. Plus I have years of development experience in both strict software and firmware. Dont tell anyone but I’m even comfortable under Windows but would rather work in Linux.
The great product and open nature of the Taz led me to choose it for my first 3d printer so any contributions I can make will help TAZ owners first. Thanks to Lulzbot for such an easy product to improve without tons of reverse engineering. I spent a long time hacking automotive controllers with very little real information so open products are so much more fun