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

    Scara Setup

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    101
    13.6k
    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.
    • Billhc83undefined
      Billhc83
      last edited by

      Ok I will switch it back over to the 0.6 and see what happens

      1 Reply Last reply Reply Quote 0
      • DannyDefeundefined
        DannyDefe
        last edited by

        David
        it was interesting to see your Scara project from robotdiggs. I guess I was thinking along the same line and purchased this Scara from robotdiggs.
        I have it all wired up and I purchase a Duet wifi which should arrive tomorrow.

        https://www.robotdigg.com/product/1193/Closed-loop-Stepper-Motor-SCARA-Robot-Arm

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators
          last edited by

          @DannyDefe:

          David
          it was interesting to see your Scara project from robotdiggs. I guess I was thinking along the same line and purchased this Scara from robotdiggs.
          I have it all wired up and I purchase a Duet wifi which should arrive tomorrow.

          https://www.robotdigg.com/product/1193/Closed-loop-Stepper-Motor-SCARA-Robot-Arm

          It will be interesting to compare our experiences. You may find that you can get rid of the distal arm backlash just by replacing the distal arm belts with ones from the UK supplier that I used for the proximal arm belt, instead of replacing the belts and pulleys by GT2 ones. I suggest you still replace the 20 tooth pulley by a 16 tooth one, to get a higher steps per degree.

          Another upgrade I am considering is to replace the proximal and distal motors by 0.9deg ones.

          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

          1 Reply Last reply Reply Quote 0
          • DannyDefeundefined
            DannyDefe
            last edited by

            Thanks for your comments about backlash, but this model has virtually zero backlash. I'm using hybrid closed loop stepper motors which should be quite accurate for the scara

            Have a look at the photo and you can see some initial setup parameters.

            Do you have the config file for your current robotDiggs Scara, this might be helpful.

            I'm using external driver signals off of the header, how do you reassign these to x y and z.
            thanks Danny

            https://www.dropbox.com/s/27ekssq1lk9ntzd/scara%20robotdiggs.jpg?dl=0

            https://www.aliexpress.com/item/Smart-Closed-Loop-NEMA-23-Integrated-Stepper-Motor-with-Driver-Step-direction-57mm-36VDC-2N-M/32668576448.html

            1 Reply Last reply Reply Quote 0
            • dc42undefined
              dc42 administrators
              last edited by

              Extern drivers must be connected to the expansion connector (I hope that is what you mean by "the header"). Use M584 to remap the XYZ axes to them, see https://duet3d.com/wiki/G-code#M584:_Set_drive_mapping. Depending on the drivers and how you have connected them, you may need to use the R1 parameter in the M569 commands to invert the Enable signal.

              Here is my config.g file:

              ; Configuration file for Duet Ethernet in SCARA printer (firmware version 1.19)

              ; General preferences
              M111 S0 ; Debug off
              M550 PRobotdigg SCARA ; Machine name
              M551 Preprap ; Machine password
              M552 S1 ; Enable networking
              M555 P2 ; Set USB output to look like Marlin
              M575 P1 B57600 S1 ; Set aux port baud rate and require checksum, for PanelDue

              ; Drives
              M569 P0 S0 ; Drive 0 goes backwards X
              M569 P1 S1 ; Drive 1 goes forwards Y
              M569 P2 S0 ; Drive 2 goes backwards Z
              M569 P3 S0 ; Drive 3 goes backwards E

              ; Movement
              M669 K4 P160 D159.5 A-130:22 B-27:157.5 C0:0:0 X65 Y-175 S100 ; set SCARA mode and parameters
              M574 X2 Y2 Z1 S1 ; Define active high homing switches
              M92 X71.1111 Y100 ; Steps/degree for proximal and distal joints
              M92 Z1600 E106 ; Steps/mm for Z and E

              M208 S1 X0 Y-120 Z-1 ; Axis minima
              M208 X200 Y330 Z150 ; Axis maxima

              M350 X16 Y16 Z16 U16 E16:16 I1 ; x16 microstepping with interpolation

              M566 X500 Y500 Z100 E500 ; XYZE jerk (mm/min)
              M203 X4500 Y4500 Z600 E3600 ; Maximum speeds (mm/min)
              M201 X300 Y300 Z50 E1000 ; Accelerations (mm/s^2)
              M906 X1000 Y1000 Z1000 E1300 I30 ; Motor currents (mA) and motor idle percent

              ; Heaters
              M143 H1 S260 ; Maximum heater temperature
              M140 H-1 ; No bed heater
              M305 P1 T100000 B4138 C0 R4700 ; Thermistor parameters for heater 1
              M307 H1 A577.0 C199.0 D9.8 S1.00 B0

              ; Tools
              M563 P0 D0 H1
              G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
              G10 P0 R00 S00 ; Set initial tool 0 active and standby temperatures to 0C

              ; Fans
              M106 P1 S0 I0 F200 H1 T45 ; Fan 1 frequency, thermostatic control

              ; Z probe
              M558 P1 X0 Y0 Z0 F600 T10000 R0.4
              G31 P500 Z1.75
              M557 X25:175 Y-100:325 S25 ; grid for G29 probing
              M671 X-45:-300:-45 Y0:175:350 P1.0 ; adjusting screw positions, M6 screw = 1mm pitch

              ; Power fail not configured

              ; Pressure advance
              M572 D0 S0.5

              ; Misc
              M83
              T0

              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

              1 Reply Last reply Reply Quote 0
              • DannyDefeundefined
                DannyDefe
                last edited by

                Yes I'm using the expansion port , I'm connecting on 2 5 6 and 7. I've connect to the motor on E2. I think I've configured M584 and M569 correct but I don't have any movement. I've changed the engage signal also.

                ; SCARA MINI
                M111 S0 ; Debug off
                M550 SCARA MINI ; Machine name and Netbios name (can be anything you like)
                M551 Preprap ; Machine password (used for FTP)
                ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits
                M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address

                ;*** Networking
                M552 S1 ; Turn network on

                ;*** Ethernet networking: Adjust the IP address and gateway in the following 2 lines to suit your network
                M552 P192.168.1.14 ; (0 = DHCP)
                M554 P192.168.1.255 ; Gateway
                M553 P255.255.255.0 ; Netmask

                M555 P2 ; Set output to look like Marlin
                G21 ; Work in millimetres
                G90 ; Send absolute coordinates…
                M83 ; ...but relative extruder moves

                ; Disable Fan 1 thermostatic mode
                M106 P1 H-1
                M584 X2 Y3 Z4 E5 ;Set drive mapping
                ; Axis and motor configuration
                ;M569 P0 S1 ; Drive 0 goes forwards
                ;M569 P1 S1 ; Drive 1 goes forwards
                M569 P2 S0 R1 ; Drive 2 goes forwards
                ;M569 P3 S1 ; Drive 3 goes forwards
                ;M569 P4 S1 ; Drive 4 goes forwards
                M669 K4 P200 D200 A-179:170 B-120:120 C0:0:0 ; set SCARA mode and parameters
                M574 X2 Y2 Z2 S1 ; set endstop configuration (all endstops at high end, active high)
                ;*** The homed height is deliberately set too high in the following - you will adjust it during calibration

                M666 X0 Y0 Z0
                M208 S1 X179 Y-121 Z-1 ; Axis minima
                M208 X179 Y121 Z100 ; Axis maxima ; put your endstop adjustments here, or let auto calibration find them
                M350 X1 Y1 Z1 E1 I1 ; Set 16x microstepping with interpolation
                M92 X25.9820 Y17.777 ; Steps/degree for proximal and distal joints
                M92 Z1600 E106 ; Steps/mm for Z and E
                M906 X1000 Y1000 Z1000 E800 I60 ; Set motor currents (mA) and increase idle current to 60%
                M201 X1000 Y1000 Z1000 E1000 ; Accelerations (mm/s^2)
                M203 X2000 Y2000 Z2000 E3600 ; Maximum speeds (mm/min)
                M566 X1200 Y1200 Z1200 E1200 ; Maximum instant speed changes mm/minute

                ; Thermistors
                ;M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
                ;M305 P1 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set first nozzle thermistor ADC correction
                ;M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set 2nd nozzle thermistor ADC correction

                ; Tool definitions
                M563 P0 D0
                ;G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
                ;G10 P0 R00 S00 ; Set initial tool 0 active and standby temperatures to 0C

                M92 E663:663 ; Set extruder steps per mm

                ;*** If you are using axis compensation, put the figures in the following command
                ;M556 S78 X0 Y0 Z0 ; Axis compensation here

                M208 S1 Z-0.2 ; set minimum Z

                ;T0 ; select first hot end

                ; Pressure advance
                ;M572 D0 S0.5

                ; Misc
                M83

                1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators
                  last edited by

                  Please clarify what you have connected where. Your M584 command says you are using stepper drivers on the Duet for X, Y and Z (but not the usual outputs) and you have one external stepper driver for the extruder.

                  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

                  1 Reply Last reply Reply Quote 0
                  • DannyDefeundefined
                    DannyDefe
                    last edited by

                    David I only have one hybrid stepper hooked up to the expansion connector for testing on E2. I'm trying to get this to work before I wire up the rest.

                    E2 X hybrid stepper
                    E3 Y hybrid stepper
                    E4 Z hybrid stepper
                    E5 Extruder hybrid stepper

                    https://www.aliexpress.com/item/Smart-Closed-Loop-NEMA-23-Integrated-Stepper-Motor-with-Driver-Step-direction-57mm-36VDC-2N-M/32668576448.html

                    1 Reply Last reply Reply Quote 0
                    • DannyDefeundefined
                      DannyDefe
                      last edited by

                      hybrid stepper hook up pic.

                      https://www.dropbox.com/s/k2vrprbfabd3w7d/-10.jpg?dl=0

                      1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators
                        last edited by

                        Your M584 command is this:

                        M584 X2 Y3 Z4 E5 ;Set drive mapping

                        So you currently have the extruder motor assigned to driver 5 (labelled E2 on the expansion board). Is that what you intended?

                        To get that extruder driver working, there are a few things you will need to do:

                        1. Select a tool that uses extruder drive 0.
                        2. Either heat up the associated heater, or send M302 P1 to enable cold extrusion.
                        3. Depending on your external driver, you may need to use a M569 command to extend the set pulse timing and/or invert the enable signal, like this:

                        M569 P5 R1 T2

                        R1 will invert the enable signal to make it active high (the default is R0 which means active low), and T2 extends the step pulse width and minimum interval to 2us.

                        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

                        1 Reply Last reply Reply Quote 0
                        • DannyDefeundefined
                          DannyDefe
                          last edited by

                          David here is what I'm trying to do, there is no Tool because this will be a clay printer so there's no hot end just one extruder

                          Please check my external driver configuration. I still have not been able to get E2 motor to turn ,although if I change the engage parameter I do see this on the motor. Also I've tried T2 and T4 and have tried engage signal in both positions .

                          Now that I've spent a fair bit of time on the interface I can really say it is fantastic. I'm used to smoothieware and this is so much easier and well laid out. Good job
                          E2 X hybrid stepper
                          E3 Y hybrid stepper
                          E4 Z hybrid stepper
                          E5 Extruder hybrid stepper

                          M584 X5 Y6 Z7 E8 ;Set drive mapping
                          ; Axis and motor configuration
                          M569 P5 S0 R0 T4 ; Drive 0 goes forwards X
                          M569 P6 S0 R0 ; Drive 1 goes forwards Y
                          M569 P7 S0 R0 ; Drive 2 goes forwards Z
                          M569 P8 S0 R0 ; Drive 3 goes forwards E

                          1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators
                            last edited by

                            Thanks for the compliment!

                            You have to define and select a tool to use an extruder. You can define a tool with no heater, like this:

                            M563 D0 M563 P0 D0

                            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

                            1 Reply Last reply Reply Quote 0
                            • DannyDefeundefined
                              DannyDefe
                              last edited by

                              Okay I understand about selecting extruder as tool, and I inserted M563 D0
                              However I am only testing a single motor on E2.
                              So far I am unable to get this motor to function, although it is responding to the enable signal.

                              1 Reply Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators
                                last edited by

                                I'm sorry, that should have been:

                                M563 P0 D0

                                i.e. define tool 0 as using extruder drive 0 (which will correspond to the first E driver number in your M584 command). Then you need to select that tool by sending T0. After that, you should be able to extrude.

                                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

                                1 Reply Last reply Reply Quote 0
                                • DannyDefeundefined
                                  DannyDefe
                                  last edited by

                                  I guess I'm a little confused because I'm trying to assign E2 as X. This is where I have my test motor hooked ,it doesn't pertain to the extruder.

                                  I have the end switchs turned off and no hotend so is there something else holding back the signals on E2?

                                  1 Reply Last reply Reply Quote 0
                                  • dc42undefined
                                    dc42 administrators
                                    last edited by

                                    To test the X motor by itself, send G91 first, then send G1 S2 X commands. For example, G1 S2 X10 should move the proximal (X) joint anticlockwise by 10 degrees, and G1 S2 X-10 should move it clockwise by 10 degrees. The first time you send one of these G1 S2 X commands, the motor should be energised, if you have the Enable polarity right.

                                    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

                                    1 Reply Last reply Reply Quote 0
                                    • DannyDefeundefined
                                      DannyDefe
                                      last edited by

                                      Okay got it working thanks. Will be setting up and calibrating

                                      1 Reply Last reply Reply Quote 0
                                      • DannyDefeundefined
                                        DannyDefe
                                        last edited by

                                        Is there any easy way to use these proximity switches?
                                        On my smoothieboard it's easy to switch from 3.3v to 5 volts for the end stop switches. These will operate on 5v even though they State 6 volts minimum

                                        https://www.ebay.com/itm/5Pcs-NO-LJ8A3-2-Z-BX-Inductive-Proximity-Sensor-Switch-NPN-DC6V-36V-US/141830561602?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

                                        1 Reply Last reply Reply Quote 0
                                        • DannyDefeundefined
                                          DannyDefe
                                          last edited by

                                          Is there any easy way to use these proximity switches. On my smoothieboard it's easy to switch from 3.3v to 5 volts for the end stop switches. These will operate on 5v even though they State 6 volts minimum

                                          https://www.ebay.com/itm/5Pcs-NO-LJ8A3-2-Z-BX-Inductive-Proximity-Sensor-Switch-NPN-DC6V-36V-US/141830561602?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

                                          1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators
                                            last edited by

                                            The endstop connectors are 3.3V. You can get 5V power from the expansion connector or the PanelDue connector to power 5V endstops. If they are NPN output sensors, you can connect the output directly to the endstop input pin. With 12V or 24V sensors I recommend connecting a diode in between to protect the endstop input in the event of loss of the ground wire, but that isn't really necessary with 5V endstops.

                                            Personally, I would just use microswitches. They may even be more reproducible than inductive sensors, which can be a little temperature-sensitive.

                                            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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA