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

    TMC2660 problem

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    8
    25
    2.4k
    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.
    • PCRundefined
      PCR @jerolee
      last edited by

      @jerolee ..... Thats than Bad for you ,;) its definitly Not the duet

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

        @jerolee you have wired the motor to the plug incorrectly. The diagram posted by @Gixxerfast shows that red and green are one phase, therefore they need to be adjacent and at one end of the connector. That's not what I see in your photo. You will get the same problem if you use your existing wiring order with any other control 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

        jeroleeundefined 1 Reply Last reply Reply Quote 0
        • jeroleeundefined
          jerolee @dc42
          last edited by

          @dc42
          the diagram showed does not represent de motor i have. i measured the coils and the correct pairs for my motor are black/green and red/blue.
          Otherwise i couldnt measure the resistance no?

          So, this is not a wiring problem, i got more pancakes with different color wires. i measure the coils which are what and then connect, same problem no rotation, just a little bit of hum. when i connect a nema17 thats runs quite normal, i noticed however some hickup that it wouldnt start rotating.
          I also tested the round 36mm pancakes on other drivers on the board X, Y, Z (these drive my NEMA17's. all drivers same result, no rotation.
          It must be some PWM or whatever signal not quite work with the small round motors?

          Further... i used same pancake motors with connector on my ender 3 board, motors run normally.
          I just have no clue whats goin on here. i post my config file.

          ; Drives
          M569 P0 S0 ; physical drive 0 goes backwards
          M569 P1 S1 ; physical drive 1 goes forwards
          M569 P2 S0 ; physical drive 2 goes backwards
          M569 P3 S0 ; physical drive 3 goes backwards
          M569 P4 S0 ; physical drive 4 goes backwards
          M569 P5 S0 ; physical drive 5 goes backwards
          M569 P6 S0 ; physical drive 6 goes backwards
          M569 P7 S0 ; physical drive 7 goes backwards

          M584 X0 Y1:4 Z2:5:6:7 E3 ; set drive mapping
          M671 X-60:-60:660:660 Y-48:378:378:-48 S7 ; set the coordinates of the 4 Z-axis drivers
          M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
          M92 X80.03 Y79.84:79.84 Z1615.90:1621.26:1621.69:1619.23 E300.00 ; set steps per mm
          M566 X900.00 Y900.00:900.00 Z60.00:60.00:60.00:60.00 E500.00 ; set maximum instantaneous speed changes (mm/min)
          M203 X10000.00 Y10000.00:10000.00 Z500.00:500.00:500.00:500.00 E1000.00 ; set maximum speeds (mm/min)
          M201 X500.00 Y500.00:500.00 Z20.00:20.00:20.00:20.00 E500.00 ; set accelerations (mm/s^2)
          M906 X800 Y800:800 Z800:800:800:800 E800 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 X600 Y300 Z470 S0 ; set axis maxima

          ; Endstops
          M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin !xstop
          M574 Y1 S1 P"!ystop+!e1stop" ; configure active-low endstop for low end on Y via pin !ystop
          M574 Z1 S2 ; configure Z-probe endstop for low end on Z

          ; Z-Probe
          M950 S0 C"duex.pwm1" ; create servo pin 0 for BLTouch
          M558 P9 C"^zprobe.in" H5 F120 T4000 ; set Z probe type to bltouch and the dive height + speeds
          G31 P500 X36 Y9 Z0 ; set Z probe trigger value, offset and trigger height
          M557 X65:585 Y20:280 S130 ; define mesh grid

          ;Filament Runout switch
          M591 D0 P2 C"e0stop" S1 ; filament switch

          ; Heaters
          M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 R4700 ; configure sensor 0 as thermistor on pin bedtemp
          M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
          M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
          M140 H0 ; map heated bed to heater 0
          M143 H0 S120 ; set temperature limit for heater 0 to 120C
          M308 S1 P"e0temp" Y"pt1000" T100000 B4000 R4700 ; configure sensor 1 as thermistor on pin e0temp
          M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
          M307 H1 B0 R2.926 C244.4 D10.45 S1.00 V25.0 ; disable bang-bang mode for heater and set PWM limit
          M143 H1 S260 ; set temperature limit for heater 1 to 260C

          ; Fans
          M950 F0 C"fan0" Q500 ; create fan 0 "part fan" on pin fan0 and set its frequency
          M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
          M950 F1 C"fan1" Q500 ; create fan 1 "hotend fan"on pin fan1 and set its frequency
          M106 P1 S1 H1 T70 ; set fan 1 value. Thermostatic control is turned on

          ; Tools
          M563 P0 D0 H1 F0 ; 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

          ; Custom settings are not defined

          PCRundefined 1 Reply Last reply Reply Quote 0
          • jeroleeundefined jerolee has marked this topic as unsolved
          • PCRundefined
            PCR @jerolee
            last edited by

            @jerolee

            there are some erros in cour config. please give me a sec.

            PCRundefined jeroleeundefined 2 Replies Last reply Reply Quote 0
            • PCRundefined
              PCR @PCR
              last edited by PCR

              M569 P0 S0 ; physical drive 0 goes backwards
              M569 P1 S1 ; physical drive 1 goes forwards
              M569 P2 S0 ; physical drive 2 goes backwards
              M569 P3 S0 ; physical drive 3 goes backwards
              M569 P4 S0 ; physical drive 4 goes backwards
              M569 P5 S0 ; physical drive 5 goes backwards
              M569 P6 S0 ; physical drive 6 goes backwards
              M569 P7 S0 ; physical drive 7 goes backwards
              
              M584 X0 Y1:4 Z2:5:6:7 E3 ; set drive mapping
              M671 X-60:-60:660:660 Y-48:378:378:-48 S7 ; set the coordinates of the 4 Z-axis drivers
              M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
              M92 X80.03 Y79.84 Z1615.90 E300.00 ; set steps per mm
              M566 X900.00 Y900.00 Z60.00 E500.00 ; set maximum instantaneous speed changes (mm/min)
              M203 X10000.00 Y10000.00 Z500.00 E1000.00 ; set maximum speeds (mm/min)
              M201 X500.00 Y500.00 Z20.00 E500.00 ; set accelerations (mm/s^2)
              M906 X800 Y800 Z800 E800 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 X600 Y300 Z470 S0 ; set axis maxima
              
              ; Endstops
              M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin !xstop
              M574 Y1 S1 P"!ystop+!e1stop" ; configure active-low endstop for low end on Y via pin !ystop
              M574 Z1 S2 ; configure Z-probe endstop for low end on Z
              
              ; Z-Probe
              M950 S0 C"duex.pwm1" ; create servo pin 0 for BLTouch
              M558 P9 C"^zprobe.in" H5 F120 T4000 ; set Z probe type to bltouch and the dive height + speeds
              G31 P500 X36 Y9 Z0 ; set Z probe trigger value, offset and trigger height
              M557 X65:585 Y20:280 S130 ; define mesh grid
              
              ;Filament Runout switch
              M591 D0 P2 C"e0stop" S1 ; filament switch
              
              ; Heaters
              M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 R4700 ; configure sensor 0 as thermistor on pin bedtemp
              M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
              M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
              M140 H0 ; map heated bed to heater 0
              M143 H0 S120 ; set temperature limit for heater 0 to 120C
              M308 S1 P"e0temp" Y"pt1000" T100000 B4000 R4700 ; configure sensor 1 as thermistor on pin e0temp
              M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
              M307 H1 B0 R2.926 C244.4 D10.45 S1.00 V25.0 ; disable bang-bang mode for heater and set PWM limit
              M143 H1 S260 ; set temperature limit for heater 1 to 260C
              
              ; Fans
              M950 F0 C"fan0" Q500 ; create fan 0 "part fan" on pin fan0 and set its frequency
              M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
              M950 F1 C"fan1" Q500 ; create fan 1 "hotend fan"on pin fan1 and set its frequency
              M106 P1 S1 H1 T70 ; set fan 1 value. Thermostatic control is turned on
              
              ; Tools
              M563 P0 D0 H1 F0 ; 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
              
              ; Custom settings are not defined
              
              RepRapFirmware does not support individual motor settings where an axis has multiple motors connected to different stepper drivers. The first parameter specified will be used for all motors on the axis. You should use identical motors on any axis that has more than one motor to avoid unexpected behaviour.
              
              Example: If you have two motors on your Z axis, physically connected to Z and E0 stepper drivers, configured with M584 Z2:3, set M92 Z80, not M92 Z80:80
              
              1 Reply Last reply Reply Quote 0
              • jeroleeundefined
                jerolee @PCR
                last edited by jerolee

                @pcr
                This has no solution for the Extruder stepper problem but that aside.

                Quote "RepRapFirmware does not support individual motor settings where an axis has multiple motors connected to different stepper drivers. The first parameter specified will be used for all motors on the axis. You should use identical motors on any axis that has more than one motor to avoid unexpected behaviour." end quote.

                I use identical motors on my axis.
                This means that my Z-axis will always run out of sync go skewed in height while the motors are not exactly the same? I had to calibrate them.
                Have them raise Z 450mm then measure the actual distance and do some calculation to adjust the number of steps per mm per motor.
                They didnt raise the gantry at all corners exactly accurate. Same as you do for extruding exact amount of filament.
                But oddly enough, after the calibration, feed in these steps in the config, the 4 corners does run accurate 🙂 so another wierd thing goin on then?

                This would be 1 more reason to step away from reprap software?

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

                  @jerolee please can you provide a link to the pancake stepper motor that you purchased. I will then purchase on so that I can test it with Duets.

                  @jerolee said in TMC2660 problem:

                  This means that my Z-axis will always run out of sync go skewed in height while the motors are not exactly the same?

                  Only if your Z steps/mm is not the same for all your Z motors, or they can't all be run at the same current.

                  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

                  GeneRisiundefined 1 Reply Last reply Reply Quote 0
                  • GeneRisiundefined
                    GeneRisi @dc42
                    last edited by

                    @dc42 I have exactly the same motor. It works. @jerolee , here is my suggestion. Connect the motor wiring from the motor all the way to the duet board. The duet board connector has the wiring between coils on adjacent pins, so one coil will be pins 1 and 2. The other coil will be on pins 3 and 4. Measure the resistance on the connector you are plugging into the duet board. If you do not get approx. 2 ohms for both pairs, a wire is crossed. Typical Nema 17 steppers have the pairs interlaced. The LDO pancake stepper does not.

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

                      @generisi, thanks for your observations.

                      @jerolee in your original post you said:

                      I cant get mine to work, which ever combination of wiring, tried 8 combo's
                      result a little hum.

                      Unfortunately, connecting stepper motors incorrectly to a stepper driver is the best way of blowing it. We took steps when designing the Duet to improve the resilience of the drivers when a motor is disconnected under load. However, the current regulation in the stepper drive relies on the motor being connected correctly, and we can't do anything about that. This is why at https://duet3d.dozuki.com/Wiki/Choosing_and_connecting_stepper_motors#Section_Connecting_stepper_motors we stress the need to connect the motors correctly.

                      The TMC2660s are high-current drivers and the short-circuit protection built into them is unfortunately not fast enough to protect the driver in all situations (even though RRF sets it to maximum sensitivity), especially when connecting low-inductance motors incorrectly. Therefore I suggest you check whether the motor output that you are testing the pancake motor with is still capable of driving one of your Nema 17 motors correctly.

                      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

                      jeroleeundefined 1 Reply Last reply Reply Quote 0
                      • jeroleeundefined
                        jerolee @dc42
                        last edited by jerolee

                        @dc42
                        All of the drivers still operate normally with all NEMA17 on it. So none of the drivers is defective or burned out. my 3D printer functions, it homes all axis, it does the tramming. it just wont let the pancake motors rotate. i connected them to all of the drivers and they just dont work.
                        Please stop replying on the wiring because i connect the coils correctly. 1 coil on 1-2 pin other coil to 3-4 pin. i looked at the wiring schematic of the Duet board.
                        So nema17 just works fine, i know the wiring can be different for motors, thats exactly why i measured which pairs are the coils, to not make mistakes here.

                        Im completely in the dark about what can cause this. I posted the config file im using. Can someone comment on the settings for the Extruder?
                        I cant think of anything wrong there tbh because it has all the settings the other drivers get.
                        Also tried different current settings, nothing changes. tried without interpolation, etc...

                        I connect the pancakes to my ender3 board which runs on a SKR turbo with Marlin and there the round pancakes just work fine, rotating both directions
                        No worries.

                        If you guys dont have a clue either, then just say it. dont bring up the wiring again 🙂
                        Thanks anyways.

                        i just changed the Y and Z steps to just 1 value for each letter. Does the same goes for the current settings and others like acceleration, speed?

                        After getting used to reprap and DWC i would hate to change back, a lot of work again, time and money invested lost. im not happy, the printer as good as finished but without the extruder running its useless sitting there.IMG_1778.JPG

                        jeroleeundefined GeneRisiundefined 2 Replies Last reply Reply Quote -1
                        • jeroleeundefined
                          jerolee @jerolee
                          last edited by jerolee

                          pancake (1).JPG

                          @dc42 Same measurement, same wiring like other picture but just more clear in view.

                          Hurray the stepper is rotating!!! The only thing i changed today was that i removed the (not needed) steps per mm in the config file from the Y and Z axis. This has nothing to do with E axis right?!
                          BUT appearantly , how in the hell this is possible i dunno, it fucked up the pancake steppers. Im completely stunned here and i would like to ask DC42 to try and replicate this. the more values registered under Y and Z axis must have crazed the system in some kinda really odd way.
                          Wow unbelievable, but im so happy it works now, jeeeez im speechless.

                          1 Reply Last reply Reply Quote 0
                          • GeneRisiundefined
                            GeneRisi @jerolee
                            last edited by

                            @jerolee , I am only trying to help you out. My final comment is to look at the section of my config file below. The first extruder is a 20mm LDO pancake, the second extruder is a 17mm LDO pancake. They are both driving a version of the Orbiter extruder.

                            ; *** Motion Settings ***
                            ;
                            M566 X400 Y400 Z8 A8 C2 E300:300:300:300					; Set maximum instantaneous speed changes (mm/min)
                            M203 X35000 Y35000 Z1200 A1200 C5000 E3600:7200:3600:5000	; Set maximum speeds (mm/min)
                            M201 X6000 Y6000 Z400 A400 C400 E600:800:600:5000			; Set accelerations (mm/s^2)
                            ;M593 F48													; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/)	
                            ;
                            ; *** Drive Currents ***
                            ;
                            ;M906 X2000 Y2000 Z1330 C400 E1000:1680:1680:1380 I30 	; motor currents (mA) maxes
                            M906 X1400 Y1400 I30
                            M906 E1200:650:500:1380 I10
                            M906 A700 C400 I10
                            M906 Z1250 I70
                            ;
                            M84 S120 												; Set idle timeout```
                            
                            For the 20mm LDO pancake, I have the current set at 1200 mA. I also have a lower "maximum instantaneous speed change.
                            
                            I hope this helps.
                            jeroleeundefined 1 Reply Last reply Reply Quote 0
                            • jeroleeundefined
                              jerolee @GeneRisi
                              last edited by jerolee

                              @generisi
                              Hi, i appreciate your help ofcourse.

                              Good news mate, after i removed the values from Y and Z for the other motors on that axis in the config file, so only 1 value for Y and 1 value for Z, after upload and reset the pancake extruder WORKED!!!
                              It has nothing to do with the wiring but appearantly the values from Y and Z in the config file did some really odd magic preventing the 36mm round pancake to rotate. It did not bother a NEMA17

                              I ask DC42 to try and replicate this oddly behaviour as i gues its a very interesting conflict somewhere??

                              So my problem is solved and im a happy camper.

                              M584 X0 Y1:4 Z2:5:6:7 E3 ; set drive mapping
                              M671 X-60:-60:660:660 Y-48:378:378:-48 S7 ; set the coordinates of the 4 Z-axis drivers
                              M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
                              M92 X80.03 Y79.84 Z1619.80 E704.00 ; set steps per mm
                              M566 X900.00 Y900.00 Z60.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
                              M203 X10000.00 Y10000.00 Z500.00 E1000.00 ; set maximum speeds (mm/min)
                              M201 X500.00 Y500.00 Z20.00 E500.00 ; set accelerations (mm/s^2)
                              M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
                              M84 S30 ; Set idle timeout

                              GeneRisiundefined droftartsundefined 2 Replies Last reply Reply Quote 0
                              • GeneRisiundefined
                                GeneRisi @jerolee
                                last edited by

                                @jerolee I am glad you figured it out. Check my settings for current, etc. they are working well for me so far.
                                Gene

                                1 Reply Last reply Reply Quote 0
                                • jeroleeundefined jerolee has marked this topic as solved
                                • droftartsundefined
                                  droftarts administrators @jerolee
                                  last edited by

                                  @jerolee What firmware version are you using? Send M115 and post response.

                                  Multiple values on gcodes that should only have one (like M350, M92, M566, M203, M201 and M906) used to cause problems, but I thought had been fixed in more recent versions of the firmware. If you're using the latest and it's still causing issues, I'll raise it with @dc42 for him to check. Also, @PCR 's suggested changes included setting single values for each axis, so if you'd tried all of what he suggested, it should have worked. My suggestion (if I'd read this thread earlier) would have been to create a blank config.g with one motor defined, and test. You can also send M98 P"config.g" to check your config.g for errors, though I'm not sure it spots multiple values being specified when they shouldn't be.

                                  Next time you post a problem, it's best to post what hardware you are using, firmware version, and your config.g in your first post; it will make helping you a lot more straightforward, and quicker. See https://forum.duet3d.com/topic/5909/

                                  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

                                  jeroleeundefined 1 Reply Last reply Reply Quote 0
                                  • jeroleeundefined
                                    jerolee @droftarts
                                    last edited by

                                    @droftarts
                                    RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.3 ELECTRONICS: Duet WiFi 1.02 or later + DueX5 FIRMWARE_DATE: 2021-06-15 21:45:03

                                    I did the changes PCR suggested otherwise i would never have found the solution 🙂
                                    @PCR
                                    Thanks mate, by removing values from the config as you suggested, the odd behaviour of the software was gone and round pancake worked.

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