MKS DLC32 random resets

Week as I’ve received my DCL32 with 3.5" screen.
Was going through build, upgraded drivers to 2209, all setup - so far so good.

When trying to frame by repeating some moves - once in a while it report hard stop while away from it, or resets.
Suspecting noise on home signal lines - I’ve disconnected them. Same problem.
Disable all homing stuff - no random hard stop trips but still randomly resets.
Got 16A analog lab supply, thought maybe supplied brick cannot hold glitches - no difference.
Right now frequency of random resets is such that I cannot reliably finish any job.

Running G54 with negative offset increases resets ~x10. That makes me think that this is firmware problem. I’ve tried x4 latest versions for Laser and CNC - all the same.

Googling “DLC32 random resets” returns robust set of results, including GIT bug reports.

While studying manufacturer GIT files - for some reason there appeared to be two DLC32 GITs, one from Makerbase and another from Macrobase, very suspicious.

Does anybody else has DLC32? If so - any issues with random resets?

I had this exact same problem and it turned out my TMC driver currents were set too high. The drivers were shutting down to protect themselves and it reset the DLC32. With this board you have to make sure you are using the 2208/2209 legacy or stand-alone drivers, since the DLC32 doesnt have UART or SPI comms for the driver current settings.

Thanks for the suggestion.
I’ve tried it. Gradually dropped the current where it almost stalled (trim pot on 2209 from the center to 2-3’o’clock position). No difference, still resets.
Additional thought: there are no facilities to pass overload signal from drivers back to the micro, all signals unidirectional. The only way overload to trip the micro is a power brownout. But considering my power supply this is unlikely.
I’ve changed motor currents from 1.4A to 0.7A and virtually no difference in reset frequency.

Not all without hope: I was able to do multiple moves at 8000 (mm/min) rate and 2000 (mm/sec`2?). It does not feel like machine struggling at all, but still resets every couple minutes.
I gradually trimmed max rate down and at 5000 speed and 400 acceleration I’m no longer observing this problem. This once again made me think that this board (ESP32 micro) is choking on computation.

Unlike FluidNC, that I’m pretty sure this thing is based on, DLC32 has additional computational load of serving LCD.

Motion is running much slower now, but it is stable. Maybe I will forget about it and get used to slow movements of it.

Those are VERY high rates. Most machines don’t run near those speeds. In my experience, 2000-3000mm/min tops for small setups like this, and 1000mm/sec^2 or less for the accel.

1 Like

Agreed about rates too high. But there is no hardware for high rates to cause reset.
It appeared to me that DLC32 has computational limit where it probably runs out of time and WatchDog resets.
At this point I do not believe that motor current too high may cause MCU reset, at least not with sufficient power source.

Though there is one possibility related to high currents: motors and end switches on my JL1 are just flat ribbons, no twist or shield. It is a possibility that motors and PWM laser power cross-talk to home switch signals causing hard limit trip and soft reset as a result.

I got to try to crank it up again (currents and speeds) and disconnect home cables! Will report…