Skip to content

3.0.11-RC1 firmware for Prusa i3 MK2 with Filament runout sensor

Pre-release
Pre-release
Compare
Choose a tag to compare
@3d-gussner 3d-gussner released this 19 May 09:32
· 300 commits to MK2 since this release

3.0.11-RC1 firmware for Prusa i3 MK2

This firmware needs a connected filament runout sensor and your printer will not print until that sensor is connected !!!

Summary:

  • Move Z shortcut
  • Improved pause print
  • PID calibration menu with 8 cycles
  • PID bed calibration menue mod by 3d-gussner
  • PID values for bed saving
  • Receiving commands via serial improved
  • Temperature calibration
  • Improved xyz calibration
  • Encoder clicks and PT100
  • Selftest bug fixed
  • Heatbed preheat error
  • German translation by 3d-gussner
  • Dutch translation by 3d-gussner
  • Filament runout sensor
  • serial baud rate set from 115200 to 250000
  • Preheat order changed from ABS/PLA/... to PLA/ABS/...

Detailed description of changes:

Move Z shortcut:

Move Z axis menu can be now invoked by pressing button for at least one second. When entering move Z axis menu by long press, current menu and current cursor position are saved. After adjusting Z coordinate and confirming with short button press, previously active menu and cursor position are restored.

Improved pause print:

Pause print procedure is now suitable for long pauses. New pause print procedure contains seting nozzle target temperature to zero, moving extruder to pause print position and turning off print fan. When nozzle cools down nozzle fan is also turned off and printer remains silent during pause. Heatbed remains heated during pause print to maintain good attachement between printed object and heatbed.
In pause position heatbed with printed object is moved foward to make printed object accessible.
When print is resumed, previous print settings (fan speed and feemultiply, nozzle target temperature) are restored. Time when the printer is paused is not counted to print time statistics.
For remote control with host software devices, it is possible to pause and resume print with dedicated gcodes:

M601 - pause print
M602 - resume print

PID calibration menu:

It is now possible to run extruder PID tuning directly from calibration menu. When running PID tuning from calibration menu, user can set temperature for which PID tuning will be run. For maximum simplicity, number of PID tuning cycles is set to eigth and is not adjustable. When running PID calibration from menu, results are automatically applied and saved to EEPROM.

PID bed calibration menu:

It is now possible to run bed PID tuning directly from calibration menu. When running PID tuning from calibration menu, user can set temperature for which PID tuning will be run. For maximum simplicity, number of PID tuning cycles is set to eight and is not adjustable. When running PID calibration from menu, results are automatically applied and saved to EEPROM.

PID values for bed saving:

Storing PID values to EEPROM was not implemented in previous firmware versions. This has been fixed and it is possible to run PID calibration and store the results to EEPROM using following gcodes:

Run PID tuning: M303 E-1 S C
Set Kp, Ki, and Kd: M304 P I D
Store settings to eeprom: M500
Recieving commands via serial improved

During execution of long running gcode, new commands received over serial are buffered. If buffer became full, execution of buffered commands could lead to undesirable behavior. Typical example was running PID calibration with Octoprint which periodicaly sends temperature enquiry. This has been fixed.

Temperature calibration:

PINDA probe detection distance increases with temperature. This leads to need of adjusting live adjust Z values often, expecially when printing with different materials. Main contributor to PINDA temperature shift is heat received from heatbed. New temperature calibration was implemented to decrease this temperature dependency.

To use this new feature it is necessary to run temperature calibration first. This can be done in menu Calibration -> Temp. calibration -> Calibrate. It is also possible to use G76 gcode.
Temperature calibration consist of preheating PINDA probe near the heatbed surface for different heatbed temperatures and measuring how its detection distance changes. Measured detection distance shifts are saved to EEPROM.

When new print is started, PINDA probe is preheated for two minutes near the heatbed again to achieve defined temperature. Then mesh bed leveling is run and Z axis shift counted from temperature calibration data is applied. Then live adjust Z is applied.

User can decide if he will use this new feature. It is possible to turn it on and off in Temp. calibration menu.

Improved xyz calibration:

First part of xyz calibration was slightly modified to avoid aborting calibration process with "consult the manual" message as much as possible. If the error after the first calibration phase (seraching first four points) is too high, another iteration is run. Maximum number of iterations is three. If xyz calibration fails to find first four points accurately enough in three iterations, process is aborted.

Encoder clics and PT100 temperature sensor usage:

Encoder steps for the LCD were updated to correspond to encoder physical clicks. Defines and temp table for E3D's PT100 sensor added. For more information see #31

Selftest bug fixed:

In case that nozzle thermistor was not connected properly or returned ivalid data, this error was not detected by selftest and was detected only by thermal runaway or preheat error. This has been fixed.

Heatbed preheat error:

Preheat error for heatbed was implemented. This can detect disconnected/faulty heatbed or heatbed thermistor in preheat phase.

Filament runout sensor:

Before you upload this firmware version MAKE SURE that you have connected miniRAMbo P3 pin 4 and 6 to your filament runout sensor, otherwise the printer will NOT print and BEEP all the time waiting for filament change. I also changed the FILAMENTCHANGE_ZADD value from 2 to 20 to get more clearance with low Z-heights. Check the possible issues i described in the forum.

Check http://shop.prusa3d.com/forum/improvements-f14/wire-up-filament-sensor-to-mk2-use-thermister-circ-t2836-s10.html

Other changes:

  • German translation
  • Dutch tanslation
  • Fixed message at the beginning on xyz calibration
  • Stop print disabled during mesh bed leveling
  • Extrusion before unload filament added to reshape end of the filament and simplify filament unload
  • Load filament modified to be faster