tool change motor only spins in 1 direction
-
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
-
perhaps it is a symptom of a bad connection on the DIR wire. i'll check when I get home.
-
Post full config.g please. Firmware version?
-
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 defaultM671 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 memoryM929 P"eventlog.txt" S1 ; start logging to file eventlog.txt
-
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
-
@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 510Cm584
Driver assignments: X0 Y1 Z2:3:4 U10 E5:6:7:8:9, 4 axes visiblem350
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 -
@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.
-
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!