TMC2208 V3 UART on RUMBA Board - Raise3D N2

Basic Information:

Printer Model: Raise3D N2
MCU / Printerboard: ATmega2560 / RUMBA (Raise3D)

Bonjour,
After successfully solving my temperature problem, I’m trying to implement TMC2208 V3 Bigtreetech on the X Y axes in UART.

After many hours of research to try to understand what the UART is, I already see much better what I have to do.

Everything is still not very clear, and on how I have to connect the drivers to the motherboard. The setting of the printer.cfg file seems more obvious to me although I do not know the uart_pin:

I am looking to see if I can connect them without putting a wire from the UART pin to EXP3.
I wonder if I can only play with the MS1 MS2 MS3 micro switch. If so what is the right combination?

I put here some documents that may be useful:

Schematic RUMBA

Old conversation about setting up this type of driver.

Other people seem to have used SD2224 in UART

BIGTREETECH TMC2130 V3.0 , TMC2208 V3.0 ,The strongest TMC2208

RUMBA Tutorials

Conversation on UART

If you want to be able to control the drivers via software then this is needed

No

1 Like

OK, thanks for the info.
So what does it do besides setting the vref by code?

  • Read status messages, like errors etc
  • Set run_current
  • Switch between stealth chop and spread cycle
  • Set microstepping

That’s a big one, when adjusting the stepper motor driver current where there wasn’t a UART connection, I used to use one hand to hold the screwdriver to adjust the pot and my other two hands to hold the DVM leads.

Thank you both, you have fully convinced me.
I think I will spend more time on it because I was starting to have a good technique with the multimeter and the screwdriver, but indeed it will be easier to be able to set up everything by command line.

I will also be able to use the Pressure advance when we have the UART communication?

This is independent.

My personal opinion: Spend 30 USD and get some “BTT SKR something” or “MKS something” or “FYSETC something” entry level board and kick out the RUMBA board

Yes, I understand, of course I thought about it, but it’s also a lot of wiring work.
They sold quite a few machines, I was hoping to provide quite a few users with a little upgrade.

Now I’m trying to figure out how to wire and what to put in my code.

Wiring:
To communicate in UART, I understand that you need an RX and TX.
All explanations of connection of UART drivers have only one cable
Capture d’écran 2023-02-19 à 10.36.46

Looking at the Raise forum, some people have enabled the UART by connecting PJ0 and PJ1. Can you confirm me that the wiring is good? Unfortunately, I didn’t understand where to connect for Z and E (but that’s less important)


Concerning the code, I have a vague idea, but it’s not super clear yet.

[tmc2208 stepper_x]
uart_pin: P?
microsteps: 16
interpolate: True or false?
hold_current: 0.5 or more?
run_current: 0.7 or more?
stealthchop_threshold: 600 or more?
I don’t think I need this and I don’t even know what that means
driver_PWM_AUTOGRAD: True or false?
driver_PWM_AUTOSCALE: True or false?
driver_HEND: 3
driver_HSTRT: 0

[stepper_x]
step_pin: PH0
dir_pin: PH1
enable_pin: !PL1
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PC0
#endstop_pin: ^PC1
position_endstop: -10
position_min: -10
position_max: 300
homing_speed: 50

See, this is exactly what I meant: It usually ends up in a holy mess to sort it out.
Some general remarks:

I do need the machine quickly.
I will surely follow your advice and change the card but later.

I finally unsoldered the resistor of the TMC2208 V3 drivers from UART mode to put them in STEP/DIR.
I set the Vref to 0.9V like on the TMC2100 (Stock).

J’ai changé

rotation_distance: 40
to
rotation_distance: 80