Notifications
Clear all

Mk42 Bed on Mk2.5S  

  RSS
Jared Alianell
(@jared-alianell)
Active Member
Mk42 Bed on Mk2.5S

I am building a Frankenstein printer to use at school and I have a Mk2.5 extruder assembly and a spare Mk42 bed from an old MK2 -> MK2.5s upgrade kit. The first problem was the xyz calibration failed because the calibration points are in different spots. I followed Wolf82's post here where they explain what to change including calibration points, X max limit, and some mesh bed numbers. I did all of those things but got stuck on the section they skip over where they are explaining what they did in xyzcal.cpp.

"Additionally I had to tweak a few things in xyzcal.cpp, because the 32x32 calibration matrix would run out of the printers travel boundaries and lock the X and Y axies (loose steps, no calibration possible). To much to publish here, but I changed the xyzcal_scan_pixels_32x32_Zhop() function, so that it would initialize the pixels[] variable with zeros and only measure pixel/position 4-28 in X and Y direction. This finally gave me the new 32x32 scan calibration feature, without loosing steps."

I know a little about custom firmware and was able to complete all of the other steps in their post but I just don't understand what they are trying to do in this section other than shrinking the measured area from 32x32 to 24x24. They say it makes the printer no longer lose steps on the third calibration point (which mine is with all of the other settings tweaked) but I am not sure how to go about doing this. I tried changing the bounds for 'c' and 'r' for loops from 0-32 to 4-28 but the printer doesn't seem to follow that and does all 32x32 points anyways.

I am editing firmware for 3.13.0 for a MK2.5S 10a (Wow a 10a board in the wild!!)

If someone could please better explain what they are doing in this step, I would HUGELY appreciate it. Thanks!

Mk3s+Mk2.5s 13Mk2.5s 10a

Posted : 22/08/2023 3:06 pm
alromh87
(@alromh87)
Member
RE:

Hello, have you tried running 3.2.3 Firmware as temporal fix?

I already printed with a slightly modified 3.2.3 Firmware. The sole change was

#define Y_PROBE_OFFSET_FROM_EXTRUDER 5  // MK2/S 9

Otherwise If you want to go with the latest firmware I took a look at MK3_3.13.1 and it seems to me that commenting this lines in your config should get you going.

#define HEATBED_V2

#define STEEL_SHEET

After that if the search pattern bumps your limits you can reduce the scan area on Firmware/xyzcal.cpp -> xyzcal_scan_pixels_32x32_Zhop, search area is defined by search_point position -992+r*64, since r goes from 0 to 31 it will search from -992 to 992, in order to reduce the search pattern just change 64 and 992 appropriately for example to reducing to 50 you would have - 775+r*50 so -775 to 775 search area, the high number is calculated multiplying the small one times 15.5. Here are the lines with values replace 64 for your value and try it out. I think units are in stepper steps.

            go_manhattan((d & 1) ? (cx + 992) : (cx - 992), cy - 992 + r * 64, _Z, Z_ACCEL, Z_MIN_DELAY);
            xyzcal_lineXYZ_to((d & 1) ? (cx + 992) : (cx - 992), cy - 992 + r * 64, _Z, delay_us, 0);
            sm4_set_dir(X_AXIS, d);
            //@size=242
            DBG(_n("%d\n"), 64 - (r * 2 + d)); ///< to keep OctoPrint connection alive
            lcd_set_cursor(4,3);
            lcd_printf_P(PSTR("Countdown: %d "),64 - (r * 2 + d)); ////MSG_COUNTDOWN c=12

            for (uint8_t c = 0; c < 32; c++){ ///< X axis
                /// move to the next point and move Z up diagonally (if needed)
                current_delay_us = MAX_DELAY;
                const int16_t end_x = ((d & 1) ? 1 : -1) * (64 * (16 - c) - 32) + cx;

Unfortunately i don't have a setup like yours at the moment, so I cannot test it, I have plans on reusing and MK42 from my Mk2.5 upgrade as well, but maybe later.

 

Please try and let me know how it goes

 

This post was modified 8 months ago by alromh87
Posted : 12/09/2023 4:19 pm
Martin
(@martin-28)
Member
RE: Mk42 Bed on Mk2.5S

I would be also interested in the result.

I would like to upgrade my MK2S on budget and update to MK2.5S is probably most reasonable way to go. Updated extruded, more up to date FW.

Heatbed is the biggest issue, MK52 12V is out of stock and even then it is significant cost add to whole upgrade with not much of an added value in comparison with MK42 magnetic bed, but calibration points are different.

Posted : 15/11/2023 1:00 pm
Share: