RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Y is definitely improved. (left is now, right was before rebuilding Y)
The other E3D idler for X can't get here soon enough.
Wow that’s really sharp. How much would you say the good pulley made a difference vs. New Y axis parts? Did you adjust the rods or do anything else you think really helped? My Y belt jsut crapped out so I am about jsut about to re-do it and will certainly follow and tips you have.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
It's difficult to say for sure. The previous idler was fine, but it was a dual bearing 16T no name from AliExpress. The maybe best of the worst I could find. ¯\_(ツ)_/¯
That said the new Y-axis setup I like a lot more, I do wish it incorporated stops though instead of using the bearings again for stops. The creator did provide Fusion files, but I'm not that good, and I don't fully understand the geometry necessary on the bear frame to place stops for proper dimensions.
The LDO (E3D clone) idler itself is a LOT nicer overall. Using a piece of cut 5mm rod as the axle for the bearing feels a lot nicer than the 3mm one I had in the last tensioner that was undersized because I bought, not cut, it. I think everything contributed somewhat to improved quality. Including really keeping the tension on the bearing holders as light as possible. I'm trying to do the same with the X carriage now, but with just square nuts holding the bearing cover screws in place, I never feel confident leaving them not tighter than I probably should for fear they will back out.
I again ran an XYZ cube and benchy without issue in normal mode, then I tried to run a cube in stealth and within 10 layers Y shifted. There is so little friction on the Y axis that it's hard to believe it's a mechanical issue. So at this point, I really believe my homing and shifting issues are related to my EINSY. New one arrives in a few days, took longer to clear customs than expected.
To confirm it's nothing to do with the Moon's I did order an OMC to throw in and experiment with. At least it will allow me to rule out some possibilities IF the problem persists past changing out the EINSY.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
I was able to create the new firmware just fine, following the directions. Pretty easy, actually, not sure what I was frightened of...just the unknown I suppose!
I did a factory reset after and reran the setup wizard. Each of the X and Y axis failed the first time through, but each passed if I ran the calibration again without doing a reset. So far, so good! Thanks for all the help.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Made some big progress forward last night.
After getting frustrated that in order to achieve reliable homing I had to keep cranking up the belt tensions I decided to start over.
I did a bit of reading on the TMC Stallguard to attempt to better understand what I was fighting with. I understand what he sensorless homing is doing, but was struggling to understand the variables of how it reliably makes the detection. This article on a duet, helped to put in plain language the variables and their interplay. https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing#Section_Configuring_stall_detection
So last night I started fresh and went down to a homing threshold of 0 on both X and Y which allowed me to set my tension much much much lower. I was still getting a bit too much torque out of my Moon's on endstop hits during self-test at a speed of 2000. So I dropped that back to 1500 on both. I am getting very reliable homing on X now under WAY less belt tension. Y I get reliable homing, except after some temperature changes. It would seem that after a high bed heating or the printer has cooled entirely from sitting I have to slightly adjust the Y tension up just a bit to get a successful homing. I may drop the Y threshold to -1 to see if I can improve the reliability because I can see the tension creeping up (nowhere near what it was before, but still higher than I would like). I'm also wondering if adding a heatsink to the Y stepper would help alleviate some of that, but I don't know if the issue is with the temperature affecting the belt itself, or the stepper.
I may be completely wrong, and please correct me if I am, but my understanding is that my Moon's were unable to trip the threshold at the value of 3 for any number of reasons. So I needed to increase the sensitivity for my specific setup. What I was experiencing with the homing speed (during self-test) was that on the side opposite the motor end, when determining axis length, it would hit with such torque it would skip the belt and result in a report of a loose pulley. This was happening on Y pretty much all the time and X occasionally.
The best validation so far, is I was able to run a stealth XYZ cube last night without issue, and I'm now running a benchy in stealth so far (fingers crossed) without any Y shifting. So it would seem that my tension (as suspected by you) was likely the source of the layer shifts, but the tension was the only way on the provided values I could ever get successful homing using the threshold of 3.
This entire episode makes me wonder if there is a way to create a g-code test to determine the proper values for the threshold and possible speed. I know the TMC stuff can be passed along as g-code with M122 or M914 (not sure which is correct). Would it be possible to craft a file that would run, while watching the console for feedback (or possible the LCD by using M117) to see the last reliable threshold before failure? Similar to a temperature tower in concept? Something like this could help more people adopt this firmware and alleviate the need to keep recompiling to test different TMC settings. I imagine there are many factors here that will result in people having different values. Differences like pulley quality, belt type, quality, wear and tensions, slight QC differences in stepper windings, the list would seem to be endless in what could cause minor variations in these settings to get a reliable experience.
Hopefully my next step will be posting some closeup photos of prints to try to identify and reduce any remaining VFAs. The only one I see at the moment almost looks like it's from the Bondtech gears themselves. It's a super small fast repeating variation on the individual layers lines of filament. It may be from something else entirely, but it looks as if it's the teeth biting into the filament causing just the slightest of flow changes being translated into the print surface.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
I did drop the Y homing to -1 and it allowed me to drop the tension back down a bit. I'll know after a few more prints if it improving the adjustments around heating/cooling.
Here is the stealth benchy. Please ignore the slight overhang issues. I have swapped back in my prusa print fan for testing because my LDO one was giving "Err: PRINT FAN ERROR" issues for no good reason (likely because the fan spins at a MUCH higher RPM the EINSY isn't expecting and interprets as an error). Will be swapping back in when I change out the carriage.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Nice, VFA's are basically banished.
Good going with the thresholds and getting stealth working.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
While not a stepper mod per-se, I got around to trying a gearbox on my X axis and figured I'd report for others interested in cheaping out on buying new motors and having some skelestruder parts leftover.
Suffice it to say it does not work with a 3.5:1 gearbox; not I'm guessing there is not enough torque and stopping power in the stock motors as it skips steps while trying to do the bed leveling. It gets even worse in silent mode.
Less of a reduction may help but it's unknown. (Yes, I did both set my X steps/mm to 350 and try dropping the microsteps down).
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Stallguard tuning M code
Hidden in my firmware are some extra M-codes for tuning the TMC2130's. Those are typically not enabled because they take up extra storage space.
You have to uncomment in Configuration_prusa.config the following to enable the extra Prusa and Kuo diagnostic m-codes.
//#define TMC2130_SERVICE_CODES_M910_M918
Once that is done, compiled firmware will have the extra codes available for easier TMC2130 experimentation.
Prusa defines Mcode 916 for setting SG threshold. I added my own mcode 924 that does same
Then you can send mc0des like
M924 X1
that would send SG threshold of X to 1
Look in Marlin_main.cpp for prusa's and my testing m-codes
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
BTW those mcode settings are NOT kept across power downs. Once you find usable figures, you would hard code them into your copy of my firmware.
Be cautious with the test m-codes, you can specify values that cause over currents or complete non-motion of motors. Understand the TMC2130 documentation before delving into that level of tuning.
That's another reason we don't have those codes enabled by default.
Als0, if you need help on how to find the m-codes in Marlin, you probably are NOT at a knowledge level adequate to be using the test codes.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Stallguard tuning M code
Hidden in my firmware are some extra M-codes for tuning the TMC2130's. Those are typically not enabled because they take up extra storage space.
You have to uncomment in Configuration_prusa.config the following to enable the extra Prusa and Kuo diagnostic m-codes.
//#define TMC2130_SERVICE_CODES_M910_M918
Once that is done, compiled firmware will have the extra codes available for easier TMC2130 experimentation.
Prusa defines Mcode 916 for setting SG threshold. I added my own mcode 924 that does same
Then you can send mc0des like
M924 X1
that would send SG threshold of X to 1
Look in Marlin_main.cpp for prusa's and my testing m-codes
Cool!
I was experimenting a bit last night to improve the homing and ended up at a homing speed on both X & Y of 1750, still with the homing threshold of 0.
I tried upping the threshold since the belts were actually just a hair too lose and the prints were getting some issues. Upping the speed to 1750 seems to have widened the belt tension tolerance for triggering the home. At 1500 and 0 the allowable tension was paper thin.
In other news, after I did print that benchy in stealthy I was getting X layer shifts on the next large print I tried. Normal still prints without a single issue, but stealth is still unreliable. The new RAMBo showed up, I'm going to fiddle with things as is for a bit longer and maybe try the switch this weekend. Honestly, the noise between stealth and normal on the Moon's is pretty insignificant except for large travel moves.
Good news is with the belts just a hair tighter than my last test on the benchy I'm getting really sharp prints. Still not able to eliminate the basketweave on the extrusion width itself, but otherwise seems pretty clean to me. Any specific VFAs you notice on these? I do see some minor retract/unrtract issues. I bit more tension on the BNBSX to make sure it wasn't backlash on the motor/gear belt being a bit loose (I kept it pretty loose before this). Going to run some more test today.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
BTW those mcode settings are NOT kept across power downs. Once you find usable figures, you would hard code them into your copy of my firmware.
Be cautious with the test m-codes, you can specify values that cause over currents or complete non-motion of motors. Understand the TMC2130 documentation before delving into that level of tuning.
That's another reason we don't have those codes enabled by default.
Als0, if you need help on how to find the m-codes in Marlin, you probably are NOT at a knowledge level adequate to be using the test codes.
Agreed. Which is why I was asking if it was possible for someone with a greater understanding of the codes and TMC to write a test g-code to automate some of the processes of determining the proper values. I'm sticking to just modifying your firmware from a safe distance so I don't blow up my machine! 🙂
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
OK, not sure what I am doing wrong, but maybe the picture can give you all the info you need. I upgraded the X and Y to Moon 0.9 and the Extruder with the Bondtech upgrade. I created the needed firmware following the instructions given earlier. I setup Arduina, downloaded the entire folder from github today to ensure I have the latest files, renamed the MK3s file, setup for only one language, uncommented the X and Y axis and the BMG Extruder, tested the compile, then uploaded it and the MK3 now says Bunny XYE9 MK3S OK.
I started with a MK3 and did the sensor upgrade because I am going to be installing the MMU2s after it is working perfectly without it.
Here is the picture, it is supposed to be the CHEP Calibration Cube from Thingiverse but it looks terrible, and it almost always ends up getting knocked off the print bed (tried both the smooth and textured PEI sheets). I am using PrusaSlic3r with the default Prusament PLA settings, printing eSun PLA+.
Here is a picture of the bottom of one of the cubes when I had the textured plate on, held against the Z Axis to compare the first layer settings.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
X and Y are already uncommented as default in my firmware. Did you end up comment them? (adding //)
Did you set e-steps for the BMG?
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Should be like below...
#define X_AXIS_MOTOR_09 //kuo exper X Axis
#define Y_AXIS_MOTOR_09 //kuo exper Y Axis
//#define E_AXIS_MOTOR_09 //kuo exper EXTRUDER
//Uncomment ONLY ONE or NONE of below for geared extruders
//Don't forget to also send gcode to set e-steps
//Reversion back from geared extruder requires sending M92 E280 & M500 to printer
//
#define BMG_EXTRUDER //Kuo Uncomment for BMG 3:1 extruder. This also sets BMG height for you. MUST also send M92 E830 & M500 to set esteps
//#define EXTRUDER_GEARRATIO_30 //Kuo Uncomment for extruder with gear ratio 3.0. MUST also send M92 E840 & M500 to set esteps
//#define EXTRUDER_GEARRATIO_35 //Kuo Uncomment for extruder with gear ratio 3.5 like Bunny and Bear Short Ears or Skelestruder. MUST also send M92 E980 & M500 to set esteps
---------------------
Send via a terminal to set e-steps...
M92 E830
M500
I still can't figure out how the heck to stop a code segment block on this forum
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
X and Y are already uncommented as default in my firmware. Did you end up comment them? (adding //)
Did you set e-steps for the BMG?
I ran the esteps file from Bontech (and it yells at me saying it is incomplete, but I say to run it anyway). I have this in mine, cannot remember where but someone said to add the last line to ensure it takes the others.
M92 E830
M500
M503
This is what I have in Arduino:
/*------------------------------------
AXIS SETTINGS
*------------------------------------*/
//Uncommented def(s) below specify 0.9 degree stepper motors on x, y, e axis
//Motors used should be 1 amp or lower current rating to avoid overheating TMC2130 drivers in Stealthchop.
//My recommended 0.9 degree motors for X, Y, or direct drive E are Moons MS17HA2P4100 or OMC 17HM15-0904S
#define X_AXIS_MOTOR_09 //kuo exper X Axis
#define Y_AXIS_MOTOR_09 //kuo exper Y Axis
//#define E_AXIS_MOTOR_09 //kuo exper EXTRUDER
//Uncomment ONLY ONE or NONE of below for geared extruders
//Don't forget to also send gcode to set e-steps
//Reversion back from geared extruder requires sending M92 E280 & M500 to printer
//
#define BMG_EXTRUDER //Kuo Uncomment for BMG 3:1 extruder. This also sets BMG height for you. MUST also send M92 E830 & M500 to set esteps
//#define EXTRUDER_GEARRATIO_30 //Kuo Uncomment for extruder with gear ratio 3.0. MUST also send M92 E840 & M500 to set esteps
//#define EXTRUDER_GEARRATIO_35 //Kuo Uncomment for extruder with gear ratio 3.5 like Bunny and Bear Short Ears or Skelestruder. MUST also send M92 E980 & M500 to set esteps
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
David, welcome to the BNBSX family. Great job getting it all up and running with a scratch build.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Does a Moon 0.9 stepper make any real difference when used on the Extruder?
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Your refs look correct assuming you have 0.9 motors on X & Y and a 1.8 on E.
M503 just echoes back current setting so you can see it in a terminal window and verify the settings took.
Sounds like bad line feeds in your file causing the incomplete file warning.
Your extruder is massively over extruding which suggests the e-steps setting is not being accepted.
Personally I just send the commands in Octoprint's terminal window.
RE: Stepper Motor Upgrades to Eliminate VFA's (Vertical Fine Artifacts)
Does a Moon 0.9 stepper make any real difference when used on the Extruder?
Yes, but I would do so only on a direct drive, unguarded setup.
Do NOT use a 0.9 with a BMG. Use a 1.8 with the BMG.