6XD I/O >> Issue solved
-
It is the Driver 5 on 6XD that is not working Have changed cables so no cable fault,
;***Display initial welcome message ;-M291: Display message and optionally wait for response \ https://duet3d.dozuki.com/Wiki/M291 ;M291 P"Please go to <a href=""https://www.duet3d.com/StartHere"" target=""_blank"">this</a> page for further instructions on how to set it up." R"Welcome to your new Duet 3!" S1 T0 ;***Network Settings Ethernet Version only ;-M552: Set IP address, enable/disable network interface \ https://duet3d.dozuki.com/Wiki/M552 if {network.interfaces[0].type = "ethernet"} M552 P192.168.1.25 S1 else M552 S1 ;***Serial Setup M575 P1 B57600 S1 ;***Name Controller M550 P"PnP" ; Set machine name ;***General preferences G90 ; absolute coordinates M83 ; relative extruder moves ;***Axis/Drives M569 P0 S0 ; X M569 P1 S0 ; Y M569 P2 S0 ; RECEIVE MATERIAL M569 P3 S0 ; NOZZLE 1 OR 2 M569 P4 S0 ; ROTATE NOZZLE 2 M569 P5 S0 ; ROTATE NOZZLE 1 M584 X0 R0 ; X LIN M584 Y1 R0 ; Y LIN M584 C2 R0 ; RECEIVE MATERIAL M584 Z3 R1 ; NOZZLE 1 OR 2 M584 A4 R1 ; ROTATE NOZZLE 2 M584 B5 R1 ; ROTATE NOZZLE 1 ;***Motor Settings M350 X16 Y16 C16 Z16 A16 B16 I1 ; Configure microstepping with interpolation M92 X40.00 Y40.00 C8.8880 Z8.8888 A8.8888 B8.8888 ; Set steps per mm 50mm/rev M566 X900.00 Y900.00 C900.00 Z100.0 A100.0 B100.0 ; Set maximum instantaneous speed changes (mm/min) M203 X126000.00 Y126000.00 C24000.00 Z24000.0 A24000.0 B24000.0 ; Set maximum speeds (mm/min) M201 X50000.00 Y50000.00 C500.00 Z5000.0 A5000.0 B5000.0 ; Set accelerations (mm/s^2) M906 X800 Y800 C600.00 Z500.0 A500.0 B500.0 I30 ; Set motor currents (mA) and motor idle factor in per cent M564 H0 ; Sets homing, H0 allows mvmnt wo homing M84 S30 ; Set idle timeout ;***Axis Limits ;-M208: Set axis max travel \ https://duet3d.dozuki.com/Wiki/M208 ;-Parameters ;-Snnn 0 = set axis maximum (default), 1 = set axis minimum ;-Xnnn X axis limit ;-Ynnn Y axis limit ;-Znnn Z axis limit M208 X0 Y0 Z0 A-180 B-180 S1 ; Set axis minima M208 X415 Y500 Z10 A180 B180 S0 ; Set axis maxima ;***Endstops ;-M574: Set endstop configuration \ https://duet3d.dozuki.com/Wiki/M574 ;-Parameters ;-Xnnn Position of X endstop: 0 = none, 1 = low end, 2 = high end. ;-Ynnn Position of Y endstop: 0 = none, 1 = low end, 2 = high end. ;-Znnn Position of Z endstop: 0 = none, 1 = low end, 2 = high end. ;-E Select extruder endstops to define active high or low (RepRapFirmware 1.16 and earlier only) ;-Snnn Endstop type: 0 = active low endstop input, 1 = active high endstop input, 2 = Z probe, 3 = motor load detection M574 X1 S1 P"io0.in" ;X Opto M574 Y1 S1 P"io1.in" ;Y Opto M574 Z2 S1 P"io2.in" ;Z Opto ;***IO ;-M950: Create heater, fan, spindle or GPIO/servo pin \ https://duet3d.dozuki.com/Wiki/M950 ;-Parameters: ;-Hnn Heater number ;-Fnn Fan number ;-Jnn Input pin number (RRF 3.01RC2 and later only) ;-Pnn or Snn Output/servo pin number. Servo pins are just GpOut pins with a different default PWM frequency. ;-Rnn Spindle number (RRF 3.3beta2 and later only) ;-Dn (Duet 3 MB6HC running RRF 3.4 or later only) SD slot number (the only value supported is 1) ;-C"name" Pin name(s) and optional inversion status, see Pin Names. Pin name "nil" frees up the pin. A leading '!' character inverts the input or output. A leading '^' character enables the pullup resistor1. The '^' and '!' characters may be placed in either order. ;-Qnn (optional) PWM frequency in Hz. Valid range: 0-65535, default: 500 for GpOut pins, 250 for fans and heaters ;-T Temperature sensor number, required only when creating a heater. See M308. ;-Lbbbor Laaa:bbb RPM values that are achieved at zero PWM and at maximum RPM. (optional and for spindles only - RRF 3.3beta2 and later) ;***Inputs ;M950 J0 C"io3.in" ;Drag Pin Sensor ;***Outputs M950 P0 C"out0" ; Q20000 ;#1 Nozzle Vacuum M950 P1 C"out1" ; Q20000 ;#2 Nozzle Vacuum M950 P2 C"out2" ; Q20000 ;Drag PIN Actuator M950 P3 C"out3" ; Q20000 ;ENA Nozzle 1/2 Up M950 P4 C"out4" ; Q20000 ;Xross cursor M950 P5 C"out5" ; Q20000 ;LED light M950 P6 C"out6" ; Q20000 ;Vacuum power ;***Analog Sensors for Nozzle pressure ;-Common Parameters ;-Sn Sensor number ;-P"pin_name" The name of the control board pin that this sensor uses. For thermistors it is the thermistor input pin name, see Pin Names. For sensors connected to the SPI bus it is the name of the output pin used as the chip select. ;-Y"sensor_type" The sensor and interface type, one of: "thermistor", "pt1000", "rtd-max31865", "thermocouple-max31855", "thermocouple-max31856", "linear-analog", "dht21", "dht22", "dhthumidity", "current-loop-pyro", "drivers", "mcu-temp" (see note below regarding "mcu-temp" support on Duet 3 Mini 5+). Duet WiFi/Ethernet with an attached DueX2 or DueX5 also support "drivers-duex". Firmware 3.2 and earlier also supports "dht11" but this support is likely to be removed in future firmware versions. ;-A"name" Sensor name (optional), displayed in the web interface ;M308 S0 P"temp0" Y"linear-analog" A"Pressure_1" F0 B0 C4095 ;M308 S1 P"temp1" Y"linear-analog" A"Pressure_2" F0 B0 C4095 ;***End of config.g
-
@tecno said in 6XD I/O >> Faulty Driver 5:
Have changed cables so no cable fault,
You swapped the cable, external stepper driver and motor from 6XD driver 4, where it was working, to driver 5, where it didn't work? Are axes homed, or position set with G92, before you try to move them? When you send a move command, does the axis value in DWC change? Is any error reported?
Are all the external stepper drivers the same? What make and model are they? You haven't added any stepper driver timings to your M569 commands, ie T parameter, something like
M569 P# S0 T5:5:10:10
, which is usually needed for external drivers; see https://docs.duet3d.com/en/User_manual/Connecting_hardware/Motors_connecting_external#configuring-the-step-timingAlso, on your M584 commands, add
S0
to the ones withR0
, andS1
to the ones withR1
eg:M584 X0 R0 S0 ; X LIN M584 Y1 R0 S0 ; Y LIN M584 C2 R0 S0 ; RECEIVE MATERIAL M584 Z3 R1 S1 ; NOZZLE 1 OR 2 M584 A4 R1 S1 ; ROTATE NOZZLE 2 M584 B5 R1 S1 ; ROTATE NOZZLE 1
What firmware version are you running?
Ian
-
3.5.1
No homeing yet M564 H0
Edit config
;***Axis/Drives
M569 P0 S0 T5:5:10:10 ; X
M569 P1 S0 T5:5:10:10 ; Y
M569 P2 S0 T5:5:10:10 ; RECEIVE MATERIAL
M569 P3 S1 T5:5:10:10 ; NOZZLE 1 OR 2
M569 P4 S1 T5:5:10:10 ; ROTATE NOZZLE 2
M569 P5 S1 T5:5:10:10 ; ROTATE NOZZLE 1M584 X0 R0 ; X LIN
M584 Y1 R0 ; Y LIN
M584 C2 R0 ; RECEIVE MATERIAL
M584 Z3 R1 ; NOZZLE 1 OR 2
M584 A4 R1 ; ROTATE NOZZLE 2
M584 B5 R1 ; ROTATE NOZZLE 1 -
@tecno you changed the S0/S1 in M569, I said to add it to M584.
Please answer these questions:
You swapped the cable, external stepper driver and motor from 6XD driver 4, where it was working, to driver 5, where it didn't work?
When you send a move command, does the axis value in DWC change?
Is any error reported?
Are all the external stepper drivers the same?
What make and model are they?Ian
-
@droftarts
Hi Ian,
Will try to get my Swedinglish on track6DX Chinese driver Chinese motor
Driver 5 ---------------A-------------------------A NO GO
Driver 4 ---------------B-------------------------B WORKING OKCable from Driver 4 to Chinese driver A Working OK
Cable from Driver 5 to Chinese driver B NO GOSwitching cables same result
DWC = yes
No errors
External drivers are the same as are motors, rotating nozzles No model on these drivers.
There is a blue LED showing direction, goes on/off changing direction. But not from Driver 5
-
;***Outputs
M950 P0 C"out0" ; Q500 ;#1 Nozzle Vacuum
M950 P1 C"out1" ; Q500 ;#2 Nozzle Vacuum
M950 P2 C"out2" ; Q500 ;Drag PIN Actuator
M950 P3 C"out3" ; Q500 ;ENA Nozzle 1/2 Up
M950 P4 C"out4" ; Q500 ;Xross cursor
M950 P5 C"out5" ; Q500 ;LED light
M950 P6 C"out6" ; Q500 ;Vacuum powerHow can I check ON/OFF on above outputs?
-
@tecno For driver 5 not working:
I think you have swapped those around cables and drivers to show that driver 5 output on the 6XD isn't working correctly. Can you:
- check if you are using the enable signal. If you are, disconnect it (most external drivers are enabled by default) and check if it works. If not, check if there is any dip switches on the driver for default enable/disable, and/or set the dip switches the same as the other nozzle driver. Maybe post a picture of any dip switches.
- If you have a multimeter, check you are getting 5V on the driver 5 5V pin. Then check for continuity between 5V and the enable pin, and direction pin when a command is sent. Using a multimeter to check if step pulses are sent usually doesn't work, as the step pulses are too fat for a multimeter. If you have an oscilloscope, you can check them that way, though.
- If the above still doesn't work, check the soldering of the driver 5 connector on the 6XD, both sides. It may be a dry solder joint or something bridging or grounding the pins. Post photos if you're not sure.
How can I check ON/OFF on above outputs?
Sending 'M43 P0' or 'M280 P0' doesn't report the current PWM setting (@dc42 perhaps it should?) but you can check the current setting in the Object Model. Defined outputs are listed in the Object Model under state > gpOut[#], where # is the GPIO number defined by the M950 command. eg:
M950 P1 C"exp.heater5" ; tested on Duet 2 WiFi M42 P1 S1 echo state.gpOut[1].pwm 1.00 M42 P1 S0.5 echo state.gpOut[1].pwm 0.50 M42 P1 S0 echo state.gpOut[1].pwm 0.00
So that should let you query them. Or is it that you want to display their status in DWC?
Ian
-
@droftarts
Hi Ian,@droftarts said in 6XD I/O >> Faulty Driver 5:
Or is it that you want to display their status in DWC
No I just wanted to know if the outputs work, and OUT 2 is NOT ( 0 and 1 works)
Yet another output not working
Cheers
Bengt -
Top is P1 bottom is P2
-
@tecno Can you post your whole config.g as it currently is, please. Also run
M98 P"config.g"
from the console and post the response.Ian
-
-
@tecno You've set out2 as a fan!
M950 F2 C"out2" ; Q500 ;Drag PIN Actuator
Changle "F2" to "P2".
Ian
-
Corrected
;***Outputs
M950 P0 C"out0" ; Q500 ;#1 Nozzle Vacuum
M950 P1 C"out1" ; Q500 ;#2 Nozzle Vacuum
M950 P2 C"out2" ; Q500 ;Drag PIN Actuator
M950 P3 C"out3" ; Q500 ;ENA Nozzle 1/2 Up
M950 P4 C"out4" ; Q500 ;Xross cursor
M950 P5 C"out5" ; Q500 ;LED light
M950 P6 C"out6" ; Q500 ;Vacuum power -
@tecno Did you reset or run config.g before running the macro again?
Ian
-
Yes
-
@tecno Please post the macro.
Ian
-
M42 P2 S1
echo state.gpOut[1].pwmM42 P2 S0.5
echo state.gpOut[1].pwmM42 P2 S0
echo state.gpOut[1].pwm -
@tecno said in 6XD I/O >> Faulty Driver 5:
echo state.gpOut[1].pwm
Wrong pin. Use:
echo state.gpOut[2].pwm
Ian
-
-