Giter Club home page Giter Club logo

bigtreetech-stepper-motor-driver's People

Contributors

bigtreetech avatar cap1sup avatar msq001 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bigtreetech-stepper-motor-driver's Issues

TMC 5160 pro v1.1 Supply Voltage

The marketing material states a maximum supply voltage is 60v while the manual says it is 56v.
also when offered the v1.1 instead of v1.0 2 months after I ordered them BIQU stated this:

“Our company decided to change the MOS tube, the version number will change to TMC5160 Pro V1.1. Please don't worry, the performance of the replacement version(TMC5160 Pro V1.1) is as same as V1.0.”

Is the manual or the marketing wrong?

s42c missing from repo?

Not sure if I'm looking in the wrong place - Website and sellers have s42c version of the closed loop driver, but no source available here.

BTT TMC 5160 V1.2 drivers shut down over .500a

Hello I am running a GRBL_ESP32 board with SPI Driver Control. Attached is GRBL_ESP32 code. It uses the TMC Stepper driver library from https://github.com/teemuatlut/TMCStepper. The problem I am having is that I can run the Drivers at .500 amps anything higher, I have one or more stepper stop moving. I then need to reset the the current to .500 and power reset the board. The board is recognizing that it is a 5160 driver, the driver test comes back ok on boot. The board designer, said he uses the TMC 2130's with no issues on the same board. The rsense is .075 , is there any physical changes I need to make to the driver? I'm not sure if the 2130 and the 5160 v1.2 are 100pct interchangeable. I did see on the 5160 v.1.2 document that the clock pin is pulled down to ground where it wasn't previously. Not sure that would even make a difference.
Here is the Schematic of the board https://github.com/bdring/4_Axis_SPI_CNC/blob/master/docs/1p3/SPI_4Axis_V1p3_Schm.pdf

I asked the creator of the TMC Stepper Library he said this.

@bdring would likely know more about how the firmware interfaces with the library. I'd need to be more familiar with the code base to be able to say much.

On a generic level, the motor shouldn't stay disabled due to the driver overheating. This is what the datasheet says:

After triggering the overtemperature sensor (ot flag), the driver remains switched off until the system temperature falls below the pre-warning level (otpw) to avoid continuous heating to the shutdown level.

However, a short detection will disable the driver until it is disabled and re-enabled.

Once a short condition is safely detected, the corresponding driver bridge (A or B) becomes switched
off, and the s2ga or s2gb flag, respectively s2vsa or s2vsb becomes set.
To restart the motor, disable and re-enable the driver.

The diagnostic features of the TMC5160 are described in chapter 11 and can potentially help you debugging.

I am running a 24v Power Supply

S42C sch

BTT did not post firmware sources on Github. So this is S42C schematic guide.
Maybe someone can find the matching firmware and make it work.

BTT_S42C

How to make wire connections to run the board in UART mode

I got the S42C board. The calibration sequence works and I was able to run the motor through step pulse.

I want to try the UART mode as that is what will actually make the closed loop system. Essentially sending one time settings command through UART. Then sending UART position command to run the stepper motor and then query(send UART command) the S42C board to get the actual(real) position of the shaft. This will make the board fully closed loop.

For this if UART tutorial can be expanded a bit that covers the UART wiring and an STM32 based example (say on SKR3 or SKR2) would be really helpful. Right now i only see UART commands in the tutorial but the tutorial does not mentions about how to make UART connections.

Thank you.

TMC2226 reset during print, klipper firmware

Hi

I have a reucurring issue with the TMC2226 drivers

TMC 'extruder' reports GSTAT: 00000001 reset=1(Reset)
Transition to shutdown state: TMC 'extruder' reports error: GSTAT: 00000001 reset=1(Reset)

It's the Octopus V1 board but I have the same issue on the V2 board.
Extruders is both Orbiter v2 and LGXpro and Rapido UHF hotend.

klippy (1).log

I attatch the klippy.log here as well

Unable to configure TMC2208 stepper drivers

This is a cry for help!

Having determined that my Core XY printer is a viable design, using an Arduino/RAPMS 1.4 controller and A4988 drivers, I decided to upgrade to a BTT SKR 1.4 and TMC2208 drivers.

I edited the configuration.h and configuration_adv.h files as necessary for the SKR 1.4 board and installed the required TMC Stepper library. I then edited the files as required for the drivers.
I set the jumpers per the user instructions. Wishing to run the drivers in UART mode, I then performed the onerous task of soldering a bridge over the three pads to activate the UART pin on each driver.

I use two BYGHW609 stepper motors, rated at 1.7A, for the Z-axis, and one for the extruder.
For the X and Y motion I use two Creality 42-60 stepper motors rated at 1.5A.

The Z-axis motors and extruder motors operate okay, but not the XY motion steppers. The noise and vibration they generate is horrendous and when jogged, do not move properly or in the right direction. Please see video attached, the noise is louder than the clip suggests!

I calculated the current settings for the stepper motors using the prescribed formula and arrived at 1500 mA. I used 90% of this value and set them at 1350 mA. I have tried settings above and below this value, but the motors still do not operate properly.

I have also swapped the drivers around to see if I had a couple of bad drivers. No change.

The repoart I get when entering a M122 command suggests all is ok, but I may be missing something!?
M122 print out.pdf

I have tried every thing I can think of, but have run out of ideas. Please help if you can.

Buzz.mov

TMC2226 Marlin 2.0.6.1

TMC2226 is configured to #define X_RSENSE 0.11 or #define X_RSENSE 0.15 ? is there any more change? Thank you

s42b v1.1 - stepping inacuracy on inner edges

Hello,
I am using S42b v1.1 servo for my CNC machine, problems with PID settings I have solved, but I am experiancing very strange things.

When I am drawing rectangle with black infill it is ok, outer edges are smooth and precise for every row, can perform cutting speed more than 1500 mm/min with no problems.

But when I am trying to create some TEXT inside the rectangle, the edges of this text have side deviation about 1 MM for each side( dependatnt if it is from right to left or left to right, every row have oposite deviation than the row before, it is making 2 mm blured edge on the engraved picture, issue is starting to be problem in smaller plots, in bigger pictures it is not so visible, but the problem is still there.

Can you please tell me if I can update servo S42B v1.1 with 2.0 firmware and also can you please point me where I should look ?

I am starting to be out of ideas.

Changed software from GRBL to GRBL ESP32 than FLUIDNC with no change on the problem, also I can change what I want in the engraver settings with no affect on deviation, I can change speeds, acceleration, junction deviation, pulse delay and so on with absolutely no change on the problem.

Please help, I need to get the machine operational asap, xmass are almost here and I have a lot orders for products, but I can not engrave small things because of this problem.

I will post photos after I will get back from Office.

Klipper setting guide for S42C

Could you please add setting guide for klipper with corexy kinematics? How to define full_steps_per_ration, microsteps and etc?
Thanks.

S42C V1.0 UART functionality problems / where to connect

  1. The documentation said that S42C supports UART for communication, but where do I connect it to? Where are the Tx and Rx pin?
    I'm writing my own firmware so I need to know this.

  2. Second, the protocol is stated differently between Chinese and English versions of the manual, as well as the address of the functions, so which is true?

  3. Last but not least, will the firmware of S42C be released anytime soon?

TMC2226 schematic

Please can you upload the BIGTREETECH TMC2226 V1.0-3D.pdf file again? I am getting empty screen...

Where to find the TMC5160T Pro V1.0 manual

Hello,

i cant find the manual for the TMC5160T Pro V1.0.
The V1.0 do not have a resistor to change from SD to SPI and i can not find anything about the encoder in the V1.1 manual.

TMC5161 driver stalls immediately after move

Using the BTT TMC5161 v1.1 sticks on a BTT SKR v1.4 and SKR Pro v1.1.

In both situation the TMC5161 driver recognizes a stall and shuts down...

With the same settings a TMC5160 stick works just fine,and both TMC5160 and TMC5161 have the same configuration.

Also Rsense is set correctly in firmware.

Also after a stall the settings are messed up, for example when using initially a microstep of 4 turns the into microstep 256:

M122
X
Enabled false
Set current 1000
RMS current 992
MAX current 1399
Run current 16/31
Hold current 8/31
Global scaler 129/256
CS actual 8/31
PWM scale 8
vsense
stealthChop false
msteps 4
tstep max
PWM thresh.
[mm/s]
OT prewarn false
off time 3
blank time 24
hysteresis
-end -1
-start 1
Stallguard thrs 0
uStep count 160
DRVSTATUS X
sg_result 0
stallguard
fsactive
stst
olb *
ola *
s2gb
s2ga
otpw
ot
Driver registers:
X 0xE0:08:00:00

BTT S42B V2 Firmware Compiler errors

Not a very good programmer!!!
When I compile the files from this repository get a firmware.bin file but is doesn't work correctly. It runs very slow on the motor.
Here is the VSCode Terminal output.


Executing task: C:\Users\Rob.platformio\penv\Scripts\platformio.exe run <

Warning! env_default configuration option in section [platformio] is deprecated and will be removed in the next release! Please use default_envs instead
Processing BIGTREE_S42B_V1_2 (platform: ststm32; framework: cmsis; board: genericSTM32F103CB)
-------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F103CB.html
PLATFORM: ST STM32 (15.1.0) > STM32F103CB (20k RAM. 128k Flash)
HARDWARE: STM32F103CBT6 72MHz, 20KB RAM, 128KB Flash
DEBUG: Current (stlink) External (blackmagic, cmsis-dap, jlink, stlink)
PACKAGES:

  • framework-cmsis 2.50501.200527 (5.5.1)
  • framework-cmsis-stm32f1 4.3.1
  • tool-ldscripts-ststm32 0.2.0
  • toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 0 compatible libraries
    Scanning dependencies...
    No dependencies
    Building in release mode
    Compiling .pioenvs\BIGTREE_S42B_V1_2\FrameworkCMSIS\gcc\startup_stm32f103xb.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\FrameworkCMSIS\system_stm32f1xx.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\core\core_cm3.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\can.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\display.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\exit.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\flash.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\gpio.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\iwdg.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\key.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\oled.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\spi1.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\time.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\hardware\tle5012.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\misc.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_adc.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_bkp.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_can.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_cec.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_crc.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_dac.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_dbgmcu.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_dma.o
    Close_loop\src\hardware\tle5012.c: In function 'SetModeCheck':
    Close_loop\src\hardware\tle5012.c:354:7: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
    loop: if(CAL==0)//
    ^~
    Close_loop\src\hardware\tle5012.c:356:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
    if(1 != Second_Calibrate_flag){
    ^~

    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_exti.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_flash.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_fsmc.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_gpio.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_i2c.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_iwdg.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_pwr.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_rcc.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_rtc.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_sdio.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_spi.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_tim.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_usart.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\stm32f1_lib\src\stm32f10x_wwdg.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\system\delay.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\system\sys.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\system\usart.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\user\main.o
    Compiling .pioenvs\BIGTREE_S42B_V1_2\src\src\user\stm32f10x_it.o
    Close_loop\src\system\delay.c: In function 'System_Clock_Init':
    **Close_loop\src\system\delay.c:77:5: warning: implicit declaration of function 'SystemInit'; did you mean 'SPI_Init'? [-Wimplicit-function-declaration]
    SystemInit();
    ^~~~~~~~~~
    SPI_Init
    Close_loop\src\system\usart.c:47:0: warning: ignoring #pragma import [-Wunknown-pragmas]
    #pragma import(__use_no_semihosting)

Close_loop\src\system\usart.c: In function 'USART1_IRQHandler':
Close_loop\src\system\usart.c:426:13: warning: variable '_data' set but not used [-Wunused-but-set-variable]
uint8_t _data;
^~~~~**
Linking .pioenvs\BIGTREE_S42B_V1_2\firmware.elf
Checking size .pioenvs\BIGTREE_S42B_V1_2\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [== ] 15.6% (used 3200 bytes from 20480 bytes)
Flash: [=== ] 27.1% (used 35580 bytes from 131072 bytes)
Building .pioenvs\BIGTREE_S42B_V1_2\firmware.bin

I can post the coed if needed, but is cam from this repository.

Hoping it is a simple answer and I can get on with life.
Thanks,

Guidance on using SPI with external 2160

Good day, can you please provide some guidance on wiring up the external stepper driver TMC2160 for SPI mode?
MKS has a very good write up on how to do it on their version..

Taking the cover off I can see what looks like a jumper for SPI and the SPI wiring header as well.

Can you confirm what alterations are required to get this great driver to work in SPI mode?

BTT TMC5160 v1.2 is noisy

Hardware:
SKR2 + TMC5160 v1.2 + 24V power supply (17.5A)

Software:
Marlin v2.1.2.1

Issue:
Stepper motors are noisy/vibrate at low, medium and high speeds (30mm/s, 60mm/s, 80mm/s, 120mm/s) when StealthChop is active
The stepper divers are used in SPI mode.
If StealthChop is deactivated the motors are not vibrating anymore

I have opened an issue in Marlin as well.
MarlinFirmware/Marlin#23248

Please help me figure out what the problem is?

External Driver - TB6560

Hi all,
I need to run NEMA 23 4.5ah on my printer, therefore I need to use external drivers (which in this case I am using the TB6560)

How do I configure the Octopus Pro in order to use it?

I mean both on coding and wiring side, since I have not found much information about it if not for other brand controller board.

s42c current setting via uart

per the manual:
image
0 1 2 3 should correspond to low med high vhigh

When setting via the menu on oled, setting to low causes uart to respond mode 3, medium 2, high 1, vhigh 0.
velocity on demand position matches what the oled reads = vhigh(0) = fastest, low(3)= slowest.

Not sure if it is backwards in the documentation or code.

Motor does not move with S42B V1.1

When I run the S42B v1.1 using my Ender-3 Pro and SKR 2.0 board, the X/Y Step motor works normally. However, when I connect the S42B V1.1 to the FYSETC Spider V2.2 board, the step motor does not move.

Since SKR 2.0 board and Spider 2.2 board use similar STM32F4X series, signal timing is expected to be the same. And according to the manual of S42B, I modified Configuration_adv.h and Configuration.h as follows.

#define MINIMUM_STEPPER_POST_DIR_DELAY 200
#define MINIMUM_STEPPER_PULSE 3
#define MAXIMUM_STEPPER_RATE 150000

#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988

When using the same configuration, the motor moves on the SKR 2.0 board and does not move on the Spider 2.2 board. In the above configuration, the timing related values ​​have been changed variously, but the issues are the same. Does S42B work normally only with Bigtreetech's board?

And after booting the Spider 2.2 board connected to S42B v1.1 board, when I measure the motor enable/step pin, it is measured as 1.4V/1.2V. However, SKR 2.0 boards measure below 0.4V. If I enable/disable the motor using M17/M18 in Gcode, it is measured as 1.4V/3.3V, so there seems to be a problem with the voltage level. Also, if I remove the 6-pin cable from the Spider 2.2 board to S42B, it will come out below 0.4V.

The S42B is discontinued, so I think I should only use the S42C these days, but I would like to know if this issue also occurs in the S42C.

S42B v2 firmware not working

The firmware of S42B v2 can be found here:
BIGTREETECH-Stepper-Motor-Driver/S42B/firmware/

I flashed it using stlink but it is not working (motor is not spinning correctly). I also compiled it from source code, but I have the same problem. The source code is not working properly.

Bigtreetech, can you please upload the working source code? I would like to adjust the code to send the current position (angle) over uart. Thank you.

S42C DOES NOT WORK CORRECTLY!!!

Dear Bigtreetech. Please make a working firmware for S42C and post the sources on Github... At the moment this shit does not want to work at all, it does not pass calibration and does not work with the control board at all, for which I paid money, I don’t know yet. At the calibration stage, an Error Dire error. Everything is connected according to the instructions, the magnet is according to the instructions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.