Averaging high frequency readings for PID control stability #1712
Replies: 2 comments 8 replies
-
Artisan provides filtering already. No need to build your own. Go to menu Config>> Curves>> Filters tab. The settings in the "Curve Filter" section affect ET and BT. Here is a useful article that describes the mechanics and effects of smoothing.
CHARGE can happen any time after START. If I understand what you are trying to do, you will want to click START at the beginning of your BBT.
The equation you show above looks backwards in time to get the values of previous samples. In order to capture and preserve those samples Artisan must be recording them. |
Beta Was this translation helpful? Give feedback.
-
Yes, BT and ET input to the PID are smoothed per the Curve Filter settings. The BT and ET data recorded to a profile file is not smoothed. That was the motivation behind the comment you pointed to in the blog article. When a profile file is opened in Artisan the smoothing parameters are applied before displaying the raw data. It is worth noting that BT and ET are displayed "raw" during live recording. I suggest you hit START at the beginning of your heating or BBP. This fully activates Artisan and is the best way to get your setup performing without worrying what operates or doesn't when ON. If you don't want to see the BBP data post roast you can un-select "Show Full" under Display Filter in Config>> Curves>> Filters tab. Many roast operators always record their BBP since it is so important to achieving roast consistency. And yes, BBT was a typo. The signal fidelity issue you mention will be an ongoing problem with taming a PID. Smoothing is not a panacea. It adds delay which can be counter productive in a system with dynamic SV. Best to solve the noise issue at or very close to the source. Noisy signals have a way of causing ongoing problems in unexpected ways. Eliminating the noise issue now will pay dividends later. |
Beta Was this translation helpful? Give feedback.
-
As per this discussion the oversampling has been removed in favor of filtering. I am struggling with implementing the advice.
My setup is such that I defined a new device, let's call it "BT Raw" and used a symbolic assignment for BT in a form of
(Y13+Y13[-1]+Y13[-2]+Y13[-3])/4
. Unfortunately the value of the new device is not available until I press START recording. This makes PID control non-functional between the batches.This is a minor inconvenience as I can start recording for the purpose of preheating the roaster. That said I interpret that the intended workflow is to for START to be followed by the CHARGE shortly after - is it? The unavailability of the derived signal feels unnecessarily limiting - why not calculate symbolic assignment without recording being active?
What I am trying to achieve is to average out the BT reading, which has some random noise (presumably poor electronics on the controller, I excluded the ground loop). Is there a better way of implementing it?
Beta Was this translation helpful? Give feedback.
All reactions