a5:silent-stepper-driver-tmc2130

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
a5:silent-stepper-driver-tmc2130 [2018/11/04 19:47] – created red_ma5:silent-stepper-driver-tmc2130 [2020/12/25 02:13] (current) – external edit 127.0.0.1
Line 1: Line 1:
-==== Silent Stepper Driver TMC2208  ==== +**<WRAP center round alert 60%> 
-{{:a5:aetek:tmc2208_01.jpg?256 }}  {{ :a5:aetek:tmc2208_06.jpg?256}} +This guide will only work on the 1.1.9 Marlin firmware for the JG A5, which is in beta and may have extra bugs. 
-\\ + 
-\\ +A 1.1.8 version may come out if someone else is willing to do one on the wiki however I don't use 1.1.8 
-\\ +</WRAP> 
-\\ +** 
-\\ + 
-\\ +==== Silent Stepper Driver TMC2130  ==== 
-\\ +{{:a5:tmc_2130_v1.1.jpg?400|}} \\ 
-\\ +Page format: AETEK \\  
-\\ +Original wiring diagram: DaHai \\ 
-\\ +Author: Red_M
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-\\ +
-Author: AETEK \\  +
-Additional information: Red_M+
                    
 The changes shown here require knowledge in the field of Arduino IDE, Marlin and electrical engineering and can overwhelm normal users. Also, I would like to point out possible dangers that exist in certain interventions. All adjustments have been checked for function.  The changes shown here require knowledge in the field of Arduino IDE, Marlin and electrical engineering and can overwhelm normal users. Also, I would like to point out possible dangers that exist in certain interventions. All adjustments have been checked for function. 
Line 26: Line 16:
 **Difficulty: __Advanced__**  **Difficulty: __Advanced__** 
  
-**What is this about?** \\  +**Why someone would do this** \\  
-The TMC2208 is a German development. This tutorial is about making the A5 quieter. It is not my intention to explain all possible options of the TMC2208. Like memost users will buy these stepper drivers just for one reason: to have silence. I focus on installing and configuring these drivers.\\ +Silent motorssensor-less homing and higher voltage than the TMC2208s.
-Why use only two TMC2208?\\ +
-The most noise comes from the Y-axis and the X-axis. Because the Z-axis rarely moves when printing you do not hear much noise. The TMC2208 can deliver less power than the standard A4988 driverOne Z-axis driver needs to power two motors at the same time. The avaliable motor current is divided between both motors. \\  +
-You rarely hear the extruder motor. If you hear it, then at the retract. The extruder motor, however, requires a lot of torque to press the filament through the nozzle. Much torque means a lot of electric current. This is exactly what the TMC2208 __can not do__. \\ +
-For these reasons I used the TMC2208 only for the X and Y axes. \\ +
-The TMC2208 stepper driver includes the function of TL-Smoothers. So it does not make sense to install this extension when using the TMC2208.\\ +
  
--> I have written a separate article on how to reduce the noise of the extruder motor. \\ 
-\\ 
 <code> <code>
 Note:  Note: 
-If you opt for this optimizationthen always do both the hardware +If you want to do this modyou MUST do both the software changes and the hardware changes. 
-as well as the software conversion+I HIGHLY recommend the SPI mode and that you purchase the V1.1 instead of the V1.0 for the basic fact of a few extra dollars and much less work.
 </code> </code>
  
 **Required Electrical Parts** **Required Electrical Parts**
-  * 2 x TMC2208 Stepper Driver Modules With Heatsinks+  * [[https://www.banggood.com/Ultra-silent-TMC2130-V1_1-Stepper-Motor-Driver-Module-SPI-With-Heat-Sink-Kit-For-3D-Printer-p-1270205.html|2 x TMC2130 Stepper Driver Modules With Heatsinks (V1.1)]]
   * Active Cooling Fan Solution<sup>*</sup>     * Active Cooling Fan Solution<sup>*</sup>  
   * Some cable and heat shrink   * Some cable and heat shrink
Line 56: Line 39:
 **Please first pull the A5 mains plug**\\ **Please first pull the A5 mains plug**\\
  
-Before you install the TMC2208 module into the MKS GEN_L motherboard you should remove the pin named "NC" for safety reasons. "NC" means "Not Connected". I do not know if this contact is connected to the driver board. I have removed this "NC" pin therefore. So one experiences no unpleasant surprises.\\  +Before you install the TMC2130 module into the MKS GEN_L motherboard you should create your cables as per the wiring diagram below and confirm that your drivers have the SPI and other settings correct. I am unsure where exactly the Z and extruder CS pin should go as I didn't have the extra drivers for those axis and DaiHai's wiring diagram on his video was incorrect as I would get readings from the drivers that would be FF:FF:FF:FF meaning that the pin wasn't seeing any data come back from the driver. I got this wiring by trial and error testing. If you don't have the printer erroring on you trying to connect to it then you have the correct pinsIf you are trying to get the Z and extruder to be on TMC2130s then would suggest once you can connect to it, confirming the right pins are plugged into the right connectors by removing them and making sure the one you removed is the one erroring with an overtemp error once you try to connect to the printer again.
-{{:a5:aetek:tmc2208_02.jpg}}+
  
-If you Upgrade from the factory drivers (A4988) then leave the MS1, MS2 and MS3 jumpers (under the driver moduls) plugged in as it is. \\ +{{:a5:wiring_tmc2130.png}} 
 + 
 +If you Upgrade from the factory drivers (A4988) then leave the MS1, MS2 and MS3 jumpers (under the driver modules) plugged in as it is. \\ 
  
 When inserting the modules into the sockets, it must be noted that the mounting direction is different as with the A4988 driver (see photos). When inserting the modules into the sockets, it must be noted that the mounting direction is different as with the A4988 driver (see photos).
 {{:a5:aetek:tmc2208_03.jpg}}\\ {{:a5:aetek:tmc2208_03.jpg}}\\
-\\+Pictured is the TMC2208, not the TMC2130!\\
  
-==== How to set the stepper motor current====+==== How to set the stepper motor current ====
  
 {{:a5:aetek:tmc2208_05.jpg}} \\ {{:a5:aetek:tmc2208_05.jpg}} \\
-\\+Pictured is the TMC2208, not the TMC2130!\\
 \\ \\
 Get the GND (minus) from the MKS GEN_L Mainboard supply input (black wire). \\ Get the GND (minus) from the MKS GEN_L Mainboard supply input (black wire). \\
Line 75: Line 59:
 IMPORTANT POINTS: IMPORTANT POINTS:
   * When measuring Vref on the TMC2130, you need to measure the voltage from the Vref hole on the V1.0 and the poteniometer on the V1.1, (see photo) to ground.   * When measuring Vref on the TMC2130, you need to measure the voltage from the Vref hole on the V1.0 and the poteniometer on the V1.1, (see photo) to ground.
-   * Unlike the A4988 stock drivers, the printer **power supply must be ON to tune the TMC2208 stepper drivers.**+   * Unlike the A4988 stock drivers, the printer **power supply must be ON to tune the TMC2130 stepper drivers.** 
 +   * __**I HIGHLY RECOMMEND YOU KEEP ALL HANDS AWAY FROM THE BACK OF THE PRINTER SO YOU STAY AWAY FROM THE POWER SUPPLY!**__
 \\ \\
  
-Here is an online calculator for the TMC 2208 Stepper Drivers: \\  +The voltages below are suggested for TMC2XXX stepper drivers (this includes the TMC2130) only:
-https://learn.watterott.com/silentstepstick/faq/ \\  +
- +
-//I have set different VREF values and measured the temperature of the X-motor:\\ +
-VREF 1.41V eq. 1.0A @ 55°C motor temperature. \\  +
-VREF 1.13V eq. 0.8A @ 45°C motor temperature. \\ +
-// +
-At VREF = 1.41V (1.0A) the motors were too hot for me.\\ +
- +
-The voltages below are suggested for TMC2XXX stepper drivers (this includes the TMC2208) only:+
  
 Axis = Vref \\ Axis = Vref \\
Line 103: Line 79:
 ==== Customize the Marlin firmware ==== ==== Customize the Marlin firmware ====
  
-Use TMC2208 for X & Y Axis, the rest stay stock drivers A4988.\\ +Use TMC2130 for X & Y Axis, the rest stay stock drivers A4988.\\ 
-The TMC2208 needs a reverse drive on the DIR signal like the A4988. \\ +The TMC2130 needs a reverse drive on the DIR signal like the A4988. \\ 
 This can be adjusted in the firmware. \\  This can be adjusted in the firmware. \\ 
 Otherwise the motors will run in the wrong direction. \\ Otherwise the motors will run in the wrong direction. \\
Line 139: Line 115:
 #define Z_DRIVER_TYPE  A4988 #define Z_DRIVER_TYPE  A4988
 </code> </code>
-Make sure you install the TMC2208 Arduino library or you will get compiler errors about missing files.+Make sure you install the TMC2130 Arduino library or you will get compiler errors about missing files
 +If you want to do the Z and extruder axis as well, make sure you invert the INVERT_Z_DIR and INVERT_E_DIR true/false as well as replace the Z_DRIVER_TYPE and E_DRIVER_TYPE with TMC2130 so that your firmware will use these drivers properly.
  
  
Line 152: Line 129:
 #define MONITOR_DRIVER_STATUS #define MONITOR_DRIVER_STATUS
 </code> </code>
 +
 +**Replace this original code block...** 
 +<code>
 +//#define STEALTHCHOP
 +</code>
 +
 +**...with this customized code:**
 +<code>
 +#define STEALTHCHOP
 +</code>
 +
 +**Replace this original code block...** 
 +<code>
 +//#define SENSORLESS_HOMING // TMC2130 only
 +</code>
 +
 +**...with this customized code:**
 +<code>
 +#define SENSORLESS_HOMING // TMC2130 only
 +</code>
 +
 +**Replace this original code block...** 
 +<code>
 +//#define TMC_DEBUG
 +</code>
 +
 +**...with this customized code:**
 +<code>
 +#define TMC_DEBUG
 +</code>
 +
 +The following adjustments are made in the "**pins_RAMPS.h**" file:\\
 +
 +**Replace this original code block...** 
 +<code>
 +#define X_STEP_PIN         54
 +#define X_DIR_PIN          55
 +#define X_ENABLE_PIN       38
 +#ifndef X_CS_PIN
 +  #define X_CS_PIN         53
 +#endif
 +
 +#define Y_STEP_PIN         60
 +#define Y_DIR_PIN          61
 +#define Y_ENABLE_PIN       56
 +#ifndef Y_CS_PIN
 +  #define Y_CS_PIN         49
 +#endif
 +</code>
 +
 +**...with this customized code:**
 +<code>
 +#define X_STEP_PIN         54
 +#define X_DIR_PIN          55
 +#define X_ENABLE_PIN       38
 +#ifndef X_CS_PIN
 +  #define X_CS_PIN         64 // default 53
 +#endif
 +
 +#define Y_STEP_PIN         60
 +#define Y_DIR_PIN          61
 +#define Y_ENABLE_PIN       56
 +#ifndef Y_CS_PIN
 +  #define Y_CS_PIN         44 // default 49
 +#endif
 +</code>
 +If you are intending to also use the Z axis and/or extruder, you will need to assign them pins and make sure you plug the CS wire from the driver into the corresponding pin.
 +
 +**Make sure you install the TMC2130 Arduino library or you will get compiler errors about missing files.**
 +
  
 Then upload the changed firmware to the A5 ([[a5:firmware|instructions here in the WIKI]]).\\ Then upload the changed firmware to the A5 ([[a5:firmware|instructions here in the WIKI]]).\\
Line 161: Line 208:
   - Insert mains plug.   - Insert mains plug.
   - Power on the printer   - Power on the printer
-  - Use the Touch Display (Move) and check that the X and Y axes are moving in the right direction.+  - Use the Touch Display (Move) or a computer hooked up to the printer to move and check that the X and Y axes are moving in the right direction.
  
-If everything reacts like that, then enjoy the silence.\\ +Make sure your X and Y (and Z if you also have the extra driver installed and wired) are going to correct way otherwise you'll need to make sure you did all the changes to the firmware.
- +
-This completes the conversion. :-D +
-\\ +
-\\ +
----- +
-\\ +
-Status 6July 2018: Completed+
a5/silent-stepper-driver-tmc2130.1541321224.txt.gz · Last modified: 2020/12/25 02:13 (external edit)