Basic Information:
-
Anycubic Mega X
-
TrigorillaV0.0.2
(More Info:Beginner's Guide (Deutsch) · knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S Wiki · GitHub) -
TMC2209V3.1 drivers meltbro - TMC2209 V3.1 Schrittmotor, Fysetc, neuste Version, original Trinamic chips (DE)
Describe your issue:
Hello everyone,
for the past year, I have succesfully used an Anycubic Mega X with the TMC2209 as a replacement for the stock drivers. This replacement was straightforward and I got all five steppers working in standalone mode out of the box.
[stepper_x]
step_pin: PF0
dir_pin: PF1
enable_pin: !PD7
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PE5
position_min: 0
position_endstop: 0
position_max: 300
homing_speed: 30.0
[stepper_y]
step_pin: PF6
dir_pin: !PF7
enable_pin: !PF2
microsteps: 16
rotation_distance: 40
endstop_pin: PL7
position_endstop: 0
position_max: 300
homing_speed: 30.0
[stepper_z]
step_pin: PL3
dir_pin: !PL1
enable_pin: !PK0
microsteps: 16
rotation_distance: 4
endstop_pin: ^!PD3
position_endstop: 0.0
position_max: 305
homing_speed: 5.0
[stepper_z1]
step_pin: PC1
dir_pin: !PC3
enable_pin: !PC7
microsteps: 16
rotation_distance: 4
endstop_pin: ^!PL6
[extruder]
step_pin: PA4
dir_pin: !PA6
enable_pin: !PA2
microsteps: 16
rotation_distance: 7.800
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB4
sensor_type: ATC Semitec 104GT-2
sensor_pin: PK5
min_temp: 0
max_temp: 260
I also managed to set up my BLTouch sensor working properly. The next thing I wanted to try is using the drivers in UART mode.
However, this is where I am failing to continue, since my knowledge of microelectronics is rather limited.
Here is what I want to achieve:
- Use all the five TMC2209 drivers (x,y,z,z1 and extruder) in UART mode
- Do this using the remaining three servo ports D4,D5,D6 (since D11 is used for BLTouch) and/or the UART pins on the board (D15,D14).
Here is what I tried:
- First, I looked up the mapping to the atmega2560 pins. If I understand correctly, the corresponding mappings are:
D4 = ar4: PG5
D5 = ar5: PE3
D6 = ar6: PH3
D14 = ar14: PJ1
D15 = ar15: PJ0
-
As recommended in the documentation, I start with a single stepper motor (
stepper_x
). -
The documentation tells me to use single wire UART, which I understand uses the same wire for TX and RX
-
So I connected D15 (==PJ0) to the RX pin on the TMC2209v3.1 and updated my config:
[tmc2209 stepper_x]
uart_pin: PJ0
run_current = 0.5
However, this does not seem to work:
Running dump_tmc stepper=stepper_x
leads to Unable to read tmc uart 'stepper_x' register GCONF
.
So please excuse my ignorance, but
-
is my wiring correct? Do I need additional wires? I am very confused with the single wire mode.
On the TMC2209, the difference between the TX and RX pins is that that the TX pin effectively includes a 1K resistor. So wouldn’t this setup require me to connect the TMC2209 both on TX and RX to two separate Pins on the board? -
Is my config correct?
-
Do I have to solder some contacts on TMC2209, bend/cut some pins, or somehow put some special signal to MS1, MS2 (see link above)?
If any additional information is needed, please let me know.
Any help would be very appreciated.
(I had this post full with pictures/links/schematics to my specific board the the drivers, but as a new user I was not allowed to post it with the pictures and links…)
Thank you in advance,
Bernhard