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

    TMC2660 problem

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    8
    25
    2.3k
    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 @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