Prusa firmware for RAMPS Prusa i3 clones with MK42 beds


Thanks :). I think I’ll connect the Z steppers in series, but it’s good to know I can just use E1.

I had a look at the Prusa source code to get an idea for the current to use with my steppers, and I found this line:

#define DEFAULT_PWM_MOTOR_CURRENT_LOUD {540, 830, 500} // {XY,Z,E}

If those values are in mA then they seem rather small? It means that the A4988 Vref is only around 0.4V. Did you base your config on similar values? I followed the Pololu driver wiki you posted earlier on, but my steppers can handle up to 2.5A which is a so much higher than it appears Prusa drive theirs at.



The last parts arrived today and the printer is now up and running :). It’s half way through the first print at the moment. The x-carriage is extremely noisy, so I’ve got a bit of troubleshooting to do - but it works :smiley: .

Thank you for porting this firmware over!



Sorry, i meant to reply to your previous post but never got round to it. Presumably therefore, you figured out the problem? what was it?

RAMPS and the MKS boards don’t have any digipot type hardware for setting stepper currents in firmware.This means that the Quiet Mode / High Power settings in the firmware have no effect It would be possible to add external pots or other electronics, and then modify the stepper drivers to take that input, but for me at least I can’t see the point.

Admittedly I don’t have a genuine prusa with a genuine RAMBo, but, I can’t see that i’d ever want to risk print defects or failed prints by running in “quiet mode” (which is merely reduced stepper current).



[quote=IanC post_id=1279 time=1504619259 user_id=586]It’s half way through the first print at the moment.

Photos then please!



A bit off topic, but by reading the ids on the chips on pictures of the board and looking at the FW change, the new PCB should just be a 3-bit multiplexer and some 2-channel relays.



No problem :). I’m very grateful for all the help. I just set them to those approx mA values using the trim pots, but there’s some tuning to be done, as you may see from the photos ;):

There is a huge rattle when the extruder moves along the x axis, I’m not sure what is causing that - but when it’s powered off it slides as smooth as butter. I guess it’s the stepper causing this, but I don’t know why - I tried tweaking the voltage +/- 50% to no avail, so it doesn’t seem related to stepper power. There are also some missed layers for some reason.

Lots to work on, but considering it’s only just assembled, I’m pleased! :slight_smile:



i’ve not studied at all. there’s two versiobs of the electronics - the older is all solid state but the only pics i’ve seen i can’t see the part numbers. the newer version has 3 dual SPDT relays on it, which isn’t really enough to switch 4 motors into 1, so not sure what else is on that board either.



I’ve just changed the X driver from A4988 to DRV8825 and it made a world of difference to the extruder carriage noise - I’ve got some TMC2100’s on the way to see how they perform. :).



Works like a charm, thanks.

Small question. how do you guys power the lcd screen. It seems to only get power when usb is connected. Have search around for a way to power it with out usb but can not find an easy solution.



Just a quick update. I’m now running with TMC2100’s and they’re near silent :).



does the prusa FW support a RAMPS fan extender for dynamically switching the hotendfan btw?



WORKS! (after over a week fiddling with it at nights)

So as i have 5 original MK2s at work, ive been interested in new RC FW with linear advance, whats your take on it slippyr4? Ar you gonna port it as well?



Try it out: there’s a branch for it in the same repository on GitHub (it’s a merge from the community mod, and not the beta release of the next firmware)



Thanks for adding the LIN_Advance version - I tried to have a go at compiling it myself a few days ago, but I’m quite unfamiliar with how GitHub works, so don’t know if I merged the correct parts. I’ll use your LIN_Advance version instead!



So this one? is adjusted for RAMPS right?
Perfect, ill try that one! (also not so skilled with github)



Yep that’s it. Try getting sourcetree: you can clone the main repository and easily switch branches to this one or my other ones, and one button (pull) will update to newer versions in the future.



Cheers, I’ll check out sourcetree now :).




I have a few questions about the firmware.
configuration_prusa.h, AXIS SETTINGS has two lines for the steps per unit.
What is the difference between the two lines?
What does SNMM mean?
Why is the Z-steps divided by 8?


// Steps per unit {X,Y,Z,E}
#ifdef SNMM
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,140}
#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,3200/8,161.3}



SNMM == Single Nozzle, Multi Material => the MM upgrade. It’s not defined in this build though, so the relevant line is the second one…

I don’t know why they did that. It makes no difference though; the compiler preprocessor will substitute the value 400.



my clone will have a m5 threaded rod in z.
What value do I then have to register as z-step?
I would have entered 4000. But that is certainly not right.