Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    tool change motor only spins in 1 direction

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    2
    8
    395
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • tekstyleundefined
      tekstyle
      last edited by tekstyle

      I have a LDO 14:1 motor attached to the 10 CONN LCD port on my duet2. there are GND, 3.3V, DIR, STEP, and EN pin used. I did not connect the STOP pin.

      on the external driver board, it is set to 4x microstep. and the current is 0.58A

      when I home U axis, it will go to min just fine. however, that's the only direction it would go. even if I jog it +10 (any positive direction), it will turn the same amount of movement in the negative direction. jogging -10 would turn 10 in the negative direction as expected. I can't figure it out. Below is my config for the U axis.

      M569 P10 S0 ; physical drive 10 CONN LCD #10 (tool changer)
      M584 U10 ; set drive mapping U axis as CONN LCD #10 tool changer.
      M92 U30.578
      M566 U50
      M203 u15000
      M201 U800

      ;current and microstep manually set on external stepper driver breakout board and A4988 driver to 1/4 microstepping and .580A

      M208 U0:5000 ; axis limits

      M574 U2 S1 "P^e0stop" ; config active high endstop for low/high on U via pin e0stop

      1 Reply Last reply Reply Quote 0
      • tekstyleundefined
        tekstyle
        last edited by

        perhaps it is a symptom of a bad connection on the DIR wire. i'll check when I get home.

        1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by

          Post full config.g please. Firmware version?

          Z-Bot CoreXY Build | Thingiverse Profile

          tekstyleundefined 1 Reply Last reply Reply Quote 0
          • tekstyleundefined
            tekstyle @Phaedrux
            last edited by tekstyle

            @phaedrux

            here it is. there is a lot that is still in the works so it might be a bit messy

            ; Configuration file for Duet WiFi (firmware version 3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v2.1.8 on Mon Feb 24 2020 22:39:52 GMT-0800 (Pacific Standard Time)

            ; General preferences
            G90 ; send absolute coordinates...
            M83 ; ...but relative extruder moves
            M550 P"coreXY" ; set printer name

            ;Paneldue settings
            M575 P1 B57600 S1 ; paneldue connected through serialport baudrate 57600 checksum enabled
            M667 S1 ; select CoreXY mode

            ; Network
            M552 S1 ; enable network
            M586 P0 S1 ; enable HTTP
            M586 P1 S0 ; disable FTP
            M586 P2 S0 ; disable Telnet

            ; Drives
            M569 P0 S0 ; physical drive 0 goes backwards X connector
            M569 P1 S0 ; physical drive 1 goes backwards Y connector
            M569 P2 S0 ; physical drive 2 goes backwards Z connector
            M569 P3 S0 ; physical drive 3 goes backwards E0 connector
            M569 P4 S0 ; physical drive 4 goes backwards E1 connector
            M569 P5 s0 D2 ; physical drive 5 goes backwards expE2 connector. spread cycle mode
            M569 P6 S0 D2 ; physical drive 6 goes backwards expE3 connector. spread cycle mode
            M569 P7 S0 D2 ; physical drive 7 goes backwards expE4 connector. spread cycle mode
            M569 P8 S0 D2 ; physical drive 8 goes backwards expE5 connector. spread cycle mode
            M569 P9 S0 D2 ; physical drive 9 goes backwards expE6 connector. spread cycle mode
            M569 P10 S0 ; physical drive 10 goes backwards CONN LCD #10 (tool changer)
            M584 X0 Y1 Z2:3:4 E5:6:7:8:9 ; set drive mapping. defines P0-P4 as movement drives. and P5-10 as extruders. M563 will reference
            D0 as the first extruder in the series which is the motor connected to P5.
            M584 U10 ; set drive mapping U axis as CONN LCD #10 tool changer. uses E0 endstop by default

            M671 X20:400:20 Y20:141:330 s20 ; Z leadscrews are at (11,20), (411,141.7), (11,400). max correction 20mm

            M350 X16 Y16 Z16 E16:16:16:16:16 I1 ; configure microstepping with interpolation
            ;M350 U4 I1 ; configure U 4x microstepping with interpolation. uncommented due to external stepper driver
            M92 X80 Y80 Z1600 E400:400:400:400:400 U30.578 ; set steps per mm
            M566 X1000 Y1000 Z500 U50 E120:120:120:120:120 ; set maximum instantaneous speed changes (mm/min)
            M203 X7000 Y7000 Z180 U15000 E1200:1200:1200:1200:1200 ; set maximum speeds (mm/min)
            M201 X500 Y500 Z20 U800 E850:850:850:850:850 ; set accelerations (mm/s^2)
            M906 X1000 Y1000 Z1700 E680:680:595:595:595 I30 ; set motor currents (mA) and motor idle factor in percent
            ; does not include toolchanger motor because it is set via external stepper driver
            M84 S30 ; Set idle timeout

            ;Pressure advance
            ; M572 D0 S0.05 ;tool 0 to 0.05 sec

            ; Axis Limits
            M208 X-15:400 Y-10:465 Z0:365 u0:5000 ; set axis minima

            ; Endstops
            M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
            M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
            M574 Z1 S2 ; configure Z-probe endstop for low end on Z
            M574 U2 S1 P"^e0stop" ; configure active-high endstop for low/high end on U avia pin e0stop

            ; Z-Probe ;https://forum.duet3d.com/topic/2671/precision-piezo-z-probes-guide-for-duet-users-reference
            M558 P5 C"zstop" H5 F120 T3000 ; NC switch Z probe connected to Z endstop input
            ;M558 P5 R1 C"^!zprobe.in+^!zprobe.mod" H3 F1000 T10000 A3 S0.05 ; P(effector type) R(delay in second) C(invert,pin name) H(dive height mm) F(probe speed) T(travel speed) A(max #tap) S(tolerance)
            G31 P600 X0 Y0 Z0 ; set Z probe trigger value, offset and trigger height
            M557 X35:390 Y0:320 p5:5 ; define mesh grid

            ;Heaters********************************************************
            M950 H7 C"nil" ; disable heater 7 on duex5 and free up the associated pin

            ; Bed0 (H0), Bed1 (H2), Bed2 (H1), Bed3 (H8)
            ;BED0
            M308 S0 P"bedtemp" Y"thermistor" A"Bed1 M190 P0" T100000 B3950 ; configure sensor 0 as thermistor on pin bedtemp
            M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
            M143 H0 S120 ; set temperature limit for heater 0 to 120C
            M307 H0 A121.9 C754.7 D1.9 S1 B0 V24.1 ; disable bang-bang mode for the bed heater and set PWM limit
            M140 P0 H0 ; map heatedbed1-RL to heater 0
            ;BED2
            M308 S1 P"e0temp" Y"thermistor" A"Bed3 M190 P1" T100000 B3950 ; configure sensor 1 as thermistor on pin e0temp
            M950 H1 C"e0heat" T1 ; create heater output on e0heat and map it to sensor 1
            M143 H1 S120 ; set temperature limit for heater 1 to 120C
            M307 H1 A116.1 C773.2 D1.7 S1 B0 V24.1 ; disable bang-bang mode for heater and set PWM limit
            M140 P1 H1 ; map heatedbed3-FL to heater 1
            ;BED1
            M308 S2 P"e1temp" Y"thermistor" A"Bed2 M190 P2" T100000 B3950 ; configure sensor 2 as thermistor on pin e1temp
            M950 H2 C"fan1" T2 ; create heater output on e1heat and map it to sensor 2
            M143 H2 S120 ; set temperature limit for heater 2 to 120C
            M307 H2 A76.7 C710.1 D1 S1 B0 V24.1 ; disable bang-bang mode for heater and set PWM limit
            M140 P2 H2 ; map heatedbed2-RR to heater 2
            ;BED3
            ;https://duet3d.dozuki.com/Wiki/Connecting_PT100_temperature_sensors
            M308 s8 P"spi.cs1" Y"rtd-max31865" A"Bed4 M190 P3" ;create sensor 8 as PT100 temperature sensor on RTD1 of daughtboard
            M950 H8 C"fan2" T8 ;create heater8 output(for 4th heatbed) on fan2 and map it to sensor 8
            M143 H8 S120 ;set temperature limit for heater 8 to 120C
            M307 H8 A61.5 C524.7 D2.3 S1 B0 V24.1 ;bang-bang mode for heater8 and set PWM limit
            M140 P3 H8 ;map heatedbed4-FR to heater 8

            ;EXTRUDERS TOOL 0 TO 4
            M308 S3 P"duex.e2temp" Y"thermistor" T100000 B3950 ; configure sensor 3 as thermistor on pin duex.e2temp
            M950 H3 C"duex.e2heat" T3 ; create nozzle heater output on duex.e2heat and map it to sensor 3
            M143 H3 S280 ; set temperature limit for heater 3 to 280C
            M307 H3 A485.5 C182.8 D4.8 S1 B0 V24.1 ; disable bang-bang mode for heater and set PWM limit

            ;M308 S4 P"duex.e3temp" Y"thermistor" T100000 B3950 ; configure sensor 4 as thermistor on pin duex.e3temp
            ;M950 H4 C"duex.e3heat" T4 ; create nozzle heater output on duex.e3heat and map it to sensor 4
            ;M143 H4 S280 ; set temperature limit for heater 4 to 280C
            ;M307 H4 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

            ;M308 S5 P"duex.e4temp" Y"thermistor" T100000 B3950 ; configure sensor 5 as thermistor on pin duex.e4temp
            ;M950 H5 C"duex.e4heat" T5 ; create nozzle heater output on duex.e4heat and map it to sensor 5
            ;M143 H5 S280 ; set temperature limit for heater 5 to 280C
            ;M307 H5 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

            ;M308 S6 P"duex.e5temp" Y"thermistor" T100000 B3950 ; configure sensor 6 as thermistor on pin duex.e5temp
            ;M950 H6 C"duex.e5heat" T6 ; create nozzle heater output on duex.e5heat and map it to sensor 6
            ;M143 H6 S280 ; set temperature limit for heater 6 to 280C
            ;M307 H6 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

            ;M308 S7 P"duex.e6temp" Y"thermistor" T100000 B3950 ; configure sensor 7 as thermistor on pin duex.e5temp
            ;M950 H7 C"1heat" T6 ; create nozzle heater output on duex.e5heat and map it to sensor 7
            ;M143 H7 S280 ; set temperature limit for heater 7 to 280C
            ;M307 H7 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit

            ; Fans**************** M950 F(fan#) C(pin name on board). M106 P(#corresponse to Fan#) S(speed) H(thermostatic control on/off. H-1 disable. H1 or above is the heater# it controls)
            M950 F9 C"!exp.heater7" Q6000 ; 24V create fan 9 on pin expheater7 PWM pin and set its frequency to 6000hz
            M106 P9 S0 H-1 c"CPAP Cool" ; S0 set fan9 0% . H-1 Thermostatic control is turned off
            M950 F0 C"fan0" Q500
            M106 P0 S0 H-1 c"LED"
            M950 F3 C"duex.fan3" Q500 ; create fan 3 on pin duex.fan3 and set its frequency
            M106 P3 S1 H3 T45 ; set fan 3 value. Thermostatic control is turned on
            M950 F4 C"duex.fan4" Q500 ; create fan 4 on pin duex.fan4 and set its frequency
            M106 P4 S1 H4 T45 ; set fan 4 value. Thermostatic control is turned on
            M950 F5 C"duex.fan5" Q500 ; create fan 5 on pin duex.fan5 and set its frequency
            M106 P5 S1 H5 T45 ; set fan 5 value. Thermostatic control is turned on
            M950 F6 C"duex.fan6" Q500 ; create fan 6 on pin duex.fan6 and set its frequency
            M106 P6 S1 H6 T45 ; set fan 6 value. Thermostatic control is turned on
            M950 F7 C"duex.fan7" Q500 ; create fan 7 on pin duex.fan7 and set its frequency
            M106 P7 S1 H7 T45 ; set fan 7 value. Thermostatic control is turned on

            ; Tools**********************************************************************************************************************************************
            ;EXTRUDER TOOLS M563 P(tool) D(extruder) H(heater) F(fan)
            M563 P0 D0 H3 F9 ; tool0 (P0), extruder0 (D0) heater3(h3) Fan9(F9)
            G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
            G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
            ;M563 P1 D1 H4 F0 ; define tool 1
            ;G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
            ;G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
            ;M563 P2 D2 H5 F0 ; define tool 2
            ;G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets
            ;G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C
            ;M563 P3 D3 H6 F0 ; define tool 3
            ;G10 P3 X0 Y0 Z0 ; set tool 3 axis offsets
            ;G10 P3 R0 S0 ; set initial tool 3 active and standby temperatures to 0C
            ;M563 P4 D4 S"TPU" H7 F0 ; define tool 4
            ;G10 P4 X0 Y0 Z0 ; set tool 4 axis offsets
            ;G10 P4 R0 S0 ; set initial tool 4 active and standby temperatures to 0C

            ;work coordinate system
            G10 L2 P2 X-19 Y24.7 Z0 ;coordinate system 2. call with G55
            Custom settings are not defined

            ; Miscellaneous
            ;M501 ; load saved parameters from non-volatile memory

            M929 P"eventlog.txt" S1 ; start logging to file eventlog.txt

            Phaedruxundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              Can you send M98 P"config.g" and report any errors?

              Can you also send M584, M350, M92 by themselves and compare what they report with what you expect?

              Also I note that you aren't defining most of the required values for U. M566, <203, M201, M906

              Z-Bot CoreXY Build | Thingiverse Profile

              tekstyleundefined 1 Reply Last reply Reply Quote 0
              • tekstyleundefined
                tekstyle @Phaedrux
                last edited by

                @phaedrux
                M66, M203,M201 are all defined for U
                M906 and M350 are not because I am using the A4988 driver with an external board.

                m98 p"config.g"
                HTTP is enabled on port 80
                FTP is disabled
                TELNET is disabled
                Error: Bad command: D0 as the first extruder in the series which is the motor connected to P5.
                Warning: Heater 3 appears to be over-powered. If left on at full power, its temperature is predicted to reach 510C

                m584
                Driver assignments: X0 Y1 Z2:3:4 U10 E5:6:7:8:9, 4 axes visible

                m350
                Microstepping - X:16(on), Y:16(on), Z:16(on), U:16(on), E:16(on):16(on):16(on):16(on):16(on)

                m92
                Steps/mm: X: 80.000, Y: 80.000, Z: 1600.000, U: 30.578, E: 400.000:400.000:400.000:400.000:400.000

                1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator @tekstyle
                  last edited by

                  @tekstyle said in tool change motor only spins in 1 direction:

                  M584 X0 Y1 Z2:3:4 E5:6:7:8:9 ; set drive mapping. defines P0-P4 as movement drives. and P5-10 as extruders. M563 will reference
                  D0 as the first extruder in the series which is the motor connected to P5.

                  @tekstyle said in tool change motor only spins in 1 direction:

                  Error: Bad command: D0 as the first extruder in the series which is the motor connected to P5.

                  I think you have a line wrap problem.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  tekstyleundefined 1 Reply Last reply Reply Quote 0
                  • tekstyleundefined
                    tekstyle @Phaedrux
                    last edited by

                    @phaedrux

                    i was looking at that too and wonder whats going on as well. it doesnt seem to be related but ill have to look into it. i have physical drive 5 on the duex5 assigned as the extruder for tool 0 right now.

                    as for the tool change motor direction, it was a bad connection on the DIR wire. i swapped it out for a new one and all is fine.

                    thank you phaedrux!

                    1 Reply Last reply Reply Quote 1
                    • First post
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA