Advertisement
jbodhorn

Dual Z stepper Edits

Aug 4th, 2021
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.85 KB | None | 0 0
  1. So this is gonna be long and probably not complete and I'm gonna say it again right here... You may not need to edit everything in these lists and I may have missed stuff you do need to edit, that said, here's a copy/paste of the notes I made
  2. I left some notes with arrows(<---) pointing to the options that I'm pretty sure need editing/enabling/disabling.
  3. Anything I added ***** to the arrow(<---) I'm nearly positive will need editing/enabling/disabling
  4. I don't know that I've found everything you'll need to edit and I probably selected stuff that won't need editing, hence many of my notes saying "may need", "might..."
  5. Hopefully this helps more than confuses...... One more thing, in my examples I use the pins files for the board I have, an skr mini e3 v2, so make sure to edit the pins files for your specific board
  6.  
  7.  
  8. #########################
  9. ########Configuration.h########
  10. #########################
  11.  
  12. #define USE_XMIN_PLUG
  13. #define USE_YMIN_PLUG
  14. #define USE_ZMIN_PLUG <------ may need to edit options like this to Z, Z2, not sure
  15. //#define USE_IMIN_PLUG
  16. //#define USE_JMIN_PLUG
  17. //#define USE_KMIN_PLUG
  18. //#define USE_XMAX_PLUG
  19. //#define USE_YMAX_PLUG
  20. //#define USE_ZMAX_PLUG
  21. //#define USE_IMAX_PLUG
  22. //#define USE_JMAX_PLUG
  23. //#define USE_KMAX_PLUG
  24.  
  25. #define X_DRIVER_TYPE TMC2209
  26. #define Y_DRIVER_TYPE TMC2209
  27. #define Z_DRIVER_TYPE TMC2209
  28. //#define X2_DRIVER_TYPE A4988
  29. //#define Y2_DRIVER_TYPE A4988
  30. //#define Z2_DRIVER_TYPE A4988 <-------- ********needed
  31. //#define Z3_DRIVER_TYPE A4988
  32. //#define Z4_DRIVER_TYPE A4988
  33. //#define I_DRIVER_TYPE A4988
  34. //#define J_DRIVER_TYPE A4988
  35. //#define K_DRIVER_TYPE A4988
  36. #define E0_DRIVER_TYPE TMC2209
  37. //#define E1_DRIVER_TYPE A4988
  38. //#define E2_DRIVER_TYPE A4988
  39. //#define E3_DRIVER_TYPE A4988
  40. //#define E4_DRIVER_TYPE A4988
  41. //#define E5_DRIVER_TYPE A4988
  42. //#define E6_DRIVER_TYPE A4988
  43. //#define E7_DRIVER_TYPE A4988
  44.  
  45. /**
  46. * Default Axis Steps Per Unit (steps/mm)
  47. * Override with M92
  48. * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
  49. */
  50. #define DEFAULT_AXIS_STEPS_PER_UNIT { 80.000, 80.000, 400.000, 138.150 } <--- I believe here you would follow the example for E0, E1, E2, etc, but edit for Z, Z2
  51.  
  52. /**
  53. * Default Max Feed Rate (mm/s)
  54. * Override with M203
  55. * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
  56. */
  57. #define DEFAULT_MAX_FEEDRATE { 500, 500, 50, 150 } <----- should be edited as above
  58.  
  59. //#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
  60. #if ENABLED(LIMITED_MAX_FR_EDITING)
  61. #define MAX_FEEDRATE_EDIT_VALUES { 1000, 1000, 100, 300 } // ...or, set your own edit limits
  62. #endif
  63.  
  64. /**
  65. * Default Max Acceleration (change/s) change = mm/s
  66. * (Maximum start speed for accelerated moves)
  67. * Override with M201
  68. * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
  69. */
  70. #define DEFAULT_MAX_ACCELERATION { 500, 500, 500, 500 } <--- Should be edited as above
  71.  
  72. //#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
  73. #if ENABLED(LIMITED_MAX_ACCEL_EDITING)
  74. #define MAX_ACCEL_EDIT_VALUES { 6000, 6000, 1000, 20000 } // ...or, set your own edit limits
  75. #endif
  76.  
  77.  
  78. #define CLASSIC_JERK
  79. #if ENABLED(CLASSIC_JERK)
  80. #define DEFAULT_XJERK 15.0
  81. #define DEFAULT_YJERK 15.0
  82. #define DEFAULT_ZJERK 0.6 <----- this may need changing to Z and add Z2
  83. //#define DEFAULT_IJERK 0.3
  84. //#define DEFAULT_JJERK 0.3
  85. //#define DEFAULT_KJERK 0.3
  86.  
  87. // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
  88. // :{ 0:'Low', 1:'High' }
  89. #define X_ENABLE_ON 0
  90. #define Y_ENABLE_ON 0
  91. #define Z_ENABLE_ON 0 <--- same as above, may need changing to Z and a Z2 added
  92. #define E_ENABLE_ON 0 // For all extruders
  93. //#define I_ENABLE_ON 0
  94. //#define J_ENABLE_ON 0
  95. //#define K_ENABLE_ON 0
  96.  
  97. // Disable axis steppers immediately when they're not being stepped.
  98. // WARNING: When motors turn off there is a chance of losing position accuracy!
  99. #define DISABLE_X false
  100. #define DISABLE_Y false
  101. #define DISABLE_Z false <--- same as above, may need changing to Z and a Z2 added
  102. //#define DISABLE_I false
  103. //#define DISABLE_J false
  104. //#define DISABLE_K false
  105.  
  106. // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
  107. #define INVERT_X_DIR true
  108. #define INVERT_Y_DIR true
  109. #define INVERT_Z_DIR false <--- same as above, may need changing to Z and a Z2 added
  110. //#define INVERT_I_DIR false
  111. //#define INVERT_J_DIR false
  112. //#define INVERT_K_DIR false
  113.  
  114. // Direction of endstops when homing; 1=MAX, -1=MIN
  115. // :[-1,1]
  116. #define X_HOME_DIR -1
  117. #define Y_HOME_DIR -1
  118. #define Z_HOME_DIR -1 <--- same as above, may need changing to Z and a Z2 added
  119. //#define I_HOME_DIR -1
  120. //#define J_HOME_DIR -1
  121. //#define K_HOME_DIR -1
  122.  
  123. // Travel limits (mm) after homing, corresponding to endstop positions.
  124. #define X_MIN_POS -3
  125. #define Y_MIN_POS -0.5
  126. #define Z_MIN_POS 0 <-----these too may need changine to Z, Z2
  127. #define X_MAX_POS 257 //X_BED_SIZE
  128. #define Y_MAX_POS 235.5
  129. #define Z_MAX_POS 200 <-------
  130. //#define I_MIN_POS 0
  131. //#define I_MAX_POS 50
  132. //#define J_MIN_POS 0
  133. //#define J_MAX_POS 50
  134. //#define K_MIN_POS 0
  135. //#define K_MAX_POS 50
  136.  
  137. // Min software endstops constrain movement within minimum coordinate bounds
  138. #define MIN_SOFTWARE_ENDSTOPS
  139. #if ENABLED(MIN_SOFTWARE_ENDSTOPS)
  140. #define MIN_SOFTWARE_ENDSTOP_X
  141. #define MIN_SOFTWARE_ENDSTOP_Y
  142. #define MIN_SOFTWARE_ENDSTOP_Z <---- if you are using endstops these may need changing to Z, Z2
  143. //#define MIN_SOFTWARE_ENDSTOP_I
  144. //#define MIN_SOFTWARE_ENDSTOP_J
  145. //#define MIN_SOFTWARE_ENDSTOP_K
  146. #endif
  147.  
  148. // Max software endstops constrain movement within maximum coordinate bounds
  149. #define MAX_SOFTWARE_ENDSTOPS
  150. #if ENABLED(MAX_SOFTWARE_ENDSTOPS)
  151. #define MAX_SOFTWARE_ENDSTOP_X
  152. #define MAX_SOFTWARE_ENDSTOP_Y
  153. #define MAX_SOFTWARE_ENDSTOP_Z <------ hopefully you get the idea
  154. //#define MAX_SOFTWARE_ENDSTOP_I
  155. //#define MAX_SOFTWARE_ENDSTOP_J
  156. //#define MAX_SOFTWARE_ENDSTOP_K
  157. #endif
  158.  
  159. // Homing speeds (mm/min)
  160. #define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (6*60) } <---may need another "(#*#)" for Z, Z2
  161.  
  162.  
  163.  
  164. #####################################
  165. ########Configuration_adv.h##########
  166. #####################################
  167.  
  168.  
  169. //
  170. // For Z set the number of stepper drivers
  171. //
  172. #define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many
  173.  
  174. #if NUM_Z_STEPPER_DRIVERS > 1
  175. // Enable if Z motor direction signals are the opposite of Z1
  176. //#define INVERT_Z2_VS_Z_DIR
  177. //#define INVERT_Z3_VS_Z_DIR
  178. //#define INVERT_Z4_VS_Z_DIR
  179.  
  180. //#define Z_MULTI_ENDSTOPS
  181. #if ENABLED(Z_MULTI_ENDSTOPS)
  182. #define Z2_USE_ENDSTOP _XMAX_
  183. #define Z2_ENDSTOP_ADJUSTMENT 0
  184. #if NUM_Z_STEPPER_DRIVERS >= 3
  185. #define Z3_USE_ENDSTOP _YMAX_
  186. #define Z3_ENDSTOP_ADJUSTMENT 0
  187. #endif
  188. #if NUM_Z_STEPPER_DRIVERS >= 4
  189. #define Z4_USE_ENDSTOP _ZMAX_
  190. #define Z4_ENDSTOP_ADJUSTMENT 0
  191. #endif
  192. #endif
  193. #endif
  194.  
  195. /**
  196. * Z Steppers Auto-Alignment
  197. * Add the G34 command to align multiple Z steppers using a bed probe.
  198. */
  199. //#define Z_STEPPER_AUTO_ALIGN
  200. #if ENABLED(Z_STEPPER_AUTO_ALIGN)
  201. // Define probe X and Y positions for Z1, Z2 [, Z3 [, Z4]]
  202. // If not defined, probe limits will be used.
  203. // Override with 'M422 S<index> X<pos> Y<pos>'
  204. //#define Z_STEPPER_ALIGN_XY { { 10, 190 }, { 100, 10 }, { 190, 190 } }
  205.  
  206. /**
  207. * Orientation for the automatically-calculated probe positions.
  208. * Override Z stepper align points with 'M422 S<index> X<pos> Y<pos>'
  209. *
  210. * 2 Steppers: (0) (1)
  211. * | | 2 |
  212. * | 1 2 | |
  213. * | | 1 |
  214. *
  215. * 3 Steppers: (0) (1) (2) (3)
  216. * | 3 | 1 | 2 1 | 2 |
  217. * | | 3 | | 3 |
  218. * | 1 2 | 2 | 3 | 1 |
  219. *
  220. * 4 Steppers: (0) (1) (2) (3)
  221. * | 4 3 | 1 4 | 2 1 | 3 2 |
  222. * | | | | |
  223. * | 1 2 | 2 3 | 3 4 | 4 1 |
  224. */
  225. #ifndef Z_STEPPER_ALIGN_XY
  226. //#define Z_STEPPERS_ORIENTATION 0
  227. #endif
  228.  
  229. // Provide Z stepper positions for more rapid convergence in bed alignment.
  230. // Requires triple stepper drivers (i.e., set NUM_Z_STEPPER_DRIVERS to 3)
  231. //#define Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS
  232. #if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
  233. // Define Stepper XY positions for Z1, Z2, Z3 corresponding to
  234. // the Z screw positions in the bed carriage.
  235. // Define one position per Z stepper in stepper driver order.
  236. #define Z_STEPPER_ALIGN_STEPPER_XY { { 210.7, 102.5 }, { 152.6, 220.0 }, { 94.5, 102.5 } }
  237. #else
  238. // Amplification factor. Used to scale the correction step up or down in case
  239. // the stepper (spindle) position is farther out than the test point.
  240. #define Z_STEPPER_ALIGN_AMP 1.0 // Use a value > 1.0 NOTE: This may cause instability!
  241. #endif
  242.  
  243. // On a 300mm bed a 5% grade would give a misalignment of ~1.5cm
  244. #define G34_MAX_GRADE 5 // (%) Maximum incline that G34 will handle
  245. #define Z_STEPPER_ALIGN_ITERATIONS 5 // Number of iterations to apply during alignment
  246. #define Z_STEPPER_ALIGN_ACC 0.02 // Stop iterating early if the accuracy is better than this
  247. #define RESTORE_LEVELING_AFTER_G34 // Restore leveling after G34 is done?
  248. // After G34, re-home Z (G28 Z) or just calculate it from the last probe heights?
  249. // Re-homing might be more precise in reproducing the actual 'G28 Z' homing height, especially on an uneven bed.
  250. #define HOME_AFTER_G34
  251. #endif
  252.  
  253.  
  254. #define DEFAULT_STEPPER_DEACTIVE_TIME 0
  255. #define DISABLE_INACTIVE_X true
  256. #define DISABLE_INACTIVE_Y true
  257. #define DISABLE_INACTIVE_Z false // Set 'false' if the nozzle could fall onto your printed part!
  258. //#define DISABLE_INACTIVE_I true
  259. //#define DISABLE_INACTIVE_J true
  260. //#define DISABLE_INACTIVE_K true
  261. #define DISABLE_INACTIVE_E true
  262.  
  263.  
  264. // @section lcd
  265.  
  266. #if EITHER(IS_ULTIPANEL, EXTENSIBLE_UI)
  267. #define MANUAL_FEEDRATE { 50*60, 50*60, 8*60, 3*60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel <---may need another "(#*#)" for Z, Z2
  268. #define FINE_MANUAL_MOVE 0.001 // (mm) Smallest manual move (< 0.1mm) applying to Z on most machines
  269. #if IS_ULTIPANEL
  270. #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position"
  271. #define ULTIPANEL_FEEDMULTIPLY // Encoder sets the feedrate multiplier on the Status Screen
  272. #endif
  273. #endif
  274.  
  275.  
  276. // @section tmc_smart
  277.  
  278. /**
  279. * To use TMC2130, TMC2160, TMC2660, TMC5130, TMC5160 stepper drivers in SPI mode
  280. * connect your SPI pins to the hardware SPI interface on your board and define
  281. * the required CS pins in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3
  282. * pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.).
  283. * You may also use software SPI if you wish to use general purpose IO pins.
  284. *
  285. * To use TMC2208 stepper UART-configurable stepper drivers connect #_SERIAL_TX_PIN
  286. * to the driver side PDN_UART pin with a 1K resistor.
  287. * To use the reading capabilities, also connect #_SERIAL_RX_PIN to PDN_UART without
  288. * a resistor.
  289. * The drivers can also be used with hardware serial.
  290. *
  291. * TMCStepper library is required to use TMC stepper drivers.
  292. * https://github.com/teemuatlut/TMCStepper
  293. */
  294. #if HAS_TRINAMIC_CONFIG
  295.  
  296. #define HOLD_MULTIPLIER 0.75 // Scales down the holding current from run current
  297.  
  298. /**
  299. * Interpolate microsteps to 256
  300. * Override for each driver with <driver>_INTERPOLATE settings below
  301. */
  302. #define INTERPOLATE true
  303.  
  304. #if AXIS_IS_TMC(X)
  305. #define X_CURRENT 550 // (mA) RMS current. Multiply by 1.414 for peak current.
  306. #define X_CURRENT_HOME (X_CURRENT/2) // (mA) RMS current for sensorless homing
  307. #define X_MICROSTEPS 16 // 0..256
  308. #define X_RSENSE 0.11
  309. #define X_CHAIN_POS -1 // -1..0: Not chained. 1: MCU MOSI connected. 2: Next in chain, ...
  310. //#define X_INTERPOLATE true // Enable to override 'INTERPOLATE' for the X axis
  311. #endif
  312.  
  313. #if AXIS_IS_TMC(X2)
  314. #define X2_CURRENT 800
  315. #define X2_CURRENT_HOME X2_CURRENT
  316. #define X2_MICROSTEPS X_MICROSTEPS
  317. #define X2_RSENSE 0.11
  318. #define X2_CHAIN_POS -1
  319. //#define X2_INTERPOLATE true
  320. #endif
  321.  
  322. #if AXIS_IS_TMC(Y)
  323. #define Y_CURRENT 580
  324. #define Y_CURRENT_HOME (Y_CURRENT/2)
  325. #define Y_MICROSTEPS 16
  326. #define Y_RSENSE 0.11
  327. #define Y_CHAIN_POS -1
  328. //#define Y_INTERPOLATE true
  329. #endif
  330.  
  331. #if AXIS_IS_TMC(Y2)
  332. #define Y2_CURRENT 800
  333. #define Y2_CURRENT_HOME Y2_CURRENT
  334. #define Y2_MICROSTEPS Y_MICROSTEPS
  335. #define Y2_RSENSE 0.11
  336. #define Y2_CHAIN_POS -1
  337. //#define Y2_INTERPOLATE true
  338. #endif
  339.  
  340. #if AXIS_IS_TMC(Z)
  341. #define Z_CURRENT 800
  342. #define Z_CURRENT_HOME Z_CURRENT
  343. #define Z_MICROSTEPS 16
  344. #define Z_RSENSE 0.11
  345. #define Z_CHAIN_POS -1
  346. //#define Z_INTERPOLATE true
  347. #endif
  348.  
  349. #if AXIS_IS_TMC(Z2) <<<< ********
  350. #define Z2_CURRENT 800
  351. #define Z2_CURRENT_HOME Z2_CURRENT
  352. #define Z2_MICROSTEPS Z_MICROSTEPS <<<<------ ********This will need to be set
  353. #define Z2_RSENSE 0.11
  354. #define Z2_CHAIN_POS -1
  355. //#define Z2_INTERPOLATE true <<<< ********
  356. #endif
  357.  
  358. #if AXIS_IS_TMC(Z3)
  359. #define Z3_CURRENT 800
  360. #define Z3_CURRENT_HOME Z3_CURRENT
  361. #define Z3_MICROSTEPS Z_MICROSTEPS
  362. #define Z3_RSENSE 0.11
  363. #define Z3_CHAIN_POS -1
  364. //#define Z3_INTERPOLATE true
  365. #endif
  366.  
  367. #if AXIS_IS_TMC(Z4)
  368. #define Z4_CURRENT 800
  369. #define Z4_CURRENT_HOME Z4_CURRENT
  370. #define Z4_MICROSTEPS Z_MICROSTEPS
  371. #define Z4_RSENSE 0.11
  372. #define Z4_CHAIN_POS -1
  373. //#define Z4_INTERPOLATE true
  374. #endif
  375.  
  376. #if AXIS_IS_TMC(I)
  377. #define I_CURRENT 800
  378. #define I_CURRENT_HOME I_CURRENT
  379. #define I_MICROSTEPS 16
  380. #define I_RSENSE 0.11
  381. #define I_CHAIN_POS -1
  382. //#define I_INTERPOLATE true
  383. #endif
  384.  
  385. #if AXIS_IS_TMC(J)
  386. #define J_CURRENT 800
  387. #define J_CURRENT_HOME J_CURRENT
  388. #define J_MICROSTEPS 16
  389. #define J_RSENSE 0.11
  390. #define J_CHAIN_POS -1
  391. //#define J_INTERPOLATE true
  392. #endif
  393.  
  394. #if AXIS_IS_TMC(K)
  395. #define K_CURRENT 800
  396. #define K_CURRENT_HOME K_CURRENT
  397. #define K_MICROSTEPS 16
  398. #define K_RSENSE 0.11
  399. #define K_CHAIN_POS -1
  400. //#define K_INTERPOLATE true
  401. #endif
  402.  
  403. #if AXIS_IS_TMC(E0)
  404. #define E0_CURRENT 650
  405. #define E0_MICROSTEPS 16
  406. #define E0_RSENSE 0.11
  407. #define E0_CHAIN_POS -1
  408. //#define E0_INTERPOLATE true
  409. #endif
  410.  
  411. #if AXIS_IS_TMC(E1)
  412. #define E1_CURRENT 800
  413. #define E1_MICROSTEPS E0_MICROSTEPS
  414. #define E1_RSENSE 0.11
  415. #define E1_CHAIN_POS -1
  416. //#define E1_INTERPOLATE true
  417. #endif
  418.  
  419. #if AXIS_IS_TMC(E2)
  420. #define E2_CURRENT 800
  421. #define E2_MICROSTEPS E0_MICROSTEPS
  422. #define E2_RSENSE 0.11
  423. #define E2_CHAIN_POS -1
  424. //#define E2_INTERPOLATE true
  425. #endif
  426.  
  427. #if AXIS_IS_TMC(E3)
  428. #define E3_CURRENT 800
  429. #define E3_MICROSTEPS E0_MICROSTEPS
  430. #define E3_RSENSE 0.11
  431. #define E3_CHAIN_POS -1
  432. //#define E3_INTERPOLATE true
  433. #endif
  434.  
  435. #if AXIS_IS_TMC(E4)
  436. #define E4_CURRENT 800
  437. #define E4_MICROSTEPS E0_MICROSTEPS
  438. #define E4_RSENSE 0.11
  439. #define E4_CHAIN_POS -1
  440. //#define E4_INTERPOLATE true
  441. #endif
  442.  
  443. #if AXIS_IS_TMC(E5)
  444. #define E5_CURRENT 800
  445. #define E5_MICROSTEPS E0_MICROSTEPS
  446. #define E5_RSENSE 0.11
  447. #define E5_CHAIN_POS -1
  448. //#define E5_INTERPOLATE true
  449. #endif
  450.  
  451. #if AXIS_IS_TMC(E6)
  452. #define E6_CURRENT 800
  453. #define E6_MICROSTEPS E0_MICROSTEPS
  454. #define E6_RSENSE 0.11
  455. #define E6_CHAIN_POS -1
  456. //#define E6_INTERPOLATE true
  457. #endif
  458.  
  459. #if AXIS_IS_TMC(E7)
  460. #define E7_CURRENT 800
  461. #define E7_MICROSTEPS E0_MICROSTEPS
  462. #define E7_RSENSE 0.11
  463. #define E7_CHAIN_POS -1
  464. //#define E7_INTERPOLATE true
  465. #endif
  466.  
  467.  
  468. /**
  469. * Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
  470. * Set the address using jumpers on pins MS1 and MS2.
  471. * Address | MS1 | MS2
  472. * 0 | LOW | LOW
  473. * 1 | HIGH | LOW
  474. * 2 | LOW | HIGH
  475. * 3 | HIGH | HIGH
  476. *
  477. * Set *_SERIAL_TX_PIN and *_SERIAL_RX_PIN to match for all drivers
  478. * on the same serial port, either here or in your board's pins file.
  479. */
  480. #define X_SLAVE_ADDRESS 0
  481. #define Y_SLAVE_ADDRESS 2
  482. #define Z_SLAVE_ADDRESS 1
  483. //#define X2_SLAVE_ADDRESS 0
  484. //#define Y2_SLAVE_ADDRESS 0
  485. //#define Z2_SLAVE_ADDRESS 0 <-------********************
  486. //#define Z3_SLAVE_ADDRESS 0
  487. //#define Z4_SLAVE_ADDRESS 0
  488. //#define I_SLAVE_ADDRESS 0
  489. //#define J_SLAVE_ADDRESS 0
  490. //#define K_SLAVE_ADDRESS 0
  491. #define E0_SLAVE_ADDRESS 3
  492. //#define E1_SLAVE_ADDRESS 0
  493. //#define E2_SLAVE_ADDRESS 0
  494. //#define E3_SLAVE_ADDRESS 0
  495. //#define E4_SLAVE_ADDRESS 0
  496. //#define E5_SLAVE_ADDRESS 0
  497. //#define E6_SLAVE_ADDRESS 0
  498. //#define E7_SLAVE_ADDRESS 0
  499.  
  500.  
  501. /**
  502. * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
  503. * Use Trinamic's ultra quiet stepping mode.
  504. * When disabled, Marlin will use spreadCycle stepping mode.
  505. */
  506. #define STEALTHCHOP_XY
  507. #define STEALTHCHOP_Z <----- may need Z, Z2
  508. //#define STEALTHCHOP_I
  509. //#define STEALTHCHOP_J
  510. //#define STEALTHCHOP_K
  511. #define STEALTHCHOP_E
  512.  
  513.  
  514. /**
  515. * TMC2130, TMC2160, TMC2208, TMC2209, TMC5130 and TMC5160 only
  516. * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD.
  517. * This mode allows for faster movements at the expense of higher noise levels.
  518. * STEALTHCHOP_(XY|Z|E) must be enabled to use HYBRID_THRESHOLD.
  519. * M913 X/Y/Z/E to live tune the setting
  520. */
  521. //#define HYBRID_THRESHOLD
  522.  
  523. #define X_HYBRID_THRESHOLD 100 // [mm/s]
  524. #define X2_HYBRID_THRESHOLD 100
  525. #define Y_HYBRID_THRESHOLD 100
  526. #define Y2_HYBRID_THRESHOLD 100
  527. #define Z_HYBRID_THRESHOLD 3 <---- if you use it
  528. #define Z2_HYBRID_THRESHOLD 3 <---
  529. #define Z3_HYBRID_THRESHOLD 3
  530. #define Z4_HYBRID_THRESHOLD 3
  531. #define I_HYBRID_THRESHOLD 3
  532. #define J_HYBRID_THRESHOLD 3
  533. #define K_HYBRID_THRESHOLD 3
  534. #define E0_HYBRID_THRESHOLD 30
  535. #define E1_HYBRID_THRESHOLD 30
  536. #define E2_HYBRID_THRESHOLD 30
  537. #define E3_HYBRID_THRESHOLD 30
  538. #define E4_HYBRID_THRESHOLD 30
  539. #define E5_HYBRID_THRESHOLD 30
  540. #define E6_HYBRID_THRESHOLD 30
  541. #define E7_HYBRID_THRESHOLD 30
  542.  
  543.  
  544. /**
  545. * Use StallGuard to home / probe X, Y, Z.
  546. *
  547. * TMC2130, TMC2160, TMC2209, TMC2660, TMC5130, and TMC5160 only
  548. * Connect the stepper driver's DIAG1 pin to the X/Y endstop pin.
  549. * X, Y, and Z homing will always be done in spreadCycle mode.
  550. *
  551. * X/Y/Z_STALL_SENSITIVITY is the default stall threshold.
  552. * Use M914 X Y Z to set the stall threshold at runtime:
  553. *
  554. * Sensitivity TMC2209 Others
  555. * HIGHEST 255 -64 (Too sensitive => False positive)
  556. * LOWEST 0 63 (Too insensitive => No trigger)
  557. *
  558. * It is recommended to set HOMING_BUMP_MM to { 0, 0, 0 }.
  559. *
  560. * SPI_ENDSTOPS *** Beta feature! *** TMC2130/TMC5160 Only ***
  561. * Poll the driver through SPI to determine load when homing.
  562. * Removes the need for a wire from DIAG1 to an endstop pin.
  563. *
  564. * IMPROVE_HOMING_RELIABILITY tunes acceleration and jerk when
  565. * homing and adds a guard period for endstop triggering.
  566. *
  567. * Comment *_STALL_SENSITIVITY to disable sensorless homing for that axis.
  568. */
  569. #define SENSORLESS_HOMING // StallGuard capable drivers only
  570.  
  571. #if EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)
  572. // TMC2209: 0...255. TMC2130: -64...63
  573. #define X_STALL_SENSITIVITY 75
  574. //#define X2_STALL_SENSITIVITY X_STALL_SENSITIVITY
  575. #define Y_STALL_SENSITIVITY 75
  576. //#define Y2_STALL_SENSITIVITY Y_STALL_SENSITIVITY
  577. //#define Z_STALL_SENSITIVITY 8 <------
  578. //#define Z2_STALL_SENSITIVITY Z_STALL_SENSITIVITY <------
  579. //#define Z3_STALL_SENSITIVITY Z_STALL_SENSITIVITY
  580. //#define Z4_STALL_SENSITIVITY Z_STALL_SENSITIVITY
  581. //#define I_STALL_SENSITIVITY 8
  582. //#define J_STALL_SENSITIVITY 8
  583. //#define K_STALL_SENSITIVITY 8
  584. //#define SPI_ENDSTOPS // TMC2130 only
  585. #define IMPROVE_HOMING_RELIABILITY
  586. #endif
  587.  
  588.  
  589. ###############################################
  590. ########pins_BTT_SKR_MINI_E3_V2_0.h############
  591. ###############################################
  592.  
  593. /**
  594. * TMC220x stepper drivers
  595. * Hardware serial communication ports
  596. */
  597. #define X_HARDWARE_SERIAL MSerial4
  598. #define Y_HARDWARE_SERIAL MSerial4
  599. #define Z_HARDWARE_SERIAL MSerial4 <----********may need Z, Z2
  600. #define E0_HARDWARE_SERIAL MSerial4
  601.  
  602. // Default TMC slave addresses
  603. #ifndef X_SLAVE_ADDRESS
  604. #define X_SLAVE_ADDRESS 0
  605. #endif
  606. #ifndef Y_SLAVE_ADDRESS
  607. #define Y_SLAVE_ADDRESS 2
  608. #endif
  609. #ifndef Z_SLAVE_ADDRESS <---- *******May need Z, Z2
  610. #define Z_SLAVE_ADDRESS 1
  611. #endif
  612. #ifndef E0_SLAVE_ADDRESS
  613. #define E0_SLAVE_ADDRESS 3
  614. #endif
  615. #endif
  616.  
  617. ###################################################
  618. #########pins_BTT_SKR_MINI_E3_common.h#############
  619. ###################################################
  620.  
  621. //
  622. // Limit Switches
  623. //
  624. #define X_STOP_PIN PC0 // X-STOP
  625. #define Y_STOP_PIN PC1 // Y-STOP
  626. #define Z_STOP_PIN PC2 // Z-STOP <------ Z, Z2?
  627.  
  628. //
  629. // Steppers
  630. //
  631. #define X_ENABLE_PIN PB14
  632. #define X_STEP_PIN PB13
  633. #define X_DIR_PIN PB12
  634.  
  635. #define Y_ENABLE_PIN PB11
  636. #define Y_STEP_PIN PB10
  637. #define Y_DIR_PIN PB2
  638.  
  639. #define Z_ENABLE_PIN PB1 <--- ********You'll have to go on the githib and look for the pinout, here is where you define which pins on the board are used for each driver, should have to set Z2 and Z should stay as it was
  640. #define Z_STEP_PIN PB0 <--------***************
  641. #define Z_DIR_PIN PC5 <------------************
  642.  
  643. #define E0_ENABLE_PIN PD2
  644. #define E0_STEP_PIN PB3
  645. #define E0_DIR_PIN PB4
  646.  
  647.  
  648.  
  649.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement