-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] M221 / Flow Rate setting lower then 100 sets the flow way too low #27524
Comments
As a start provided config has a few issues, has #define MANUAL_PROBE_START_Z 0.5 and #define MANUAL_PROBE_START_Z 0.8 change #define MANUAL_PROBE_START_Z 0.5 to
This line is invalid as HOMING_FEEDRATE_Z is not defined. this is wrong
Since this Machine is IS_KINEMATIC these defines are also removed by marlin in https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.1.x/Marlin/src/inc/Conditionals-5-post.h#L3265-L3269 There is no need disable the additional axis stuff, with the driver disabled it is just ignored. Here are updated and cleaned configs |
"Setting flow rate value (via M221 or LCD interface) "
edit: You can in the Tune menu, which only shows if printer gets into printing mode by printing from sdcard or M75 |
I setup a test rig, used the cleaned up config as much as possible (only changed motherboard to BOARD_RAMPS_14_EFB (same chipset) and change steps/mm for my hardware) I made a simple bash script to generate test gcode E_VALUE=200
flowrate=100
echo "M302 S0; Allow cold extrusion"
echo "M75; Start print timer"
echo "G28; Home all axes"
echo "G1 Z180 F1000; Move nozzle to 180mm above bed"
for i in {1..200}
# disable for lcd test of flow.
#echo "M117 Flow set to $flowrate"
#echo "M221 S$flowrate"
do
for j in {1..1}
do
echo "G1 X50 Y50 E$E_VALUE F1000"
E_VALUE=$((E_VALUE + 200))
echo "G1 X-50 Y-50 E$E_VALUE F1000"
E_VALUE=$((E_VALUE + 200))
done
echo "G92 E0; Reset extruder position"
E_VALUE=200
flowrate=$((RANDOM % 101 + 50))
done
It generated lots of gcode like this but longer (DO NOT RUN THIS ON A REAL PRINTER)
And M221 does just what it was meant to, it adjusted the extruder flow rate to the percentage. I cannot see any issue |
Thank you for looking into the issue. I am not sure which variable exactrly is set through the menu, it is called "Flow" and the same behaviour occures using M221 command (M221 S99 and so on), so i assumed it is the flow rate: |
Ok that one mystery solved The tune menu is only available while printing. Tested on my test rig using Flow menu item still works as expected. I still cannot replicate this issue, not even from the flow menu |
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
Setting flow rate value (via M221 or LCD interface) lower then 100 results in the extrusion rate being extremely slow.
Flow rate higher then 100 work correctly.
Bug Timeline
No response
Expected behavior
Setting flow rate to 99 should not produce noticible change in flow rate.
Actual behavior
Setting flow rate to 99 result in a flow rate way too low, with extrusion motor nearly not moving.
it feels like the flow rate is set to 0.99% instead of 99%.
Steps to Reproduce
Version of Marlin Firmware
bugfix-2.1.x
Printer model
Kossel Delta
Electronics
Trigorilla upgraded for TMC drivers
LCD/Controller
default, REPRAP_DISCOUNT_SMART_CONTROLLER
Other add-ons
TMC2208 drivers (Hybrid Mode) for all the motors. UART control.
Bed Leveling
MBL Manual Bed Leveling
Your Slicer
Prusa Slicer
Host Software
Pronterface
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Marlin.zip
The text was updated successfully, but these errors were encountered: