SD card Error while running engraver

When i run my printer in cnc mode it will go about 1 minute then it will stop moving and the display will say "sd card inserted" and i have to reset the printer, i tried unplugging my display board so the sd card slot isn't even connected and still get the same issue?

Comments

  • Some boards also have a build in sd card which gets active if you disable display. When sd card gets inserted (or the pin sends the signal) it mounts and checks sd card for autostart file.
    You have SDCARDDETECT directly in configuration.h or indirectly in pins.h or somewhere else set. Search in files for it and just set all to -1 then you for sure have no automatic detect for sd cards and would need to manually mount it.

    Or find why that pin gets a potential for at least a short time (cross talk, soldering, ...).

    Both solutions would work also the software solution should be save.
  • I tried that and it is still happening, I took the boards apart and made sure there was not shorts on the sd detect pins, i turned of sd support and set the pins to -1, im at a loss here?

    Also how do i get the bed leveling correction to be used when in cnc mode, it does not compensate the linear movements by adjusting the z?
  • You must have missed a SDCARDDETECT. See in sdcard.cpp

    void SDCard::automount() {
    #if SDCARDDETECT > -1
        if (READ(SDCARDDETECT) != SDCARDDETECTINVERTED) {
            if (sdactive || sdmode == 100) { // Card removed
                Com::printFLN(PSTR("SD card removed"));
    #if UI_DISPLAY_TYPE != NO_DISPLAY
                uid.executeAction(UI_ACTION_TOP_MENU, true);
                unmount();
                UI_STATUS_UPD_F(Com::translatedF(UI_TEXT_SD_REMOVED_ID));
            }
        } else {
            if (!sdactive && sdmode != 100) {
                UI_STATUS_UPD_F(Com::translatedF(UI_TEXT_SD_INSERTED_ID));
                mount();
                if (sdmode != 100)                           // send message only if we have success
                    Com::printFLN(PSTR("SD card inserted")); // Not translatable or host
                                                             // will not understand signal
    #if UI_DISPLAY_TYPE != NO_DISPLAY
                if (sdactive && !uid.isWizardActive()) { // Wizards have priority
                    Printer::setAutomount(true);
                    uid.executeAction(UI_ACTION_SD_PRINT + UI_ACTION_TOPMENU, true);
                }
            }
        }
    }

    the code is only executed when that is the case. Alternatively just remove that code but that will prevent mounting options to appear, so better find the assignment to not -1.

    Do autoleveling with G32 S2 to store result and activate compensation permanently. Should also work in CNC mode.
Sign In or Register to comment.