CoreXY axis wrong even after cables swapped



  • I'm building a CoreXY on top of a kit I bought. The kit functioned well, but the board was locked up so much you couldn't even save PIDs or your E-steps (who's bright idea was that?) I put my Ethernet board in last night. I thought I had mixed the X and the Y cables up because when I try to move the X, the Y moves, and the X move when I try the Y. I swapped the cable at the board and no change WTH? My Z moves a little fast for me, but that tuneable. I used the configuration tool for my base settings to tune from, and copied as much info as I could from the original.

    –-------------------------------------------------------------------------------------
    ; General preferences
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare

    M667 S1 ; Select CoreXY mode
    M208 X5 Y5 Z0 S1 ; Set axis minima
    M208 X325 Y325 Z350 S0 ; Set axis maxima

    ; Endstops
    M574 X2 Y2 Z2 S0 ; Define active low and unused microswitches
    ;M558 P1 X0 Y0 Z0 H5 F120 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    ;G31 P600 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    ;M557 X40:285 Y15:310 S20 ; Define mesh grid

    ; Drives
    M569 P0 S1 ; Drive 0 goes forward
    M569 P1 S0 ; Drive 1 goes backward
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X128 Y128 Z16 E32 I0 ; Configure microstepping without interpolation
    M92 X640 Y640 Z400 E418.5 ; Set steps per mm
    M566 X1800 Y1800 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 Z3600 E1200 ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z500 E250 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E1000 I5 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S260 ; Set maximum heater temperature to 260C
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B4066 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M305 P1 T100000 B4066 C0 R4700 ; Set thermistor + ADC parameters for heater 1

    ; 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

    ; Network
    M552 S1
    M550 PGodzilla ; Set machine name
    M540 PBE:EF:DE:AD:FE:ED ; Set MAC address
    M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

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

    ; Custom settings are not configured

    ; Miscellaneous
    T0 ; Select first tool
    M501 ; Load saved parameters from non-volatile mem


  • administrators

    In this line:

    M569 P1 S0 ; Drive 1 goes backward

    try changing S0 to S1. See https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_CoreXY_printer for more info.



  • I think I have that sorted out. now can you think of a reason why the Z would only move down and never back up?
    I have 2 Z motors and one is wired in reverse so they are in series.


  • administrators

    @Cinpro:

    I think I have that sorted out. now can you think of a reason why the Z would only move down and never back up?
    I have 2 Z motors and one is wired in reverse so they are in series.

    I can think of two reasons:

    1. Incorrect or bad wiring or a bad driver, so that only one phase is being driven. In this case, commanding the bed either up or down will result in it moving down.

    2. Insufficient motor torque, or acceleration or speed set too high. In this case the behaviour when you try to move the bed up won't be the same as when you try to move it down.



  • @dc42:

    @Cinpro:

    I think I have that sorted out. now can you think of a reason why the Z would only move down and never back up?
    I have 2 Z motors and one is wired in reverse so they are in series.

    I can think of two reasons:

    1. Incorrect or bad wiring or a bad driver, so that only one phase is being driven. In this case, commanding the bed either up or down will result in it moving down.

    2. Insufficient motor torque, or acceleration or speed set too high. In this case the behaviour when you try to move the bed up won't be the same as when you try to move it down.

    tested the steppers separately after disconnecting them from the bed, right motor moves normally left motor only one way and not always moving. I swapped the inner 2 wires and that got it going.

    I have NO micro switches for the endstops, they all show as triggered when I run M119 and push them individually. However nothing stops, more than triple checked that they are on the proper axis. I have been reading here; https://www.duet3d.com/wiki/Connecting_endstop_switches , even trying things that shouldn't work just for giggles. All are wired to the outer slots on the shells, reversing the wires did no good so I put them back. I have come across this in the past, but for the life of me I can't remember the solution. (it was on a RAMPs board anyway)



  • End stops are only checked when homing and then by using the S1 parameter in the G1 command. Check that your homing files use the format G1 S1 Axis-nnn where Axis will be either X,Y or Z and -nnn will be the amount to move (something greater than the axis range).



  • @deckingman:

    End stops are only checked when homing and then by using the S1 parameter in the G1 command. Check that your homing files use the format G1 S1 Axis-nnn where Axis will be either X,Y or Z and -nnn will be the amount to move (something greater than the axis range).

    hits the endstop and is still trying to move. posting my endstop section and the X home file. I'm sure they are a bit messed up as I have been trying different things.

    ; Endstops
    M574 X2 Y2 Z2 S0; Define active low and unused microswitches

    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Oct 29 2017 21:37:06 GMT-0400 (Eastern Standard Time)

    ; Move quickly to X axis endstop and stop there (first pass)
    G1 X-335 F1800 S0

    ; Go back a few mm
    G91
    G1 X5 F6000
    G90

    ; Move slowly to X axis endstop once more (second pass)
    G1 X-335 F360 S1



  • Yes, like I said, you need to use S1 to "look" for the switch in your homing file. The first G1 line of your home X has S0 so you are telling the machine to go to X-335 mm but without checking the switch. You need to use G1 X-335 F1800 S1 not S0



  • They weren't responding to the S1 before so I changed it. When I changed it back BAM it works! thanks man 😄



  • Glad it's now working for you.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.