Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards
-
i tried homing with the above config file and it failed on X-axis & Y-axis with
G28: failed homing
and other axes did not home correctly
-
@developeralgo222 I'm not sure these M584 lines are correct:
M584 X0.0 Y0.1 Z1.0 U1.0 V1.1 W1.1 A1.2 B1.2 R0 ; LIN R0 = LINEAR, R1 = ROTATION --- NOT SURE HOW TO MAP Z-axes to Drives here M584 'Z2.0 'U2.1 'V2.2 'W3.0 'A3.1 'B3.2 R1 ; LIN R0 = LINEAR, R1 = ROTATION
According to the M584 documentation, only XYZUVWABCDabcdef axis names are available, ie not zuvw. Rename those.
Post your homeall.g file so we can see what it is doing.
A quick config.g test is to send
M98 P"config.g"
which will run the config, and report any errors found.Ian
-
@droftarts
updated the original post above as per earlier recommedation and posted config.g , homeall.g, homez.g and homec.g . Any issues with the updated version ? -
i have following Axes as shown above in the config.g and homeall.g
Basically it is PnP Machine with 6 nozzles (Nema 11 stepper motors - open loop- CAM driven Dual Nozzles) driven by 3 x Nema 17 stepper motors-open loop. i.e 1 motor drives 2 nozzles on z-axes ( All 9 stepper Motors are connected to 3 x 3HC expansion boards)
While The X and Y Axis driven by 2 x Nema 34 Closed Loop Motors with External Closed Loop Driver (HSE86) Driver connected to Duet 3 6XD Main Board.
In Summary
-
X and Y-axis each connected to an External Driver (HSE86) and NEMA 34 Closed Loop Servo Motor(with encoder) and then to Duet 6XD main board (CAN ID = 0 )
-
Z-Axes ( Z, U, V, W, A, B ) with 3 x Nema 17 Stepper motors directly connected to 3HC in-built Drivers (CAN ID = 1) . Each Stepper motor drives 2 (Dual) nozzles up & down the Z-axes (CAM driven dual nozzle with -180 , +180 rotation )
Stepper Motor 1 ---> Driver 1.0 ---> Drives/share Z and U axis Stepper Motor 2 ---> Driver 1.1 --> Drives/share V and W axis Stepper Motor 3 ---> Driver 1.2 --> Drives/share A and B axis
-
Rotational Axes ( C , D, 'A, 'B, 'C, 'D ) = ( C, D, a, b, c, d) with 6 x Nema 11 Stepper motors directly connected to 2 x 3HC in-built Drivers (CAN ID = 2 and CAN ID = 3) . Each Stepper motor drives 1 nozzle and Rotates that single Nozzle Clockwise and anticlockwise.
i can't seem to be able to Home X and Y at all. Also the Z-Axes are not homing correctly . Rotational axes seem to be able to home fine
i am getting the error
G28 X Error: Failed to home axes X
G28 Y Error: Failed to home axes Y
-
-
@developeralgo222 @dc42 @droftarts @fcwilt @o_lampe
i really need help on this configuration setup for a PNP machine. i am new to Duet 3 board but it was highly recommended. Not sure is there is any true support for Duet 3 6XD and 3HC Products.
There is a ton of documentation and help on how to setup 3D printers but almost non-existent support or help on how to correctly setup PnP machine using Duet 6XD and 3HC boards apart from very few users in the forum who are trying similar setups.
This is very frustrating for Duet board users
-
Well the 6HC and the 6XD are the same board except for how they connect to steppers.
The 6HC connect directly to steppers using standard A+ A- B+ B- high current connections.
The 6XD is designed to connect to standard external stepper drivers and servo drivers using STEP DIR ENA & ERR connections.
The 3HC provides the same kind of connections to steppers that the 6HC does.
You can easily use two 6xx boards in the same system as long as one board is at the start of the CAN bus and the other at the end, as the boards only have one CAN connector and built-in terminators, so they are not designed for easy daisy-chaining.
I assume you have read all of this:
Frederick
-
@developeralgo222 please post your homex.g and homey.g. Do all the other axes home correctly? If you run homex.g on its own, does the axis move at all? Is there any more messages in the console while or after homex.g has run?
Ian
-
@droftarts said in Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards:
@developeralgo222 please post your homex.g and homey.g. Do all the other axes home correctly? If you run homex.g on its own, does the axis move at all? Is there any more messages in the console while or after homex.g has run?
Ian
-
X and Y Axis do not home at all
-
Z-Axes ( Z, U, V, W, A, B ) homes but not correctly
-
Only Rotational Axes ( C , D, 'A, 'B, 'C, 'D ) = ( C, D, a, b, c, d) home correctly
Below are my current homex.g and homey.g
homex.g
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Dec 05 2023 09:51:46 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 H2 Z50 F6000 ; Rotate Nema 17 Motor 1 by 50 Degrees to move up Z relative to current position G1 H2 U-100 F6000 ; Rotate Nema 17 Motor 1 by -100 Degrees to move up U relative to current position G1 H2 V50 F6000 ; Rotate Nema 17 Motor 2 by 50 Degrees to move up V relative to current position G1 H2 W-100 F6000 ; Rotate Nema 17 Motor 2 by -100 Degrees to move up W relative to current position G1 H2 A50 F6000 ; Rotate Nema 17 Motor 3 by 50 Degrees to move up A relative to current position G1 H2 B-100 F6000 ; Rotate Nema 17 Motor 3 by -100 Degrees to move up B relative to current position G1 H1 X235 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X-5 F6000 ; go back a few mm G1 H1 X235 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-50 F6000 ; Rotate Nema 17 Motor 1 by -50 Degrees to move down Z again G1 H2 U100 F6000 ; Rotate Nema 17 Motor 1 by 100 Degrees to move down U again G1 H2 V-50 F6000 ; Rotate Nema 17 Motor 2 by -50 Degrees to move down V again G1 H2 W100 F6000 ; Rotate Nema 17 Motor 2 by 100 Degrees to move down W again G1 H2 A-50 F6000 ; Rotate Nema 17 Motor 3 by -50 Degrees to move down A again G1 H2 B100 F6000 ; Rotate Nema 17 Motor 3 by 100 Degrees to move down B again G90 ; absolute positioning
homey.g
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Dec 05 2023 09:51:46 GMT-0500 (Eastern Standard Time) G91 ; relative positioning G1 H2 Z50 F6000 ; Rotate Nema 17 Motor 1 by 50 Degrees to move up Z relative to current position G1 H2 U-100 F6000 ; Rotate Nema 17 Motor 1 by -100 Degrees to move up U relative to current position G1 H2 V50 F6000 ; Rotate Nema 17 Motor 2 by 50 Degrees to move up V relative to current position G1 H2 W-100 F6000 ; Rotate Nema 17 Motor 2 by -100 Degrees to move up W relative to current position G1 H2 A50 F6000 ; Rotate Nema 17 Motor 3 by 50 Degrees to move up A relative to current position G1 H2 B-100 F6000 ; Rotate Nema 17 Motor 3 by -100 Degrees to move up B relative to current position G1 H1 Y215 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y-5 F6000 ; go back a few mm G1 H1 Y215 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-50 F6000 ; Rotate Nema 17 Motor 1 by -50 Degrees to move down Z again G1 H2 U100 F6000 ; Rotate Nema 17 Motor 1 by 100 Degrees to move down U again G1 H2 V-50 F6000 ; Rotate Nema 17 Motor 2 by -50 Degrees to move down V again G1 H2 W100 F6000 ; Rotate Nema 17 Motor 2 by 100 Degrees to move down W again G1 H2 A-50 F6000 ; Rotate Nema 17 Motor 3 by -50 Degrees to move down A again G1 H2 B100 F6000 ; Rotate Nema 17 Motor 3 by 100 Degrees to move down B again G90 ; absolute positioning
-
-
@developeralgo222 Your X and Y endstops are set as axis low end (ie where X=0) endstops:
M574 X1 S1 P"!io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io0.in M574 Y1 S1 P"!io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in
Whether the endstop is at the minimum or maximum end is defined by the number after the axis label, ie X or Y, in M574
Xnnn Position of X endstop: 0 = none, 1 = low end, 2 = high end.
However, your homing script tries to home the X axis to the high end (Y is the same):
G1 H1 X235 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X-5 F6000 ; go back a few mm G1 H1 X235 F360 ; move slowly to X axis endstop once more (second pass)
Where is each endstop actually located, low or high end? Check the other linear axes for the same issue.
Edit: when the endstop is triggered, the axis position is set to the low or high number (depending on whether it's a low or high endstop) in the M208 commands:
; Axis Limits M208 X0 Y0 Z-50 U-50 V-50 W-50 A-50 B-50 C-180 D-180 'A-180 'B-180 'C-180 'D-180 S1 ; Set axis minima M208 X450 Y500 Z50 U50 V50 W50 A50 B50 C180 D180 'A180 'B180 'C180 'D180 S0 ; Set axis maxima
Edit 2: You also need to move the axis far enough to actually trigger the endstop. Your X and Y axis moves are X235 and Y215, but the axis length is X450 and Y500.
Also, check you motors are actually going the way you expect. The origin (X0 Y0) usually in the front left corner, a +X move should move to the right, a +Y move should move the tool towards the back, relative to the 'bed'. If you have a moving bed (which I don't think you do), the bed would move forward. If the axis moving the wrong way, change it with the M569 S parameter. All yours are S1; some may need to be S0, to change the direction.Ian
-
@developeralgo222 said in Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards:
Z-Axes ( Z, U, V, W, A, B ) homes but not correctly
Regarding your setup of the 6 nozzles, you say they are set up as:
Nozzle Pair, Shared Z Axis, Cam
A nozzle pair share a Z axis motor. The two nozzles are pushed down by a rotational cam, pulled up with a springIs this how they are actually set up? I would think this means you only need 3 Z axes, and a way to actuate the cam; this is usually done by going to the end of the axis and hitting a bump stop that flips the cam. Does yours do something different? With the option you have selected, the gcode openPNP produces likely only contains commands for 3 Z axes.
@developeralgo222 said in Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards:
i really need help on this configuration setup for a PNP machine. i am new to Duet 3 board but it was highly recommended. Not sure is there is any true support for Duet 3 6XD and 3HC Products.
There is a ton of documentation and help on how to setup 3D printers but almost non-existent support or help on how to correctly setup PnP machine using Duet 6XD and 3HC boards apart from very few users in the forum who are trying similar setups.
This is very frustrating for Duet board usersThe forum is the way we offer support; you bought Duet hardware, not a support contract. You are building a very complicated machine, which you haven't fully described (position of endstops, how the nozzles are activated/switched). You are on a learning curve to implement this with Duet and RRF, and you are jumping in at the deep end. It takes us time to go through your posts, to understand the layout of your machine, and what you are trying to achieve. OpenPNP users are a small fraction of our users, and we don't have an OpenPNP test setup to be able to try out the options, just like we don't have every kind of 3D printer, or CNC machine. For some areas, you would be better served by asking on the OpenPNP forums/Discord/wherever for advice. So, please, be patient, we're learning as well.
Ian
-
@droftarts said in Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards:
Is this how they are actually set up? I would think this means you only need 3 Z axes, and a way to actuate the cam; this is usually done by going to the end of the axis and hitting a bump stop that flips the cam. Does yours do something different? With the option you have selected, the gcode openPNP produces likely only contains commands for 3 Z axes.
Yes that's how it's setup. On Each each CAM pair there is an end stop on each axis (2 Nozzles , 2 Endstops on the shared Z-axis )
-
@developeralgo222 thanks. Please let is know what issues remain when you have corrected the issues identified by Ian 3 posts up from here.
You may find https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_cartesian useful because it describes how config.g should be set up to control the axis motors and how the homing files should be set up.
-
Here is an illustration to capture the PnP machine build so that anyone willing to help can visualize my build
-
@dc42 Is there anyone who can work with me to come up with a working configuration for this PnP Machine. It will also help those who want to take the dive with Duet 3 6XD, 6HC and expansion boards in building PnP Machines to at least have sample config.g and homeall.g that they can use and play around with. I will buy him/her coffee or beer for a week !!!!!
-
@developeralgo222 please read the page I linked to in my previous post and the advice from Ian. That should give you enough information to get X and Y homing properly. Further advice:
- Test motor movement like this:
- Send G91 to put the machine into relative movement mode
- Use G1 H2 commands to command individual motors regardless of their homed status. For example, G1 H2 X10 should move the X axis by +10mm, and G1 H2 X-10 should move it by -10mm.
- Read the endstop states, either by using M119, or in Duet Web Control start the Object Model Browser and expand sensors/endstops. Check that the state changes as expected when you operate the endstop.
-
@dc42
In trying to troubleshoot the homing Failure for X and Y axis, I noticed that when NEMA 34 Closed Loop Motors ( 86HSE8N-BC38 8.0N.m ) with External Driver (HSS86) are energized(48V Power is applied ) it locks, as it should, but does not move when i try to home it even after changes . Without Power applied i can move it manually and moves fine as expectedi have double checked all Wiring from Motor <---> Driver <--> Duet 3 6XD and seems correct as expected, No error light on the Driver or Duet 6XD
-
I am thinking that one of Motor Power (A+, A-, B+, B-) internal wires might be crossed or swapped or
-
PSU Output supply 48V DC @ 12.5A Max . is this an undervoltage issue ?
Looking at the Datasheets of both the Driver and Closed Loop Motor, it seems to suggest that the recommended DC is 60V while some documents say 48V . i am perplexed on this. Any one with an idea about this motors or drivers?
-
-
@developeralgo222 have you ever got the X and Y axes moving? I notice you haven’t got a T parameter in your M569 command for X and Y:
M569 P0.0 S1 R1 ; X-Axis physical drive 0.0 goes forwards on CAN ID = 0 - Duet 6XD Drive 0.0 M569 P0.1 S1 R1 ; Y-Axis physical drive 0.1 goes forwards on CAN ID = 0 - Duet 6XD Drive 0.1
T controls the timing of the step pulses:
Taa:bb:cc:dd (firmware 1.21 and later) Minimum driver step pulse width, step pulse interval, direction setup time and direction hold time, in microseconds
I haven’t ploughed through the drive manual, but try T5:5:10:10 eg
M569 P0.0 S1 R1 T5:5:10:10
Ian
-
@developeralgo222 the motor voltage is unlikely to be critical. Higher voltage allows movement at higher speeds before torque drops off.
Please provide a link to the datasheet of the motor driver, and show us how you have connected it to the 6XD.
-
@dc42
Here are the links to the Datasheets-
Driver: HSS86 Closed Look Driver HSS86
-
Nema 34 8 N.m Closed Loop Motor
86HSE8N-BC38 or this link 86HSE8N-BC38
As per the Datasheet wiring
My Actual wiring of NEMA 34 Closed Loop(86HSE8N-BC38) + HSS86 Hybrid Servo Driver + Duet 3 6XD as per the datasheets
-
-
@droftarts said in Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards:
M569 P0.0 S1 R1 T5:5:10:10
I have not got X and Y to move, The Motor is energized fine, no errors on the driver but they don't move. No meaningful error on the Duet Web Control console. i have updated config.g and other files as per suggestions here from users but to no avail.