Closed sh4jonny closed 6 years ago
@Bob-the-Kuhn, that worked like a charm! The 10K pull down on the MISO line did the trick, SD working together with the MONITOR_DRIVER_STATUS flag!! You're a life saver, thanks so much Bob!
@sh4jonny - please see if this version of bugfix-2.0.x fixes your problem. I've closed several holes in the DUE code in PR #10299.
@teemuatlut - this PR makes the DUE hardware SPI play nicely with the TMC2130 library. After the SD card access is completed the next TMC2130 access sets the SPI back to 2 MHz, mode 3.
@MikeInNs - adding a pull down to the MISO pin may be a red herring. I'm wondering if it's really a power up issue.
I went back today to see if setting the TMC2130 SPI mode to 0 or 3 made any difference in the need for the pull down resistor. To my horror none of the five TMC2130s responded correctly. Sometimes after a power up a part would be dead (no response on the MISO line at all) , sometimes it responded with all high bits and sometimes it worked properly. Usually the five were a mixture of the two failing states. Never was there a functional unit along with failing units.
After one power up all five were functional. Once in that mode it didn't make any difference if the pull down was present or not or if the SPI mode was 0 or 3.
Pressing the reset button didn't affect anything. Only a power cycle changed things.
@Bob-the-Kuhn, that is interesting, without the 10K pull-down I never had a successful boot with the SD Card inserted, always ended in 'Driver Error'. And believe me, I tried it many times, changing the configuration, trying different pins etc.
I am still running the same Marlin Dev version so the only thing I changed yesterday was adding the resistor and commenting out the 'MONITOR_DRIVER_STATUS' and my first successful boot was a fact.
If you want me to test something for you down the road just let me know, the least I can do.
MONITOR_DRIVER_STATUS
is the particular feature that will throw the "Driver error" message when it sees an error reported.
I had a couple of bad crimps in my daisy chain on different signals. For a half hour it worked great, wouldn't work for 6 hours, ...
I ended up throwing the daisy chain away and building a star. I super glued some headers to a perfboard and then bussed the signals via solder connections. Prettier than the daisy chain but still an ugly octopus.
I've been banging my head against a wall until I saw this thread today. Y driver would always fail when powered via PSU. I have a very short daisy-chained 5-driver cable (no pulldown). Turns out that disabling SD support (I never use it) and cutting the SPI speed to Quarter made everything work perfectly.
@DuoDreamer - what controller are you using?
Hi Bob, sorry about that, this one is a MKS Gen-L. I had the same problem with a plain RAMPS setup before I got these as well. I've also bought more 2130's to bash on a Cohesion3D Remix (LPC17xx) in the future.
I just moved my TMC2130s to my RE_ARM board. I had to use the TMC software SPI and, because I'm using a RepRap Full Graphic LCD, I had to use different pins for the TMC SPI.
I'm pretty sure you'll need to use the TMC software SPI on the Cohesion3D Remix. The RepRap Full Graphic LCD can't share SPI pins with the TMC2130s. The LCD will have garbage on the screen because that LCD doesn't respect the slave select goin to it.
I didn't try my 2560/ramps/TMC2130 system with an external supply. All I ever did was loop the *5V power (from the USB) back to the + motor terminal on the power connector.
@Bob-the-Kuhn sorry for the long time reply... i check last bugfix-2.0.x branch today and it work for me! now i can to use a SD card and HW TMC2130 at the same time. thank you
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.
hi after a long time work with 2130 i update to last 2.0 branch 2.2.0 lib. and have a error. Other hardware is Arduino DUE and RAMPS4DUE. X Y with tmc2130. here is a Pronterface output:
also i have pins debug output
maybe i lost some definitions when merge configs? thank you!