Closed ghost closed 6 years ago
I will need to change a few things to clear situations like these because I can't see anything wrong either. But for some reason the driver did report an error and Marlin reacted to it.
You can disable STOP_ON_ERROR
. The main purpose for it is to save time and material on situations where there has been an error and the driver has shut itself down. Before this feature Marlin of course didn't know that a driver needs a reset and just kept printing thinking everything was fine.
Do you use SD card ?
I see this error when the printer is connected to usb power from computer or Octoprint but not connected to PSU power
Try putting a 10K pulldown on the MISO line. That solved TMC2130 problems on a couple of five TMC2130 systems that were using a daisy chained cable.
It is the same on me? Any news how to fix it? Many weeks it worked very good.
I figured out: There came with more weight on the X-axis. I changed from bowden to direct drive and those 200-300 gramms brings up the error.
TMC2130 can not handle a direct drive weight?
And again, 2 got 2 fans to cool them and got bowden setup...
https://github.com/teemuatlut/Marlin/tree/TMC_debugging_v2
https://github.com/teemuatlut/Marlin/tree/bf2_TMC_debug_update
Please try my branch with updated monitoring code.
It makes only one call to the driver to determine the error conditions. This should/could improve detecting valid error states.
I'm running the Marlin 2.x.x. from friday and it is running flawless now about 15 hours. (previous was marlin 1.1.8), I will try your branch next days.
Do you mind sharing your marlin folder as Im having the same issue.
I removed the original post. I don't need a written record of that mistake. It turns out that it was a fault with the end user. Thanks to all that helped me resolve this issue. As it turns out MONITOR_DRIVER_STATUS is an incredible diagnostic tool. In the absence of a lab scope.
TMC drivers cannot communicate with Marlin if they don't have 12V power.
How can isolate the fault?
Just disable MONITOR_DRIVER_STATUS
and try a long print.
@teemuatlut — Is there some way we can check that a driver doesn't have any 12V power (in tmc_status
, etc.) and output something like "---
" for that driver? And/or can we check for 12V power being off to all the drivers and if AUTO_POWER_CONTROL
is enabled, turn them on?
When the drivers don't have power the failed communication is indistinguishable from a faulty wiring or bad configuration. There were some specifics on what makes the SPI response be all zeros versus all ones.
The Marlin power control features are the only ways we can know if the power is turned on.
If the user has enabled PS_DEFAULT_OFF
or AUTO_POWER_CONTROL
, then I think the best course of action would be to turn on the PSU on startup long enough for Marlin to configure all the drivers and test working communication. The written configurations should persist even if VMOT power is lost.
This would also simplify some things as power_on
would no longer need to worry about TMC drivers at all.
This does not solve a setup where the user would first power the board from USB and then manually switch power on before starting a print, or if it is controlled by OctoPrint, but we could implement a quick M
code to refresh the drivers and the code could be inserted into the start gcode section. This would also require us to gracefully handle a failed comms check on startup.
After some testing. It is clear to me. Configuring 5 pins at the same time is not the best method. I will add one pin at a time. And report my finding. too bad I cut up my harness in a bit of rage. Thanks to all. For all you help.
Are there any pins that are not compatible with CS ?
Are there any pins that are not compatible with CS
Any of the free digital pins should be fine.
I found this article on the 2130s when I was looking for a way to test one. Is there a way to test the 2130s to know if this is your issue? I have had my 2130s on standby with USB power for 4 weeks.
Boards with USB Power Supply Only applicable for SilentStepSticks with variable 3-5V logic voltage (VIO): If you use a control board with USB power supply (like Arduino + RAMPS) then always ensure that the motor supply voltage (VM) is present, when you connect the board via USB. Otherwise the TMC2xxx is not powered via the internal voltage regulator and a high current can flow into VIO or the IOs and this can damage the internal logic. As safety workaround you can disconnect the 5V signal in the USB cable, so that the board cannot be powered over USB. https://learn.watterott.com/silentstepstick/faq/#boards-with-usb-power-supply
I'm not sure if this is the right place to ask, but since somebody mentioned the SD card as a possible cause of error: My 2130's run great and everything and I do have a smartcontroller with SD card slot attached to the RAMPS as well by just swapping the female AUX-3 connector with one that has very long legs so they stick all the way through the LCD connector. But the issue is: As soon as I plug in an SD card, I see a "driver error" message on the screen and the printer is halted. I haven't checked / configured the SD connection prior to configuring my printer for TMC2130 so it's possible that some SD card settings are wrong and produce this issue somehow. Any help is appreciated, thank you in advance!
unixb0y, I'm glad you asked. I replaced the SmartController. And that fixed the same issue on my system.
@JonnyLeRoy thank you very much, I’ll try to borrow one to see if it’s the smart controller in my case as well!
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.
Hello, i`m getting seemingly random "driver errors" with my tmc 2130. The LCD only shows "driver error" and i cant really get a clue from the seriel out also. I sometimes happes while printing but sometimes also while ideling.
My drivers are actively cooled and i`m using the latest 1.1.x bugfix
any help would be appreciated. I'm thinking about just disabling the stop_on_error becuase i cant find any reason for this errors