MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.28k stars 19.23k forks source link

[BUG] Possible bug with SAM3X8E (DUE- native USB comm ) #23733

Closed futuretech208 closed 2 years ago

futuretech208 commented 2 years ago

Did you test the latest bugfix-2.0.x code?

Yes, and the problem still exists.

Bug Description

I have a custom-built core XY printer and a custom board(with microcontroller SAM3X8E and motor drivers sitting on one PCB) made from Arduino DUE schematics and also a shield that resembles RADDS and sits on stock Arduino DUE. I am facing the issues of mid-print printer reset for a long time. Initially, I thought it was related to loose wires/hardware/SMPS or some loose connections. But I have replaced everything including PSU, fan, thermistor etc. All the wiring has been changed 2 times. Now coming to the issues,

Case 1. Running from SAM3X8E Native USB port (On both, the custom board and shield as well)-- So I removed everything, removed the board and PSU which was mounted on the printer(Just to rule out vibrations). Now I just have 2 motors for XY mounted on the frame, there is not enough vibration but when I remove the belt and just run the motors, they run without any issues. As soon as I put the belt on, the printer randomly resets mid-print (I mean during movement, as I am only running dry run). It is not consistent but happens after like 20 mins sometimes within even 1 min. This is reproduced on both combinations of electronics I have. One is my custom board and the other is stock DUE plus my custom shield. I am compiling for DUE_USB in PIO and uploading the firmware.

Case2-- Running from programming port-- (or RX, TX on my custom-built board) Everything runs smoothly as expected. With a belt or without a belt.

The issue with the native USB port is tested with repetier, Klipper and marlin. All 3 are causing resets. So I am suspecting any issue related to the Atmel libraries which are being used to compile. I am using TMC2209 in standalone mode (Vref is the same for both the drivers) I also tried DRV8825, and the same issue exists. I tried reducing USB length, using the cable with ferrites, the same problem of reset occurs mid-print.

Bug Timeline

For me it started around 2-3 months back

Expected behavior

Print should be possible without any issues from DUE native USB port.

Actual behavior

Printing from Native USB port resets mid-print.

Steps to Reproduce

No response

Version of Marlin Firmware

2.0.9.3, 2.0.9.2, 2.0.7 all tested, same issue

Printer model

My custom CoreXY printer

Electronics

Custom Arduino DUE schematic based boards with microcontroller integrated and a shield similar to RADDS

Add-ons

No response

Bed Leveling

No bed levelling

Your Slicer

Cura or repetier

Host Software

OctoPrint or repetier or USB print from Cura

Additional information & file uploads

config.zip

thinkyhead commented 2 years ago

Please test the bugfix-2.0.x branch to see where it stands. If the problem has been resolved then we can close this issue. If the issue isn't resolved yet, then we should investigate further.

Try enabling the POSTMORTEM_DEBUGGING feature then and run a job that causes the firmware to crash. Hopefully the output from the postmortem debugger will provide some insight into the issue.

github-actions[bot] commented 2 years ago

This issue has had no activity in the last 60 days. Please add a reply if you want to keep this issue active, otherwise it will be automatically closed within 10 days.

github-actions[bot] commented 2 years ago

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.