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

ST-M5045 Driver wiring

Scheduled Pinned Locked Moved
Duet Hardware and wiring
2
16
1.5k
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
    D2xhale
    last edited by 24 Feb 2019, 18:05

    Anyone have any luck wiring ST-M5045 to the Duet2 wifi? I had these wired on a smoothie board and even a MKS Base board just fine. For some reason they will no work on the Duet. I purchased a expansion board but believe it may not work? ( Not entirely sure what the chip does but its double soldered on 2 separate areas. So I have tried to wire it straight off the pin outs and still no luck (the motors wont even lock when power is up) I have checked En (-) and En (+) and get 3v. I have also sent a travel command and checked Dir (+) and get 3v when the software is pushing the signal. Attached is the board and how I have it wired. 0_1551031418122_Capture.PNG 0_1551031429054_Untitled.png

    1 Reply Last reply Reply Quote 0
    • undefined
      dc42 administrators
      last edited by dc42 24 Feb 2019, 18:29

      Without the expansion board:

      • Connect the 3 negative inputs of your drivers to ground on the Duet
      • Connect the PUL+, Dir+ and EN+ inputs to E2_STEP, E2_DIR ande E2_EN on the Duet
      • Invert the enable signal using the R1 parameter of the M569 command for that driver in config.g.

      However, some drivers won't work with the 3.3V signals provided by the Duet.
      With the expansion breakout board, you have two options:

      1. Run 3 separate pairs of wires from the differential outputs of the expansion breakout board to your driver inputs. This provides 4V differential signals.

      or:

      1. Connect the three + inputs on your driver to +5V on the expansion board. Then connect the three - inputs on your driver to the corresponding - outputs on the breakout boura. leave the + outputs on the breakout board not connected.

      I agree, your breakout board is faulty. Unless you are experienced in using solder wick to remove solder bridges, I suggest you return it to your supplier.

      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
      • undefined
        D2xhale
        last edited by 24 Feb 2019, 19:12

        Thank you for your response! I have tried the 3 options and still no locking of the motors or movement when powered on. I have also changed the config to have R1 for each respective axis (i.e. P5, P6) I will keep on triple checking the wires etc.

        What does that chip (the miss soldered one) on the expansion board do? Is it something that has to be repaired or will I just lose part function of the expansion board?

        1 Reply Last reply Reply Quote 0
        • undefined
          dc42 administrators
          last edited by dc42 24 Feb 2019, 20:10

          That chip on the expansion breakout board drives the servo outputs.

          Have you used the M584 command to remap axes to the external drivers? Please share your config.g file.

          Using the expansion board in either of the ways I received, you do not need R1 in the M569 commands.

          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
          • undefined
            D2xhale
            last edited by 24 Feb 2019, 20:19

            This if what I have for a set up where using 3 connected pairs.

            ; General preferences
            G90 ; Send absolute coordinates...
            M83 ; ...but relative extruder moves

            ; Network
            M550 P"My Printer Rev A" ; Set machine name
            M551 P"Chickenprint" ; Set password
            M552 S1 ; Enable network
            M587 S"Netgear34" P"Chickenprint" ; Configure access point. You can delete this line once connected
            M586 P0 S1 ; Enable HTTP
            M586 P1 S0 ; Disable FTP
            M586 P2 S0 ; Disable Telnet

            ; Drives
            M569 P5 S1 ; Drive 5 goes forwards
            M569 P6 S1 ; Drive 6 goes forwards
            M569 P7 S1 ; Drive 7 goes forwards
            M569 P3 S1 ; Drive 3 goes forwards
            M584 X5 Y6 Z7 E3 ; Apply custom drive mapping
            M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
            M92 X200.69 Y200.69 Z209.69 E420.00 ; Set steps per mm
            M566 X900.00 Y900.00 Z12.00 E120.00 ; Set maximum instantaneous speed changes (mm/min)
            M203 X1200.00 Y1200.00 Z1200.00 E1200.00 ; Set maximum speeds (mm/min)
            M201 X500.00 Y500.00 Z20.00 E250.00 ; Set accelerations (mm/s^2)
            M906 X800.00 Y800.00 Z800.00 E800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
            M84 S30 ; Set idle timeout

            ; Axis Limits
            M208 X0 Y0 Z0 S1 ; Set axis minima
            M208 X400 Y400 Z400 S0 ; Set axis maxima

            ; Endstops
            M574 X1 Y1 Z1 S1 ; Set active high endstops

            ; Z-Probe
            M558 P5 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds
            G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
            M557 X15:20 Y15:195 S20 ; Define mesh grid

            ; Heaters
            M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
            M143 H0 S120 ; Set temperature limit for heater 0 to 120C
            M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
            M143 H1 S280 ; Set temperature limit for heater 1 to 280C

            ; Fans
            M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
            M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

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

            ; Automatic saving after power loss is not enabled

            ; Custom settings are not configured

            1 Reply Last reply Reply Quote 0
            • undefined
              dc42 administrators
              last edited by dc42 24 Feb 2019, 20:23

              You haven't used the T parameter in the M569 commands to lengthen the step pulse timing for your external drivers. But the motors should still lock because of the Enable signal as soon as you try to move them. How are you trying to move them? Are you sure there are no "not homed" or similar error messages?

              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
              • undefined
                D2xhale
                last edited by 24 Feb 2019, 21:12

                I can freely move the lead screw by hand (only a little since I know the feed back could destroy drivers). There is also no audible noise (usually is a engaging noise on other boards when they power up). I have tried to use the M564 H0 to command to move as well. I have also used a T5 setting in the past still nothing. The motors are wired correctly since they do work on the drivers provided on the board. I have even used the same wires to connect to a MKS base board and the drivers work with the configuration. Is there any type of test with the multi meter i can check to help narrow down some stuff?

                Thank you! Much appreciated

                1 Reply Last reply Reply Quote 0
                • undefined
                  dc42 administrators
                  last edited by 25 Feb 2019, 07:31

                  Start by checking the voltage between E+ and E- on one of the expansion breakout board outputs. It should be -4V before you first try to move the motor, and +4V afterwards.

                  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
                  • undefined
                    D2xhale
                    last edited by 25 Feb 2019, 14:38

                    Will do when I get home. I was also thinking of testing a G540 (Gecko 4 axis drive) when I get home to eliminate a variable. The pin out only has a Step and Dir for each axis. How would you advise wiring this one? Im a little confused on this one because there is no enable pins

                    Pin 1 Output 2
                    Pin 2 X-AXIS STEP
                    Pin 3 X-AXIS DIRECTION
                    Pin 4 Y-AXIS STEP
                    Pin 5 Y-AXIS DIRECTION
                    Pin 6 Z-AXIS STEP
                    Pin 7 Z-AXIS DIRECTION
                    Pin 8 A-AXIS STEP
                    Pin 9 A-AXIS DIRECTION
                    Pin 10 INPUT 1
                    Pin 11 INPUT 2
                    Pin 12 INPUT 3
                    Pin 13 INPUT 4
                    Pin 14 VFD PWM (50HZ)
                    Pin 15 FAULT (INPUT TO PC)
                    Pin 16 CHARGE PUMP (>10KHZ)
                    Pin 17 OUTPUT 1
                    Pin 18 - 25 GND

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      dc42 administrators
                      last edited by 25 Feb 2019, 14:53

                      The G540 doesn't have optically isolated inputs, so you need to be very careful to have good ground wiring. If the ground wire between the Gecko and its PSU breaks, the motor current may try to find a path to ground through the 3.3V outputs of the Duet, which will wreck the Duet processor and more besides.

                      The G540 rev 8 user manual that I found says the minimum signal voltage is 3.3V, so it should work with the step/dir inputs connected directly to the Duet expansion bus. You would need to lengthen the step pulses using the M569 T parameter. As it has no Enable inputs, I presume it leaves the motors enabled continuously, possibly at reduced current when they are not moving.

                      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
                      • undefined
                        D2xhale
                        last edited by 28 Feb 2019, 19:11

                        Trying this configuration (directly to the expansion *no expansion board)
                        • Connect the 3 negative inputs of your drivers to ground on the Duet
                        • Connect the PUL+, Dir+ and EN+ inputs to E2_STEP, E2_DIR and E2_EN on the Duet
                        • Invert the enable signal using the R1 parameter of the M569 command for that driver in config.g.

                        Results
                        Motors still will not lock and the drive will go into alarm when powered on.
                        ** With everything the same except M569 P5 R0 – drive is fine until move is initialized then it goes into alarm. (still no motor lock)

                        I’m still waiting for Filastruder to give me a replacement so I have been unable to try the other options using the expansion board.

                        I did try to connect my G540 drive. The motor did lock however when I sent a step signal it would click softly and not turn. The step units for this axis was set with “M92 X200.69 Y200.69 Z209.69 E420.00”
                        • Nothing was attached to motor during test
                        • Prior to connecting G540 to Duet this same wiring/stepper interfacing with mach3 control software with the G540 connected to the PC worked fine.
                        Please advise

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          dc42 administrators
                          last edited by dc42 28 Feb 2019, 22:24

                          To get the M5045 working you will probably need to use the breakout board to increase the voltage and current drive to the external driver.

                          When driving any sort of external drivers, you must use the T parameter of the M569 command to lengthen the step pulse timings. The step pulses generated by default are very short and fast, which is no problem for the internal drivers but too fast for most other drivers.

                          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
                          • undefined
                            D2xhale
                            last edited by 1 Mar 2019, 14:01

                            Sorry I forgot to add, I did add T5 to the command. How high can the T value go before its maxed?

                            Just thinking out loud, could the firmware possibly play a role in the issue I am having with external drivers? I updated the firmware to the latest release (non beta) before I started wiring. I noticed not too many people use external drives (as I could not see many examples online to try and copy from), maybe there is an earlier firmware I should try that absolutely works? Im using v2.02 right now.

                            Still waiting on Filastruder to ship a replacement board to try out the expansion board again.

                            Thank you for your time!

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              dc42 administrators
                              last edited by dc42 3 Jul 2019, 11:42 1 Mar 2019, 14:06

                              Lots of Duets users are using external drivers. If there was a problem with external drivers in 2.02, I'm sure we would know about it.

                              Please post the config.g file that you are using to try to get the G540 driver working.

                              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
                              • undefined
                                D2xhale
                                last edited by 7 Mar 2019, 11:41

                                Finally I had time to work on my 3d printer :)! I was able to get response from the G540 adjusting the T value (Thank you!) but can only get 1 axis to work at a time.

                                Currently I have the STEP(+) and Dir(+) pins connected to their respective pins on the G540. I also have the STEP(-) and Dir(-) connected to a ground pin on the G540. The driver will work great when only 1 axis is connected, when the other 2 axis are connected along with the first nothing happens. From what I observed, the wiring only works when I connect a wire coming from STEP/Dir (-) pins to ground on the G540. It appears that this wiring can only have 1 axis connected back to ground on the G540. If I have multiple axis connecting it gets a mixed signal I'm guessing and will not move any of them.

                                So I guess my question would be, how do I properly wire STEP/DIR(-) to the G540 where all axis will work when connected at once?

                                This setup is using the expansion board.

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  dc42 administrators
                                  last edited by dc42 3 Jul 2019, 11:46 7 Mar 2019, 11:45

                                  Do not connect any of the output pins of the expansion board to ground. They are all differential outputs, so doing so may burn out the driver chips on the expansion board. Instead, connect GND on the G540 to GND on the Duet, or to GND on one of the servo output connectors on the expansion board.

                                  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 1
                                  6 out of 16
                                  • First post
                                    6/16
                                    Last post
                                  Unless otherwise noted, all forum content is licensed under CC-BY-SA