New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] [Bugfix-2.0.x] TMC2209 v3 is not seen by Marlin #16220
Comments
TX is labeled wrong on the silkscreen. TX is on the what the silkcreen says what the CLK pin is. See the "Note" section of your "Short data sheet" link. I connected 4 of these exact V3 boards yesterday to Marlin on a LPC1768 based board and they work beautifully on UART. I would gues your board does not wire the pins correctly. |
@mLupine Did you check if you have jumpers affecting the MS1/MS2 legs? When setting my TMC2209 up (not from fysetc) I got this error because I hadn't noticed the 2209 can have multiple drivers under the same rx/tx pins with different slave addresses. So I basically had jumpers sitting there doing nothing for my previous drivers, which made my 2209 talk on the wrong slave address, resulting in this error. Just mentioning it because it is fairly easy to miss this. |
@atoomnetmarc would you be able to share what connections you made to the board & which board? |
@pbathuk I have made a custom LPC1768 board for my Ultimaker 2 that fits the same space as the original board. I have made sure I could jumper all PDN pins. But judging from the SKR1.3 schematic and the stepstick layout, it could potentially work when connecting the RST and SLP pins of the stepstick (or pin 1 of the SPI jumper on the SKR) to pin 1 of the UART jumper. Please try so at your own risk. |
Brilliant, I know that M3 is high when I have the UART jumper on the board, so seems to be using that pin for UART. Wish I had read up more on step sticks before buying, as it seems they are all so different. :( |
Connecting to M3 would toggle the 'spread' function of the stepstick. |
@atoomnetmarc you are a star.. and then bottom middle pin (under the driver in the block of 12 pin) to the next one up (which is for M3) pin. : and now I have Thank you so much |
@pbathuk Glad it is working now. |
@mLupine is the issue still the same with all the updates in the last 10 days? |
btw, who can confirm there is an issue? use the same configs as OP and the same hardware if possible |
Hey, sorry for the delayed response. The problem, actually, was outside the Marlin code. As @uorbe001 noted, my MS1/MS2 pins weren't removed and were connected to the printer's mainboard, effectively changing the "slave address" the stepsticks were available on. Removing the pins according to their correct combinations solved the problem, at last partially. Then there was the second issue, with the RX pins not being connected to an interrupt-capable mobo pin. So, it turned out that the v3.0 are actually easier to use than the previous ones - aside from the fact, that the pins are labeled incorrectly on the silkscreen, there's no need to use resistors anymore. It's already present on the board and both the TX and RX pins are already available. Guess I can close the issue then. |
This worries me. As it's effectively shorting the SPREAD pin of the TMC2209 to the PDN. Will the SPREAD mode select not go crazy when UART is in use? |
The spread pin is not connected to anything - it neither goes into the printer board nor is it connected from above. Mode selection is done by UART via the two pins below the SP pin on the stepstick. I have it working for about two weeks now with no issues. |
Thank you for the fast response. I just confirmed - it is connected to the SPREAD pin. To be more clear. SPREAD on the TMC2209 on the FYSETC TMC2209 V3.0 stepstick is connected to the SP pin (wrongly marked as TX) Then in the end on an SKR 1.3 board we end up shorting the SPREAD with the UART when we short the green and blue from the graphic I just made (just checked all that with a multimeter): The easiest and probably safest solution (but ugly) is to run a jumper from the RX pin on the stepstick to the pink (from my "drawing"). |
If someone is in need for a deeper explanation, I shared my notes here: https://theres-probably-a-better-way-to-do-it.readthedocs.io/en/latest/pages/electronics/skr_1.3_and_fysetc2209v3.html |
@pkucmus thanks for the write up, I can confirm though that the above can be run through jumpers and UART works as expected, so technically there are 3 solutions. |
Has anyone got these working on the SKR 1.4? |
I'm guessing it's the same or at least similar, one should be able to follow the steps I took in my "article" to figure it out. |
It doesn't have the Uart pins like the 1.3 does. The only available pins are under the driver. Slightly more awkward as they haven't released a schematic yet |
I'd say you need to put a jumper just on the "RST SLP" (very bottom left pins under the stepper) that would connect the PND of the Fysetc TMC2209 V3 to the CPU. Marlin already expects specific pins so I guess they have it figured out: https://github.com/MarlinFirmware/Marlin/blob/2.0.x/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h#L155-L171 You'd need to measure with a multimeter which of the pins under the X stepper are connected to the P1_10 pin on the CPU (I guess it's the "RST SLP" - the bottom left one) (https://os.mbed.com/users/synvox/notebook/lpc1768-pinout-with-labelled-mbed-pins/ - the diagram is rotated 90deg clockwise when compared to the SKR 1.3, I think its the same for 1.4) |
I found the documentation (as much as you can call pictures from Aliexress listing documentation), it's not going to be as easy as with the 1.3. I think your best bet is to short the bottom red pins and change the UART pins in Marlin. No idea to which though as to which pins "RST SLP" are connected is still a secret. |
Have an image on mega s? I like to see what you do with tmc2209 v3 from fysect. I have mines and i don’t know how to install. |
For FYSETC TMC 2209 V3.0 see this link |
the mechanical solution to put the pins back in the right place is I think the best and will fit almost all cards |
This solution works fine on my Bigtreeteck SKR Pro V1.1 |
I need with Trigorilla on Anycubic Mega S please. |
This solution works fine on my Bigtreeteck SKR Pro V1.1, the trigorilla mainboard is made with mega2560 CPU, TMC 2100 is ok but for 2209 V2.0 i dont know. For FYSETC TMC 2209 V3.0, not buy this version......not sure, but i think version FYSETC ver 3.0 is for motherboard FYSETC F6. |
Thanks, great solution and analysis. Struggled with getting E1 up and running. Finally found out that pins for E1UART are swapped. |
did you solve it now? |
Do you think that this is only a FYSECT thing? would ERYONE's V3 also affected? |
Just installed on my SKR 1.3 and they are not afffected with this issue, they communicate ok. Only problem i have so far is get sensorless homing working |
when in doubt what to buy, you can always check that "article" of mine link under: #16220 (comment) - there's a table with different pinouts which will tell you if the thing you are about to you will work |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Bug Description
I recently ordered TMC2209 stepsticks for my Anycubic i3 Mega and they finally arrived in my mailbox today. However, I recived v3.0 of them which is so fresh that the Internet hasn't really heard of it. There was a short changelog attached to the package (that you can also find here), but that's pretty much all that I know about them.
Unfortunately, I connected them the way the previous versions should be connected (I tried using both the TX/RX pins, as well as using a 1K resistor connected to the RX pin for a TX input) yet Marlin cannot communicate with them for some reason, despite UART pins being set up correctly in the config. After executing M122 I'm presented with "Error: All LOW" and "Bad response"
So, I need help - what should I do to make them work and how do I debug it further?
My Configurations
The board is an 8-bit Trigorilla from an Anycubic i3 Mega.
My entire Marlin configuration can be found here.
Steps to Reproduce
Expected behavior: Connected stepsticks are reported as "OK"
Actual behavior: They're reported as "All LOW" and with a "Bad response"
Additional Information
Photos of the new TMC2209: here
Short data sheet: here
The text was updated successfully, but these errors were encountered: