bigtreetech-stepper-motor-driver's People
Forkers
garth-martinsen shohnindmitriy underxirox rbrucemtl zlychen lokimetasmith lcp102 xadonxander cap1sup ahkproj ignitial amzoo gtorelly bulateek varghesemela fajnet northernrealities mjy2002 ivanll adinec fyyy4030 frollard roden255 demifrog rob-mcinerney rh101 xtopher44 sjlee001 hmgrf852016 jugnu-jethi bsilly1 jiajia781216 mbuett pdshelley cklopotic stigmatized7 kaktusus 0xdeadbeef-asap heacore jdenish1 zhujiang0086bigtreetech-stepper-motor-driver's Issues
THANK YOU, THANK YOU
THANK YOU
For adding the TMC2209 problem solving.pdf to the repository (https://github.com/bigtreetech/BIGTREETECH-Stepper-Motor-Driver/blob/master/TMC2209/V1.2/TMC2209%20problems%20solving.pdf). Now I understand that the TMC2209 and TMC2226 boards are the only stepper motor driver boards that require the DIAG pin to be cut if the user is using them in a controller board that has the DIAG pin directly connected to the endstop pins.
Thank you again for this document
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
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.
I attatch the klippy.log here as well
[TMC5160 Plus] MODE - wrong selection description
Hi! Diffrent mode setting pin state on PCB & manual than in datasheet.
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
BigTreeTech TMC2209 v1.3 is missing
Please add the manual and schematic, thanks!
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
-
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. -
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?
-
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?
No where to find the driver heatsink 3d files to design a mount for the driver
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?
unreadable/empty documentation
Please upload a correct version of
BIGTREETECH TMC2226 V1.0-3D.pdf
This Dokument shows an empty page.
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:
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.