• 0 Posts
  • 4 Comments
Joined 2 years ago
cake
Cake day: August 16th, 2023

help-circle
  • The thing is, running a simulation is a pretty inefficient way to do this. Until relatively recently, most printers lacked the computational bandwidth to run a simulation in parallel with active control (my ender 3 back in 2018 didn’t even have the capacity to enable all features if you wanted a leveling probe). Even now, you wouldn’t want to run this on the same hardware that’s actually controlling the machine, since the simulation would delay its ability to send control signals in real time. That’s why Klipper uses a secondary control board, it offloads the extra computation to ensure the primary controller only has to compute the bare minimum to operate with as minimal a delay as possible.

    Also, a parallel simulation just isn’t necessarily the most efficient way to catch issues. Thermal control accuracy has been a focus in the printing community at least since Anet A8 printers were burning down people’s homes, and we’re pretty good at preventing thermal runway these days.

    On the motor side, the accuracy issues are largely a result of an open loop control system- The steppers have no way of telling the controller that they moved the correct amount. Thus, a simulation wouldn’t help with positional accuracy since the board has no idea if a motor misses a step anyway. There are some mitigating tools like stallguard for load sending, but it’s not really the same thing.



  • The Bambu printers do some cool stuff with measuring resonance to detect lubrication and belt tension issues. This is theoretically possible on any machine that can do Klipper’s inout shaping, but requires a LOT of data to be useful (from what I understand), which is probably why we don’t see many printers on the market that can do that.

    For thermals, Marlin (one of the popular printer firmwares) actually evaluates the control response of the heater and thermistor, rather than just looking at a specific temperature range. If the behavior is sufficiently different than what the system is tuned for (not heating up at the expected rate, difficulty maintaining temp, etc), it will throw a temp error and shut down before thermal runaway occurs. I would expect other modern firmwares (e.g. Klipper) do this as well, but I don’t have as much experience tinkering with them and don’t want to make definitive statements.