Prusa firmware for RAMPS Prusa i3 clones with MK42 beds


I need to bring my problem up again.
XYZ calibration runs correctly in the first step. All four calibration points are found while the first round.
Then X moves left to the end stop and from there about 2 mm to the right.
However, this is 10 - 12 mm too little to find the left front point for the second 9 point round calibration.
What can I do and where do I have to change something?
On youtube I have seen a video where the first approached calibration point of the 4-point round is in the Front in the middle. For me, it starts left front, then middle front, then right in the second row, then middle in the back row, then left in the second row. Is this a mistake?
I would be very thankful for help.



can you do M45 V2 from pronterface, and then paste the results from the console here? It’ll give me a bit more of a clue as to what’s going on.

I’ve seen some weird stuff that without tracing through the code in a lot of detail I struggle to explain. I recently changed to the MK3 style cooling fan, extruder body and a noctua fan, and I decided to recalibrate afterwards. it took a load of fiddling to get it to work and i saw a few times in first pass that it would probe for front left briefly before going to front middle.

The proper process - when it succeeds - is home XY then go to front centre, middle right, back centre, middle left. Then it should do a brief pass over all 9, and then it does the height probe on all 9.



here are the results:

>>> M45 V2
Iteration: 1
correction angles: -0.03326, 0.26167
X vector, adjusted: 1.00000, 0.00058
Y vector, adjusted: 0.00457, 1.00001
center, adjusted: -7.46308, -0.64254
Difference after correction:
point #0measured: (106.09375, -1.65938); measured-corrected: (106.52812, -2.57638); target: (114.00000, -2.00000), error: 1.01
point #1measured: (208.12500, 95.48751); measured-corrected: (207.97598, 95.48354); target: (215.00000, 96.00000), error: 0.15
point #2measured: (107.18750, 193.33749); measured-corrected: (107.42327, 193.42619); target: (114.00000, 194.00000), error: 0.25
point #3measured: (5.30000, 95.36875); measured-corrected: (4.97540, 95.36569); target: (12.00000, 96.00000), error: 0.32
failed - not found

After the first round I switched off, because otherwise the nozzle would have pushed to bed.

I just have a change to the original.
I do not know if it has something to do with my problem.
My pulleys have 20 teeth, the original has 16.
I have adjusted the steps in the firmware from 100 to 80.



When you home (G28 XY) and the move to 0,0 (G1 X0 Y0) is the nozzle abovebthe 0,0 point on the bed?



at G28 XY both end stops are reached.
The Nozzle is then over X2 Y-2.2.
In the firmware I have the following registered:

#define MANUAL_X_HOME_POS 2 // 0 akku
#define MANUAL_Y_HOME_POS -2.2
#define MANUAL_Z_HOME_POS 0.15

// Travel limits after homing
#define X_MAX_POS 250
#define X_MIN_POS 2
#define Y_MAX_POS 210
#define Y_MIN_POS -2.2
#define Z_MAX_POS 205.5 // 210 akku
#define Z_MIN_POS 0.15

G1 X3 or X4 or X5 … does not move. Only X9 makes a small movement, but then the endstop is still triggered. From X10 it moves as expected.
After I have reset the calibration on the LCD, the positions are the way I expect it.
G28 XY moves to the end stops. G1 X3 travels 1mm to the right, G50 travels directly over the 50mm marking of the bed.

The performed (failed as described) calibration obviously stores any values ​​in the EEprom, which then give an incorrect offset.



You can clear the calibration data with M44.

I suspect that the calibration code doesn’t like being unable to get to X0. Can you move your endstop a bit so that it can?



Unfortunately, I can not move my x-carriage to the left. Otherwise, it will come to the frame.
Is there another option?



So, I’ve changed my x-carriage and x-endstop holders a bit to actually get up to 0. But unfortunately this has not brought any success. The xyz calibration has still not worked.
Then I have looked, which differente I still have to the original and found that I have the X and the Y endstop inverted in the firmware because the hardware is also inverted. I then changed the end stops and also in the firmware again.
And that was the solution! The calibration now works as it should.




Just received the Multi Material upgrade, and installed it on my clone.

The extruder multiplexer uses 2 I/O lines to switch extruders.

I first tried to use the AUX3 connector on the RAMPS/Makeboard pro board i use, but could not get it to work, probably because these are initialized as analog input ports. Would have been nice, because it would have been a plug and play solution. (pinout of the original cable is VCC, MUX0, MUX1, GND)
So i settled on the AUX 2 connector, and used D40 and D42 for IO lines.

code changes:

// prusa multimaterial support
#ifdef SNMM

#define E_MUX0_PIN 40
#define E_MUX1_PIN 42 // on AUX 2 connector.
#define E_MUX2_PIN 44




Nice, does it work properly?



Yes everything seems to work.
I only had to fit a different connector to the extruder stepper so that it would fit my board.

But i had a lot of problems getting it to print in 4 colors reliably, as i attempted a few prints, and eventually the filament got stuck somewhere.

A third attempt at printing Marvin in two colors finally worked.
But, when browsing the original prusa forums, i can see i’m not the only one having issues. It requires some careful fine tuning of retraction speed/distance, hot-end temperature, and “bite” on the filament with the Bondtech gears.



hello slippyr4,

I have my printer now finished and it works almost perfectly.
I have still one problem , with which I have the firmware in suspicion.
Maybe you can help me here too.
When heating up the extruder, the heating bed is switched on at exactly 50° C.
If the extruder temperature falls below 50°, the heating bed will go out again.

Where can I search for this error?



What electronics are you using?






wrong wireing. seems like you messed up the hotendfan with the heated bed either in HW or in the FW




I install correctly the firmware in the ramsp 1.4. The problem is when i turn off the printer the calibration, statics, etc dont save in correctly. So every time i turn off the values are deleted. How can I solve it?



I have now ordered a MK42 @ orballo
They ship very fast.
Ordered in the evening and they shipped in the morning :smiley:

The only bad is that they ship with UPS they are f**king expensive and extreme slow.
one week to 10 Days from spain wth.
with DHL it is maximal 2 days :frowning:



Could anybody help me please? :frowning:



Which values aren’t saved? What are you doing to save them?



Could you share your firmware for ramps 1.4, im making my own Multimaterial like Prusas and i have problems of getting firmware working :confused: