• AbouBenAdhem@lemmy.world
    link
    fedilink
    English
    arrow-up
    23
    arrow-down
    1
    ·
    2 days ago

    The printers themselves should run a simulation like this while they’re printing, and continually check if heat sensors, motor resistance, etc. are deviating from the simulation. That might let them detect potential misprints earlier—or even correct issues mid-print.

    • finalarbiter@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 day ago

      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.

      • IMALlama@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        12 hours ago

        Adding encoders to your steppers, or buying stepper motors with built in encoders, can help a lot but it’s not a cheap solution. It can also be a bit bulky, so packaging them a printer not designed for them can be tricky.

    • CmdrShepard49@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      My Bambu X1C will do both of these and tell you when it’s time to lube the Z axis screws for example, but I think all printers will shut down if the thermistor (what measures the heat) is reading incorrectly due to it being bad or a problem with the extruder heater since not doing so could be catastrophic rather than just giving you a shitty quality print.

      • AbouBenAdhem@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        I’m not familiar with how the X1C does it, but the printers I’ve used can only tell if the temperature or resistance are outside of normal operating range—not if they differ from the exact values predicted at each point in the print.

        • finalarbiter@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          1 day ago

          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.

          • IMALlama@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            12 hours ago

            Can confirm, klipper does this too. Sincerely, someone who had a few thermistor related wire breaks.