Tronxy X5S questions



  • Hello,

    Would anyone with a Tronxy X5S be willing to share their settings?

    I'm having an issue with the x and y movement on my X5S after changing to a Duet 2 Ethernet. When I do either a X or Y move I get diagonal drift and I am trying to fix it. I am running the motors at 950mA with a 30% idle current percentage. I am wondering what other people have these settings at, I don't want to damage the motors. I've also replaced the stock bearings with toothed and smooth bearings with integrated belt guides. The bearings all move when turned by hand. I've read the article at https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter and am not understanding the process but I will keep trying.

    Any advice is appreciated.

    Thanks,

    Tom



  • Can you post your config file as it is now?
    And probably your homing files as well.



  • Thanks for the reply, I appreciate it! The motors are set for 1200 right now and it didn't seem to make a difference from 950.

    Here is the config file:

    ; Configuration file for Duet Ethernet (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Oct 17 2018 22:08:57 GMT-0500 (Central Daylight Time)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M667 S1 ; Select CoreXY mode

    ; Network
    M550 PTronxy X5S ; Set machine name
    M552 P192.168.0.95 S1 ; Enable network and set IP address
    M553 P255.255.255.0 ; Set netmask
    M554 P192.168.0.1 ; Set gateway
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X80 Y80 Z400 E98 ; Set steps per mm
    M566 X600 Y600 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z180 E1500 ; Set maximum speeds (mm/min)
    M201 X3000 Y3000 Z100 E10000 ; Set accelerations (mm/s^2)
    M906 X1200 Y1200 Z1200 E1200 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X330 Y330 Z400 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 S0 ; Set active low endstops

    ; Z-Probe
    M558 P5 H5 F0 T6000 ; Set Z probe type to switch and the dive height + speeds
    G31 P500 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
    M557 X15:315 Y15:315 S20 ; Define mesh grid

    ; Heaters
    M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    ; Automatic power saving
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss

    ; Custom settings are not configured

    And here is the homeall file:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Oct 17 2018 22:08:57 GMT-0500 (Central Daylight Time)
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 X-335 Y-335 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    G1 S1 X-335 ; home X axis
    G1 S1 Y-335 ; home Y axis
    G1 X5 Y5 F6000 ; go back a few mm
    G1 S1 X-335 F360 ; move slowly to X axis endstop once more (second pass)
    G1 S1 Y-335 ; then move slowly to Y axis endstop
    G1 S1 Z-405 F1800 ; move Z down stopping at the endstop
    G90 ; absolute positioning
    G92 Z0 ; set Z to axis minimum (you may want to adjust this)

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 S2 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    The homex file:

    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Oct 17 2018 22:08:57 GMT-0500 (Central Daylight Time)
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 X-335 F1800 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F6000 ; go back a few mm
    G1 S1 X-335 F360 ; move slowly to X axis endstop once more (second pass)
    G1 Z-5 F6000 S2 ; lower Z again
    G90 ; absolute positioning

    The homey file:

    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Oct 17 2018 22:08:57 GMT-0500 (Central Daylight Time)
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 Y-335 F1800 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F6000 ; go back a few mm
    G1 S1 Y-335 F360 ; move slowly to Y axis endstop once more (second pass)
    G1 Z-5 F6000 S2 ; lower Z again
    G90 ; absolute positioning

    The homez file:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Oct 17 2018 22:08:57 GMT-0500 (Central Daylight Time)
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 Z-405 F1800 ; move Z down until the endstop is triggered
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 S2 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning



  • @tletourneau said in Tronxy X5S questions:

    https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter

    What firmware version are you using?

    Have you gone through the movement section of that link? Specifically the part where you move each motor independently to verify the motors are turning in the right direction?



  • Thanks for asking about the independant X and Y tests. I just ran them and it look like the X motor is fine but the Y motor is having an issue. I will get a video, put it on YouTube, and link it here. Here are my firmware diagnostics.

    9:23:45 PMM122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.01(RTOS) running on Duet Ethernet 1.02 or later
    Board ID: 08DGM-9T6BU-FG3S0-7JTDJ-3SD6N-KS5VF
    Used output buffers: 3 of 20 (7 max)
    === RTOS ===
    Static ram: 28476
    Dynamic ram: 95940 of which 16 recycled
    Exception stack ram used: 348
    Never used ram: 6292
    Tasks: NETWORK(ready,328) HEAT(blocked,1248) MAIN(running,3540)
    Owned mutexes:
    === Platform ===
    Last reset 00:08:25 ago, cause: software
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 6156 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 9.4ms, max retries 0
    MCU temperature: min 35.7, current 36.1, max 36.4
    Supply voltage: min 24.0, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0
    Driver 0: standstill, SG min/max 0/1023
    Driver 1: standstill, SG min/max 0/1023
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Date/time: 1970-01-01 00:00:00
    Slowest loop: 7.95ms; fastest: 0.07ms
    === Move ===
    Hiccups: 0, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm: 238, MaxWait: 250641ms, Underruns: 0, 0
    Scheduled moves: 13, completed moves: 13
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 495.65ms; fastest: 0.02ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state: 5
    === Expansion ===



  • Here is a video of running the X/Y tests: https://www.youtube.com/watch?v=ej4KsuKsWrg



  • Can you try this part? Or was this the part you tested in the video?

    Commissioning
    During commissioning, you can test the X and Y motors independently by using the S2 modifier on the G1 command, like this:

    G91 ; relative mode
    G1 S2 X10 ; move the X motor forward 10mm
    G1 S2 X-10 ; move the X motor back 10mm
    G1 S2 Y10 ; move the Y motor forward 10mm
    G1 S2 Y-10 ; move the Y motor back 10mm
    G90 ; back to absolute mode

    Try it with the belts connected. And if it still stalls when moving the y motor. Try with the belts disconnected. If the motor turns the correct direction (watch when it turns and correlate it to how it would move the belts and the gantry) then we know you're configured correctly and can look closer for a mechanical issue.

    You mention some binding in your video. With the belts disconnected can you move the print head smoothly in all directions?

    Becareful when moving the print head with the belts connected to the motors. If you move too quickly you can generate enough current with the motors to damage the duet drivers. The speed you were moving should be fine but I wouldn't want to go any faster.



  • Hello, that is what I was doing in the video. I created macros to do it quickly. I will try it without the belts after work tomorrow and update the thread. It doesn't seem any more or less difficult to move the gantry than before upgrading it. Thanks for the pointer about engaging the motors, I will be careful.



  • Here are the motor specs if it helps, I'm not against replacing the motors if needed.

    The SL42STH40-1684A motor specs are:

    Step Angle: 1.8°
    Step Angle Accuracy: ±5% (full step, no load)
    Voltage: 2.8V
    Current per phase: 1.68A
    Resistance per phase: 1.65Ω
    Resistance accuracy: ±10%
    Inductance per phase: 3.2mH
    Inductance accuracy: ±20%
    Holding torque: 3.6 Kg·cm (0.4 N·m)
    Moment of inertia: 54 g/cm^2
    Weight: 0.28 kg
    Orientation torque: 150 g/cm
    Length: 40 mm
    Temperature rise: 80°C max (rated current, 2 phases on)
    Ambient temperature: -20°C ~ +50°C
    Insulation resistance: 100MΩ min, 500VDC
    Shaft radial play: 0.02 mm max (450g load)
    Shaft axial play: 0.08 mm max (450g load)
    Max. radial force: 28N (20mm from the flange)
    Max. axial force: 10N



  • Y is working now, the cable had two bad crimps. I didn't check it first because I had a retired MM2 Senior Chief redo the cables for me (my brother). X and Y are now working correctly!

    I want to thank everyone for the assistance, I truly appreciate it!



  • Glad you got it sorted.

    Have fun with the rest of commissioning.


Log in to reply