heated bed temperature fault
-
@vandermeulen said in heated bed temperature fault:
@t3p3tony This is hardly a solution for a printer I professionally sell.
Close loop stabilization involved in above/below errors that are corrected by the loop. That's why you don't want to set your printer such as a small error above will shutdown everything. As @T3P3Tony suggested, you want to have margin, that's normal and reasonable to any control loop.
-
@t3p3tony The issue is that the user can set the bed to the maximum and then receive an error. Maybe until now nobody has gotten into this situation and I'm just experiencing it during testing.
It feels strange not allowing the maximum temperature. In a car you run against the rev limiter, but the engine doesn't require a restart. -
@zapta Is this really the case? In the config file you set the extruder temperature limit to eg. 250°C, but then the user is allowed to use 250°C? Is it even possible to set limits in a slicer below the values allowed by the printer?
-
@vandermeulen Having the max temp set to 90 When you set the temp to 90, it'll fault since the temp will go above that to maintain 90.
-
@vandermeulen, I see what you are saying. I set my nozzle max temp to 260
M143 H1 S260 ; Max temp 260C
PanelDue rejected settings to 260 (too high) but accepted 259. The heater reached 259, overshot a little (that's normal) and triggered a heater fault at 260C. (not good).
I think that the problem is that RRF doesn't distinguish in this case between max requested temperature and max expected temperature.
If you the user sets temperature below max temp (e.g. 200), RRF computes some max expected temperature (e.g. 210) and failed on that temperature (good). However, if the user specifies the max allowed settable temperature, RRF seems to use it also as max expected temperature which causes an false failure condition.
(I am using RRF 3.3)
-
@vandermeulen the issue is that the temperature limits in RRF are a max temperature limit for the system I.e. if the measured temperature ever goes above that, it throws a fault.
Most likely the PID tuning varied slightly between the different units so the others were slightly overdamped and never overshot the 90C demand. For whatever reason, this third unit tuned differently and overshot the demand slightly on heating so throws a fault.
You can probably play around with multiple M143s with different actions if you want a better solution. E.g. one at 90C as a limit which takes no action, and one at 100C that will fault if exceeded.
https://duet3d.dozuki.com/Wiki/M143 -
@engikeneer said in heated bed temperature fault:
You can probably play around with multiple M143s with different actions if you want a better solution. E.g. one at 90C as a limit which takes no action, and one at 100C that will fault if exceeded.
What should be the 'A' values for the two M143 commands?
Also, will the user be limited to request temps up to 90C but not above?
-
@zapta I was thinking of using the C-1 parameter to disable the monitor
C Condition for temperature event (0: Temperature too high [default] 1: Temperature too low, -1: Monitor is disabled)
Also could set it to use the PS_ON trip if you're not using it. That will trip the PS_ON pin but I think doesn't actually cause a fault to be flagged (I think)
Not tested it at all though...
-
@engikeneer , I played a little bit with the monitors. They are also visible in the object model section of the DWC. There are three for each monitor and the ones that are not used are marked as disabled.
This style of configuration via gcodes seems to me more and more obscure as time passes.
-
@stephen6309 But that's an impossible user interface design. Just cannot be in a commercial product.
-
@engikeneer Okay, I hadn't found the M143 command. Let me try.
-
@vandermeulen said in heated bed temperature fault:
@engikeneer Okay, I hadn't found the M143 command. Let me try.
While you play with M143, you can loo at the heater's monitors in the DWC object model section. It will show you the internal affect of your M143 on the RRF internal configuration.