You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a plate temp is set and we either open/close the thermocycler lid, sometimes, the thermocycler goes into the 'plate temperature not uniform' error mode.
reason for error
The plate thermistors are read in pairs every loop to minimize loop blocking time. If a lid movement is initiated after a read of partial thermistors then the thermocycler will read the remaining thermistors once the movement is finished. Now because the lid opened/ closed, there will be an expected change of temperature of the plate which will be reflected in the new thermistor readings. Sometimes this change in temp is more than the safe threshold. So, even though the change was actually uniform throughout the plate, it seems like it's not uniform because of the gap between read times of some of the thermistors and rest of the thermistors.
Another reason is that the plate temp actually changes while lid is in motion. This is because the power to the peltiers doesn't get updated because lid movement blocks the peltier update from PID. So if the peltier was set to an x % power to, say, heat a particular peltier by a certain fraction, it'll continue to stay the same until lid movement is completed. This behavior, when coupled with the fact that each peltier could be set at a different level when lid movement starts, makes the plate temperature non-uniform. When the lid is opened & closed continuously multiple times then this non-uniformity keeps on increasing and ultimately leads to the uniformity error
possible solutions
Have the thermocycler update all its thermistors before doing temp_safety_check
Right before executing lid.open() or lid.close(), set peltier PID to manual and scale down peltier power. This will hopefully keep the peltier temps from straying too much. Once lid movement is completed, power will be set to auto PID value. The side effect will be a lower temp ramp rate when lid movement is initiated while in the middle of a temp ramp
Make the lid movements non-blocking. This is a much bigger change and would require us to redo quite a few QC tests
The text was updated successfully, but these errors were encountered:
It's been decided to use proper api checks to mitigate this issue for now (see #5602).
Making lid movement non-blocking would be the long-term fix for this but we don't have plans for this update yet.
mcous
changed the title
Thermocycler: gives a 'plate temp not uniform' error right after lid movement
fix(thermocycler): Making lid movement non-blocking to avoid errors right after lid movement
Nov 5, 2020
mcous
changed the title
fix(thermocycler): Making lid movement non-blocking to avoid errors right after lid movement
bug(thermocycler): Making lid movement non-blocking to avoid errors right after lid movement
Nov 5, 2020
mcous
changed the title
bug(thermocycler): Making lid movement non-blocking to avoid errors right after lid movement
bug(thermocycler): Make lid movement non-blocking to avoid errors right after lid movement
Nov 5, 2020
current behavior/ steps to reproduce
When a plate temp is set and we either open/close the thermocycler lid, sometimes, the thermocycler goes into the 'plate temperature not uniform' error mode.
reason for error
x
% power to, say, heat a particular peltier by a certain fraction, it'll continue to stay the same until lid movement is completed. This behavior, when coupled with the fact that each peltier could be set at a different level when lid movement starts, makes the plate temperature non-uniform. When the lid is opened & closed continuously multiple times then this non-uniformity keeps on increasing and ultimately leads to the uniformity errorpossible solutions
lid.open()
orlid.close()
, set peltier PID to manual and scale down peltier power. This will hopefully keep the peltier temps from straying too much. Once lid movement is completed, power will be set to auto PID value. The side effect will be a lower temp ramp rate when lid movement is initiated while in the middle of a temp rampThe text was updated successfully, but these errors were encountered: