TMC2130 experiments

Tagged: , ,

This topic contains 33 replies, has 11 voices, and was last updated by  Jethro 5 months, 4 weeks ago.

Viewing 30 posts - 1 through 30 (of 34 total)
  • Author
    Posts
  • #54951

    Jeffeb3
    Participant

    TL;DR: They are neat, and require a lot of work! The FYSTEC ones especially.

    If you don’t know what a TMC2130 driver is, then check out this:

    3D Printering: Trinamic TMC2130 Stepper Motor Drivers
    and (sponsered video for them):
    https://toms3d.org/2017/12/09/tmc2130-guide/

    I was excited to try something new (DRV8825s are just not fun anymore, they just work!) and I’m working on a new 3D printer (the MP3DPV2) so I thought this might be a fun thing to play with.

    There are several variants, the watterott’s are made in Europe, or by a company in Europe, I think. I bought mine from AliExpress, and they claim to be a “FYSTEC” brand. They can be used in standalone mode, or you can communicate with them via SPI. I bought the FYSTEC ones, and I didn’t mess with the standalone mode for more than a few minutes.

    First off, why would I want them? Features I like for a 3D printer:
    – Quiet, which gives me a sense of calm, and I can hear problems with the printer’s motion easier.
    – StallGuard, which lets me use the motors themselves to detect endstops. Useful only for X and Y.
    – Software configurable current limits. No more messing with potentiometers.
    – Maybe better thermal dissipation, due to the heat sinking through the PCB, instead of through the die.
    – Error feedback, if a cable comes loose, they can monitor that, and report an error (and reset Marlin).
    – 1/256 microstepping. The signal from Marlin is still 1/16th steps, but the driver interpolates 16x more than that, which could be smoother, or maybe quieter, IDK.

    Things that don’t matter for the CNC stuff:
    – StallGuard, Unless you’re using dual endstops, there’s no point in endstops
    – Quiet, I can’t hear anything when my CNC is running, besides the vac and the bit, and sometimes the router.

    Negatives compared to DRV8825s:
    – They are a lot more work to set up, especially if you buy the FYSTEC ones.
    – The require soldering, electronics, and software skills.
    – On paper, they can’t sustain as much current as the DRV8825s. I haven’t done any experiments with this. They will do plenty for a 3D printer, but they have a sustained max current of 1.2A, and peak current of 2.5A (I think). We usually set the DRV8825s to 0.7V, which is 1.4A. That’s about the most they can handle. So on a CNC machine, we’ll need some good, scientific experiments to tell which works better. My gut is that they will both work, and they will both sometimes fail when you jam the bit into the work.
    – They require a lot more wires running across your controller.
    – The rambo/mini-rambo doesn’t come with them, and those are two awesome boards.

    The FYSTEC rework:

    The ones I bought came already soldered in stand alone mode. I have a decent “rework” station (it costs about $150, and has hot air, adjustable temps, and different solder tips). There are several things you have to do to get these into working order:

    – You have to remove all the pins from one side. This requires heating up all 8 solder points at once, and pulling them out while they are still hot. It’s a little easier to just destroy them, and pull them out one at a time, but you can damage the PCB when you go destroying them. I found the best thing that worked for me was clamping the board down, hot air in the left hand, and fat-tip soldering iron in the other. I would try to heat the pins with the soldering iron, and keep them molten with the air, and I used the solder iron tip to push the pins out.
    – You have to remove a small SMD resistor that makes it standalone (The blue box in the image above). This is easiest to do when you have those pins removed.
    – You have to short two little configuration pins (the green and red boxes above). This was the hardest part. I could heat them up, get plenty of solder on there, but when I removed the iron, the solder would just come with the iron. Also, they are super small. I have pretty good eyes, so if you don’t some magnification is required. Also a small small soldering iron tip is needed.
    – You solder on some of the pins downward, some upward, and one extra pin on the diag1 hole, which is the one closest to the potentiometer.

    I bought a 5 pack, and I did this to all of them, even though I only wanted the endstops on two, and I only ended up installing 4.

    I don’t think I saved enough money to justify that much work, but hey, it’s a hobby, it’s supposed to consume hours, right? The watterlott ones won’t have that rework, the pins even come loose.

    The story with SPI:

    SPI is pretty neat, the arduino is the master, and it chooses which thing to talk to by select it with the CS pin. The MISO, MOSI, CLK are all common for everything that uses SPI, including the LCD. All these need those pins joined together, and connected to the right spot on the RAMPS board.

    The CS or chip select pins, however need to have one digital pin on the arduino for one motor driver. There are a few spares, ones like D40, D42, D44, and if you’re not using E1, there is an enable, step, and dir pin there. If you don’t use D53 (which IIRC, is for SD card support), then you can still use our bittersweet REPRAP_FULL_DISCOUNT_ALL_CAP_BIG_DISPLAY_WITH_A_CRAPPY_ENCODER. I didn’t look for hours, but I couldn’t find 5 spare pins without cutting into the display pins, so I decided to not use E1 with Z2, which gives me 3 more pins, and requires one less CS.

    So, I don’t have the permanent wiring set up, but I have the SPI pins all jumpered, and that little thing took close to an hour to do. I hate soldering wires to wires. Someone would make me really happy to just sell me a cable that does that for like $10. The CS pins and endstop pins are just female/female premade wires for now.

    The weird thing is that now that there are SPI cords all over the place, I’m worried that this improves thermal dissipation is going to go to crap, because the air can’t get to the heatsinks with all these cables all over the place.

    <TODO get a pick of my beautiful wiring.>

    Software/Marlin config:

    Oh god, Just look through the Configuration_adv.h and see what you want to turn on. I used STEATHCHOP, the monitoring and X/Y stall guard. I am not messing with Hybrid at all, yet. Tom’s video is a pretty good overview. Also, this is a moving target. There is a flag that lets you do M122, and that is awesome.

    M122/Debugging:

    M122 prints a table with a bunch of stats about the drivers, and the most useful is, at the bottom, it prints the registers for each driver. If it’s 00:00:00:00:00, then you don’t have the SPI right, and it’s just reading zeros. Mine were something like 80:00:C0:00:00 or something like that. It also prints things like the mode, the sensitivity and the current, if you are worried the settings aren’t making it to the driver.

    Monitoring:

    If you turn on the monitor feature, and you have a single coil disconnected when the driver tries to move, it will set a flag, and Marlin will see that, and abort the print. It will have a warning message on the screen telling you that you need to reset, and at least the serial port will tell you which coil on which motor is busted. I would love to have this on my CNC machine for that rare time when something comes loose, and you are wondering why did it fail, and you wished it hadn’t just trashed your workpiece.

    StallGuard:

    I spent the most time trying to figure this one out. The first problem was that I didn’t solder those super tiny jumpers. The second thing was that I wasn’t getting SPI communication (00:00:00:00:00) and the third thing was that one of the motors I had (I was testing on my desk by just grabbing the axle) stalled as soon as it started moving. But, it’s pretty cool when it’s working. I don’t know why, but I really like the idea of fewer switches, and fewer cables on my printer. That’s really the only reason I care.

    For the record, I am pretty sure this feature trips when the steppers are _about_ to lose steps, and it doesn’t actually lose any steps.

    Installed on the printer:

    I installed this new control board, and all 4 drivers on my MP3DPV1, and it’s working quite well. I had to adjust the sensitivity of X because this version can stretch X a little if it jamms in. And I’ll say again that I was able to use the LCD, without changing it’s pinout, just by remapping the pins_RAMPS around to get the CS pins to unused spaces.

    Summary:
    I didn’t print anything, because I took my Z probe off for another project. :(. But I will be using these on my MP3DPV2, because I’ve already invested so much time.

    They make the printer feel smoother, and after working with steppers for so long, I really like the idea that they know when there are open coils, or when they skip steps. It is measurably better than the DRV8825s.

    But they are a lot of work, and smashing them into a ramps board is a pain, and it ends up looking ugly. The skills required to do this means it’s still probably an advanced technique, until someone comes up with a rambo like board with them and Ryan takes the time to configure Marlin for you.

    If I knew then what I know now, I would probably still do this, but if they give me trouble in a few months, after the honeymoon has warn off, I’m taking them out. If you’re on the fence, don’t sweat it.

    1 user thanked author for this post.
    #54952

    Jeffeb3
    Participant

    Oh, and these are two more great resources for info:

    http://www.3dcampy.com/2017/12/20/tutorial-instalacion-y-configuracion-driver-trinamic-tmc2130-en-ramps-y-mks-gen-1-4/

    (google translate does a good job with this).

    and

    https://github.com/MarlinFirmware/Marlin/issues/8480

    1 user thanked author for this post.
    #55178

    geodave
    Participant

    Here is a capacitor you need to add to that board when they are back in stock.

    https://www.folgertech.com/products/flux-capacitor

    #55179

    Jeffeb3
    Participant

    Here is a capacitor you need to add to that board when they are back in stock.

    https://www.folgertech.com/products/flux-capacitor

    People who already use them keep going back to buy then when they get in stock. It’s a supply chain paradox.

    #55200

    Andre_L
    Participant

    Thanks for the info. I am planning to build an MP3DPV2 and I am considering the new Einsy Rambo board who have the TMC2130 on board. At least I will not have to mess with the hardware but there still Marlin to take care of. Like you said, we are hobbyists so spend time on this is the goal ūüėČ

    #55212

    Matthew Kress
    Participant

    I have also been eyeing the Einsy Rambo board, it looks pretty sweet and I also like the idea getting rid of the endstops and the skipped steps detection.

     

     

    #55233

    geodave
    Participant

    I have been trying to decide on which electronics board to replace on my Folger Tech Kossel.¬† With this new option out now, I was starting to ponder the Einsy¬†Rambo¬†as well as the¬†Rambo Mini,¬† or MKS v1.4.¬† With Ryan’s comments on the tuning of the TMC2130, I might take that out of the lineup.

    #55389

    geodave
    Participant

    I was looking thru some of the epilog challenges from the past on the instructable site & came across this DIY Flux Capacitor.

    http://www.instructables.com/id/Flux-Capacitor-Back-To-The-Future/

    #55399

    David Rabbit
    Participant

    Since you’re considering new options, the TMC2660 has similar features and can also handle 2 amps of current.

    https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2660_datasheet.pdf

    1 user thanked author for this post.
    #55415

    Jeffeb3
    Participant

    Very interesting.

    #55435

    Matthew Kress
    Participant
    #55449

    Jeffeb3
    Participant

    If I get these TMC2130’s from aliepress would assume I don’t have to do any rework

    Those still need the underside jumpers fixed. You’ll have to remove the resistor and jumper the two configs. Funny that these pics show the SPI pins up, but they are configured in standalone mode.

    #56900

    geodave
    Participant
    #56902

    Jeffeb3
    Participant

    I’ve never seen those. Seems like it would be a reasonable solution. I’m suspicious of the before/after photos, but I can imagine something like that working. Have you seen any reviews from people who aren’t selling them?

    #56904

    David Rabbit
    Participant

    Check the board you already have.  Most likely it already has flyback diodes on it, and so there would be no benefit to adding more.

    #60492

    geodave
    Participant

    I mentioned these smoother board addons earlier¬†& just found a video showing¬†reducing or eliminating¬†the Salmon skin pattern with these. https://www.youtube.com/watch?v=78fonMoXRuA . He¬†modified those addon boards to use¬†8x of the 1N5404 diodes & his results were quite noticable. I found this link that shows on the schematic drawing they are using¬†1N5404 diodes instead of the S3G’s.¬† Looks like it might be worth trying these. What do you think? https://www.ebay.com/itm/4pcs-filter-TL-Smoother-kit-addon-module-fit-3D-pinter-Accessories-motor-drivers/112972691457?hash=item1a4db27801:g:jRUAAOSw~O1a0JOf

    #60493

    Jeffeb3
    Participant

    These really smell like snake oil, but that video shows the difference quite well. I appreciate that. I might try these on my wanhao, which uses the melzi board and has integrated drivers.

    #60495

    Bill
    Participant

    I’ll get a set and try them on one of the ZenXY setups. If the reduce the noise significantly it should show up the easier than on the printer.

    #60500

    Ryan
    Keymaster

    They seem a bit fishy to me as well, for a little different reason though. The China vendors all keep pushing them on me. They don’t push anything else but these things.

    I have two of them here. I will drop them in a box if you guys have anything else you need to buy, first come first served. If they do work…that would be cool. They are just one of those for a problem I haven’t needed to solve. I did not the patterns on a round part recently but that was the first time.

    #60501

    geodave
    Participant

    I went ahead and ordered 4 of them from the link I gave.¬† I can’t tell for sure whether those come with the short cables like the other ones I have seen.¬† The description seems to say they do, but did not see them in any of the photos.¬† I liked those more than the others I have seen since they have the better diodes. I will probably try them on my Delta printer 1st that has the MKS Gen board.¬† My Makerfarm Prusa has a Rambo board on it & I do not want to take a chance on hurting that board.

    #60531

    Aaron
    Participant

    These really smell like snake oil, but that video shows the difference quite well. I appreciate that. I might try these on my wanhao, which uses the melzi board and has integrated drivers.

    Same, but I see an equal amount of videos where it does absolutely nothing as well! I want to put these on my extra i3+, which are on a different board I believe, but these smoother boards are very popular in the wanhao/monoprice community, but I still feel the bed/bearings is the issue on mine.

    #64567

    Ralph
    Participant

    So, I installed TMS2130 on X & Y and I’m having issues with homing. When I home X or Y they home to zero. But when I home Z or ALL the X & Y move to their max positions until they can’t move any more and Z homes normally. I did not solder any of the pads on the TMC2130 as indicated in the picture in your response in this thread ( #55449) as these are not the Chinese TMC2130, rather I bought them from here (https://www.semiconductorstore.com/cart/pc/viewPrd.asp?idproduct=65686) which I’m assuming are the original ones and that are SPI enabled. I also ran the M122 comand and it appears that the¬† SPI is working (see attached console response for M122). I’m also running Marlin-bugfix-1.1.8 that the marlin forum suggest to use and address some issues with TMC3210’s. Any thoughts?

    M122-Response

    Attachments:
    1. M122-Response.txt
    #64572

    Jeffeb3
    Participant

    1) Are you doing the stallGuard to do homing, or do you have endstop switches?

    2) Do the steppers move in the right direction when you’re not homing?

    If they move in the right direction when they are not homing, the other thing you could look at is M119. They should be OPEN when they aren’t moving. It’s pretty tough to catch them with M119 in the TRIGGERED state.

    It’s definitely fishy that it would home in X, or Y, but not in X, then Y, then Z. That seems like a software bug to me, so you might try another version. Make sure you are doing this test from a fresh reboot too. i.e. does it home the first time, but not the second, or will it fail on the first time if it’s just G28?

    I did have trouble with the “stable” builds, so I think I went to 2.0. I did a bunch more troubleshooting on these in my MP3DPV2 thread, and I think the root problems were a) using 1.1.8, and b) one of these got broken, at some point, and replacing it (or actually swapping it for the Z) worked.

    The other thing that’s fishy is you said it drives X and Y when homing Z. It does that to me, but only far enough to drive to the middle of the bed, and probe there. Do you have a Z probe? Maybe you’ve got that configured, or maybe your steps/mm are way off, so it’s driving way too far to get to the probe location?

    Interesting problem.

    #64609

    Ralph
    Participant
    ¬†1) Yes I’m using stallGuard instead of endstops.
    2) x y & z move in the right direction when I move them individually.
    3) It fails on the first home (G28 ) right after reboot.
    4) Yeah I have the bl-touch. Transferred all setting from my old working firmware used prior to the tmc2130 upgrade. I should’nt have to change the setps/min to accomodate the tmc2130’s on X & Y, should I?
    5) I’ve also noticed that the speed of X & Y seems alot faster than before (i.e. prior to 2130 upgrades). It’s been a while since I printed/used the printer (life gets in the way)…..but I’m sure I had to wait while it homed….now it like takes no time to home to the max X & Y. Maybe it is a steps/min issue?
    I’m going to try to upgrade to 2.0 and see what happens.
    #64613

    Jeffeb3
    Participant

    Definitely do a quick check to move it 10mm and make sure its not moving 100mm, too many steps/mm would explain this.

    #64616

    Ralph
    Participant

    Yup…I should have thought of that duh…move 10mm from console but actually move 20mm…so double the steps/min.

    Also looked at 2.0…..it’s an entirely new structure right?

     

     

    #64617

    Jeffeb3
    Participant

    They moved everything, but the files are generally pretty consistent.

    #64618

    Jeffeb3
    Participant

    Also, awesome! It definitely didn’t feel like a steps/mm problem until you said bltouch.

    #64625

    Ralph
    Participant

    changed it from 200 to 100 and now homing works and speed seems normal. G29 work also. X is very quiet y not such much, but I think that’s because I’m using you base for the MP3DP V1….so the motor is right on the base.

    thanks for you help ūüôā

    #64631

    Jeffeb3
    Participant

    Sure, blame the base. ūüôā

    I’m glad I could help. Thanks for the interesting problem.

    1 user thanked author for this post.
Viewing 30 posts - 1 through 30 (of 34 total)

You must be logged in to reply to this topic.