I am having the same issue. I downloaded the latest CuraEngine code and it seems like the E-Steps per mm should affect the extruder speed unless I am not understanding this.
If you look at this code the rpm is being multiplied by extrusion_per_mm and then exported in the M108 gcode line. But adjusting that value in the GUI has no effect. Is this just stale code?
void GCodeExport::writeMoveBFB(int x, int y, int z, double speed, double extrusion_mm3_per_mm){ double extrusion_per_mm = extrusion_mm3_per_mm; if (!is_volumatric) { extrusion_per_mm = extrusion_mm3_per_mm / extruder_attr[current_extruder].filament_area; } Point gcode_pos = getGcodePos(x,y, current_extruder); //For Bits From Bytes machines, we need to handle this completely differently. As they do not use E values but RPM values. float fspeed = speed * 60; float rpm = extrusion_per_mm * speed * 60; const float mm_per_rpm = 4.0; //All BFB machines have 4mm per RPM extrusion. rpm /= mm_per_rpm; if (rpm > 0) { if (extruder_attr[current_extruder].retraction_e_amount_current) { if (currentSpeed != double(rpm)) { //fprintf(f, "; %f e-per-mm %d mm-width %d mm/s\n", extrusion_per_mm, lineWidth, speed); //fprintf(f, "M108 S%0.1f\r\n", rpm); *output_stream << "M108 S" << std::setprecision(1) << rpm << "\r\n"; currentSpeed = double(rpm); } //Add M101 or M201 to enable the proper extruder. *output_stream << "M" << int((current_extruder + 1) * 100 + 1) << "\r\n"; extruder_attr[current_extruder].retraction_e_amount_current = 0.0; } //Fix the speed by the actual RPM we are asking, because of rounding errors we cannot get all RPM values, but we have a lot more resolution in the feedrate value. // (Trick copied from KISSlicer, thanks Jonathan) fspeed *= (rpm / (roundf(rpm * 100) / 100)); //Increase the extrusion amount to calculate the amount of filament used. Point3 diff = Point3(x,y,z) - getPosition(); current_e_value += extrusion_per_mm * diff.vSizeMM(); }
Edited by Guest
Recommended Posts
nallath 1,124
This starts to sound more and more like that ripping out the electronics and replacing it with run of the mill marlin or some other rep rap electronics is probably the best way forward.
Link to post
Share on other sites