Welcome! Log In Create A New Profile


Help with RAMPS 1.6+ and TMC2209 and UART mode.

Posted by Clydesdale 
Help with RAMPS 1.6+ and TMC2209 and UART mode.
April 27, 2021 05:50PM
Hello all

I was wondering if anyone could shed some light onto a question I have surrounding the use of a RAMPS 1.6+ board and TMC2209 drivers. I have been using my trusty RAMPS 1.4 board and the A4988 drivers for the better part of 9 years when my RAMPS board started to smoke. Given I already had the mega, I went and looked at the newest RAMPS board I could find. I found the 1.6+ which I now realise isnt an official version but one that Bigtreetech has created. At the time I thought it reasonable to move to TMC drivers to make the printer capable of running into the night without disturbing my neighbours with the noise. I cannot find much on the RAMPS1.6+ wiring given the sales web page states that no wire is needed for TMC22xx drivers as they have included it in the board . . . but its not overly clear (to me anyway).

I know that there isnt all that much out there and the nearest thread I could find was this one but it uses a RAMPS 1.4 board. Given the subtle differences (the onboard SPI line) for the 1.6+ I thought that I would ask here in case someone already knows how to set it up.

From what I understand I dont have to include any jumpers for the TMC2209 drivers, I can drop them in (though the ones I have include all the pins to go into the ramps board, I was wondering if I should leave the TX and RX pins given the 1.6+ claims), upgrade to Marlin 2.x and make sure that I select the TMC option in the settings and remember to reverse my stepper motor directions. I know I will also have to toggle the SPI/UART mode in Marlin and calculate the correct current to use.

The parts I am using are:-
- Ramps 1.6+

- TMC2209 FYSETC v3.1 drivers (with 1K resistor on board)

Am I correct in assuming
1 - No jumpers are needed under the drivers as Marlin will take care of the addressing in software ?
2 - That I dont need to cut any of the TMC2209 pins that are going into the RAMPS board. I have seen videos on having some pins point up etc as they are connecting a hydra cable, but given the 1.6+ I am guessing the pins will have to go into the board to allow for all to communicate using the on board 1.6+ additional traces. (all the pins on the TMC2209 came populated so I will have to cut if needs be)
3 - That the Reprap Discount Graphical LCD I am using will still be operational even though I am now using TMC2209 drivers on the RAMPS 1.6+ board ?
4 - That I will be OK without the protector diode boards (though I have them on order) as long as I dont move the steppers quickly when the print is finished (thinking the bed moves as I have to sometimes get a little physical to remove a print)

I could go and get an SKR board but given I have the mega, and the RAMPS1.6+ board, I thought that I would ask here before abandoning the RAMPS option.

Any help would be warmly received !

Re: Help with RAMPS 1.6+ and TMC2209 and UART mode.
April 28, 2021 02:32PM
This may be possible if you have the RAMPS connected to an Arduino Mega, however this will _not_ work with a Re-ARM since several of the pins used by BigTreeTech to connect UART are not available with Re-ARM.

Unfortunately, the FYSETC 2209 drivers have the resistor on the TX pin which is the pin connected to the UART on the RAMPS, and this might interfere with communication. The following pins would be the ones that would need to be defined:

#define X_SERIAL_TX_PIN D63
#define X_SERIAL_RX_PIN D63
#define Y_SERIAL_TX_PIN D40
#define Y_SERIAL_RX_PIN D40
#define Z_SERIAL_TX_PIN D42
#define Z_SERIAL_RX_PIN D42
#define E0_SERIAL_TX_PIN D65
#define E0_SERIAL_RX_PIN D65
#define E1_SERIAL_TX_PIN D66
#define E1_SERIAL_RX_PIN D66

Unfortunately, pins D40 and D42 are not defined as pin change interrupt capable pins so they are not compatible with the SoftwareSerial used by Marlin, so you can't use the built in traces for Y and Z.
Re: Help with RAMPS 1.6+ and TMC2209 and UART mode.
April 28, 2021 04:36PM
Many thanks for your reply, most definitely appreciated.

I should have stated in my original post that I am indeed using an Arduino Mega and not a Re-Arm. Its the same Mega I have had since the day I built the printer and it has served me well. I have end stop switches I intend to continue using, and only have the one extruder. I use a breakout board to feed two Z steppers using the one driver. I use a hall effect sensor for my Z-probe and is powered external to the RAMPS board.

I print under 80mm/s so I'm not overly concerned about spread cycle, for me it was all down to just making the printer run as quiet as I can so that longer prints can be completed faster rather than stopping each evening.

Given the 1K resistor on the driver itself, I have been pondering cutting the FYSETC TMC2209 drivers TX and RX pins so they dont go into the RAMPS board and just using a cable to connect the UART. If I did cut the pins and used a hydra cable, would I be able to just use pins 20 and 21 as my serial pins akin to the RAMPS 1.4 setup as per your feedback in the other thread ? Though I understand I would still have to provide each driver sharing a pin its own slave address.

The board and all is within an industrial project box and cable managed so I am more than happy to go the cable route if its a better option. All about making the printer quiet and happy at this point. I tend not to peer inside the box too much if alls working as it should.
Re: Help with RAMPS 1.6+ and TMC2209 and UART mode.
April 28, 2021 05:07PM
I would recommend cutting the pins and using a hydra cable. That's what I do on my Re-ARM/RAMPS combination. However, don't use pins 20 and 21 - that was a mistake on my part since those pins are not change interrupt capable - later on in that thread it's explained further. I'd recommend pins 63 and 64 on the AUX2 connector. Any of the following pins can be used:

10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69)

63 and 64 are pretty conveniently located.
Re: Help with RAMPS 1.6+ and TMC2209 and UART mode.
April 28, 2021 05:18PM
Fantastic, I will go with that option and use pins 63 anbd 64. I will also go and have a thorough re-read of the other thread too.

Many thanks again for the help and advice it is indeed appreciated. thumbs up
Re: Help with RAMPS 1.6+ and TMC2209 and UART mode.
May 19, 2021 09:06PM
Here are the details on my implementation of TMC RAMPS

You'll find references you need there.


Edited 1 time(s). Last edit at 05/19/2021 09:06PM by NovaHuta.
Sorry, only registered users may post in this forum.

Click here to login