bigtreetech / BTT-Expansion-module

BTT EXP MOT V1.0、BTT RRF WiFi V1.0、BTT EEPROM V1.0
72 stars 15 forks source link

Marlin tutorial for installation BTT EXP-MOT V1.0 with TMC2209? #6

Open jerbotofu opened 3 years ago

jerbotofu commented 3 years ago

Hi! im trying connect btt exp mot with tmc2209 for a 2 x carriage but give me a error, need a tx and rx pin? please have any tutorial? thanks

xodratep commented 3 years ago

+1

TheStankec commented 3 years ago

Do you see on the bottom of the boards, you have pinout marked and on exp-mot look for Exp-mot | M1RX<->1.21 | SKR 1.4 | M2RX<->1.19 | | M3RX<->0.28 |

TheStankec commented 3 years ago

IMG_20210109_150430.jpg

TheStankec commented 3 years ago
PFBTT
TheStankec commented 3 years ago

Its talking... but when i try to move motors they just buzz and nothing else. if anyone has idea what that is about. oh stepper drivers are ok I tried them on skr board and stepper motor also works

TheStankec commented 3 years ago

oh and pins txt so you can se what is diferent

/**

ifndef BOARD_INFO_NAME

define BOARD_INFO_NAME "BTT SKR V1.4"

endif

// // SD Connection //

ifndef SDCARD_CONNECTION

define SDCARD_CONNECTION LCD

endif

// // Servos //

define SERVO0_PIN P2_00

// // TMC StallGuard DIAG pins //

define X_DIAG_PIN P1_29 // X-STOP

define Y_DIAG_PIN P1_28 // Y-STOP

define Z_DIAG_PIN P1_27 // Z-STOP

define Z2_DIAG_PIN P1_20 // Z-STOP

define Z3_DIAG_PIN P1_18 // Z-STOP

define Z4_DIAG_PIN P1_30 // Z-STOP

define E0_DIAG_PIN P1_26 // E0DET

define E1_DIAG_PIN P1_25 // E1DET

// // Limit Switches //

ifdef X_STALL_SENSITIVITY

define X_STOP_PIN X_DIAG_PIN

if X_HOME_DIR < 0

#define X_MAX_PIN                      P1_26  // E0DET

else

#define X_MIN_PIN                      P1_26  // E0DET

endif

else

define X_STOP_PIN P1_29 // X-STOP

endif

ifdef Y_STALL_SENSITIVITY

define Y_STOP_PIN Y_DIAG_PIN

if Y_HOME_DIR < 0

#define Y_MAX_PIN                      P1_25  // E1DET

else

#define Y_MIN_PIN                      P1_25  // E1DET

endif

else

define Y_STOP_PIN P1_28 // Y-STOP

endif

ifdef Z_STALL_SENSITIVITY

define Z_STOP_PIN Z_DIAG_PIN

if Z_HOME_DIR < 0

#define Z_MAX_PIN                      P1_27  // PWRDET

else

#define Z_MIN_PIN                      P1_27  // PWRDET

endif

else

ifndef Z_STOP_PIN

#define Z_STOP_PIN                     P1_27  // Z-STOP

endif

endif

ifdef Z2_STALL_SENSITIVITY

define Z2_STOP_PIN Z2_DIAG_PIN

if Z2_HOME_DIR < 0

#define Z2_MAX_PIN                      P1_20  // PWRDET

else

#define Z2_MIN_PIN                      P1_20  // PWRDET

endif

else

ifndef Z2_STOP_PIN

#define Z2_STOP_PIN                     P1_20  // Z-STOP

endif

endif

ifdef Z3_STALL_SENSITIVITY

define Z3_STOP_PIN Z3_DIAG_PIN

if Z3_HOME_DIR < 0

#define Z3_MAX_PIN                      P1_18  // PWRDET

else

#define Z3_MIN_PIN                      P1_18  // PWRDET

endif

else

ifndef Z3_STOP_PIN

#define Z3_STOP_PIN                     P1_18  // Z-STOP

endif

endif

ifdef Z4_STALL_SENSITIVITY

define Z4_STOP_PIN Z4_DIAG_PIN

if Z4_HOME_DIR < 0

#define Z4_MAX_PIN                      P1_30  // PWRDET

else

#define Z4_MIN_PIN                      P1_30  // PWRDET

endif

else

ifndef Z4_STOP_PIN

#define Z4_STOP_PIN                     P1_30  // Z-STOP

endif

endif

// // Z Probe (when not Z_MIN_PIN) //

ifndef Z_MIN_PROBE_PIN

define Z_MIN_PROBE_PIN P0_10

endif

// // Filament Runout Sensor //

define FIL_RUNOUT_PIN P1_26 // E0DET

define FIL_RUNOUT2_PIN P1_25 // E1DET

// // Power Supply Control //

ifndef PS_ON_PIN

define PS_ON_PIN P1_00 // PWRDET

endif

// // Power Loss Detection //

ifndef POWER_LOSS_PIN

define POWER_LOSS_PIN P1_00 // PWRDET

endif

// // Steppers //

define X_STEP_PIN P2_02

define X_DIR_PIN P2_06

define X_ENABLE_PIN P2_01

ifndef X_CS_PIN

define X_CS_PIN P1_10

endif

define Y_STEP_PIN P0_19

define Y_DIR_PIN P0_20

define Y_ENABLE_PIN P2_08

ifndef Y_CS_PIN

define Y_CS_PIN P1_09

endif

define Z_STEP_PIN P0_22

define Z_DIR_PIN P2_11

define Z_ENABLE_PIN P0_21

ifndef Z_CS_PIN

define Z_CS_PIN P1_08

endif

define Z2_STEP_PIN P0_18

define Z2_DIR_PIN P3_25

define Z2_ENABLE_PIN P1_31

define Z3_STEP_PIN P3_26

define Z3_DIR_PIN P0_16

define Z3_ENABLE_PIN P1_23

define Z4_STEP_PIN P0_17

define Z4_DIR_PIN P0_15

define Z4_ENABLE_PIN P1_22

define E0_STEP_PIN P2_13

define E0_DIR_PIN P0_11

define E0_ENABLE_PIN P2_12

ifndef E0_CS_PIN

define E0_CS_PIN P1_04

endif

define E1_STEP_PIN P1_15

define E1_DIR_PIN P1_14

define E1_ENABLE_PIN P1_16

ifndef E1_CS_PIN

define E1_CS_PIN P1_01

endif

define TEMP_1_PIN P0_23_A0 // A2 (T2) - (69) - TEMP_1_PIN

define TEMP_BED_PIN P0_25_A2 // A0 (T0) - (67) - TEMP_BED_PIN

// // Software SPI pins for TMC2130 stepper drivers //

if ENABLED(TMC_USE_SW_SPI)

ifndef TMC_SW_MOSI

#define TMC_SW_MOSI                    P1_17

endif

ifndef TMC_SW_MISO

#define TMC_SW_MISO                    P0_05

endif

ifndef TMC_SW_SCK

#define TMC_SW_SCK                     P0_04

endif

endif

if HAS_TMC_UART

/**

// // SD Connection //

if SD_CONNECTION_IS(LCD)

define SS_PIN P0_16

endif

/**

endif // HAS_SPI_LCD

if HAS_ADC_BUTTONS

error "ADC BUTTONS do not work unmodifed on SKR 1.4, The ADC ports cannot take more than 3.3v."

endif

// // NeoPixel LED //

ifndef NEOPIXEL_PIN

define NEOPIXEL_PIN P1_24

endif

/**

// // Include common SKR pins //

include "pins_BTT_SKR_common.h"

JJare commented 3 years ago

the same problem here, maybe a conflict with LCD or SD support?? Just Motor2 working properly, motor1 buzzing and motor3 not working

Gruenbacher commented 3 years ago

Hi JJare, i have the same problem and find a workaround for me. In the file src/HAL/LPC1768/spi_pins.h

original: /* onboard SD card / //#define SCK_PIN P0_07 //#define MISO_PIN P0_08 //#define MOSI_PIN P0_09 //#define SS_PIN P0_06 /* external /

ifndef SCK_PIN

define SCK_PIN P0_15

endif

ifndef MISO_PIN

define MISO_PIN P0_17

endif

ifndef MOSI_PIN

define MOSI_PIN P0_18

endif

ifndef SS_PIN

define SS_PIN P1_23

endif

if !defined(SDSS) || SDSS == P_NC // gets defaulted in pins.h

undef SDSS

define SDSS SS_PIN

endif

my version: /* onboard SD card /

define SCK_PIN P0_07

define MISO_PIN P0_08

define MOSI_PIN P0_09

define SS_PIN P0_06

/* external /

ifndef SCK_PIN

define SCK_PIN P0_15

endif

ifndef MISO_PIN

define MISO_PIN P0_17

endif

ifndef MOSI_PIN

define MOSI_PIN P0_18

endif

ifndef SS_PIN

define SS_PIN P1_23

endif

if !defined(SDSS) || SDSS == P_NC // gets defaulted in pins.h

undef SDSS

define SDSS SS_PIN

endif

If the MOSI_PIN is not previously defined, then the compiler take in the original code the MOSI_PIN from P0_18 (on the EXP-MOT there is first motor step pin) and the MISO_PIN is used from P0_17 that is used from the third motor on the EXP-MOT Board., and the second motor is running normal.

I hope this will help you.

Sven

cmdtbalbosa commented 3 years ago

‎o mesmo problema aqui, talvez um conflito com suporte a LCD ou SD?? Apenas Motor2 funcionando corretamente, motor1 zumbido e motor3 não funcionando‎

I'm with a similar problem I put the Z2 in the E1 but when I trigger the engine it is buzzing (signal that this with high amperage) only I below the amperage and continues buzzing, I tried to do by marlin, in TFT, in trimport but to no avail. if I find out anything I share

sjporte93 commented 3 years ago

Hi JJare, i have the same problem and find a workaround for me. In the file src/HAL/LPC1768/spi_pins.h

original: /* onboard SD card _/ //#define SCK_PIN P0_07 //#define MISO_PIN P0_08 //#define MOSI_PIN P0_09 //#define SS_PIN P006 / external */

ifndef SCK_PIN

define SCK_PIN P0_15

endif

ifndef MISO_PIN

define MISO_PIN P0_17

endif

ifndef MOSI_PIN

define MOSI_PIN P0_18

endif

ifndef SS_PIN

define SS_PIN P1_23

endif

if !defined(SDSS) || SDSS == P_NC // gets defaulted in pins.h

undef SDSS

define SDSS SS_PIN

endif

my version: /* onboard SD card _/ #define SCK_PIN P0_07 #define MISO_PIN P0_08 #define MOSI_PIN P0_09 #define SS_PIN P006 / external */

ifndef SCK_PIN

define SCK_PIN P0_15

endif

ifndef MISO_PIN

define MISO_PIN P0_17

endif

ifndef MOSI_PIN

define MOSI_PIN P0_18

endif

ifndef SS_PIN

define SS_PIN P1_23

endif

if !defined(SDSS) || SDSS == P_NC // gets defaulted in pins.h

undef SDSS

define SDSS SS_PIN

endif

If the MOSI_PIN is not previously defined, then the compiler take in the original code the MOSI_PIN from P0_18 (on the EXP-MOT there is first motor step pin) and the MISO_PIN is used from P0_17 that is used from the third motor on the EXP-MOT Board., and the second motor is running normal.

I hope this will help you.

Sven

I hit the same issue and although the above didn't fix it for me it did lead me down the right path, in configuration_adv.h I had SDCARD_CONNECTION connection set to LCD not sure if this is default, but that was causing my extra steppers to not move, so simply setting it to be "#define SDCARD_CONNECTION ONBOARD" then corrected the issue. and if you are interested where the values are being set it's within the Marlin\src\pins\lpc1768\pins_BTT_SKR_common.h line 131 ish. essentially setting it to be the same as Gruenbacher, but in a cleaner way that avoids conflicts when building (which I had)

hopefully that additional info is useful :)

I got this fully working for my setup now, https://github.com/sjporte93/BTT_skr1.4Turbo_BttMotorExpansion if anyone is interested, it does have quite a few custom things set, hopefully all should be explained in the readme.

also reading up, the buzzing motors is usually a sign of off wiring? are you swapping wires when you test it on another axis and it works? I would try swapping the two middle pins motor side on the connector, if you still have that issue.

cmdtbalbosa commented 3 years ago

I did this setup but I'm having a little problem. the application would be to use the M1 for Z2 M2 to Z3 the M1 is working properly but the M2 does not work the engine is as if it were with the wires reversed (that is not the case)

I've tested everything and just missing a detail that I imagine may be the problem.

what value did you put in config.h in Serial port 1 and serial port 2?