TMC2208 guide - Stepper driver upgrades part 2
Вставка
- Опубліковано 11 вер 2024
- Continuing the series on stepper motor driver upgrades for your 3D printer, comes another highly requested video: a complete guide to the TMC2208.
Like the TMC2100, this driver offers very quiet operation with stealthchop2. It can be used in legacy mode as a drop in replacement, or configured using one time programming to be in spreadcycle. The best option is to connect it to your mainboard via UART and make dynamic changes to stepper current and stepper modes on the fly with gcode.
This video guide takes you step by step through how to configure for the three available modes, including setting microstepping, VREF and any Marlin firmware changes. This guide is to suit an MKS Gen L mainboard previously fitted to an Ender 3. There will be slight differences between 2208 board manufacturers but I've tried to account for those as much as possible.
As with the TMC2100s, you won't need TL smoothers or stepper motor dampers. You can also fit less of them (eg only X and Y axis) to save money.
In the next video, I will be tackling the TMC2130 in the same way, including SPI mode to enable sensorless homing.
2208 info: wiki.fysetc.co...
2208 datasheet: www.trinamic.c...
2208 configurator page: learn.watterot...
TMC Marlin reference: marlinfw.org/do...
2100 / 2208 / 2130 comparison table: learn.watterot...
Trinamic guide to changing from A4988 to TMC2208: www.trinamic.c...
TMC2208 UART to MKS Gen L wiring diagram: imgur.com/a/pF...
Keith Young’s comprehensive guide if you want to use mode 2 - OTP pre-programmed standalone. This involves connecting an external device and making permanent changes: • TMC2208
Sean Sadler’s comprehensive instructable to using the 2208 in dynamic UART (mode 3): www.instructab...
Creality3D v1.1.2 stock vref values github gist: gist.github.co...
Pronterface: www.pronterface...
Purchase these drivers from the following links:
Amazon: amzn.to/2ExauT1
Banggood: www.banggood.c...
eBay Aus (select 2208): ebay.to/2XfvuF7
Aliexpress (select 2208): s.click.aliexpr...
Premade Dupont /jumper wires set (Banggood): bit.ly/2I2WMez
Premade Dupont /jumper wires set (Amazon): amzn.to/2I4DTb9
Buy quality and affordable filament from X3D. Buy 3, get 1 free and a free sample pack with every order: www.x3d.com.au
Take a look around and if you like what you see, please subscribe.
Support me on Patreon: / teachingtech
#3dprinting #upgrades #tmc2208
Dynamic reading of V-ref by clamping the positive terminal to the screwdriver was BRILLIANT! I was struggling to get it right and luckily searched online and found your vid.
Hi Michael, first off, awesome videos. Started playing with 3D printing back in May and now I can't find enough time for all of the projects I have planned. One project is the SKR v1.3 32 bit upgrade for my Ender 3 pro. Thought I'd use the TMC 2208 drivers. Since I was using the BigTreeTech SKR figured it would be a good idea to use the drivers from the same company. After hours of research, reading and watching videos, come to find out the BigTreeTech TMC2208 do't have solder pads that need to be jumped across, they are already setup for UART mode. Just in case anyone else runs across this, might ave a bit of research. Keep up the good work and wish me luck on my Lowrider II.
thank you!
finally, an informative video done by someone reputable with research behind it, thank you so much for this, as there's lots of very bad videos on UA-cam that misinform
My thoughts exactly. I'm very much looking forward to the TMC2130.
This was an awesome video. I have say that in defense of the lv8729, I spend 2 weeks and probably close to 50 hours trying to get my mks upgrade to ender 3 working after following your video and it would do everything but print the model, great purges, fantastic quiet skirts and brims, but everytime I got to the actual model, the 2208 caused the extruder stop dead or went imperceptibly slow. No matter what I tried (changes to marlin, different files that worked great right before, etc). I swaped the extruder to an LV8729 and immediately my extruder started working again perfectly. I should also mention that I had it setup to run in legacy mode, with out this I followed ruiraptor's guide which set x&a 1.19v and y to 1.26v. It seems crazy torquey and now I finally know why. Thanks again.
His guide is for the Tevo Tornado, which I'm sure would have bigger steppers. Possible that they or the driver was getting too hot and going into thermal shut down. I have a set of LV8729s on hand to test at some stage. i don't think there's anything wrong with them, I'm just not sold on the idea the the 2208 isn't up to the job.
Justification for not using on Extruder is that Stealthchop is not compatible with Linear Advance. It's a documented Marlin issue. Prints will start, but the driver will crash mid print every time, appearing like a clog, but it actually stops moving the E motor. Everything resumes normal operation immediately after the print gets cancelled. Hard to troubleshoot. Yes, disabling Stealthchop fixes this, or disabling Linear Advance. However, there's no way to turn off Stealthchop on just the E driver.
@@wuwisbrito I'm no expert (still learning) and I'm not 'for' or 'against' either approach regarding the extruder driver argument, but I just wanted to point out that in the latest Marlin bugfix 2.0.X, you can find the following lines in 'configuration.adv.h' which appear to allow you to disable Stealthchop for specific axis (SpreadCycle is used instead).
/**
* TMC2130, TMC2160, TMC2208, TMC5130 and TMC5160 only
* Use Trinamic's ultra quiet stepping mode.
* When disabled, Marlin will use spreadCycle stepping mode.
*/
#define STEALTHCHOP_XY
#define STEALTHCHOP_Z
#define STEALTHCHOP_E
@@andyfairman7812 thanks for replying and pointing that out. I hadn't checked on this but I'm glad there's some resolution in the works. I'll have to download that bugfix build and see if I can get Linear Advanced going without swapping out the 2208's. I bought some of the A4988's and put one on the E motor, I couldn't believe how loud it was after running the 2208's that I immediately removed them. Things worked well without Linear Advance, but I'm sure once I start using it again I may notice that they improve quality since I can print much faster with the 2208's. Thanks again!
@@wuwisbrito
Yeah, I've been going round and round for the last 2 weeks just trying to get my Ender 3 to print the same way it did before I replaced the control board with an SKR v1.3. I'm using TMC2208's in UART mode for X, Y, Z and and an LV8729 for E1. There isn't much info out there, so I'm not sure if I've got the current set right on my drivers. It could be Marlin 2.0 or something mechanical... Still fiddling around trying to figure it out...
Thank you for the detailed video. I went the UART route and wanted to keep the bigger heatsinks. I modified the heatsinks by removing the last fin with a mini hacksaw and filed the edge to make it smooth. Now the heatsink fits with the modified side facing the two pins soldered to the top of the board.
Wow. You do an exceptionally good job here. Thanks for putting in the time to make such a streamlined, clear, and well thought out video.
Perfect timing, Michael! I just finished wiring up an MKS Gen L + TMC2208s on all 4 axes, this will help a lot with the Marlin config!
Great video! Special thanks to the last comment on using 2208 on extruder! Works just fine since months on my Ender even at high speeds using Klipper.
Excellent video Michael, and thanks for the shout out!
I really want to give UART a try now, looks like the best of both worlds. Standalone mode is still working great but might as well get the most out of these, really happy with my purchase.
In Marlin I made one change you didn't show, I replaced all of the A4988 for x/y/z/e with TMC2208_Standalone for Driver Type (14:10 in the video). I guess it's not necessary if you didn't change it, I saw it mentioned in another video but there doesn't seem to be any difference, so meh...
Thanks again for all your hard work, this series is very well done, you've got a new patron! :)
The chip UNDER the board is the correct way to setup the board as far as thermal dissipation is concerned. The chip has a thermal dissipation surface underneath it and if mounted under the board, there is a copper part of the board surface exposed which allow to mount a heatsink. When mounted on top of the board, the dissipator is mounted on the case and not, by far, as efficient.
Thank you for all the tricks.
Agree with you 100%.
Can only say THANK YOU! all these stepper videos as well as the MKS GenLone were a massive help in getting my latest project printer up and running.!! keep up the great work!
If you are having a problem with the z axis screw at that low height you could always flip the screw upside down because who really uses that very top part of the print volume.
Tried that before the test prints in this video but nothing really changed. I guess it's the nut.
@@TeachingTech About these vertical ripples on your benchy on 10:36 of your video - it might be not a damage of your lead screw. I have same problems on my Ender, and I was interested in solving this problem and possibly found the solution in this video of German guy Stefan (ua-cam.com/video/ChaqTSzrYjI/v-deo.html) on 4:55 of timing he claims that problem is in Coasting distance and Wiping distance. But unfortunately I couldn't apply(use) it because I dont have Simplify 3d - it's too expensive just like the cost of my printer - maybe you will try and share your experience to us.
@@TeachingTech ahh, then you might have some build up on the rails. I had to pull the rollers off and smooth them down as some ridges had formed and also scrub the rails down to get them smoothly running. It was a pain but it gave good results.
I have the Tevo tarantula and all my problems with a not straight lead screw were solved by getting a stepper with an integrated lead screw.
got 4 x 2130's and a 1.4 arriving this week, so I look forward to the new guide, keep up the good work
Ohh I've been waiting for this one. Thanks for the video!
Yes! finally its here. Loving your guides Michael! Keep it up
thank you for the break down, having more information and detail is a great help to understand what is needed. I don't mind seeing this style of video a little longer as it is need to get all that info in. looking forward to a conclusion video on what you feel is the best/simplest upgrade for the step driver. I do like having a quieter printer.
OMG Michael comes through again. Needed to understand what UART mode means and this was what I needed. Thank you
Great video, thanks for posting. One suggestion, when soldering if you use flux you won't have as much hassle with getting that job done.
a fine sharp soldering tip makes this 100x esier. i did it on my first try. also pro tip: bridge the two connectros and pull them when holding the soldering iron between them. not only does this makes pulling the pins out quicker but also lets you empty the holes easier!
The information here about setting the stepper driver Vref was so helpful. Thank you!
Hey Michael. To bridge the pads just use a small piece of kynar wire. I find the easiest way is to cut a few inches of wire then strip it back. Hold the wore via the casing that is left and solder it on the pads to bridge. After soldered use your side cutters to remove the excess.
I can’t wait for the bigtreetech.com driver. I bought 4 of these and was lost when it came to how to set them up. Good luck and keep making videos, Michael!
The bigtreetech one is a pain to switch between spi and legacy. Multiple tiny pads need to be soldered.
To anyone watching this video currently:
If you solder with a completely pointed solder tip(made for fine electronics) and use a 0.6mm solder wire at 350 degrees, the soldering process gets a million times easier.
Also keep in mind, if you have the SKR 1.3 or another internal UART board, do NOT reverse pins to the topside.
Thanks for this guide. Should be hooked under the guide seansadler.A piece of really good work.
A couple of the A4998s in my FLSun i3 finally died (after 3 years of abuse) and man, these things are like butter, and actually running cooler than the original stepsticks (with the heatsink fins aligned vertically and no active cooling).
How hard did you drive them? I'm pushing my A4988s pretty hard (powering 2 NEMA 17s with one stepstick at 1.1V) and never saw a failure in 6 years of use. :o
@@bzqp2 Not particularily hard, probably pretty much the same as you; .9 or 1v on x & y and about 1.1v on Z (dual motor but standard fare) and the extruder. I just ran the heck out of my printer the first few years lol. Been through a few sets of belts, the extruder motor also died since, and it could probably use another set of bearings.
Fantastically detailed guide, thanks Michael. Only just had time to watch, on the plus side, I'm now going to watch the TMC2130 video.
Waiting for my stuff to arrive, then I'll be giving this a shot! Looks very nice to be able to use the 2208 as a drop-in replacement so I can test that swapping to a new controller board actually works before trying the UART mode.
I got the v3.1 described on amazon as the UART version (silly me!!). Would you know how i can convert this to a standalone version?
This is how that difficult soldering job is made super easy. Take about 8 inches of bare signal wire guage stranded. Dip one end of it in silver bearing solder paste ( I used SOLDER-IT, manufactured in Pleasantville, NY, purchased in a small syringe tube from Home Depot ). Set that end across the pads and touch it with your hot iron. Pull away the iron and wait a few seconds. Now twirl the excess wire, the stress will break the excess off leaving a pair of perfectly jumped solder pads. Done in seconds, easy and peasy.
Michael, You mention that you need to see the driver registers on M122 with something beside Zeros or "F"'s. There are certain instances where a properly connected Driver will show all ZEROS. You had me freaked out until I started the printer and hit M122 and saw that the drivers were indeed communicating. Some 2208 clones have the chip on the top side, this allows you to use a slightly different configuration. I use TMC2208 on X and Y and then DRV8825 on E and Z. I have 2 ENDER 3's running with this mod. QUITE, QUIET, QUIET! Great Video.
Thanks for sharing that info. In my testing it was consistent but good to know.
@@TeachingTech I found that you may need to key in the M122 twice. I was reading somewhere that the M122 command only reads one driver at a time, so I suppose it is possible that the other can show all Zeros?? This happened to me a couple of times. The absolute test to verify that the communication is happening is to see if your M906 or M913 command actually changes the driver configuration. Obviously, if it does, then you have proper communication. I really have learned a lot from your teaching videos, keep up the good work and Thank you!
@@TeachingTech And I do not doubt that you are correct, that is why I nearly had a heart attack! I just needed to dig a little deeper to make sure that my machine was actually working correctly. Just wanted to mention this to possibly save other people from being fooled by their particular machine's performance.
@@mlynch001 thanks for this - I have a two pad 2208 breakout and am having an issue like this - M122 reports inconsistent values every time I run it so I'm having trouble confirming whether or not they are operating correctly. I've posted in the Creality Official Ender-3 Ender-3 pro 3D Printer Group facebook group more details. Hopefully someone there can share their experience as well.
@@LeeWasilenko I have been using these 2208 drivers and boards for about 4 months, I find that the M122 does return consistently strange results, especially when printing. I get all zeroes on one driver upon one M122 and then all zeros on the other one on the next M122 command. Then sometimes it will return addresses for both drivers. It seems that the Serial Bus gets busy and cannot return the port address for both drivers within the allotted time. I find that when the printer is idle, that M122 fairly consistently returns the correct port status, both showing active addresses at that time. I confirmed that the drivers are communication by sending the M906 X*** Y*** command to alter the motor current or the M913 X**** Y**** command to alter the hybrid threshold. Since these commands do seem to actually change the stepper drivers and motors performance, this confirms that they are working and communicating, even though the address does show all zeros on occasion. The changes made to the drivers as stated above also show up on the M503 system summary.
If I'm jumpering pads like the ones for the stepper motor drivers, I always use a strand of copper wire to insure connectivity and trim it using flush cut diagonal cutters. That has always helped me make the job a little quicker with good clean results.
Solder was not intended to jump gaps although it often accidently does :)
@@barryblack1411 I understand that. If there is a need for a broken trace repair, especially in a high powered application, as in a power amplifier, then, I'll user desoldering wick, scrape the coating off the traces and after that, spray the board with a conformal coating to ensure circuit safety. But, if it's a low current, short distance type repair that needs to be done, solder. Even though these little stepper drivers put out a decent amount of current, I don't think that particular jumper (solder-bridge) is a high current area is it? That, I truly do not know...
Great job done, we appreciated it! Many thanks for the detailed video.
Loving your videos on drivers!!
Thanks Michael for this awesome guide, I've done this few weeks ago and it's been awesome, but it's always nice to clarify some things up :). Just as a side note, I have the 3-pad drivers from fystech and connected them through UART using the "Y" cables, by soldering together only the pads on either UART or PID pin. Also I'm with you on the LV8729 driver for the extruder, I personally have a spare one because all of the comments throughout forums, but personally never found any real justification other than "someone said or I heard..." so if you find anyone knows the real reason that would justify using LV8729 I'm all ears :)
Pretty cool. Not sure why I waited so many years with my update from A4988s to Trinamic. They are dirt cheap nowadays, definitely worth it.
Thank you Michael. Just what I needed to know.
Can't wait for the TMC2130'S.
Hi Michel, I make the mod according to your video and noticed also that current set in Marlin config is way too high. You can check it on output on M122 command wich shows that RMS for X,Y,Z is 734 mA and max current is 1034 (it should be 760 mA according to your calculation). I initially didn't noticed it but I become suspicious when my stepper motors were very hot during first print. I set it now for 540 on X,Y,Z and 640 for E0 and it works fine and motors are not so hot like in previous setup. I think that you should check it again and maybe correct it, as so many people are making changes to their printers based on your instructions.
I think the problem is assuming that the rated current of the Ender 3 stepper motors (0.84A for X/Y/Z and 1.00A for E) is RMS current. But that can't be, because at 760mA and 1.00mA the steppers are clearly overheating. It seems more realistic that the rated current is in fact max current, in which case you do max current x 0.707 x 0.9, and you end up at the 540mA and 640mA you mention. The video should come with a warning to keep monitoring stepper temperatures during the first few prints. If you can't touch them for more than a few seconds, they're over 70-80 degrees C.
I would like to add that the latest version of Marlin (branch bugfix-2.0.x) does have a lot more conservative values: It uses 580 for X, Y and Z and 650 for E0, which is more in line with the values you set.
Thanks very much for posting this helpful guide!
My stepper motors are making a high pitched discordant sound when activated and the sound will continue after the motors stop. I changed the mA from 600 to 760, to 800 with no change in the brain piercing sound. This is on a BigTreeTech SKR 1.3 board with 2208 drivers. Any ideas what might be causing the high pitched whine and possible way to eliminate it?
I noticed that crealitys motors made this sound so I swapped out them for a other pair I had and noise disapeard.
Are the voltage adjustments the same for the Ender-5 given it’s Creality 3D 42-40 Stepper Motor with Dual Shaft?
Thanks Mike, very useful series as usual. I'd also love you to extend this, recommending which stepper driver for axis or extruder. There's a lot of misinformation there too.
I would really like to know where you got the 1.77 in your formula @4:05. I just couldn't verify the 1.77 according to the data sheet provided by trinamic.
thank you for video. successful enable UART on tmc2208 (version with 3pads) via two wire on extruder stepper for LA (change driver mode to spreadCycle) via two wires and 1k resistor.
Hi @Teaching Tech, I have a question, while calculating stepper current for xyz we you got 0.596RMS and 0.707RMS for E. But when you configured the marlin in config_adv you mentioned the x current( #define X_CURRENT 760) as 760 instead of 536, Can you please tell why ? what am i missing ?
I have tried the above settings, like 536 for xyz_current and 638 at E, now they run very warm not HOT as earlier.
@@draskoperovic thanks, yes now I run 6 hr print and the steppers are just warm and no step misses... :)
I set mine in the firmware per the video, but they ran too hot on my Ender 3. After playing with my settings and then doing the math again, I settled on 600ma for X, Y, Z, and 700ma for E (these are the settings I'm using in the firmware in config_adv.h.). So far, I haven't had any more issues. If anyone sees any errors in my math below, please don't hesitate to comment:
Equations:
Peak current = RMS current * 1.414
RMS current = Peak current * .707
XYZ Steppers (rated for 840ma max on Ender 3):
840ma * .707 = 593ma RMS (or rounded to 600ma RMS)
-or figuring backwards:
593ma RMS * 1.414 = 838ma Peak (~840ma).
***USED 600ma
Extruder stepper (rated for 1000ma max on Ender 3):
1000ma * .707 = 707ma RMS (or rounded to 700ma RMS)
-or figuring backwards:
707ma RMS * 1.414 = .999ma Peak (~1000ma).
***USED 700ma
I had some issues with the extruder, so I decided to use an LV8729 to resolve it (also set Vref for 700ma stepper current as above). I might have been able to resolve the issue using the TMC2208, but didn't feel like messing with it anymore. I may go back and play with it again in the future.
Thanks a lot for this. In the VREF calculation for 4988 you used the resistance value. Isn't that necessary for the RMS based calculation for the 2208 drivers? I'm asking because the E3 V2 has a 150 ohm resistor and not a 100 ohm as in the video you have in part 1.
Just a thought on how to connect the UART wiring. There is a way to do this without replacing the heatsink and forcing the use of a smaller one. Since you are removing the shorting jumper on pins 5/6 under the driver, you can use pin 5 which is directly connected to the UART pin on the stepper driver. So basically you short the solder pads on the driver board as you would normally. Then run your 'Y' UART cable from pin 5 of the step selection jumpers, under the driver board, to the same pins specified in your 'pins' file. Since there isn't much room under the driver board you have to leave off the plastic housing and the socket crimp will need to be bent. Heat shrink will work to protect the UART wire connection from shorting on anything. A dab of hot glue can keep it from moving, but it is not completely necessary. No solder sucker, less chance of ruining the board. All MKS boards are wired the same as far as those microstep selection pins are concerned.
On an MKS Gen 1.4 I wired my MKS TMC2208 V2.0s from pin 5 out under all the stepper drivers and then split with the 1k resistor to RX/TX pins. I did this last night after reading this comment and just wanted to say thanks. This is a more elegant solution I think as, like you said, you can run the larger heatsinks and there are no wires or pins to interfere with the cooling shroud I have. This also lets me upgrade to 2209s or something else later down the track with just a stepper drive swap - no further wiring. Cheers mate. Hopefully this helps someone else too
Running SKR v1.4T and tmc2208 v3.0 UART, have had some axis halts recently. I might not have setup the voltage correctly.. Followed your and BTT's videos for install, etc. OTherwise, when it prints, its super nice finishes, though occasional pauses do occur
Very helpful. Thanks for posting.
daaaamn... I was looking for this... I didn't know that you did a video on it.
HI Michael; great very useful video I applied it (combined with your excellent SKR guide) to my upgraded board and I am so pleased (haven't actually printed yet) cant get over how quiet the printer is now!
One note though for others following this , I used the Kingprint TMC2208 (which are BIG TREE Tech) and purchased UART ready drivers; they seem to work but the direction was NOT reversed after all which seems weird but the ones I have are V3; so maybe that's a change to look out for?
My upgrade would not have been impossible without your excellent videos so huge thank you from me.
Thank you very much! Precise and exact information, all in one, with everything anyone would need to setup any of the 3 modes!
I personally will be trying Mode 1 first as only a software change needed. I can always switch to URT at anytime should I decide to.
I am also with you on Mode 2 - why would anyone do this? Thank you again! :)
sadly, on the Anycubic Chiron in stealthchop2 mode - it skips so much layer shift is unusable. tested from0.07 VRef up to 1.86. higher was better - but still happens - At least in my case. trying UART mode next.
very useful series thanks!
At 3:14 you take out the third jumper, this is in the Legacy setup part of the video but this applies to all 3 modes equally, correct?
I installed them and every things works great! Except my Z-Axis which doesn't work at all for some reason. I am trying to figure it out now.
In case anyone else has this issue. Z-axis didn't work at all. The fix was switching out with a different driver that I knew worked. Second problem was extruder would only extrude and not retract. It would actually extrude when it was supposed to retract turning all my prints into blobs. Fix was once again switching it with a stepper I knew worked. Maybe I got two bad steppers. More likely I fried them or something.
Did you have stepper motor dampers on for this video? Would you still recommend using dampers if upgrading to the silent stepper drivers?
Appears the 2208 stepper lib is now TMCStepper when searching for it in atom/arduino if your looking for it today.
Nice review, and walk-through
Thanks for sharing :-)
Hi! My TMC2208s from Gowoops have no jumper pads, so I can't bridge them. How do I run them in UART?
Followed everything to the letter. When I connect to the board and do M122 the drivers are all disabled and driver register are all 00.
The board is not yet connected to a power supply, only usb to test. Is this the reason of my problem?
Thank you for doing this brother 👊👊👊
Will this method for the TMC 2208 work with the skr V1.3 no matter what I do I always have the TMC Connection Error on my LCD.
You must remove all of the jumpers underneath the drivers, as well as the red ones to the right near the endstops. Also you must be powered off 12/24V, NOT off USB for it to work.
Wo, thank you! It was about time, for a good explanative howto on those drivers in dynamic mode. TS announced this about two years, ago, but he mast have forgotten about.. It would be great if you could do same for the 2130 drivers with SPI and sensor less homing. And then the problem if you run out of AUX ports, if you want to combine SPI with BL touch.
Hi Michael Will this set up apply in ATOM
in 9:00 for soldering the pad there is a nice trick
block the pads from the Trinamic\others with a cardboard knife
then soldering will be far easy
great info. I already had the MKS Gen L and the 2208 drivers running in legacy mode and it is a big difference in noise. My vref was a bit high so i adjusted that per your info. I have a spare board and drivers coming from BangGood, might have to try wiring them in for the dynamic option.
I am having a strange issue however. The benchy i printed after i went to the MKS board and drivers has a wider rounded off "bow" line at the bottom of boat where the overhang is a bit more dramatic. This used to be clean and crisp before the board swap and i am printing the exact same gcode as previously printed. It is almost like the X axis was a bit sloppy changing direction so i removed the (pretty much useless anyway) stepper motor damper and that had no change. I had also added the Creality glass build plate when i swapped the boards and i was still manually trying to level the bed, so i threw in a BLTouch to try and make leveling more consistent, after tweaking the Z probe offset i have gotten a bit better results but the overhang part of the bow is still not nearly as crisp as the upper portion (or as previous pre-board swap prints). Is it possible the added weight of the glass build plate is messing with the Y axis direction changes? I do not notice any other issues in the print, bridging is great, corners are nice and crisp. I printed a half dozen calibration cubes (calibrating the xyz steps/mm) and all those corners were nice and sharp. Anything else i should try?
Awesome guide
I wish I had this guide last weekend when I did the MKS Gen L + TMC2208 swap my Ender3. The driver sticks I bought from MKS where quite cheap (~$3) but they lack the option to go into UART/SPI-mode. Now I'm quite happy with them running in legacy mode, so I don't mind that much.
Are there solder pads underneath?
You bought V1.0 MKS TMC2208 obviously, the V1.1/UART version was introduced by MKS in the second half of october 2018 and that's been the point in time we've started selling them. ;)
@@TeachingTech, no there are no pads. There is the chip, naturally and some resistors/capacitors.
@@TeachingTech there is no option to solder, but when send M122, I get the register address for all 4 drivers, so looks like it's already set up for uart mode...
@@theinternal The board I have is clearly marked "V1.1".
So I think you might be confused about that. :-/
Thanks for the tutorial! it is very helpful, I made my Ender3 soooo silent! But there is a problem with Linear Advance feature with TMC drivers for extruder. you can not use lin_adv with the extruder driver in Legacy (stealhchop) mode - extruder stops when receive K other than 0. So you MUST switch extruder driver to other mode (the 3d one only actually) to use Linear Advance
I'm doing exactly this right now. The extruder just gives up mid print with stealthchop and linear advance. That must be the reason other guides don't tmc for the extruder.
I have never seen a datasheet hide the power capability of a power component so well before. You'd think they'd make this information a bit more prominent in their documentation.
Good stuff, thanks! Looking forward to the TMC2130 video - it would be interesting to compare noise levels with the Prusa i3 Mk3 which has them.
Seen some people say the atmega 2560 can't keep up enough to support native 1/256 microsteps - no idea if that's true or not, but if it is then keeping 1/16 in the firmware and enabling interpolation by the driver would make sense (if I've understood those firmware settings properly...).
On the LV8729 question - I can only guess people suggest it for the extruder motor because it can deliver higher phase current than the TMCs? However as the Ender 3 motor can't take that higher current anyway, it doesn't sound all that useful. Better off installing a geared extruder like the Bondtech to get more pushing power on the filament with lower effort by the motor.
BTW the Ender 3 motors are JK42HS34-0844YA-03F and JK42HS40-1004AC-01F by www.jkongmotor.com where the phase current rating is the first three digits of the middle number (0.844A and 1.0A respectively) - part numbers from github.com/Creality3DPrinting/Ender-3/blob/master/Ender-3%20Mechanical/Ender-3%20BOM.XLS - gotta love the open source hardware cert for the Ender 3!
Awesome post, really appreciate it. I have a pile of drivers now to install in my other printers. I also have some lv8729s to try. Time will tell whether they're needed.
Another thing that I didn't see get mentioned, those who want to use Linear Advance (Marlin) or Pressure Advance (Klipper) will find that the TMC2208 on the extruder is incompatible with them. Many people on the facebook group and myself included have found that the extruder motor just stops mid-print with TMC2208's, whereas LV8729 don't have any problems with Pressure Advance or Linear Advance.
@@andysu8366 I'm using TMC2130 with Linear Advance and haven't seen any issue with Extruder at all. But I've seen many times issues with X and Y to shift (I guess that Octoprint is the root cause there but still investigating)
@@andysu8366 can you share the FB group name if it's public to join? Please and thanks :)
Hi Michael!, thank for your videos. I wanted to ask you a question, I have a artillery printer and I changed the mother for a skr 1.3 with 2208 motor drivers configured in UART, all the divers are registered OK, even the I2 Z, but I can't move the extruder motor, I try to change them position, putting the X axis in the extruder and the result is the same, so choose to put a driver LV8729, at 16 micro steps, just like the TMC2208, the LV8729 makes the extruder motor work well, but I want to know Why does TMC 2208 work for me in the extruder, any suggestions?
Hi Michael, thanks for the video! I would like to know how i should wire the second z stepper motor in UART mode on the Mks gen L if i am using the E1 port. As well as any tweak in pin number i would need to make in the firmware. Appreciate it
This is a great guide as is almost all of your work, Thank you!!! I do have one question though I'm planing on doing all this, and using the TMC2208 v1.2 but I'd like to run 5 so I can setup a second extruder. Do you know where I could find the proper wiring for that type of setup for the uarts?
Great video - I have XYZ in legacy mode and the E I switched to OTP mode. I LOVE THIS SETUP and get phenomenal prints- During my testing the TMC2208 would skip steps on the extruder during long prints in legacy mode. That is also why the LV8729 is also recommended for the Extruder. Did you see any skipped steps on the extruder in legacy mode during long prints?
I had skipping on mine at first, but bumping the VREF up from 0.9v to 1.1v has completely solved the issue.
Still yet to have a skipped step. I might drop one into another printer for a long print and update.
@@TeachingTech how do you identify if there is skipping? My MKS gen L & 2208's arrive tomorrow.
@@TeachingTech Hi Michael. Did you get a chance to try on another printer and see if you get missed steps?
I followed your guide, Thank you fo all your guides BTW I love them all, I decided to do option 3 and connect my 2208s in serial mode on an MKS Gen-L, but almost every time I use M122 I seem to get different results, did I do somethign wrong or is it normal? Also when I try in Marlin 2.0 I can never get M122 to report serial mode, it's always false, is this normal?
Can you do a guide on the tmc2209?
Tell please. If we using two Z motors 1.7A, the max current in formula will be 1.7A x2?
Awesome video!! I hope S curve and Linear advance are your next videos 😁
perfect informative priceless video.
Hi Michael and Thanks for the perfect video. I wired everything like shown up but get TMC Connection Error in Display. Checked via Pronter 3 TMC2008 get a Connection But the 4. Has bad Response All to low. Can u Help pls . I used BTT 2008 v3 Uart TMC2008 and BTT skr1.3 compailed with atom. TmC Lib up2date
Changed steppers but problem is still there. Must be a MB issue
Best reg.
Did you ever find a solution?
One thing I didn't see in the video was the jumper config for UART mode. Do you still leave it with two jumpers like standalone mode?
from what ive found out is you leave all three connected: jgaurorawiki.com/a5/upgrade-stepper-drivers-tmc
Yay upgrades
recently updated my ender 3 stock board v1.1.4 to marlin 1.1.9.
was able to turn on mesh bed leveling and power restore features and the printer is working fine albeit for being louder than the stock firmware from creality.
realized might be becoz of the TMC 2208 not being activated in marlin.
when i try to do so and verify it keeps on giving error as under
sketch\stepper_indirection.cpp:293:87: note: in definition of macro '_TMC2208_DEFINE_SOFTWARE'
#define _TMC2208_DEFINE_SOFTWARE(ST) TMC2208Stepper stepper##ST(ST##_SERIAL_RX_PIN, ST##_SERIAL_TX_PIN, ST##_SERIAL_RX_PIN > -1)
^~
sketch\stepper_indirection.cpp:342:32: note: suggested alternative: 'E0_ENABLE_PIN'
_TMC2208_DEFINE_SOFTWARE(E0);
request advice
Thanks
I have installed all the necessary libraries too
Hello great video, I don't understand how do you calculate 0,76A for using in UART mode. If the motors are 0,84A, how did you calculate that values? I think that I may to use RMS (indicated in mA) as I read on marlin 1.1.9 configuration.adv
// rms current in mA. Multiply by 1.41 for peak current.
Hello Michael could you please check on these comments. I also found this information on this reddit post and wonder what is now the correct value: www.reddit.com/r/ender3/comments/bkjfla/skr_13_with_marlin_and_bltouch_on_ender_3_and_tcm/ Thank you! May you video needs to be updated too?
Hi Michel, I make the mod according to your video and noticed also that current set in Marlin config is way too high. You can check it on output on M122 command wich shows that RMS for X,Y,Z is 734 mA and max current is 1034 (it should be 760 mA according to your calculation). I initially didn't noticed it but I become suspicious when my stepper motors were very hot during first print. I set it now for 540 on X,Y,Z and 640 for E0 and it works fine and motors are not so hot like in previous setup. I think that you should check it again and maybe correct it, as so many people are making changes to their printers based on your instructions.
@@romantyszkowski5469 when you say you set it to 540 and 640, do you mean the VREF pots on the drivers or only in the firmware? Cause I have my VREFs at 0.760 and 0.900 and set the firmware to 540 and 640 but the extrude still gets hot enough to melt the extruder knobs I printed in PLA and it it's causing the extruder gear to slip and cut the PLA line likely cause it's so hot. I'm trying to reset my VREFs now but I'm worried that might not be the solution I need.
@@romantyszkowski5469 NVM I see that it is EEPROM controlled which I didn't know. I had to set them via GCODE and use M500 to save the new settings. Thanks Roman.
The reason some including me choose the lv8729 is because the tmc2208 shuts down in stealthchop2 when using either linear advance or pressure advance.
Are these VREF rates consistent with TMC2208 V1.0, V1.2, and V2.0?
Also, the jumper pads referenced at 3:11 look different on the V2.0, but I can't find much documentation on version differences.
I've seen guides saying you should set the vref on the TMC2208s to the same voltage as the original noisy Ender 3 drivers had. I'm confused, as this guide says otherwise. Any thoughts?
If i have a fith stepper driver, where would i need to plug in the cables for uart? AUX-2 maybe?
You check the pins file for your board it will either say or you can declare which pins you want to use.
@@TeachingTech Thank you!
Is this a BIQU Gen L you're using? The genuine MKS boards' connectors look less over saturated in real life. ;)
[nevermind, I watched the rest of the video and you're definetly using the BIQU version.]
Get a genuine MKS Gen L and MKS 2208 drivers for hassle free operation. No need to mix BIQU and FYSETC parts when you can get genuine items, made to a higher standard for pretty much the same price.
Hi all.
Ok I've installed everything. The v1.2 drivers are working and I'm getting a response in Ocotprint when running the M122 command. However the v1.0 driver is showing 0's.
Recv: Driver registers: X = 0xC0:0B:00:00Recv: Y = 0xC0:0B:00:00Recv: Z = 0x00:00:00:00Recv: E0 = 0xC0:0E:00:00
I have joined the 2 pads on the bottom and run a Y wire from the v1.0 driver.
I notice that when I move the Z axis 1mm (the v1.0 is on the Z axis), the motor actually moves about 10mm. What could be causing this?
Thanks!
Hunt
Please double check your jumpers underneath, that would be the first thing.
@@TeachingTech How are jumpers supposed to be set for UART mode? I left MS1 and MS2 jumpered and took off MS3. Seems to be working. If I run M122 command, sometimes all the driver registers look good, but if I run it again immediately, maybe one or two now show all zeros. Very random. But things are quiet and I can print a Benchy and a test cube without any issues. I also get the extended data on the M122 command, so that makes me think UART is working fine.
I am not shure why, but your V_ref formula miss using the value of R_sense, which is in the official Trinamic documentation. In my case my TMC2208 (lerdge v2.0) has an R_sense of 110mohm, and using 1A stepper motors, the formula has 0,07mV of difference. It is not mutch, but seems more accurate. Outher hand, the video was very good.
Awesome! I just put TMC2130 ver 1.1 SPI drivers on my Ender 3. It's so much quieter!!! And I do notice the cooling fan noise now. Before, it was always the whine of the motors. Now they are very quiet. And I can print faster.
I would be interested in a compilation video that compares all of them. The noise, heat, and print speed reliability. Will you also do TMC2660? These are on the Duet 2 boards.
Thanks for making these videos. They are spot on for length and information.
I'm not Think Ng of a summary/comparison video at the end. At some stage I'll definitely try out a board from duet.
@@TeachingTech I'm sure you've done or will be doing your research on the 2130s. Mine needed 2 pairs soldered together and one pair unsoldered. They are tiny! And I butchered one. But I've never soldered something so tiny before, so it was a learning curve. Mine aren't from Trinamic though. I'd be interested to see legit brand name steppers.
If I recall correctly the TMC2660 isn't sold in "step stick" format. All of these Trinamic drivers are meant to sink heat though the PCB. With the step sticks as used in this video, there are thermal vias underneath the chip, and you place a heatsink on the vias on opposite side of the PCB. The 2660 can handle a lot more current and will need to dump a lot more heat. In boards like the Duet 2 /w 2660s, and the Einsy Rambo board used by Prusa /w 2130s, they can leverage a huge ground plane to dump heat in too. With the tiny step stick boards they don't have much to work with.
@@cbz1956 Digikey sells a BOB version of the 2660 for $19.95. I honestly dont know enough and am still learning so it could be that this board doesnt fit into the slots on the MKS Gen boards. I haven't looked into it. But I am more interested in the chips on the diet boards anyway. Since $20 each plus the board is near the price of a Duet 2 board. Especially if factoring in FUBAR'ing boards due to my novice soldering skills. :)
Tim Franke interesting! It’s a different form factor so it wouldn’t be a drop in replacement like the “silentstepstick” boards that are sold with TMC2130 and TMC2208.
I can tell you why you dont use the TMC2208 on the extruder. Thats cos when they get stressed for a long period of time they Auto disable .. Leaving the printer to keep "Printing" but the extruder has stopped working. Has happend to me multiple time until i changed to the driver you mentioned
Excellent video, thanks
I followed this upgrade as well as the MKS GEN L board upgrade. I've got the drivers setup in UART mode, wired in and all. My issue is that my stepper motors just chatter when I try to move them (move axis on display or octoprint). Anyone know what could be going on?
At one stage I had this problem on Z and I had accidentally left mainboard jumpers in or out. It was moving twice as far and quite rough and loud.
@@TeachingTech Thanks Michael. That was one thing I wasn't sure on was if the jumper config mattered in UART mode. If I am trying to mimic what you setup, what would I want the jumpers set as? I have tried it both with J1 and 2 on, and all jumpers off. Both had the same issue.
@@brentcariveau2349 Since you're in UART mode you should take the 3rd jumper out on each (the jumper furthest from the 24v power side of the board). If you are still having issues try increasing the vref's slightly, my extruder motor was doing this at first but increasing it fixed the issue for me. Go slowly though, 0.5v or less at a time.
hello good day you know how it would be the configuration of this tmc2208 v3 for a anycubic i3 mega serious help
Maybe an odd question but if you go with the third option to program it with software... Is it maybe still a good practice to set the vref with the screw to the proper value? I only ask because you mentioned if it doesn't connect then it defaults to the legacy configuration and wouldn't that then use the vref from the setting on the screw? Or am I just not grasping it correctly?
but for the ender 3 1.1.4 board, how set TMC2208 in Marlin ?
hi, at 15:31, you say that you have to change the steps/MM , sure, but i cant figure out the maths you used to calculate the new steps, is there anything i missed ?
I picked up a set of TMC 2208s to drive Nema 17 stepper motors in a robot (not a 3D printer). Is it possible to use these drivers without marlin? Mine appear to have came from the factory in UART mode.