Clearpath 6XD Events Handling
-
Hi all,
I have read a few of the posts (and all of the documentation) but still can't figure out how to throw events on the 6XD.
Essentially, the setup is 2 servos with the following opto pinout:
STEP+ DIR+ EN+ HLFB+
STEP- DIR- EN- HLFB-High Level Feedback (HLFB) is NC: When the servos are enabled, and within 10 counts of the commanded step, they act as a closed switch. If disabled or out of range, they are non-conducting.
I have wired them (sequentially - on DRIVER0 and DRIVER1 as parallel Y's) as follows:
+5V------------------ST+----DIR+----EN+
ST- ------------------ST-
DIR- ----------------DIR-
EN- -----------------EN-
ERR- ---------------HLFB+
GND----------------HLFB-I have also removed the u/d jumper from the board and included a 330R resistor between 5V and ERR-, purely because I am a little lost in how to trigger error events on the board. The ERR- pin registers 0.32V and 3.4V. Is this above the logic level needed to throw an event?
I could run them without the error pins, but each are 350W and I'm aiming to move a gantry crane at over 4m/s, which would not be fun to clear up if an unhandled error occured!
There is definitely something small that I'm missing, so please let me know what it could be! Cheers, Q
-
@Quadracycle4000 I'd like an answer to this as well, but I think it might just be how the firmware currently handles the logic of the error pin. According to this thread, @dc42 says that the error state is assumed at startup, and the NC/NO option will be configurable later on in a bugfix. Hopefully that's the issue.
-
@Quadracycle4000 If you have it connected to the driver.error pin, they should be able to trigger an event in the events system (see https://docs.duet3d.com/User_manual/RepRapFirmware/Events). This should be enabled automatically when the driver is configured with M569 in the config.g, no extra configuration should be necessary to trigger the default action of "Pause print without running pause.g and inform user via message box". You can then create a macro called driver-error.g in the sys folder to carry out any custom commands.
For the error signal, there is an additional jumper to change the polarity, located at the back of the Ethernet port. It is labelled "Error Pull u/d Select".
As the wiring diagram says, it is the Driver error Pull up/down select. Bridge to GND for pull down, Bridge to 5V for pull up.
It is mentioned in the list of connectors https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Mainboard_6XD_Hardware_Overview#description-of-connectionsError Pull u/d Select
A jumper in the "top"/Pull Down position applies a pull down resistor to the driver fault signals - an external driver must set the line high to indicate a fault. A jumper in the "bottom"/Pull Up position applies a pull up resistor to the driver fault signals - an external driver must set the line low to indicate a faultSo it might be worth playing around with that, too. Let me know how you get on, and I'll add it to the section here: https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Mainboard_6XD_Hardware_Overview#connecting-external-motor-drivers
Ian
-
@Quadracycle4000 said in Clearpath 6XD Events Handling:
I have also removed the u/d jumper from the board and included a 330R resistor between 5V and ERR-, purely because I am a little lost in how to trigger error events on the board. The ERR- pin registers 0.32V and 3.4V. Is this above the logic level needed to throw an event?
Those voltages are OK. You probably don't need the 330R resistor if you set the jumper on the Duet to the pullup position.
RRF 3.4 and later should generate a Driver Error event when the driver signals an error.
-
Thanks for your responses. I have tried the above but have not had any luck.
I viewed forum.duet3d.com/topic/33314/6xd-external-driver-error-signal-handling which correlates to the issue that I'm having. I had an idea that a workaround would be using an I/O pin as an interrupt.
Is there another way that I can get the event handling to work using this error pin?
I am tempted to use a paperclip to trigger the pin while I'm still developing my config just for testing purposes but I don't want to damage my board. If the error pin is looking for a pin state, then would bridging to 5v or gnd trigger it?