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

Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards

Scheduled Pinned Locked Moved
Config Tool
6
59
2.7k
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.
  • undefined
    developeralgo222
    last edited by developeralgo222 12 May 2023, 14:11 5 Dec 2023, 04:02

    i have built DIY PnP Machine with following :

    Below is what i have on the PnP machine so far

    Motors and Corresponding External Drivers

    Closed Loop Motors:

    (48V DC recommended for Nema 34 & 36V DC for Nema 23 )

    • 3 x Nema 34 Closed Loop Motor ( 86HSE8N-BC38 ) each with HSS86 Hybrid Servo Driver ( X & Y-axis)
    • 2 x Nema 23 Closed Loop Motor ( 57HSE76-2N-D25) each with 2HSS57 Hybrid Servo Driver
      Open Loop Motors: ( Will be used for Conveyor later not yet implemented )

    ( 24V DC recommended for Nema 11 & 17 )

    9 x Stepper Motors directly connected to 3 x 3HC expansion boards

    • 3 x Nema 17 Open Loop Stepper Motor (Benzhi BD4248 ) for driving the 6 heads/Nozzles along the Z-axis ( 1 Stepper motor drives 2 Nozzles along Z-axis)
    • 6 x Nema 11 Open Loop Stepper Motor (Benzhi BT12811 ) for the Nozzles/Heads

    Duets:

    • 1 x Duet 3 6XD Main Board ( All Closed Loop Motors & Drivers will connect to this 6XD board)
    • 3 x Duet 3 3HC Expansion Boards ( All Open loop Motors will directly connect to 3 x 3HC expansion boards therefore avoiding external drivers and using 3HC in-built Drivers)

    Endstops:

    Several endstops (20+) for the various Axes as required-

    X-axis (Nema 34)
    Y-Axis (Nema 34)
    Z1, Z2, Z3 , Z4, Z5,Z6 ( 3 motors driving 6 Nozzles up/down along the Z-axis )
    6 Nozzles that rotate ( do i need a rotational axis for each Nozzle ?? )

    -- Optical switch Endstop Panasonic PM25U & PM25L

    • One Endstop for X-Axis
    • One Endstop for Y-Axis
    • 6 Endstops for Z1, Z2, Z3 , Z4, Z5,Z6 for Z-Axes for each nozzle
    • 6 Endstops for AB1, AB2, AB3 , AB4, AB5, AB6 for Rotational axes of the nozzles

    Is it also possible to use 2 endstops on each of the X and Y-axis ( One at the Lowend and another at the High End on each axis ) ?

    Any help in quickly setting this up correctly using config tool ?


    From a Duet Example config for OpenPnP Duet3D-Openpnp-Example, here are the parameters that i can figure out :

    • 5 Main Axis machine; linear X, Y, Z( Z1,Z2,Z3,Z4,Z5,Z6 for 6 nozzles moving along Z-axis), rotational AB (A1,A2,A3,A4,A5,A6, B1,B2,B3,B4,B5,B6)

    • Single head, 3 x CAM driven dual nozzle with -180+180 rotation = 6 Nozzles

    • XYZ & AB Limit switches (Endstops) using Panasonic Micro Photoelectric Sensor PM25U & PM25L

    • 6 x Analog inputs for nozzle pressure

    As per the example as reference , Not sure what to do here :

    • 1 x Digital input for drag pin state detection

    • x7 PWM Outputs @20k to drive; x2 LED array, 6 x pumps, 6 x pneumatic valves and x1 drag pin solenoid.


    undefined undefined undefined 3 Replies Last reply 5 Dec 2023, 04:45 Reply Quote 0
    • undefined
      fcwilt @developeralgo222
      last edited by 5 Dec 2023, 04:45

      @developeralgo222

      RRF does not currently support two endstops for a given axis.

      You can by issuing commands "on the fly" connect the board to one endstop or the other - but that is not likely going to prove very satisfactory.

      You can use "endstops" as inputs to "triggers" - see M581.

      My memory is not what it once was but I seem to recall that triggers 2 and up would not be processed until the moves in the queue were completed.

      I need to test that to be sure.

      Frederick

      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

      1 Reply Last reply Reply Quote 0
      • undefined
        o_lampe @developeralgo222
        last edited by 5 Dec 2023, 06:57

        @developeralgo222
        Hi, an exciting project, worth watching...

        I was wondering why you use 3x 3HC boards for NEMA17 & NEMA11 motors?
        AFAIK you can config the Duet-mini5+ as toolboard too. You'd need only two and the mini5+ is even cheaper...

        Using 3(6) independent Z-axes is another thing, I'm curious to see how that can be configured...

        undefined 1 Reply Last reply 5 Dec 2023, 13:42 Reply Quote 0
        • undefined
          developeralgo222 @o_lampe
          last edited by 5 Dec 2023, 13:42

          @o_lampe
          Not sure how but i believe a couple of users have done it .

          undefined 1 Reply Last reply 5 Dec 2023, 14:00 Reply Quote 0
          • undefined
            droftarts administrators @developeralgo222
            last edited by 5 Dec 2023, 14:00

            @developeralgo222 See https://docs.duet3d.com/User_manual/Machine_configuration/CAN_connection#mainboard-used-as-expansion-board

            The Duet 3 Mini 5+ can take the Duet 3 Expansion Mini 2+ for a total of 7 drives. Also, if you need more inputs, you can use io[#].out pins for inputs, and vice versa, with some caveats. See https://docs.duet3d.com/Duet3D_hardware/Duet_3_family/Duet_3_Mini_5+_Hardware_Overview#io-headers

            IO output pins can be used as inputs, but are only 3.3V tolerant. IO input pins can be used as outputs, but have 10K protection resistors in series with them, so you would need to bypass these to use them as outputs. On board revision v1.01 and later only, jumpers allow the 10K resistors on IO2.in and IO3.in to be bypassed with 470R resistors.

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            undefined 1 Reply Last reply 5 Dec 2023, 14:16 Reply Quote 0
            • undefined
              developeralgo222 @droftarts
              last edited by 5 Dec 2023, 14:16

              @droftarts
              i am using Duet 3 6XD plus 3 x 3HC expansion boards. Not sure what Duet 3 Mini 5+ plus Duet 3 Expansion Mini 2+ will do that i can't accomplish with what i already have in hand ?

              undefined 1 Reply Last reply 5 Dec 2023, 15:21 Reply Quote 0
              • undefined
                droftarts administrators @developeralgo222
                last edited by 5 Dec 2023, 15:21

                @developeralgo222 said in Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards:

                Not sure how but i believe a couple of users have done it .

                I was just explaining how, and making you aware of other options, should the need arise. Perhaps you'll build another one!

                Ian

                Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                1 Reply Last reply Reply Quote 0
                • undefined
                  dc42 administrators @developeralgo222
                  last edited by 5 Dec 2023, 16:16

                  @developeralgo222 here's an outline of what you need in your config.g file. You can use the only configuration tool to generate a basic config.g file, then edit it (which you can do in Duet Web Control) to make the necessary changes.

                  1. Near the start of config.g you should have A G4 S4 command. This is to give the expansion boards time to start up. Recent versions of the configuration tool generate this automatically.

                  2. You should have a M569 command for each motor you use, to define in which direction it moves. The configuration tool with generate this for the X, Y and (single) Z motors.

                  3. You will need to use M584 to allocate a linear axis for each of your "Z" axes and a rotational axis for each. Assuming that you need to drive them all independently, you can't call them Z1 Z1 A1 A2 etc. because each one needs a unique letter. You can start by using letters Z U V W A B C D. After that you can use lowercase letters a b c ... but because GCode is defined as being case-insensitive, in the GCode commands sent by OpenPnP they have to be called 'a 'b 'c etc. or equivalently 'A 'B 'C etc.

                  The M584 command allows you to create both linear and rotary axes. By default Z U V W are linear and A B C D are rotary; but you can change that using the R parameter. See https://docs.duet3d.com/User_manual/Reference/Gcodes#m584-set-drive-mapping. You can create multiple axes using one M584 command, and you can also use multiple M584 commands. You will most likely want to use one M584 command to create the additional linear axes and another to create the rotary axes.

                  1. You will need to use M83 commands to define the steps/mm or steps/degree for each axis. The configuration tool will generate this for the X Y and (single) Z axes.

                  2. The motors will default to x16 microstepping interpolated to x256. If this is not satisfactory then you will need to add M350 commands to change it.

                  3. You will need to add M906 commands to set the motor current for your additional axis motors.

                  4. You will need to add M574 commands to define how you have connected the additional homing switches, and which end of the axis they are on.

                  5. For each axis there needs to be a homing file called home#.g where # is the axis letter. This command should use the G1 H1 command to move the axis towards the homing switch until it triggers.

                  6. Normally you should also have a homeall.g file. In its simplest form this can calls each of the other homing files in turn using the M98 command. If you want faster homing then you can use commands in this file to home several axes concurrently.

                  HTH David

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  undefined 1 Reply Last reply 5 Dec 2023, 17:17 Reply Quote 0
                  • undefined
                    developeralgo222 @dc42
                    last edited by developeralgo222 12 Jul 2023, 01:32 5 Dec 2023, 17:17

                    @dc42 said in Configs for PCB PnP for Duet3D 6XD and 3 x 3HC expansion boards:

                    By default Z U V W are linear and A B C D are rotary; but you can change that using the R

                    i want to make sure my drive mapping and Axes are correct before i start doing anything. will this excerpt work . i will post a complete config.g once its correct

                    Updated Config.g :

                    ; Configuration file for Duet 3 MB 6XD (firmware version 3.3)
                    ; executed by the firmware on start-up
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Dec 05 2023 09:51:46 GMT-0500 (Eastern Standard Time)
                    ; General preferences
                    G90 ; send absolute coordinates...
                    M83 ; ...but relative extruder moves
                    M550 P"MYTEST PNP" ; set printer name
                    ; Wait a moment for the CAN expansion boards to start
                    G4 S2
                    ; Network
                    if {network.interfaces[0].type = "ethernet"}
                    M552 P10.0.0.200 S1 ; enable network and set IP address
                    M553 P255.255.255.0 ; set netmask
                    M554 P10.0.0.1 ; set gateway
                    else
                    M552 S1
                    M586 P0 S1 ; enable HTTP
                    M586 P1 S0 ; disable FTP
                    M586 P2 S0 ; disable Telnet
                    ;The X axis to control the movement of the PnP head right and left. Right is positive.
                    ;The Y axis to control the movement of the PnP head forward and back. Forward is positive.
                    ;The Z axis to control raising and lowering of the PnP nozzle up and down. Up is positive.
                    ;The V, U, W, A, B, C (for 6-Head nozzles) axes rotates clockwise and counter-clockwise. Counter-clockwise is positive.
                    ;RepRapFirmware supports X, Y and Z axes as standard and allows you to create up to 7 additional axes depending on the firmware
                    ;version and which Duet you are using. Axes are created and associated with ;stepper motors using the M584 command in config.g.
                    ;You may use any of the following letters to refer to the new axes: U V W A B C D (letter D is not supported in older firmware versions)
                    ; Drives
                    ;Physical Drives CAN ID = 0
                    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
                    ;Physical Drives CAN ID = 1
                    M569 P1.0 S1 ; Z & U Axis physical drive 1.0 goes forwards (moves down and up on z-axis) on CAN ID = 1 - Duet 3HC Drive 1.0
                    M569 P1.1 S1 ; V & W Axis physical drive 1.1 goes forwards (moves down and up on z-axis) on CAN ID = 1 - Duet 3HC Drive 1.1
                    M569 P1.2 S1 ; A & B Axis physical drive 1.2 goes forwards (moves down and up on z-axis) on CAN ID = 1 - Duet 3HC Drive 1.2
                    ;Physical Drives CAN ID = 2
                    M569 P2.0 S1 ; C-Axis physical drive 2.0 goes Rotates forwards and backwards (+180 and -180 ) on CAN ID = 2 - Duet 3HC Drive 2.0
                    M569 P2.1 S1 ; D-Axis physical drive 2.1 goes Rotates forwards and backwards (+180 and -180 ) on CAN ID = 2 - Duet 3HC Drive 2.1
                    M569 P2.2 S1 ; 'A-Axis physical drive 2.2 goes Rotates forwards and backwards (+180 and -180 ) on CAN ID = 2 - Duet 3HC Drive 2.2
                    ;Physical Drives CAN ID = 3
                    M569 P3.0 S1 ; 'B-Axis physical drive 3.0 goes Rotates forwards and backwards (+180 and -180 ) on CAN ID = 3 - Duet 3HC Drive 3.0
                    M569 P3.1 S1 ; 'A-Axis physical drive 3.1 goes Rotates forwards and backwards (+180 and -180 ) on CAN ID = 3 - Duet 3HC Drive 3.1
                    M569 P3.2 S1 ; 'B-Axis physical drive 3.2 goes Rotates forwards and backwards (+180 and -180 ) on CAN ID = 3 - Duet 3HC Drive 3.2
                    ;By default Z U V W are linear and A B C D are rotary; but you can change that using the R
                    ; set visible drive mapping
                    ; X-Axis , Y-Axis (2 x Nema 34 Closed Loop Motors) and Z-Axes (Z,U,V,W,A,B) mapping to 3 Stepper motors
                    ; directly connected to 3HC (CAN ID = 1) (which moves the nozzles up and down along Z-axis)
                    M584 X0.0 Y0.1 Z1.0 U1.0 V1.1 W1.1 A1.2 B1.2 R0 ; LIN R0 = LINEAR, R1 = ROTATION
                    ; Rotational Axes mapping to 6 motors directly connected to 3HC (CAN ID 2 and 3) (which rotates the nozzles +180 / -180 along Rotational axis)
                    M584 C2.0 D2.1 'A2.2 'B3.0 'C3.1 'D3.2 R1 ; LIN R0 = LINEAR, R1 = ROTATION
                    M350 X16 Y16 Z16 U16 V16 W16 A16 B16 C16 D16 'A16 'B16 'C16 'D16 I1 ; configure microstepping with interpolation
                    M92 X40.00 Y40.00 Z8.888 U8.888 V8.888 W8.888 A8.888 B8.888 C8.888 D8.888 'A8.888 'B8.888 'C8.888 'D8.888 ; set steps per mm 50mm/rev
                    M566 X900.0 Y900.0 Z900.0 U900.0 V900.0 W900.0 A900.0 B900.0 C100.0 D100.0 'A100.0 'B100.0 'C100.0 'D100.0 ; set maximum instantaneous speed changes (mm/min)
                    M203 X126000.00 Y126000.00 Z24000.00 U24000.00 V24000.00 W24000.00 A24000.00 B24000.00 C24000.00 D24000.00 'A24000.00 'B24000.00 'C24000.00 'D24000.00 ; set maximum speeds (mm/min)
                    M201 X50000.00 Y50000.00 Z500.00 U500.00 V500.00 W500.00 A500.00 B500.00 C5000.00 D5000.00 'A5000.00 'B5000.00 'C5000.00 'D5000.00 ; set accelerations (mm/s^2)
                    M906 X800 Y800 Z600.0 U600.0 V600.0 W600.0 A600.0 B600.0 C500.0 D500.0 'A500.0 'B500.0 'C500.0 'D500.0 I30 ; set motor currents (mA) and motor idle factor in per cent
                    M84 S30 ; Set idle timeout
                    M564 H0 ; Sets homing, H0 allows mvmnt wo homing
                    ; 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
                    ; Endstops
                    ; For X and Y Axis
                    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
                    ; For Z-Axis (Z,U,V,W,A,B) - Up/down)
                    M574 Z1 S1 P"!1.io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin 1.io0.in
                    M574 U1 S1 P"!1.io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on U via pin 1.io1.in
                    M574 V1 S1 P"!1.io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on V via pin 1.io2.in
                    M574 W1 S1 P"!1.io3.in" ; configure switch-type (e.g. microswitch) endstop for low end on W via pin 1.io3.in
                    M574 A1 S1 P"!1.io4.in" ; configure switch-type (e.g. microswitch) endstop for low end on A via pin 1.io4.in
                    M574 B1 S1 P"!1.io5.in" ; configure switch-type (e.g. microswitch) endstop for low end on B via pin 1.io5.in
                    ; For Rotational Axes (C,D,'A,'B,'C,'D) +180 / - 180 )
                    M574 C1 S1 P"!2.io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on C via pin 2.io0.in
                    M574 D1 S1 P"!2.io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on D via pin 2.io1.in
                    M574 'A1 S1 P"!2.io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on 'A via pin 2.io2.in
                    M574 'B1 S1 P"!3.io0.in" ; configure switch-type (e.g. microswitch) endstop for low end on 'B via pin 3.io0.in
                    M574 'C1 S1 P"!3.io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on 'C via pin 3.io1.in
                    M574 'D1 S1 P"!3.io2.in" ; configure switch-type (e.g. microswitch) endstop for low end on 'D via pin 3.io2.in
                    ; Z-Probe
                    ; Heaters
                    ; Fans
                    ; Tools
                    ; Custom settings are not defined

                    Updated homeall.g . All the corresponding homing files for each axis are in sys folder

                    ; homeall.g
                    ; called to home all axes
                    ; Home X-Axis and Y-Axis second
                    M98 P"homex.g"
                    M98 P"homey.g"
                    ; Home Z-Axes (Z, U, V, W, A, B )
                    M98 P"homez.g"
                    M98 P"homeu.g"
                    M98 P"homev.g"
                    M98 P"homew.g"
                    M98 P"homea.g"
                    M98 P"homeb.g"
                    ; Home Rotational axes (C, D, 'A, 'B, 'C, 'D ) = ( C, D, a, b, c, d)
                    M98 P"homec.g"
                    M98 P"homed.g"
                    M98 P"home'a.g"
                    M98 P"home'b.g"
                    M98 P"home'c.g"
                    M98 P"home'd.g"
                    ;G91 ; relative positioning
                    ;G1 H2 Z5 F6000 ; lift Z relative to current position
                    ;G1 H1 X235 Y215 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
                    ;G1 H2 X-5 Y-5 F6000 ; go back a few mm
                    ;G1 H1 X235 Y215 F360 ; move slowly to X and Y axis endstops once more (second pass)
                    ;G1 H1 Z205 F360 ; move Z up stopping at the endstop
                    ;G90 ; absolute positioning
                    ;G92 Z200 ; set Z position to axis maximum (you may want to adjust this)
                    ; Uncomment the following lines to lift Z after probing
                    ;G91 ; relative positioning
                    ;G1 Z5 F100 ; lift Z relative to current position
                    ;G90 ; absolute positioning

                    Below is a sample (one of the Z-axes) file

                    Z Axes ( Z, U, V, W, A, B )

                    Updated homez.g

                    ; homez.g
                    ; called to home the Z axis
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Dec 05 2023 09:51:47 GMT-0500 (Eastern Standard Time)
                    G91 ; relative positioning
                    G1 H2 Z5 F6000 ; lift Z relative to current position
                    G1 H1 Z205 F1800 ; move Z up until the endstop is triggered
                    G92 Z200 ; set Z position to axis maximum (you may want to adjust this)
                    ; Uncomment the following lines to lift Z after probing
                    ;G91 ; relative positioning
                    ;G1 Z5 F100 ; lift Z relative to current position
                    ;G90 ; absolute positioning

                    Below is a sample (one of the Rotational Axes) file

                    Rotational Axes ( C, D, 'A, 'B, 'C, 'D )

                    Updated homec.g (one of the Rotational axes) file

                    ; homec.g
                    ; called to home the C axis
                    ;
                    ; generated by RepRapFirmware Configuration Tool v3.3.16 on Tue Dec 05 2023 09:51:47 GMT-0500 (Eastern Standard Time)
                    G91 ; relative positioning
                    G0 H2 C180 F6000 ; Rotate C relative to current position
                    G0 H1 C-180 F1800 ; Rotate C up until the endstop is triggered
                    G92 C200 ; set C position to axis maximum (you may want to adjust this)
                    ; Uncomment the following lines to lift C after probing
                    ;G91 ; relative positioning
                    ;G0 C180 F100 ; Rotate C relative to current position
                    ;G90 ; absolute positioning

                    is this correct mapping of Drives and Axes? was having issues before this update and used recommendations from @droftarts to update my pervious files . Any issues you can see

                    undefined 1 Reply Last reply 5 Dec 2023, 23:48 Reply Quote 0
                    • undefined
                      developeralgo222 @developeralgo222
                      last edited by developeralgo222 12 May 2023, 23:49 5 Dec 2023, 23:48

                      @developeralgo222

                      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

                      undefined 1 Reply Last reply 6 Dec 2023, 00:29 Reply Quote 0
                      • undefined
                        droftarts administrators @developeralgo222
                        last edited by 6 Dec 2023, 00:29

                        @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

                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                        undefined 1 Reply Last reply 6 Dec 2023, 01:08 Reply Quote 0
                        • undefined
                          developeralgo222 @droftarts
                          last edited by developeralgo222 12 Jun 2023, 02:47 6 Dec 2023, 01:08

                          @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 ?

                          undefined 1 Reply Last reply 6 Dec 2023, 17:45 Reply Quote 0
                          • undefined
                            developeralgo222 @developeralgo222
                            last edited by developeralgo222 12 Jun 2023, 20:32 6 Dec 2023, 17:45

                            @developeralgo222

                            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

                            Shared-Nozzle.png

                            undefined 1 Reply Last reply 7 Dec 2023, 02:29 Reply Quote 0
                            • undefined
                              developeralgo222 @developeralgo222
                              last edited by 7 Dec 2023, 02:29

                              @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

                              undefined undefined 2 Replies Last reply 7 Dec 2023, 03:18 Reply Quote 0
                              • undefined
                                fcwilt @developeralgo222
                                last edited by 7 Dec 2023, 03:18

                                @developeralgo222

                                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:

                                PnP using Duet hardware

                                Frederick

                                Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  droftarts administrators @developeralgo222
                                  last edited by 7 Dec 2023, 07:57

                                  @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

                                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                  undefined 1 Reply Last reply 7 Dec 2023, 09:29 Reply Quote 0
                                  • undefined
                                    developeralgo222 @droftarts
                                    last edited by developeralgo222 12 Jul 2023, 09:31 7 Dec 2023, 09:29

                                    @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
                                    undefined 2 Replies Last reply 7 Dec 2023, 10:09 Reply Quote 0
                                    • undefined
                                      droftarts administrators @developeralgo222
                                      last edited by droftarts 12 Jul 2023, 10:24 7 Dec 2023, 10:09

                                      @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

                                      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        droftarts administrators @developeralgo222
                                        last edited by 7 Dec 2023, 10:57

                                        @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 spring

                                        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.

                                        @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 users

                                        The 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

                                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                        undefined 1 Reply Last reply 7 Dec 2023, 13:38 Reply Quote 1
                                        • undefined
                                          developeralgo222 @droftarts
                                          last edited by 7 Dec 2023, 13:38

                                          @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 )

                                          undefined undefined 2 Replies Last reply 7 Dec 2023, 13:44 Reply Quote 0
                                          7 out of 59
                                          • First post
                                            7/59
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA